diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2012-04-18 15:56:26 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-19 11:07:25 +0200 |
commit | a0aad0b1b2e2222472ea5030b47785d402ebfac6 (patch) | |
tree | c08a0a4a265e4da1b376fd10d15e7132643e3765 /configure | |
parent | 197aa9f67fadc7218c118dcafb4dc4154ce2502b (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-x | configure | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -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 |