summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2012-04-18 15:56:26 +0200
committerQt by Nokia <qt-info@nokia.com>2012-04-19 11:07:25 +0200
commita0aad0b1b2e2222472ea5030b47785d402ebfac6 (patch)
treec08a0a4a265e4da1b376fd10d15e7132643e3765 /configure
parent197aa9f67fadc7218c118dcafb4dc4154ce2502b (diff)
Add a functionality test for DirectFB to ensure it compiles.
Some versions of the DirectFB headers are unclean and will cause Qt compilation failures. So blacklist those versions. Version 1.5.3 (present in Fedora 16) is known to be buggy and gets disabled by this patch. The compile error was: qurlquery.h:169:5: error: ‘typeof’ was not declared in this scope (qplatformcursor_qpa.h includes qevent.h which includes qurl.h which includes that) The error comes from the Q_FOREACH expansion. Note that Q_FOREACH uses __typeof__, so it's supposed to be safe, unless someone ill-advised goes and defines the GCC "safe" macro (double underscores on both sides) to something else. Change-Id: Ida41ee3b3c2fcba86a7e12182e7055123166693b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure15
1 files changed, 13 insertions, 2 deletions
diff --git a/configure b/configure
index 5e08b43fab..42e0c3cdb2 100755
--- a/configure
+++ b/configure
@@ -4574,7 +4574,17 @@ 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"
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/directfb" "DirectFB" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_DIRECTFB $QMAKE_LIBS_DIRECTFB; then
+ CFG_DIRECTFB=yes
+ elif [ "$CFG_DIRECTFB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
+ echo " DirectFB support cannot be enabled due to functionality tests!"
+ echo " Turn on verbose messaging (-v) to $0 to see the final report."
+ echo " If you believe this message is in error you may use the continue"
+ echo " switch (-continue) to $0 to continue."
+ exit 101
+ else
+ CFG_DIRECTFB=no
+ fi
else
CFG_DIRECTFB=no
fi
@@ -4631,7 +4641,8 @@ 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
+if [ "$CFG_DIRECTFB" = "yes" ]; then
+ QT_CONFIG="$QT_CONFIG directfb"
QMakeVar set QMAKE_CFLAGS_DIRECTFB "$QMAKE_CFLAGS_DIRECTFB"
QMakeVar set QMAKE_LIBS_DIRECTFB "$QMAKE_LIBS_DIRECTFB"
fi