From a0aad0b1b2e2222472ea5030b47785d402ebfac6 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 18 Apr 2012 15:56:26 +0200 Subject: Add a functionality test for DirectFB to ensure it compiles. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- configure | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'configure') 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 -- cgit v1.2.3