directfb: Integrate building into configure.
Add DirectFB buildsystem integration by adding a configure target and adding it as subdirectory to the project file. The default is to automatically build directfb. Update the Broadcom/9425 build. Change-Id: I482f865cebd9d5cd4c98c184773f8534f92db9df Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
This commit is contained in:
parent
6fc44c5926
commit
19524b7499
42
configure
vendored
42
configure
vendored
@ -705,6 +705,7 @@ CFG_XKB=auto
|
||||
CFG_XCB=auto
|
||||
CFG_XCB_LIMITED=yes
|
||||
CFG_EGLFS=auto
|
||||
CFG_DIRECTFB=auto
|
||||
CFG_LIBUDEV=auto
|
||||
CFG_OBSOLETE_WAYLAND=no
|
||||
CFG_EVDEV=auto
|
||||
@ -891,7 +892,7 @@ while [ "$#" -gt 0 ]; do
|
||||
VAL=no
|
||||
;;
|
||||
#Qt style yes options
|
||||
-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-xcb|-eglfs|-nis|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-debug-and-release|-exceptions|-harfbuzz|-prefix-install|-silent|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-phonon-backend|-audio-backend|-qml-debug|-javascript-jit|-rpath|-pkg-config|-force-pkg-config|-icu|-force-asserts|-testcocoon)
|
||||
-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-xcb|-eglfs|-directfb|-nis|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-debug-and-release|-exceptions|-harfbuzz|-prefix-install|-silent|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-phonon-backend|-audio-backend|-qml-debug|-javascript-jit|-rpath|-pkg-config|-force-pkg-config|-icu|-force-asserts|-testcocoon)
|
||||
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
|
||||
VAL=yes
|
||||
;;
|
||||
@ -1651,6 +1652,13 @@ while [ "$#" -gt 0 ]; do
|
||||
UNKNOWN_OPT=yes
|
||||
fi
|
||||
;;
|
||||
directfb)
|
||||
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
||||
CFG_DIRECTFB="$VAL"
|
||||
else
|
||||
UNKNOWN_OPT=yes
|
||||
fi
|
||||
;;
|
||||
libudev)
|
||||
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
||||
CFG_LIBUDEV="$VAL"
|
||||
@ -2839,6 +2847,13 @@ if [ "$OPT_HELP" = "yes" ]; then
|
||||
EGLFSN=" "
|
||||
fi
|
||||
|
||||
if [ "$CFG_DIRECTFB" = "no"]; then
|
||||
DFBY=" "
|
||||
DFBN="*"
|
||||
else
|
||||
DFBY="*"
|
||||
DFBN=" "
|
||||
fi
|
||||
if [ "$CFG_XINPUT2" = "no" ]; then
|
||||
X2Y=" "
|
||||
X2N="*"
|
||||
@ -3135,6 +3150,9 @@ Additional options:
|
||||
$EGLFSN -no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support.
|
||||
$EGLFSY -eglfs ............. Compile EGLFS support.
|
||||
|
||||
$DFBN -no-directfb ....... Do not compile DirectFB support.
|
||||
$DFBY -directfb .......... Compile DirectFB support.
|
||||
|
||||
-xplatform target ... The target platform when cross-compiling.
|
||||
|
||||
-sysroot <dir> ...... Sets <dir> as the target compiler's and qmake's sysroot.
|
||||
@ -4493,6 +4511,7 @@ fi
|
||||
# Save these for a check later
|
||||
ORIG_CFG_XCB="$CFG_XCB"
|
||||
ORIG_CFG_EGLFS="$CFG_EGLFS"
|
||||
ORIG_CFG_DIRECTFB="$CFG_DIRECTFB"
|
||||
|
||||
if [ "$CFG_LIBUDEV" != "no" ]; then
|
||||
if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libudev 2>/dev/null; then
|
||||
@ -4600,6 +4619,16 @@ if [ "$CFG_XCB" != "no" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$CFG_DIRECTFB" != "no" ]; then
|
||||
if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists directfb 2>/dev/null; then
|
||||
QMAKE_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
|
||||
QMAKE_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
|
||||
QT_CONFIG="$QT_CONFIG directfb"
|
||||
else
|
||||
CFG_DIRECTFB=no
|
||||
fi
|
||||
fi
|
||||
|
||||
# Detect libxkbcommon
|
||||
if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
|
||||
QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
|
||||
@ -4647,6 +4676,10 @@ if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
|
||||
QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
|
||||
QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
|
||||
fi
|
||||
if [ -n "$QMAKE_CFLAGS_DIRECTFB" ] || [ -n "$QMAKE_LIBS_DIRECTFB" ]; then
|
||||
QMakeVar set QMAKE_CFLAGS_DIRECTFB "$QMAKE_CFLAGS_DIRECTFB"
|
||||
QMakeVar set QMAKE_LIBS_DIRECTFB "$QMAKE_LIBS_DIRECTFB"
|
||||
fi
|
||||
|
||||
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
||||
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/coreservices "CoreServices" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
||||
@ -4657,12 +4690,12 @@ if [ "$BUILD_ON_MAC" = "yes" ]; then
|
||||
fi
|
||||
|
||||
if [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ]; then
|
||||
if [ "$CFG_XCB" = "no" ] && [ "$CFG_EGLFS" = "no" ]; then
|
||||
if [ "$CFG_XCB" = "no" ] && [ "$CFG_EGLFS" = "no" ] && [ "$CFG_DIRECTFB" = "no" ]; then
|
||||
if [ "$QPA_PLATFORM_GUARD" = "yes" ] &&
|
||||
( [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_EGLFS" = "auto" ] ); then
|
||||
( [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_EGLFS" = "auto" ] || [ "$ORIG_CFG_DIRECTFB" = "auto" ] ); then
|
||||
echo "No QPA platform plugin enabled!"
|
||||
echo " If you really want to build without a QPA platform plugin you must pass"
|
||||
echo " -no-xcb and -no-eglfs to configure. Doing this will"
|
||||
echo " -no-xcb, -no-eglfs and -no-directfb to configure. Doing this will"
|
||||
echo " produce a Qt that cannot run GUI applications."
|
||||
echo " The dependencies needed for xcb to build are listed in"
|
||||
echo " src/plugins/platforms/xcb/README"
|
||||
@ -6068,6 +6101,7 @@ if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
|
||||
echo "XInput2 support ........ $CFG_XINPUT2"
|
||||
fi
|
||||
echo "EGLFS support .......... $CFG_EGLFS"
|
||||
echo "DirectFB support ....... $CFG_DIRECTFB"
|
||||
echo
|
||||
|
||||
# complain about not being able to use dynamic plugins if we are using a static build
|
||||
|
@ -55,15 +55,13 @@ QMAKE_LIBS_OPENGL_ES2 = -lv3ddriver -lrt
|
||||
INCLUDEPATH += $${BRCM_APPLIBS_PATH}/opensource/zlib/zlib-1.2.3
|
||||
QMAKE_LIBDIR += $${BRCM_APPLIBS_PATH}/opensource/zlib/zlib-1.2.3
|
||||
|
||||
# DirectFB, needs to be changed once -directfb is added to configure
|
||||
DIRECTFB_INCLUDEPATH = $${BRCM_APPLIBS_PATH}/opensource/directfb/bin/DirectFB-1.4.15_multi_$${BRCM_BUILD_TYPE}_build.97425B1/usr/local/include/directfb $${BRCM_ROCKFORD_PATH}/middleware/platform/directfb
|
||||
DIRECTFB_LIBS = -L$${BRCM_APPLIBS_PATH}/opensource/directfb/bin/DirectFB-1.4.15_multi_$${BRCM_BUILD_TYPE}_build.97425B1/usr/local/lib -L$${BRCM_ROCKFORD_PATH}/middleware/platform/directfb/lib_$${BRCM_PLATFORM}_$${BRCM_BUILD_TYPE} -ldirectfb -lfusion -ldirect -lpthread -lnexus -ldbpl -lz
|
||||
|
||||
|
||||
QMAKE_LFLAGS += -Wl,-rpath-link,$$QMAKE_LIBDIR_OPENGL_ES2 -Wl,-rpath-link,$${BRCM_APPLIBS_PATH}/opensource/zlib/zlib-1.2.3
|
||||
|
||||
# DirectFB platform hooks for this hardware
|
||||
QT_CONFIG += directfb_egl
|
||||
DIRECTFB_PLATFORM_HOOKS_SOURCES = $$PWD/qdirectfbeglhooks_bcm97425.cpp
|
||||
DIRECTFB_PLATFORM_HOOKS_INCLUDEPATH = $${BRCM_ROCKFORD_PATH}/middleware/platform/directfb
|
||||
DIRECTFB_PLATFORM_HOOKS_LIBS = -ldbpl
|
||||
DIRECTFB_PLATFORM_HOOKS_LIBDIR = $${BRCM_ROCKFORD_PATH}/middleware/platform/directfb/lib_$${BRCM_PLATFORM}_$${BRCM_BUILD_TYPE}
|
||||
|
||||
load(qt_config)
|
||||
|
@ -4,15 +4,8 @@ DESTDIR = $$QT.gui.plugins/platforms
|
||||
|
||||
QT += core-private gui-private platformsupport-private
|
||||
|
||||
isEmpty(DIRECTFB_LIBS) {
|
||||
DIRECTFB_LIBS = -ldirectfb -lfusion -ldirect -lpthread
|
||||
}
|
||||
isEmpty(DIRECTFB_INCLUDEPATH) {
|
||||
DIRECTFB_INCLUDEPATH = /usr/include/directfb
|
||||
}
|
||||
|
||||
INCLUDEPATH += $$DIRECTFB_INCLUDEPATH
|
||||
LIBS += $$DIRECTFB_LIBS
|
||||
LIBS += $$QMAKE_LIBS_DIRECTFB
|
||||
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_DIRECTFB
|
||||
|
||||
SOURCES = main.cpp \
|
||||
qdirectfbintegration.cpp \
|
||||
@ -44,6 +37,9 @@ directfb_egl {
|
||||
HEADERS += $$DIRECTFB_PLATFORM_HOOKS_HEADERS
|
||||
SOURCES += $$DIRECTFB_PLATFORM_HOOKS_SOURCES
|
||||
DEFINES += DIRECTFB_PLATFORM_HOOKS
|
||||
LIBS += $$DIRECTFB_PLATFORM_HOOKS_LIBS
|
||||
QMAKE_LIBDIR += $$DIRECTFB_PLATFORM_HOOKS_LIBDIR
|
||||
INCLUDEPATH += $$DIRECTFB_PLATFORM_HOOKS_INCLUDEPATH
|
||||
} else {
|
||||
SOURCES += qdirectfbeglhooks_stub.cpp
|
||||
}
|
||||
|
@ -17,3 +17,7 @@ qnx {
|
||||
contains(QT_CONFIG, eglfs) {
|
||||
SUBDIRS += eglfs
|
||||
}
|
||||
|
||||
contains(QT_CONFIG, directfb) {
|
||||
SUBDIRS += directfb
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user