X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=configure;h=36576c21244db8395a547c93c28f046989d41002;hb=0823fa2c61b9105a9729fbeb3f5c411143e27760;hp=32caa653a90fbb7c1ce87bb53dfa1da2cf64065a;hpb=d8508b813950cad79600acb49ef5bef837f04934;p=profile%2Fivi%2Fqtbase.git diff --git a/configure b/configure index 32caa65..36576c2 100755 --- a/configure +++ b/configure @@ -71,8 +71,10 @@ QTCONFIG_CONFIG= QT_CONFIG= SUPPORTED= QMAKE_VARS_FILE=.qmake.vars +DEVICE_VARS_FILE=.device.vars :> "$QMAKE_VARS_FILE" +:> "$DEVICE_VARS_FILE" #------------------------------------------------------------------------------- # utility functions @@ -106,6 +108,21 @@ QMakeVar() echo "$2" "$eq" "$3" >> "$QMAKE_VARS_FILE" } +shellArgumentListToQMakeListHelper() +{ + local retval + for arg in "$@"; do retval="$retval \"$arg\""; done + echo "$retval" +} + +# Convert a string usable on a shell command line into word-by-word quoted +# qmake list. +shellArgumentListToQMakeList() +{ + # eval is needed for the shell to interpret the backslash escape sequences + eval shellArgumentListToQMakeListHelper "$@" +} + # Helper function for getQMakeConf. It parses include statements in # qmake.conf and prints out the expanded file getQMakeConf1() @@ -121,6 +138,14 @@ getQMakeConf1() fi getQMakeConf1 "$conf_file" ;; + *load\(device_config\)*) + conf_file="$DEVICE_VARS_FILE" + if [ ! -f "$conf_file" ]; then + echo "WARNING: Unable to find file $conf_file" >&2 + continue + fi + getQMakeConf1 "$conf_file" + ;; *) echo "$line" ;; @@ -153,7 +178,7 @@ BEGIN { ovalue = ovalue substr(value, 1, RSTART - 1) var = substr(value, RSTART + 2, RLENGTH - 2) value = substr(value, RSTART + RLENGTH) - if (var ~ /^{/) { + if (var ~ /^\{/) { var = substr(var, 2, length(var) - 2) } ovalue = ovalue values[var] @@ -224,6 +249,40 @@ linkerSupportsFlag() } #------------------------------------------------------------------------------- +# device options +#------------------------------------------------------------------------------- +DeviceVar() +{ + case "$1" in + set) + eq="=" + ;; + *) + echo >&2 "BUG: wrong command to QMakeVar: $1" + ;; + esac + + echo "$2" "$eq" "$3" >> "$DEVICE_VARS_FILE" +} + +resolveDeviceMkspec() +{ + result=$(find "$relpath/mkspecs/devices/" -type d -name "*$1*" | sed "s,^$relpath/mkspecs/,,") + match_count=$(echo "$result" | wc -w) + if [ "$match_count" -gt 1 ]; then + echo >&2 "Error: Multiple matches for device '$1'. Candidates are:" + tabbed_result=$(echo "$result" | sed "s,^, ,") + echo >&2 "$tabbed_result" + echo "undefined" + elif [ "$match_count" -eq 0 ]; then + echo >&2 "Error: No device matching '$1'" + echo "undefined" + else + echo "$result" + fi +} + +#------------------------------------------------------------------------------- # operating system detection #------------------------------------------------------------------------------- @@ -244,8 +303,6 @@ fi # window system detection #------------------------------------------------------------------------------- -PLATFORM_X11=no -PLATFORM_QPA=yes BUILD_ON_MAC=no PLATFORM_MAC=no if [ -d /System/Library/Frameworks/Carbon.framework ]; then @@ -316,16 +373,6 @@ earlyArgParse() VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"` VAL=no ;; - -embedded-lite|-qpa) - VAR=qpa - # this option may or may not be followed by an argument - if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then - VAL=auto - else - shift; - VAL=$1 - fi - ;; -h|help|--help|-help) if [ "$VAL" = "yes" ]; then OPT_HELP="$VAL" @@ -355,16 +402,6 @@ earlyArgParse() UNKNOWN_OPT=no case "$VAR" in - qpa) - if [ "$PLATFORM_QPA" != "no" ]; then - if [ "$PLATFORM_QPA" = "maybe" ]; then - PLATFORM_X11=no - PLATFORM_QPA=yes - fi - else - echo "No license exists to enable Qt QPA. Disabling." - fi - ;; developer-build) CFG_DEV="yes" ;; @@ -412,7 +449,6 @@ if [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes" ]; elif [ $COMMERCIAL_USER = "yes" ]; then # one of commercial editions [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes - [ "$PLATFORM_QPA" = "maybe" ] && PLATFORM_QPA=no # read in the license file if [ -f "$LICENSE_FILE" ]; then @@ -505,7 +541,7 @@ elif [ $COMMERCIAL_USER = "yes" ]; then ;; esac ### EMBEDDED_QPA logic missing ### - case "$PlatformCode,$PLATFORM_MAC,$PLATFORM_QWS" in + case "$PlatformCode,$PLATFORM_MAC" in X9,* | XC,* | XU,* | XW,* | XM,*) # Qt All-OS LICENSE_EXTENSION="-ALLOS" @@ -514,11 +550,11 @@ elif [ $COMMERCIAL_USER = "yes" ]; then # Qt for Embedded Linux LICENSE_EXTENSION="-EMBEDDED" ;; - 6M,*,no | N7,*,no | N9,*,no | NX,*,no) + 6M,* | N7,* | N9,* | NX,*) # Embedded no-deploy LICENSE_EXTENSION="-EMBEDDED" ;; - FM,*,no | LM,yes,* | ZM,no,no) + FM,* | LM,yes | ZM,no) # Desktop LICENSE_EXTENSION="-DESKTOP" ;; @@ -649,7 +685,6 @@ MIN_DBUS_1_VERSION=0.93 # initalize internal variables CFG_CONFIGURE_EXIT_ON_ERROR=yes CFG_PROFILE=no -CFG_EXCEPTIONS=unspecified CFG_GUI=auto # (yes|no|auto) CFG_WIDGETS=yes CFG_QCONFIG=full @@ -684,19 +719,22 @@ CFG_SSE=auto CFG_FONTCONFIG=auto CFG_LIBFREETYPE=auto CFG_SQL_AVAILABLE= -QT_DEFAULT_BUILD_PARTS="libs examples tests" +QT_DEFAULT_BUILD_PARTS="libs examples" CFG_BUILD_PARTS="" CFG_NOBUILD_PARTS="" CFG_RELEASE_QMAKE=no CFG_AUDIO_BACKEND=auto CFG_V8SNAPSHOT=auto -CFG_DECLARATIVE_DEBUG=yes +CFG_QML_DEBUG=yes CFG_JAVASCRIPTCORE_JIT=auto +CFG_PKGCONFIG=auto # Target architecture CFG_ARCH= +CFG_CPUFEATURES= # Host architecture, same as CFG_ARCH when not cross-compiling CFG_HOST_ARCH= +CFG_HOST_CPUFEATURES= # Set when the -arch or -host-arch arguments are used OPT_OBSOLETE_HOST_ARG=no @@ -708,6 +746,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 @@ -720,20 +759,17 @@ CFG_GSTREAMER=auto CFG_QGTKSTYLE=auto CFG_LARGEFILE=auto CFG_OPENSSL=auto -CFG_STL=auto CFG_PRECOMPILE=auto CFG_SEPARATE_DEBUG_INFO=no CFG_SEPARATE_DEBUG_INFO_NOCOPY=no CFG_REDUCE_EXPORTS=auto -CFG_MMX=auto -CFG_3DNOW=auto -CFG_SSE=auto CFG_SSE2=auto CFG_SSE3=auto CFG_SSSE3=auto CFG_SSE4_1=auto CFG_SSE4_2=auto CFG_AVX=auto +CFG_AVX2=auto CFG_REDUCE_RELOCATIONS=auto CFG_ACCESSIBILITY=auto CFG_IWMMXT=no @@ -750,11 +786,10 @@ CFG_INOTIFY=auto CFG_RPATH=yes CFG_FRAMEWORK=auto MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings -CFG_MAC_DWARF2=auto CFG_MAC_HARFBUZZ=no -CFG_SXE=no CFG_PREFIX_INSTALL=yes CFG_SDK= +DEFINES= D_FLAGS= I_FLAGS= L_FLAGS= @@ -765,6 +800,7 @@ QCONFIG_FLAGS= XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++" XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*) XPLATFORM_MAEMO=no +XPLATFORM_QNX=no PLATFORM=$QMAKESPEC QT_CROSS_COMPILE=no OPT_CONFIRM_LICENSE=no @@ -781,6 +817,7 @@ CFG_ICU=auto CFG_FORCE_ASSERTS=no CFG_PCRE=auto QPA_PLATFORM_GUARD=yes +CFG_CXX11=auto # initalize variables used for installation QT_INSTALL_PREFIX= @@ -823,6 +860,9 @@ QT_LIBS_GLIB= QT_CFLAGS_GSTREAMER= QT_LIBS_GSTREAMER= +# default qpa platform +QT_QPA_DEFAULT_PLATFORM= + #------------------------------------------------------------------------------- # check SQL drivers available in this package #------------------------------------------------------------------------------- @@ -893,24 +933,8 @@ while [ "$#" -gt 0 ]; do VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"` 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|-declarative-debug|-javascript-jit|-rpath|-force-pkg-config|-icu|-force-asserts|-testcocoon) - VAR=`echo $1 | sed "s,^-\(.*\),\1,"` - VAL=yes - ;; #Qt style options that pass an argument - -qconfig) - if [ "$PLATFORM_QPA" != "yes" ]; then - echo - echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux." - echo - fi - CFG_QCONFIG="$VAL" - VAR=`echo $1 | sed "s,^-\(.*\),\1,"` - shift - VAL=$1 - ;; - -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-testsdir|-depths|-make|-nomake|-platform|-xplatform|-sdk|-arch|-host-arch|-mysql_config|-sysroot|-hostdatadir|-hostbindir) + -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-testsdir|-depths|-make|-nomake|-platform|-xplatform|-device|-device-option|-sdk|-arch|-host-arch|-mysql_config|-sysroot|-hostdatadir|-hostbindir|-qpa|-qconfig) VAR=`echo $1 | sed "s,^-\(.*\),\1,"` shift VAL="$1" @@ -930,16 +954,6 @@ while [ "$#" -gt 0 ]; do VAR=fatal_error VAL=no ;; - -embedded-lite|-qpa) - VAR=qpa - # this option may or may not be followed by an argument - if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then - VAL=auto - else - shift; - VAL=$1 - fi - ;; -opengl) VAR=opengl # this option may or may not be followed by an argument @@ -1026,9 +1040,14 @@ while [ "$#" -gt 0 ]; do VAL=`echo $1 | sed 's,-R,,'` fi ;; - -l?*) + -l?*|-l) VAR="add_link" - VAL=`echo $1 | sed 's,-l,,'` + if [ "$1" = "-l" ]; then + shift + VAL="$1" + else + VAL=`echo $1 | sed 's,-l,,'` + fi ;; -F?*|-F) VAR="add_fpath" @@ -1052,9 +1071,10 @@ while [ "$#" -gt 0 ]; do VAR="add_warn" VAL="$1" ;; + #General options, including Qt style yes options -*) VAR=`echo $1 | sed "s,^-\(.*\),\1,"` - VAL="unknown" + VAL="yes" ;; *) UNKNOWN_ARG=yes @@ -1099,8 +1119,15 @@ while [ "$#" -gt 0 ]; do hostbindir) QT_HOST_BINS="$VAL" ;; + pkg-config) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_PKGCONFIG="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; force-pkg-config) - QT_FORCE_PKGCONFIG=yes + CFG_PKGCONFIG="force" ;; docdir) QT_INSTALL_DOCS="$VAL" @@ -1147,13 +1174,6 @@ while [ "$#" -gt 0 ]; do bindir) QT_INSTALL_BINS="$VAL" ;; - sxe) - CFG_SXE="$VAL" - ;; - embedded-lite|qpa) - PLATFORM_X11=no - PLATFORM_QPA=yes - ;; sse) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_SSE="$VAL" @@ -1183,11 +1203,6 @@ while [ "$#" -gt 0 ]; do make) CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL" ;; - x11) - PLATFORM_QPA=no - PLATFORM_MAC=no - PLATFORM_X11=yes - ;; sdk) if [ "$BUILD_ON_MAC" = "yes" ]; then CFG_SDK="$VAL" @@ -1195,13 +1210,6 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; - dwarf2) - if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then - CFG_MAC_DWARF2="$VAL" - else - UNKNOWN_OPT=yes - fi - ;; arch|host-arch) OPT_OBSOLETE_HOST_ARG=yes ;; @@ -1236,15 +1244,6 @@ while [ "$#" -gt 0 ]; do QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon" fi ;; - exceptions|g++-exceptions) - if [ "$VAL" = "no" ]; then - CFG_EXCEPTIONS=no - elif [ "$VAL" = "yes" ]; then - CFG_EXCEPTIONS=yes - else - UNKNOWN_OPT=yes - fi - ;; platform) PLATFORM="$VAL" # keep compatibility with old platform names @@ -1306,6 +1305,18 @@ while [ "$#" -gt 0 ]; do XPLATFORM="$VAL" case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac ;; + device) + XPLATFORM=`resolveDeviceMkspec $VAL` + [ "$XPLATFORM" = "undefined" ] && exit 101 + ;; + device-option) + DEV_VAR=`echo $VAL | sed "s,^\(.*\)=.*,\1,"` + DEV_VAL=`echo $VAL | sed "s,^.*=\(.*\),\1,"` + DeviceVar set $DEV_VAR $DEV_VAL + ;; + qpa) + QT_QPA_DEFAULT_PLATFORM="$VAL" + ;; debug-and-release) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_DEBUG_RELEASE="$VAL" @@ -1439,13 +1450,6 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; - stl) - if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then - CFG_STL="$VAL" - else - UNKNOWN_OPT=yes - fi - ;; pch) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_PRECOMPILE="$VAL" @@ -1470,27 +1474,6 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; - mmx) - if [ "$VAL" = "no" ]; then - CFG_MMX="$VAL" - else - UNKNOWN_OPT=yes - fi - ;; - 3dnow) - if [ "$VAL" = "no" ]; then - CFG_3DNOW="$VAL" - else - UNKNOWN_OPT=yes - fi - ;; - sse) - if [ "$VAL" = "no" ]; then - CFG_SSE="$VAL" - else - UNKNOWN_OPT=yes - fi - ;; sse2) if [ "$VAL" = "no" ]; then CFG_SSE2="$VAL" @@ -1533,6 +1516,13 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; + avx2) + if [ "$VAL" = "no" ]; then + CFG_AVX2="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; iwmmxt) CFG_IWMMXT="yes" ;; @@ -1663,6 +1653,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" @@ -1783,12 +1780,12 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; - declarative-debug) + qml-debug) if [ "$VAL" = "yes" ]; then - CFG_DECLARATIVE_DEBUG="yes" + CFG_QML_DEBUG="yes" else if [ "$VAL" = "no" ]; then - CFG_DECLARATIVE_DEBUG="no" + CFG_QML_DEBUG="no" else UNKNOWN_OPT=yes fi @@ -1915,7 +1912,8 @@ while [ "$#" -gt 0 ]; do fi ;; add_define) - D_FLAGS="$D_FLAGS \"$VAL\"" + DEFINES="$DEFINES \"$VAL\"" + D_FLAGS="$D_FLAGS -D\"$VAL\"" ;; add_ipath) I_FLAGS="$I_FLAGS -I\"${VAL}\"" @@ -1991,6 +1989,13 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; + c++11) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_CXX11="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; *) UNKNOWN_OPT=yes ;; @@ -2071,9 +2076,9 @@ if [ "$OPT_SHADOW" = "yes" ]; then [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..." fi -if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then +if [ "$PLATFORM_MAC" = "no" -a "$CFG_DEBUG_RELEASE" = "yes" ]; then echo - echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux" + echo "WARNING: -debug-and-release is not supported outside of Mac OS X." echo "Qt can be built in release mode with separate debug information, so" echo "-debug-and-release is not necessary anymore" echo @@ -2117,6 +2122,13 @@ if [ "$OPT_SHADOW" = "yes" ]; then fi done + # save a pre-existing mkspecs/modules dir + test -d "$outpath/mkspecs/modules" && \ + mv "$outpath/mkspecs/modules" "$outpath/mkspecs-modules" + # ditto for mkspecs/modules-inst + test -d "$outpath/mkspecs/modules-inst" && \ + mv "$outpath/mkspecs/modules-inst" "$outpath/mkspecs-modules-inst" + # symlink the mkspecs directory mkdir -p "$outpath/mkspecs" rm -rf "$outpath"/mkspecs/* @@ -2136,7 +2148,18 @@ if [ "$OPT_SHADOW" = "yes" ]; then ShadowMkspecs features # The modules dir is special, too. - ShadowMkspecs modules + if test -d "$outpath/mkspecs-modules"; then + rm -rf "$outpath/mkspecs/modules" + mv "$outpath/mkspecs-modules" "$outpath/mkspecs/modules" + else + ShadowMkspecs modules + fi + + # The modules-inst dir is not quite as special, but still. + if test -d "$outpath/mkspecs-modules-inst"; then + rm -rf "$outpath/mkspecs/modules-inst" + mv "$outpath/mkspecs-modules-inst" "$outpath/mkspecs/modules-inst" + fi # symlink the doc directory rm -rf "$outpath/doc" @@ -2144,7 +2167,7 @@ if [ "$OPT_SHADOW" = "yes" ]; then fi # symlink fonts to be able to run application from build directory -if [ "$PLATFORM_QPA" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then +if [ ! -d "${outpath}/lib/fonts" ]; then if [ "$PLATFORM" = "$XPLATFORM" ]; then mkdir -p "${outpath}/lib" ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts" @@ -2187,26 +2210,22 @@ if [ -z "$PLATFORM" ]; then PLATFORM_NOTES= case "$UNAME_SYSTEM:$UNAME_RELEASE" in Darwin:*) - if [ "$PLATFORM_QPA" = "yes" ]; then - OSX_VERSION=`uname -r | cut -d. -f1` - if [ "$OSX_VERSION" -ge 11 ]; then - # We're on Lion or above. Check if we have a supported Clang version - case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in - 3.*) - PLATFORM=macx-clang - PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n" - ;; - *) - PLATFORM=macx-g++ - ;; - esac - else - PLATFORM=macx-g++ - fi - else - PLATFORM=darwin-g++ - fi - ;; + OSX_VERSION=`uname -r | cut -d. -f1` + # Select compiler. Use g++ unless we find a usable Clang version + PLATFORM=macx-g++ + if [ "$OSX_VERSION" -ge 12 ]; then + # We're on Mountain Lion or above. Use Clang. Don't advertise gcc. + PLATFORM=macx-clang + elif [ "$OSX_VERSION" -eq 11 ]; then + # We're on Lion. Check if we have a supported Clang version + case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in + 3.*) + PLATFORM=macx-clang + PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n" + ;; + esac + fi + ;; AIX:*) #PLATFORM=aix-g++ #PLATFORM=aix-g++-64 @@ -2346,10 +2365,6 @@ if [ -z "$PLATFORM" ]; then ;; *) if [ "$OPT_HELP" != "yes" ]; then - echo - for p in $PLATFORMS; do - echo " $relconf $* -platform $p" - done echo >&2 echo " The build script does not currently recognize all" >&2 echo " platforms supported by Qt." >&2 @@ -2361,12 +2376,11 @@ if [ -z "$PLATFORM" ]; then esac fi -PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"` - [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM" case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac +case "$XPLATFORM" in *qnx-*|*blackberry-*) XPLATFORM_QNX=yes;; esac if [ -d "$PLATFORM" ]; then QMAKESPEC="$PLATFORM" @@ -2428,12 +2442,6 @@ if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then exit 2 fi -# now look at the configs and figure out what platform we are config'd for -[ "$PLATFORM_QPA" != "yes" ] \ - && [ -n "`getXQMakeConf QMAKE_LIBS_X11`" ] \ - && PLATFORM_X11=yes -### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes - if [ "$UNAME_SYSTEM" = "SunOS" ]; then # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then @@ -2474,51 +2482,7 @@ if [ "$CFG_DEBUG" = "auto" ]; then fi fi if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then - QT_CONFIG="$QT_CONFIG build_all" -fi - -if [ -z "$PKG_CONFIG" ]; then - # See if PKG_CONFIG is set in the mkspec: - PKG_CONFIG=`getXQMakeConf PKG_CONFIG` -fi -if [ -z "$PKG_CONFIG" ]; then - PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null` -fi - -# Work out if we can use pkg-config -if [ "$QT_CROSS_COMPILE" = "yes" ]; then - if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then - echo >&2 "" - echo >&2 "You have asked to use pkg-config and are cross-compiling." - echo >&2 "Please make sure you have a correctly set-up pkg-config" - echo >&2 "environment!" - echo >&2 "" - if [ -z "$PKG_CONFIG_LIBDIR" ]; then - echo >&2 "" - echo >&2 "Warning: PKG_CONFIG_LIBDIR has not been set. This could mean" - echo >&2 "the host's .pc files will be used (even if you set PKG_CONFIG_PATH)." - echo >&2 "This is probably not what you want." - echo >&2 "" - elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then - echo >&2 "" - echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not" - echo >&2 "been set. This means your toolchain's .pc files must contain" - echo >&2 "the paths to the toolchain's libraries & headers. If configure" - echo >&2 "tests are failing, please check these files." - echo >&2 "" - fi - else - echo >&2 "" - echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling." - echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for" - echo >&2 "dependencies" - echo >&2 "" - PKG_CONFIG="" - fi -fi - -if [ ! -n "$PKG_CONFIG" ]; then - QT_CONFIG="$QT_CONFIG no-pkg-config" + QT_CONFIG="$QT_CONFIG build_all debug_and_release" fi # pass on $CFG_SDK to the configure tests. @@ -2550,15 +2514,16 @@ if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then fi fi -SYSROOT_FLAG= +GCC_MACHINE_DUMP= +case "$TEST_COMPILER" in *g++) GCC_MACHINE_DUMP=$($TEST_COMPILER -dumpmachine);; esac +if [ -n "$GCC_MACHINE_DUMP" ]; then + DeviceVar set GCC_MACHINE_DUMP $($TEST_COMPILER -dumpmachine) +fi + if [ -n "$CFG_SYSROOT" ]; then - if compilerSupportsFlag --sysroot="$CFG_SYSROOT"; then - [ "$OPT_VERBOSE" = "yes" ] && echo "Setting sysroot to: $CFG_SYSROOT" - SYSROOT_FLAG="--sysroot=$CFG_SYSROOT" - else - echo >&2 "The compiler doesn't support the --sysroot flag, I can't set the sysroot" - exit 1 - fi + SYSROOT_FLAG="--sysroot=$CFG_SYSROOT" +else + SYSROOT_FLAG= fi export SYSROOT_FLAG # used by config.tests/unix/compile.test @@ -2571,21 +2536,6 @@ if [ "$CFG_PRECOMPILE" = "auto" ]; then fi fi -#auto-detect DWARF2 on the mac -if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then - if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then - CFG_MAC_DWARF2=no - else - CFG_MAC_DWARF2=yes - fi -fi - -# don't autodetect support for separate debug info on objcopy when -# cross-compiling as lots of toolchains seems to have problems with this -if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then - CFG_SEPARATE_DEBUG_INFO="no" -fi - # auto-detect support for separate debug info in objcopy if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then TEST_COMPILER_CFLAGS=`getXQMakeConf QMAKE_CFLAGS` @@ -2655,13 +2605,15 @@ else CFG_FRAMEWORK=no fi -# x11 tests are done after qmake is built - - #setup the build parts if [ -z "$CFG_BUILD_PARTS" ]; then CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS" + # build tests by default, if a developer build + if [ "$CFG_DEV" = "yes" ]; then + CFG_BUILD_PARTS="$CFG_BUILD_PARTS tests" + fi + # don't build tools by default when cross-compiling if [ "$PLATFORM" != "$XPLATFORM" ]; then CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"` @@ -2865,13 +2817,6 @@ if [ "$OPT_HELP" = "yes" ]; then LFSY="*" LFSN=" " fi - if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then - SHY="*" - SHN=" " - else - SHY=" " - SHN="*" - fi if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then PHY=" " PHN="*" @@ -2896,6 +2841,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="*" @@ -2904,14 +2856,37 @@ if [ "$OPT_HELP" = "yes" ]; then X2N=" " fi + if [ "$CFG_DBUS" = "no" ]; then + DBY=" " + DBN="+" + else + DBY="+" + DBN=" " + fi + + if [ "$CFG_SEPARATE_DEBUG_INFO" = "no" ]; then + SBY=" " + SBN="*" + else + SBY="*" + SBN=" " + fi + + if [ "$CFG_GLIB" = "no" ]; then + GBY=" " + GBN="+" + else + GBY="+" + GBN=" " + fi + cat <] [-prefix-install] [-bindir ] [-libdir ] [-docdir ] [-headerdir ] [-plugindir ] [-importdir ] [-datadir ] [-translationdir ] [-sysconfdir ] [-examplesdir ] [-testsdir ] - [-release] [-debug] [-debug-and-release] + [-release] [-debug] [-debug-and-release] [-c++11] [-no-c++11] [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile] - [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility] - [-accessibility] [-no-stl] [-stl] [-no-sql-] [-sql-] + [-largefile] [-no-accessibility] [-accessibility] [-no-sql-] [-sql-] [-plugin-sql-] [-system-sqlite] [-platform] [-D ] [-I ] [-L ] [-help] [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng] @@ -2919,39 +2894,31 @@ Usage: $relconf [-h] [-prefix ] [-prefix-install] [-bindir ] [-libdir [-nomake ] [-R ] [-l ] [-no-rpath] [-rpath] [-continue] [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv] [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui] - [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2] + [-no-separate-debug-info] [-no-sse2] [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon] [-qtnamespace ] [-qtlibinfix ] [-separate-debug-info] [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend] [-no-audio-backend] [-audio-backend] - [-no-javascript-jit] [-javascript-jit] [-no-declarative-debug] [-declarative-debug] + [-no-javascript-jit] [-javascript-jit] [-no-qml-debug] [-qml-debug] [-no-optimized-qmake] [-optimized-qmake] [-no-openssl] [-openssl] [-openssl-linked] [-no-gtkstyle] [-gtkstyle] [-qt-pcre] [-system-pcre] + [-device ] [-device-option ] [additional platform specific options (see below)] Installation options: - -qpa ................ This will enable the QPA build. - QPA is a window system agnostic implementation of Qt. - These are optional, but you may specify install directories. -prefix ...... This will install everything relative to (default $QT_INSTALL_PREFIX) -EOF -if [ "$PLATFORM_QPA" = "yes" ]; then -cat < ....... Tests will be installed to (default PREFIX/tests) -EOF -if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then -cat < .. Host executables will be installed to (default HOSTPREFIX/bin) -hostdatadir . Data used by qmake will be installed to (default HOSTPREFIX) -EOF -fi -cat < ... Disable SQL entirely. -qt-sql- ... Enable a SQL in the QtSql library, by default none are turned on. @@ -3069,37 +3009,22 @@ fi -no-javascript-jit . Do not build the JavaScriptCore JIT compiler. + -javascript-jit .... Build the JavaScriptCore JIT compiler. - -no-declarative-debug ..... Do not build the declarative debugging support. - + -declarative-debug ....... Build the declarative debugging support. + -no-qml-debug ...... Do not build the in-process QML debugging support. + + -qml-debug ......... Build the QML debugging support. -platform target ... The operating system and compiler you are building on ($PLATFORM). See the README file for a list of supported operating systems and compilers. -EOF - -if [ "${PLATFORM_QPA}" != "yes" ]; then -cat << EOF - -graphicssystem Sets an alternate graphics system. Available options are: - raster - Software rasterizer - opengl - Rendering via OpenGL, Experimental! - openvg - Rendering via OpenVG, Experimental! - -EOF -fi - -cat << EOF - -no-mmx ............ Do not compile with use of MMX instructions. - -no-3dnow .......... Do not compile with use of 3DNOW instructions. - -no-sse ............ Do not compile with use of SSE instructions. -no-sse2 ........... Do not compile with use of SSE2 instructions. -no-sse3 ........... Do not compile with use of SSE3 instructions. -no-ssse3 .......... Do not compile with use of SSSE3 instructions. -no-sse4.1.......... Do not compile with use of SSE4.1 instructions. -no-sse4.2.......... Do not compile with use of SSE4.2 instructions. -no-avx ............ Do not compile with use of AVX instructions. + -no-avx2 ........... Do not compile with use of AVX2 instructions. -no-neon ........... Do not compile with use of NEON instructions. -no-mips_dsp ....... Do not compile with use of MIPS DSP instructions. -no-mips_dspr2 ..... Do not compile with use of MIPS DSP rev2 instructions. @@ -3113,6 +3038,13 @@ cat << EOF -I ........ Add an explicit include path. -L ........ Add an explicit library path. + + -pkg-config ........ Use pkg-config to detect include and library paths. By default, + configure determines whether to use pkg-config or not with + some heuristics such as checking the environment variables. + -no-pkg-config ..... Disable use of pkg-config. + -force-pkg-config .. Force usage of pkg-config (skips pkg-config usability + detection heuristic). + -help, -h .......... Display this information. Third Party Libraries: @@ -3192,27 +3124,9 @@ Additional options: -force-asserts ........ Force Q_ASSERT to be enabled even in release builds. -EOF - -if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then - if [ "$QT_CROSS_COMPILE" = "yes" ]; then - SBY="" - SBN="*" - else - SBY="*" - SBN=" " - fi -elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then - SBY="*" - SBN=" " -else - SBY=" " - SBN="*" -fi - -if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then - - cat << EOF + -device ............... Cross-compile for device (experimental) + -device-option ... Add device specific options for the device mkspec + (experimental) $SBN -no-separate-debug-info . Do not store debug information in a separate file. $SBY -separate-debug-info .... Strip debug information into a separate .debug file. @@ -3221,14 +3135,40 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then $XCBY -xcb ............... Compile Xcb support. $EGLFSN -no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support. - $EGLFSY -eglfs ............. Compile EGLFS support. + $EGLFSY -eglfs ............. Compile EGLFS support (Requires OpenGL ES 2 support). -EOF + $DFBN -no-directfb ....... Do not compile DirectFB support. + $DFBY -directfb .......... Compile DirectFB support. -fi # X11 + -qpa ......... Sets the default QPA platform (e.g xcb, cocoa, windows). -if [ "$XPLATFORM_MAEMO" = "yes" ]; then + -xplatform target ... The target platform when cross-compiling. + + -sysroot ...... Sets as the target compiler's and qmake's sysroot. + + -no-feature- Do not compile in . + -feature- .. Compile in . The available features + are described in src/corelib/global/qfeatures.txt + + -no-freetype ........ Do not compile in Freetype2 support. + -qt-freetype ........ Use the libfreetype bundled with Qt. + * -system-freetype .... Use libfreetype from the operating system. + See http://www.freetype.org/ + + -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the + default ($CFG_QCONFIG). + + -no-opengl .......... Do not support OpenGL. + -opengl ....... Enable OpenGL support + With no parameter, this will attempt to auto-detect + OpenGL ES 2, or regular desktop OpenGL. + Use es2 for to override auto-detection. + + $GBN -no-glib ........... Do not compile Glib support. + $GBY -glib .............. Compile Glib support. +EOF +if [ "$XPLATFORM_MAEMO" = "yes" ]; then cat << EOF $X2N -no-xinput2......... Do not compile XInput2 support. @@ -3238,186 +3178,6 @@ EOF fi -if [ "$PLATFORM_X11" = "yes" ]; then - if [ "$CFG_SM" = "no" ]; then - SMY=" " - SMN="*" - else - SMY="*" - SMN=" " - fi - if [ "$CFG_XSHAPE" = "no" ]; then - SHY=" " - SHN="*" - else - SHY="*" - SHN=" " - fi - if [ "$CFG_XVIDEO" = "no" ]; then - XVY=" " - XVN="*" - else - XVY="*" - XVN=" " - fi - if [ "$CFG_XINERAMA" = "no" ]; then - XAY=" " - XAN="*" - else - XAY="*" - XAN=" " - fi - if [ "$CFG_FONTCONFIG" = "no" ]; then - FCGY=" " - FCGN="*" - else - FCGY="*" - FCGN=" " - fi - if [ "$CFG_XCURSOR" = "no" ]; then - XCY=" " - XCN="*" - else - XCY="*" - XCN=" " - fi - if [ "$CFG_XFIXES" = "no" ]; then - XFY=" " - XFN="*" - else - XFY="*" - XFN=" " - fi - if [ "$CFG_XRANDR" = "no" ]; then - XZY=" " - XZN="*" - else - XZY="*" - XZN=" " - fi - if [ "$CFG_XRENDER" = "no" ]; then - XRY=" " - XRN="*" - else - XRY="*" - XRN=" " - fi - if [ "$CFG_MITSHM" = "no" ]; then - XMY=" " - XMN="*" - else - XMY="*" - XMN=" " - fi - if [ "$CFG_XINPUT" = "no" ]; then - XIY=" " - XIN="*" - else - XIY="*" - XIN=" " - fi - if [ "$CFG_XKB" = "no" ]; then - XKY=" " - XKN="*" - else - XKY="*" - XKN=" " - fi - if [ "$CFG_IM" = "no" ]; then - IMY=" " - IMN="*" - else - IMY="*" - IMN=" " - fi - cat << EOF - -Qt/X11 only: - - -no-gtkstyle ....... Do not build the GTK theme integration. - + -gtkstyle .......... Build the GTK theme integration. - - * -no-nas-sound ...... Do not compile in NAS sound support. - -system-nas-sound .. Use NAS libaudio from the operating system. - See http://radscan.com/nas.html - - -no-opengl ......... Do not support OpenGL. - + -opengl ...... Enable OpenGL support. - With no parameter, this will auto-detect the "best" - OpenGL API to use. If desktop OpenGL is available, it - will be used. Use desktop or es2 for - to force the use of the Desktop OpenGL or - OpenGL ES 2 APIs instead. - - -no-openvg ........ Do not support OpenVG. - + -openvg ........... Enable OpenVG support. - Requires EGL support, typically supplied by an OpenGL - or other graphics implementation. - - $SMN -no-sm ............. Do not support X Session Management. - $SMY -sm ................ Support X Session Management, links in -lSM -lICE. - - $SHN -no-xshape ......... Do not compile XShape support. - $SHY -xshape ............ Compile XShape support. - Requires X11/extensions/shape.h. - - $XVN -no-xvideo ......... Do not compile XVideo support. - $XVY -xvideo ............ Compile XVideo support. - Requires X11/extensions/Xv.h & Xvlib.h. - - $SHN -no-xsync .......... Do not compile XSync support. - $SHY -xsync ............. Compile XSync support. - Requires X11/extensions/sync.h. - - $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support. - $XAY -xinerama .......... Compile Xinerama support. - Requires X11/extensions/Xinerama.h and libXinerama. - By default, Xinerama support will be compiled if - available and the shared libraries are dynamically - loaded at runtime. - - $XCN -no-xcursor ........ Do not compile Xcursor support. - $XCY -xcursor ........... Compile Xcursor support. - Requires X11/Xcursor/Xcursor.h and libXcursor. - By default, Xcursor support will be compiled if - available and the shared libraries are dynamically - loaded at runtime. - - $XFN -no-xfixes ......... Do not compile Xfixes support. - $XFY -xfixes ............ Compile Xfixes support. - Requires X11/extensions/Xfixes.h and libXfixes. - By default, Xfixes support will be compiled if - available and the shared libraries are dynamically - loaded at runtime. - - $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support. - $XZY -xrandr ............ Compile Xrandr support. - Requires X11/extensions/Xrandr.h and libXrandr. - - $XRN -no-xrender ........ Do not compile Xrender support. - $XRY -xrender ........... Compile Xrender support. - Requires X11/extensions/Xrender.h and libXrender. - - $XMN -no-mitshm ......... Do not compile MIT-SHM support. - $XMY -mitshm ............ Compile MIT-SHM support. - Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h - - $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support. - $FCGY -fontconfig ........ Compile FontConfig support. - Requires fontconfig/fontconfig.h, libfontconfig, - freetype.h and libfreetype. - - $XIN -no-xinput ......... Do not compile Xinput support. - $XIY -xinput ............ Compile Xinput support. This also enabled tablet support - which requires IRIX with wacom.h and libXi or - XFree86 with X11/extensions/XInput.h and libXi. - - $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support. - $XKY -xkb ............... Compile XKB support. - -EOF -fi - if [ "$BUILD_ON_MAC" = "yes" ]; then cat << EOF @@ -3430,9 +3190,6 @@ Qt/Mac only: link tools against those frameworks. -no-framework ...... Do not build Qt as a series of frameworks. - * -dwarf2 ............ Enable dwarf2 debugging symbols. - -no-dwarf2 ......... Disable dwarf2 debugging symbols. - -sdk ......... Build Qt using Apple provided SDK . This option requires gcc 4. To use a different SDK with gcc 3.3, set the SDKROOT environment variable. @@ -3443,52 +3200,6 @@ Qt/Mac only: EOF fi -if [ "$PLATFORM_QPA" = "yes" ]; then - cat << EOF -Qt for QPA only: -EOF -fi - -if [ "$PLATFORM_QPA" = "yes" ]; then - cat << EOF - - -xplatform target ... The target platform when cross-compiling. - - -no-feature- Do not compile in . - -feature- .. Compile in . The available features - are described in src/corelib/global/qfeatures.txt - - -no-freetype ........ Do not compile in Freetype2 support. - -qt-freetype ........ Use the libfreetype bundled with Qt. - * -system-freetype .... Use libfreetype from the operating system. - See http://www.freetype.org/ - - -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the - default ($CFG_QCONFIG). - - -no-opengl .......... Do not support OpenGL. - -opengl ....... Enable OpenGL ES support - With no parameter, this will attempt to auto-detect - OpenGL ES 2, or regular desktop OpenGL. - Use es2 for to override auto-detection. -EOF -fi - -if [ "$PLATFORM_QPA" = "yes" -o "$PLATFORM_X11" = "yes" ]; then - if [ "$CFG_GLIB" = "no" ]; then - GBY=" " - GBN="+" - else - GBY="+" - GBN=" " - fi - cat << EOF - $GBN -no-glib ........... Do not compile Glib support. - $GBY -glib .............. Compile Glib support. - -EOF -fi - [ "x$ERROR" = "xyes" ] && exit 1 exit 0 fi # Help @@ -3498,17 +3209,8 @@ fi # Help # LICENSING, INTERACTIVE PART # ----------------------------------------------------------------------------- -if [ "$PLATFORM_QPA" = "yes" ]; then - Platform="Qt Lighthouse" -elif [ "$XPLATFORM_MINGW" = "yes" ]; then - Platform="Qt for Windows" -elif [ -n "`getXQMakeConf grep QMAKE_LIBS_X11`" ]; then - PLATFORM_X11=yes - Platform="Qt for Linux/X11" -fi - echo -echo "This is the $Platform ${EditionString} Edition." +echo "This is the Qt ${EditionString} Edition." echo if [ "$Edition" = "OpenSource" ]; then @@ -3736,7 +3438,7 @@ fi # ----------------------------------------------------------------------------- if [ "$LicenseType" = "Evaluation" ]; then EVALKEY=qt_qevalkey=$LicenseKeyExt -elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then +elif echo "$DEFINES" | grep QT_EVAL >/dev/null 2>&1; then EVALKEY=qt_qevalkey= fi @@ -3799,8 +3501,9 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H" #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured - rm -rf mkspecs/default + rm -rf mkspecs/default mkspecs/default-host ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default + ln -s `echo $QMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default-host mkdir -p "$outpath/qmake" || exit # fix makefiles for mkfile in GNUmakefile Makefile; do @@ -3881,9 +3584,7 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; fi fi if [ '!' -z "$D_FLAGS" ]; then - for DEF in $D_FLAGS; do - EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\"" - done + EXTRA_CFLAGS="$EXTRA_CFLAGS $D_FLAGS" fi QMAKE_BIN_DIR="$QT_INSTALL_BINS" [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin" @@ -3917,6 +3618,94 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; fi # Build qmake #------------------------------------------------------------------------------- +# create a qt.conf for the Qt build tree itself +#------------------------------------------------------------------------------- + +QTCONFFILE="$outpath/bin/qt.conf" +cat > "$QTCONFFILE" </dev/null` +fi + +if [ "$CFG_PKGCONFIG" = "no" ]; then + PKG_CONFIG= +elif [ "$CFG_PKGCONFIG" = "force" ]; then + echo >&2 "" + echo >&2 "You have asked to use pkg-config. Please make sure you have" + echo >&2 "a correctly setup pkg-config environment!" + echo >&2 "" +elif [ -n "$PKG_CONFIG" ]; then + # found a pkg-config + if [ "$QT_CROSS_COMPILE" = "yes" ]; then + # when xcompiling, check environment to see if it's actually usable + if [ -z "$PKG_CONFIG_LIBDIR" ]; then + if [ -n "$CFG_SYSROOT" ] && [ -d "$CFG_SYSROOT/usr/lib/pkgconfig" ]; then + PKG_CONFIG_LIBDIR=$CFG_SYSROOT/usr/lib/pkgconfig:$CFG_SYSROOT/usr/share/pkgconfig + if [ -n "$GCC_MACHINE_DUMP" ]; then + PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR:$CFG_SYSROOT/usr/lib/$GCC_MACHINE_DUMP/pkgconfig + fi + export PKG_CONFIG_LIBDIR + echo >&2 "Note: PKG_CONFIG_LIBDIR automatically set to $PKG_CONFIG_LIBDIR" + elif [ "$CFG_PKGCONFIG" = "yes" ]; then + echo >&2 "Error: PKG_CONFIG_LIBDIR has not been set. This could mean" + echo >&2 "the host's .pc files will be used (even if you set PKG_CONFIG_PATH)." + echo >&2 "Set this variable to the directory that contains target .pc files" + echo >&2 "for pkg-config to function correctly when cross-compiling or" + echo >&2 "use -force-pkg-config to override this test." + exit 101 + else + PKG_CONFIG= + echo >&2 "Warning: Disabling pkg-config since PKG_CONFIG_LIBDIR is not set." + fi + fi + if [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then + if [ -n "$CFG_SYSROOT" ]; then + PKG_CONFIG_SYSROOT_DIR=$CFG_SYSROOT + export PKG_CONFIG_SYSROOT_DIR + echo >&2 "Note: PKG_CONFIG_SYSROOT_DIR automatically set to $PKG_CONFIG_SYSROOT_DIR" + elif [ "$CFG_PKGCONFIG" = "yes" ]; then + echo >&2 "Error: PKG_CONFIG_SYSROOT_DIR has not been set. Set this variable" + echo >&2 "to your sysroot for pkg-config to function correctly when cross-compiling" + echo >&2 "or use -force-pkg-config to override this test." + exit 101 + else + PKG_CONFIG= + echo >&2 "Warning: Disabling pkg-config since PKG_CONFIG_SYSROOT_DIR is not set." + fi + fi + fi +elif [ "$CFG_PKGCONFIG" = "yes" ]; then + echo >&2 "Could not detect pkg-config from mkspec or PATH." + exit 101 +fi + +if [ -z "$PKG_CONFIG" ]; then + QT_CONFIG="$QT_CONFIG no-pkg-config" +fi + +#------------------------------------------------------------------------------- +# write out device config before we run the test. +#------------------------------------------------------------------------------- +DEVICE_VARS_OUTFILE="$outpath/mkspecs/qdevice.pri" +if cmp -s "$DEVICE_VARS_FILE" "$DEVICE_VARS_OUTFILE"; then + rm -f "$DEVICE_VARS_FILE" +else + mv -f $DEVICE_VARS_FILE "$DEVICE_VARS_OUTFILE" + DEVICE_VARS_FILE="$DEVICE_VARS_OUTFILE" +fi + +#------------------------------------------------------------------------------- # tests that need qmake #------------------------------------------------------------------------------- @@ -3925,66 +3714,71 @@ fi # Build qmake #------------------------------------------------------------------------------- # Use config.tests/arch/arch.pro to has the compiler tell us what the target architecture is -CFG_ARCH=`"$outpath/bin/qmake" -spec "$XQMAKESPEC" -o /dev/null "$relpath/config.tests/arch/arch.pro" 2>&1 | sed -n -e 's,^Project MESSAGE:.*Architecture: \([a-zA-Z0-9_]*\).*,\1,p'` - +OUTFILE=$outpath/arch.result +"$unixtests/arch.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "CFG" +if [ $? -eq 0 ]; then + eval `cat "$OUTFILE"` +else + echo + echo "Could not determine the target architecture!" + echo "Turn on verbose messaging (-v) to see the final report." +fi +rm -f "$OUTFILE" 2>/dev/null [ -z "$CFG_ARCH" ] && CFG_ARCH="unknown" + if [ "$QMAKESPEC" != "$XQMAKESPEC" ]; then # Do the same test again, using the host compiler - CFG_HOST_ARCH=`"$outpath/bin/qmake" -spec "$QMAKESPEC" -o /dev/null "$relpath/config.tests/arch/arch.pro" 2>&1 | sed -n -e 's,^Project MESSAGE:.*Architecture: \([a-zA-Z0-9_]*\).*,\1,p'` + SYSROOT_FLAG= "$unixtests/arch.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "CFG_HOST" + if [ $? -eq 0 ]; then + eval `cat "$OUTFILE"` + else + echo + echo "Could not determine the host architecture!" + echo "Turn on verbose messaging (-v) to see the final report." + fi + rm -f "$OUTFILE" 2>/dev/null [ -z "$CFG_HOST_ARCH" ] && CFG_HOST_ARCH="unknown" else # not cross compiling, host == target CFG_HOST_ARCH="$CFG_ARCH" + CFG_HOST_CPUFEATURES="$CFG_CPUFEATURES" fi +unset OUTFILE if [ "$OPT_VERBOSE" = "yes" ]; then echo "System architecture: '$CFG_ARCH'" - if [ "$PLATFORM_QPA" = "yes" ]; then - echo "Host architecture: '$CFG_HOST_ARCH'" - fi + echo "Host architecture: '$CFG_HOST_ARCH'" fi #------------------------------------------------------------------------------- # functionality tests #------------------------------------------------------------------------------- -# detect availability of float math.h functions -if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then - CFG_USE_FLOATMATH=yes -else - CFG_USE_FLOATMATH=no -fi - -# detect mmx support -if [ "${CFG_MMX}" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mmx "mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then - CFG_MMX=yes - else - CFG_MMX=no - fi -fi - -# detect 3dnow support -if [ "${CFG_3DNOW}" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/3dnow "3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then - CFG_3DNOW=yes +# Detect C++11 support +if [ "$CFG_CXX11" != "no" ]; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/c++11 "C++11" $L_FLAGS $I_FLAGS $l_FLAGS; then + CFG_CXX11="yes" + elif [ "$CFG_CXX11" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then + echo "C++11 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_3DNOW=no + CFG_CXX11="no" fi fi -# detect sse support -if [ "${CFG_SSE}" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse "sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then - CFG_SSE=yes - else - CFG_SSE=no - fi +# detect availability of float math.h functions +if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then + CFG_USE_FLOATMATH=yes +else + CFG_USE_FLOATMATH=no fi # detect sse2 support if [ "${CFG_SSE2}" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/common/sse2 "sse2" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_SSE2=yes else CFG_SSE2=no @@ -3993,7 +3787,7 @@ fi # detect sse3 support if [ "${CFG_SSE3}" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse3 "sse3" $L_FLAGS $I_FLAGS $l_FLAGS "-msse3"; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/common/sse3 "sse3" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_SSE3=yes else CFG_SSE3=no @@ -4002,7 +3796,7 @@ fi # detect ssse3 support if [ "${CFG_SSSE3}" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ssse3 "ssse3" $L_FLAGS $I_FLAGS $l_FLAGS "-mssse3"; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/common/ssse3 "ssse3" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_SSSE3=yes else CFG_SSSE3=no @@ -4011,7 +3805,7 @@ fi # detect sse4.1 support if [ "${CFG_SSE4_1}" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse4_1 "sse4_1" $L_FLAGS $I_FLAGS $l_FLAGS "-msse4.1"; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/common/sse4_1 "sse4_1" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_SSE4_1=yes else CFG_SSE4_1=no @@ -4020,7 +3814,7 @@ fi # detect sse4.2 support if [ "${CFG_SSE4_2}" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse4_2 "sse4_2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse4.2"; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/common/sse4_2 "sse4_2" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_SSE4_2=yes else CFG_SSE4_2=no @@ -4029,16 +3823,46 @@ fi # detect avx support if [ "${CFG_AVX}" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx "avx" $L_FLAGS $I_FLAGS $l_FLAGS "-mavx"; then - CFG_AVX=yes + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/common/avx "avx" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then + case "$XQMAKESPEC" in + *g++*|*-clang*) + # Some clang versions produce internal compiler errors compiling Qt AVX code + case `$TEST_COMPILER --version` in + Apple\ clang\ version\ 2*|Apple\ clang\ version\ 3.0*) + CFG_AVX=no + if [ "$OPT_VERBOSE" = "yes" ]; then + echo 'AVX support disabled for blacklisted clang compiler' + fi + ;; + *) + CFG_AVX=yes + ;; + esac + ;; + *) + CFG_AVX=yes + ;; + esac else CFG_AVX=no fi fi +# detect avx2 support +if [ "${CFG_AVX}" = "no" ]; then + CFG_AVX2=no +fi +if [ "${CFG_AVX2}" = "auto" ]; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/common/avx2 "avx2" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then + CFG_AVX2=yes + else + CFG_AVX2=no + fi +fi + # check iWMMXt support if [ "$CFG_IWMMXT" = "yes" ]; then - "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt" + "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS if [ $? != "0" ]; then echo "The iWMMXt functionality test failed!" echo " Please make sure your compiler supports iWMMXt intrinsics!" @@ -4048,7 +3872,7 @@ fi # detect neon support if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/neon "neon" $L_FLAGS $I_FLAGS $l_FLAGS "-mfpu=neon"; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/neon "neon" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_NEON=yes else CFG_NEON=no @@ -4088,7 +3912,7 @@ if [ "$CFG_ZLIB" = "no" ]; then ZLIB_FORCED=yes fi if [ "$CFG_ZLIB" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/zlib "zlib" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/zlib "zlib" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then CFG_ZLIB=system else CFG_ZLIB=yes @@ -4114,7 +3938,7 @@ if [ "$CFG_JPEG" = "auto" ]; then fi # detect jpeg if [ "$CFG_LIBJPEG" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libjpeg "libjpeg" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libjpeg "libjpeg" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then CFG_LIBJPEG=system else CFG_LIBJPEG=qt @@ -4132,7 +3956,7 @@ fi # detect png if [ "$CFG_LIBPNG" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libpng "libpng" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libpng "libpng" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then CFG_LIBPNG=system else CFG_LIBPNG=qt @@ -4149,6 +3973,11 @@ if [ "$CFG_EGLFS" = "yes" ]; then echo "The EGLFS plugin requires EGL support and cannot be built" exit 101 fi + if [ "$CFG_OPENGL" != "es2" ]; then + echo "The EGLFS plugin requires OpenGL ES 2 support and cannot be built" + exit 101 + fi + CFG_OPENGL="es2" CFG_EGL=yes fi @@ -4179,13 +4008,13 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do QT_CFLAGS_MYSQL="" fi else - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mysql_r "MySQL (thread-safe)" $QT_LFLAGS_MYSQL_R $L_FLAGS $QT_CFLAGS_MYSQL $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mysql_r "MySQL (thread-safe)" $QT_LFLAGS_MYSQL_R $L_FLAGS $QT_CFLAGS_MYSQL $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then QMakeVar add CONFIG use_libmysqlclient_r if [ "$CFG_SQL_mysql" = "auto" ]; then CFG_SQL_mysql=plugin fi QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R" - elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mysql "MySQL (thread-unsafe)" $QT_LFLAGS_MYSQL $L_FLAGS $QT_CFLAGS_MYSQL $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mysql "MySQL (thread-unsafe)" $QT_LFLAGS_MYSQL $L_FLAGS $QT_CFLAGS_MYSQL $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then if [ "$CFG_SQL_mysql" = "auto" ]; then CFG_SQL_mysql=plugin fi @@ -4217,7 +4046,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL" # But, respect PSQL_LIBS if set [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS" - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/psql "PostgreSQL" $QT_LFLAGS_PSQL $L_FLAGS $QT_CFLAGS_PSQL $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/psql "PostgreSQL" $QT_LFLAGS_PSQL $L_FLAGS $QT_CFLAGS_PSQL $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then if [ "$CFG_SQL_psql" = "auto" ]; then CFG_SQL_psql=plugin fi @@ -4238,12 +4067,12 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do ;; odbc) if [ "$CFG_SQL_odbc" != "no" ]; then - if ( [ "$BUILD_ON_MAC" != "yes" ] || [ "$XPLATFORM_MINGW" = "yes" ] ) && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if ( [ "$BUILD_ON_MAC" != "yes" ] || [ "$XPLATFORM_MINGW" = "yes" ] ) && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then if [ "$CFG_SQL_odbc" = "auto" ]; then CFG_SQL_odbc=plugin fi else - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iodbc "iODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iodbc "iODBC" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then QT_LFLAGS_ODBC="-liodbc" if [ "$CFG_SQL_odbc" = "auto" ]; then CFG_SQL_odbc=plugin @@ -4264,7 +4093,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do ;; oci) if [ "$CFG_SQL_oci" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/oci "OCI" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/oci "OCI" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then if [ "$CFG_SQL_oci" = "auto" ]; then CFG_SQL_oci=plugin fi @@ -4285,7 +4114,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do if [ "$CFG_SQL_tds" != "no" ]; then [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib" [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS" - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tds "TDS" $QT_LFLAGS_TDS $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tds "TDS" $QT_LFLAGS_TDS $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then if [ "$CFG_SQL_tds" = "auto" ]; then CFG_SQL_tds=plugin fi @@ -4304,7 +4133,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do ;; db2) if [ "$CFG_SQL_db2" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/db2 "DB2" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/db2 "DB2" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then if [ "$CFG_SQL_db2" = "auto" ]; then CFG_SQL_db2=plugin fi @@ -4323,7 +4152,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do ;; ibase) if [ "$CFG_SQL_ibase" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ibase "InterBase" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ibase "InterBase" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then if [ "$CFG_SQL_ibase" = "auto" ]; then CFG_SQL_ibase=plugin fi @@ -4342,7 +4171,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do ;; sqlite2) if [ "$CFG_SQL_sqlite2" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite2 "SQLite2" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite2 "SQLite2" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then if [ "$CFG_SQL_sqlite2" = "auto" ]; then CFG_SQL_sqlite2=plugin fi @@ -4367,7 +4196,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null` QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null` fi - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite "SQLite" $QT_LFLAGS_SQLITE $L_FLAGS $QT_CFLAGS_SQLITE $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite "SQLite" $QT_LFLAGS_SQLITE $L_FLAGS $QT_CFLAGS_SQLITE $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then if [ "$CFG_SQL_sqlite" = "auto" ]; then CFG_SQL_sqlite=plugin fi @@ -4404,7 +4233,7 @@ done # auto-detect NIS support if [ "$CFG_NIS" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/nis "NIS" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/nis "NIS" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then CFG_NIS=yes else if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then @@ -4421,7 +4250,7 @@ fi # auto-detect CUPS support if [ "$CFG_CUPS" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/cups "Cups" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/cups "Cups" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then CFG_CUPS=yes else if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then @@ -4440,11 +4269,11 @@ fi if [ "$CFG_ICONV" != "no" ]; then if [ "$XPLATFORM_MINGW" = "yes" ]; then CFG_ICONV=no - elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then CFG_ICONV=yes - elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/sun-libiconv" "SUN libiconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/sun-libiconv" "SUN libiconv" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then CFG_ICONV=sun - elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/gnu-libiconv" "GNU libiconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/gnu-libiconv" "GNU libiconv" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then CFG_ICONV=gnu else if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then @@ -4465,7 +4294,7 @@ if [ "$CFG_DBUS" != "no" ]; then QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null` QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null` fi - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/dbus "D-Bus" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_DBUS $QT_LIBS_DBUS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/dbus "D-Bus" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $QT_CFLAGS_DBUS $QT_LIBS_DBUS $MAC_CONFIG_TEST_COMMANDLINE; then [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS" QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS" @@ -4484,125 +4313,124 @@ if [ "$CFG_DBUS" != "no" ]; then fi fi -# X11/Lighthouse -if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then - - # auto-detect Glib support - if [ "$CFG_GLIB" != "no" ]; then - if [ -n "$PKG_CONFIG" ]; then - QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null` - QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null` - fi - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/glib "Glib" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_GLIB $QT_LIBS_GLIB $X11TESTS_FLAGS ; then - CFG_GLIB=yes - QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB" - QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB" - else - if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "Glib 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_GLIB=no - fi - fi +# auto-detect Glib support +if [ "$CFG_GLIB" != "no" ]; then + if [ -n "$PKG_CONFIG" ]; then + QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null` + QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null` fi - - # ### Vestige - if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then - if [ -n "$PKG_CONFIG" ]; then - QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null` - QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null` - fi - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/gstreamer "GStreamer" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_GSTREAMER $QT_LIBS_GSTREAMER $X11TESTS_FLAGS; then - CFG_GSTREAMER=yes - QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER" - QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER" + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/glib "Glib" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $QT_CFLAGS_GLIB $QT_LIBS_GLIB; then + CFG_GLIB=yes + QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB" + QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB" + else + if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then + echo "Glib 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 - if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "Gstreamer 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_GSTREAMER=no - fi + CFG_GLIB=no fi - elif [ "$CFG_GLIB" = "no" ]; then - CFG_GSTREAMER=no fi +fi - # auto-detect libicu support - if [ "$CFG_ICU" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $l_FLAGS; then - [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes +# auto-detect GTK style support +if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then + if [ -n "$PKG_CONFIG" ]; then + QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null` + QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null` + fi + if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then + CFG_QGTKSTYLE=yes + QT_CONFIG="$QT_CONFIG gtkstyle" + QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE" + QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE" + else + if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then + echo "Gtk theme support cannot be enabled due to functionality tests!" + echo " Turn on verbose messaging (-v) to $0 to see the fin al 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 - if [ "$CFG_ICU" = "auto" ]; then - CFG_ICU=no - elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - # CFG_ICU is "yes" - - echo "The ICU library support cannot be enabled." - 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 - fi + CFG_QGTKSTYLE=no fi fi +elif [ "$CFG_GLIB" = "no" ]; then + CFG_QGTKSTYLE=no +fi - # Auto-detect PulseAudio support - if [ "$CFG_PULSEAUDIO" != "no" ]; then - if [ -n "$PKG_CONFIG" ]; then - QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null` - QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null` - fi - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pulseaudio "PulseAudio" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_PULSEAUDIO $QT_LIBS_PULSEAUDIO $X11TESTS_FLAGS; then - CFG_PULSEAUDIO=yes - QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO" - QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO" +# ### Vestige +if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then + if [ -n "$PKG_CONFIG" ]; then + QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null` + QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null` + fi + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/gstreamer "GStreamer" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $QT_CFLAGS_GSTREAMER $QT_LIBS_GSTREAMER; then + CFG_GSTREAMER=yes + QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER" + QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER" + else + if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then + echo "Gstreamer 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 - if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "PulseAudio 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_PULSEAUDIO=no - fi + CFG_GSTREAMER=no fi fi -fi # X11/Lighthouse +elif [ "$CFG_GLIB" = "no" ]; then + CFG_GSTREAMER=no +fi -# X11 -if [ "$PLATFORM_X11" = "yes" -a "$CFG_GUI" != "no" ]; then - x11tests="$relpath/config.tests/x11" - X11TESTS_FLAGS= +# auto-detect libicu support +if [ "$CFG_ICU" != "no" ]; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then + [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes + else + if [ "$CFG_ICU" = "auto" ]; then + CFG_ICU=no + elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then + # CFG_ICU is "yes" - # work around broken X11 headers when using GCC 2.95 or later - NOTYPE=no - "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE=yes - if [ $NOTYPE = "yes" ]; then - QMakeVar add QMAKE_CXXFLAGS -fpermissive - X11TESTS_FLAGS="$X11TESTS_FLAGS -fpermissive" + echo "The ICU library support cannot be enabled." + 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 + fi fi +fi - # Check we actually have X11 :-) - "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS - if [ $? != "0" ]; then - echo "Basic XLib functionality test failed!" - echo " You might need to modify the include and library search paths by editing" - echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}." - exit 1 +# Auto-detect PulseAudio support +if [ "$CFG_PULSEAUDIO" != "no" ]; then + if [ -n "$PKG_CONFIG" ]; then + QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null` + QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null` + fi + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pulseaudio "PulseAudio" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $QT_CFLAGS_PULSEAUDIO $QT_LIBS_PULSEAUDIO; then + CFG_PULSEAUDIO=yes + QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO" + QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO" + else + if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then + echo "PulseAudio 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_PULSEAUDIO=no + fi fi fi # X11/MINGW OpenGL -if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then +if [ "$XPLATFORM_MINGW" = "yes" ]; then # auto-detect OpenGL support (es2 = OpenGL ES 2.x) if [ "$CFG_GUI" = "no" ]; then if [ "$CFG_OPENGL" = "auto" ]; then @@ -4615,9 +4443,9 @@ if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then fi fi if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_OPENGL=desktop - elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_OPENGL=es2 else if [ "$CFG_OPENGL" = "yes" ]; then @@ -4633,7 +4461,7 @@ if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then hpux*) # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct. if [ "$CFG_OPENGL" = "desktop" ]; then - "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS + "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS if [ $? != "0" ]; then QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT fi @@ -4644,7 +4472,7 @@ if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then esac elif [ "$CFG_OPENGL" = "es2" ]; then #OpenGL ES 2.x - "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS + "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS if [ $? != "0" ]; then echo "The OpenGL ES 2.0 functionality test failed!" echo " You might need to modify the include and library search paths by editing" @@ -4654,7 +4482,7 @@ if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then fi elif [ "$CFG_OPENGL" = "desktop" ]; then # Desktop OpenGL support - "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS + "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS if [ $? != "0" ]; then echo "The OpenGL functionality test failed!" echo " You might need to modify the include and library search paths by editing" @@ -4665,7 +4493,7 @@ if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then case "$PLATFORM" in hpux*) # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct. - "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS + "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS if [ $? != "0" ]; then QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT fi @@ -4676,246 +4504,68 @@ if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then fi fi # X11/MINGW OpenGL -# X11 -if [ "$PLATFORM_X11" = "yes" ]; then - # auto-detect Xcursor support - if [ "$CFG_XCURSOR" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xcursor "Xcursor" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then - if [ "$CFG_XCURSOR" != "runtime" ]; then - CFG_XCURSOR=yes; - fi - else - if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "Xcursor 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_XCURSOR=no - fi - fi - fi - - # auto-detect Xfixes support - if [ "$CFG_XFIXES" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xfixes "Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then - if [ "$CFG_XFIXES" != "runtime" ]; then - CFG_XFIXES=yes; - fi - else - if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "Xfixes 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_XFIXES=no - fi - fi - fi - - # auto-detect Xrandr support (resize and rotate extension) - if [ "$CFG_XRANDR" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xrandr "Xrandr" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then - if [ "$CFG_XRANDR" != "runtime" ]; then - CFG_XRANDR=yes - fi - else - if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "Xrandr 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_XRANDR=no - fi - fi - fi - - # auto-detect Xrender support - if [ "$CFG_XRENDER" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xrender "Xrender" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then - CFG_XRENDER=yes - else - if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "Xrender 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_XRENDER=no - fi - fi - fi - - # auto-detect MIT-SHM support - if [ "$CFG_MITSHM" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/mitshm "mitshm" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then - CFG_MITSHM=yes - else - if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "MITSHM 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_MITSHM=no - fi - fi - fi - - # auto-detect Session Management support - if [ "$CFG_SM" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/sm "Session Management" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then - CFG_SM=yes - else - if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "Session Management 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_SM=no - fi - fi - fi - - # auto-detect SHAPE support - if [ "$CFG_XSHAPE" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xshape "XShape" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then - CFG_XSHAPE=yes - else - if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "XShape 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_XSHAPE=no - fi - fi - fi - - # auto-detect XVideo support - if [ "$CFG_XVIDEO" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xvideo "XVideo" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then - CFG_XVIDEO=yes - else - if [ "$CFG_XVIDEO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "XVideo 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_XVIDEO=no - fi - fi - fi - - # auto-detect XSync support - if [ "$CFG_XSYNC" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xsync "XSync" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then - CFG_XSYNC=yes - else - if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "XSync 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_XSYNC=no - fi - fi - fi - - # auto-detect Xinerama support - if [ "$CFG_XINERAMA" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinerama "Xinerama" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then - if [ "$CFG_XINERAMA" != "runtime" ]; then - CFG_XINERAMA=yes - fi - else - if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "Xinerama 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_XINERAMA=no - fi - fi +if [ "$BUILD_ON_MAC" = "yes" ]; then + if [ "$CFG_PHONON" != "no" ]; then + # Always enable Phonon (unless it was explicitly disabled) + CFG_PHONON=yes fi - # auto-detect Xinput support - if [ "$CFG_XINPUT" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinput "XInput" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then - if [ "$CFG_XINPUT" != "runtime" ]; then - CFG_XINPUT=yes - fi + if [ "$CFG_COREWLAN" = "auto" ]; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/corewlan "CoreWlan" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + CFG_COREWLAN=yes else - if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "Tablet and Xinput 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_XINPUT=no - fi + CFG_COREWLAN=no fi fi +fi - # auto-detect XKB support - if [ "$CFG_XKB" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xkb "XKB" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then - CFG_XKB=yes - else - if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "XKB 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_XKB=no - fi +# auto-detect OpenGL support (es2 = OpenGL ES 2.x) +if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then + CFG_OPENGL=desktop + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then + CFG_OPENGL=es2 + else + if [ "$CFG_OPENGL" = "yes" ]; then + echo "All the OpenGL functionality tests failed!" + echo " You might need to modify the include and library search paths by editing" + echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in" + echo " ${XQMAKESPEC}." + exit 1 fi + CFG_OPENGL=no fi - - if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then - if [ -n "$PKG_CONFIG" ]; then - QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null` - QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null` - fi - if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then - CFG_QGTKSTYLE=yes - QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE" - QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE" - else - if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "Gtk theme 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_QGTKSTYLE=no - fi - fi - elif [ "$CFG_GLIB" = "no" ]; then - CFG_QGTKSTYLE=no +elif [ "$CFG_OPENGL" = "es2" ]; then + #OpenGL ES 2.x + if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then + QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'` + QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'` + QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null` + QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null` + QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "`shellArgumentListToQMakeList "$QMAKE_INCDIR_OPENGL_ES2"`" + QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "`shellArgumentListToQMakeList "$QMAKE_LIBDIR_OPENGL_ES2"`" + QMakeVar set QMAKE_LIBS_OPENGL_ES2 "`shellArgumentListToQMakeList "$QMAKE_LIBS_OPENGL_ES2"`" + fi + + "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $QMAKE_LIBS_OPENGL_ES2 $QMAKE_CFLAGS_OPENGL_ES2 + if [ $? != "0" ]; then + echo "The OpenGL ES 2.0 functionality test failed!" + echo " You might need to modify the include and library search paths by editing" + echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in" + echo " ${XQMAKESPEC}." + exit 1 + fi +elif [ "$CFG_OPENGL" = "desktop" ]; then + # Desktop OpenGL support + "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS + if [ $? != "0" ]; then + echo "The OpenGL functionality test failed!" + echo " You might need to modify the include and library search paths by editing" + echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in" + echo " ${XQMAKESPEC}." + exit 1 fi -fi # X11 +fi # auto-detect FontConfig support if [ "$CFG_FONTCONFIG" != "no" ]; then @@ -4926,319 +4576,267 @@ if [ "$CFG_FONTCONFIG" != "no" ]; then QT_CFLAGS_FONTCONFIG= QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig" fi - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/fontconfig "FontConfig" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS $QT_CFLAGS_FONTCONFIG $QT_LIBS_FONTCONFIG; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/fontconfig "FontConfig" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $QT_CFLAGS_FONTCONFIG $QT_LIBS_FONTCONFIG; then + QT_CONFIG="$QT_CONFIG fontconfig" + QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG" + QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG" CFG_FONTCONFIG=yes - QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11" - QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11" CFG_LIBFREETYPE=system else - if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "FontConfig 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_FONTCONFIG=no - fi - fi -fi - - -if [ "$BUILD_ON_MAC" = "yes" ]; then - if [ "$CFG_PHONON" != "no" ]; then - # Always enable Phonon (unless it was explicitly disabled) - CFG_PHONON=yes - fi - - if [ "$CFG_COREWLAN" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/corewlan "CoreWlan" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then - CFG_COREWLAN=yes - else - CFG_COREWLAN=no - fi - fi -fi - -if [ "$PLATFORM_QPA" = "yes" ]; then - # auto-detect OpenGL support (es2 = OpenGL ES 2.x) - if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then - CFG_OPENGL=desktop - elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then - CFG_OPENGL=es2 - else - if [ "$CFG_OPENGL" = "yes" ]; then - echo "All the OpenGL functionality tests failed!" - echo " You might need to modify the include and library search paths by editing" - echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in" - echo " ${XQMAKESPEC}." - exit 1 - fi - CFG_OPENGL=no - fi - elif [ "$CFG_OPENGL" = "es2" ]; then - #OpenGL ES 2.x - if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then - QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'` - QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'` - QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null` - QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null` - QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2" - QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2" - QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2" - fi - - "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_LIBS_OPENGL_ES2 $QMAKE_CFLAGS_OPENGL_ES2 - if [ $? != "0" ]; then - echo "The OpenGL ES 2.0 functionality test failed!" - echo " You might need to modify the include and library search paths by editing" - echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in" - echo " ${XQMAKESPEC}." - exit 1 - fi - elif [ "$CFG_OPENGL" = "desktop" ]; then - # Desktop OpenGL support - "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS - if [ $? != "0" ]; then - echo "The OpenGL functionality test failed!" - echo " You might need to modify the include and library search paths by editing" - echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in" - echo " ${XQMAKESPEC}." - exit 1 - fi + CFG_FONTCONFIG=no fi - # auto-detect FontConfig support - if [ "$CFG_FONTCONFIG" != "no" ]; then - if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then - QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null` - QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null` - else - QT_CFLAGS_FONTCONFIG= - QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig" - fi - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/fontconfig "FontConfig" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS $QT_CFLAGS_FONTCONFIG $QT_LIBS_FONTCONFIG; then - QT_CONFIG="$QT_CONFIG fontconfig" - QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG" - QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG" - CFG_LIBFREETYPE=system - fi - - fi +fi - # Save these for a check later - ORIG_CFG_XCB="$CFG_XCB" - ORIG_CFG_EGLFS="$CFG_EGLFS" +# 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 - QMAKE_INCDIR_LIBUDEV=`$PKG_CONFIG --cflags-only-I libudev 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'` - QMAKE_LIBS_LIBUDEV=`$PKG_CONFIG --libs libudev 2>/dev/null` - QMakeVar set QMAKE_INCDIR_LIBUDEV "$QMAKE_INCDIR_LIBUDEV" - QMakeVar set QMAKE_LIBS_LIBUDEV "$QMAKE_LIBS_LIBUDEV" - fi - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libudev "libudev" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_INCDIR_LIBUDEV $QMAKE_LIBS_LIBUDEV; then - CFG_LIBUDEV=yes - QT_CONFIG="$QT_CONFIG libudev" - elif [ "$CFG_LIBUDEV" = "yes" ]; then - echo "The libudev functionality test failed!" - exit 1 - else - CFG_LIBUDEV=no - QMakeVar add DEFINES QT_NO_LIBUDEV - fi +if [ "$CFG_LIBUDEV" != "no" ]; then + if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libudev 2>/dev/null; then + QMAKE_INCDIR_LIBUDEV=`$PKG_CONFIG --cflags-only-I libudev 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'` + QMAKE_LIBS_LIBUDEV=`$PKG_CONFIG --libs libudev 2>/dev/null` + QMakeVar set QMAKE_INCDIR_LIBUDEV "$QMAKE_INCDIR_LIBUDEV" + QMakeVar set QMAKE_LIBS_LIBUDEV "$QMAKE_LIBS_LIBUDEV" fi - - if [ "$CFG_EVDEV" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/evdev "evdev" $L_FLAGS $I_FLAGS $l_FLAGS; then - CFG_EVDEV=yes - QT_CONFIG="$QT_CONFIG evdev" - elif [ "$CFG_EVDEV" = "yes" ]; then - echo "The evdev functionality test failed!" - exit 1 - else - CFG_EVDEV=no - QMakeVar add DEFINES QT_NO_EVDEV - fi + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libudev "libudev" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $QMAKE_INCDIR_LIBUDEV $QMAKE_LIBS_LIBUDEV; then + CFG_LIBUDEV=yes + QT_CONFIG="$QT_CONFIG libudev" + elif [ "$CFG_LIBUDEV" = "yes" ]; then + echo "The libudev functionality test failed!" + exit 1 + else + CFG_LIBUDEV=no + QMakeVar add DEFINES QT_NO_LIBUDEV fi +fi - # Check we actually have X11 :-) - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then - QT_CONFIG="$QT_CONFIG xlib" +if [ "$CFG_EVDEV" != "no" ]; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/evdev "evdev" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then + CFG_EVDEV=yes + QT_CONFIG="$QT_CONFIG evdev" + elif [ "$CFG_EVDEV" = "yes" ]; then + echo "The evdev functionality test failed!" + exit 1 + else + CFG_EVDEV=no + QMakeVar add DEFINES QT_NO_EVDEV fi +fi - # auto-detect Xrender support - if [ "$CFG_XRENDER" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xrender "Xrender" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then - CFG_XRENDER=yes - QT_CONFIG="$QT_CONFIG xrender" +# Check we actually have X11 :-) +if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then + QT_CONFIG="$QT_CONFIG xlib" +fi + +# auto-detect Xrender support +if [ "$CFG_XRENDER" != "no" ]; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xrender "Xrender" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then + CFG_XRENDER=yes + QT_CONFIG="$QT_CONFIG xrender" + else + if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then + echo "Xrender 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 - if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "Xrender 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_XRENDER=no - fi + CFG_XRENDER=no fi fi +fi - if [ "$CFG_XCB" != "no" ]; then - if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xcb >= 1.5" 2>/dev/null; then - QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`" - QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`" +if [ "$CFG_XCB" != "no" ]; then + if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xcb >= 1.5" 2>/dev/null; then + QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`" + QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`" + fi + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb "xcb" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then + CFG_XCB=yes + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-render "xcb-render" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then + QT_CONFIG="$QT_CONFIG xcb-render" fi - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb "xcb" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then - CFG_XCB=yes - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-render "xcb-render" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then - QT_CONFIG="$QT_CONFIG xcb-render" - fi - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-poll-for-queued-event "xcb-poll-for-queued-event" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then - CFG_XCB_LIMITED=no - QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event" - fi + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-poll-for-queued-event "xcb-poll-for-queued-event" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then + CFG_XCB_LIMITED=no + QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event" + fi - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-xlib "xcb-xlib" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then - QT_CONFIG="$QT_CONFIG xcb-xlib" - fi + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-xlib "xcb-xlib" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then + QT_CONFIG="$QT_CONFIG xcb-xlib" + fi - if [ "$XPLATFORM_MAEMO" = "yes" ]; then - # auto-detect XInput2/Xinput support - if [ "$CFG_XINPUT2" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinput2 "XInput2" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then - CFG_XINPUT2=yes - CFG_XINPUT=no - else - if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "XInput2 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_XINPUT2=no - fi - fi + # auto-detect XInput2 support. Needed by xcb too. + if [ "$CFG_XINPUT2" != "no" ]; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinput2 "XInput2" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then + CFG_XINPUT2=yes + CFG_XINPUT=no + else + if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then + echo "XInput2 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_XINPUT2=no fi fi - else - if [ "$CFG_XCB" = "yes" ]; then - echo "The XCB test failed!" - echo " You might need to install dependency packages." - echo " See src/plugins/platforms/xcb/README." - exit 1 - fi - CFG_XCB=no - QMakeVar add DEFINES QT_NO_XCB 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`" - QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`" - QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON" - QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON" else - QMAKE_DEFINES_XCB=QT_NO_XCB_XKB - fi - - # EGL Support - if [ "$CFG_EGL" != "no" ]; then - if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then - QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'` - QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null` - QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null` - QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL" - QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL" - fi # detect EGL support - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/qpa/egl" "EGL" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then - CFG_EGL=yes - elif [ "$CFG_EGL" = "yes" ]; then - echo " The EGL functionality test failed; EGL is required by some QPA plugins to manage contexts & surfaces." - echo " You might need to modify the include and library search paths by editing" - echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in ${XQMAKESPEC}." + if [ "$CFG_XCB" = "yes" ]; then + echo "The XCB test failed!" + echo " You might need to install dependency packages." + echo " See src/plugins/platforms/xcb/README." exit 1 + fi + CFG_XCB=no + QMakeVar add DEFINES QT_NO_XCB + 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` + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/qpa/directfb" "DirectFB" $L_FLAGS $I_FLAGS $D_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_EGL=no + CFG_DIRECTFB=no fi + else + CFG_DIRECTFB=no fi +fi - if [ "$CFG_EGLFS" != "no" ]; then - CFG_EGLFS="$CFG_EGL" +# Detect libxkbcommon +if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then + QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`" + QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`" + QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON" + QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON" +else + QMAKE_DEFINES_XCB=QT_NO_XCB_XKB +fi + +# EGL Support +if [ "$CFG_EGL" != "no" ] && [ "$CFG_OPENGL" != "desktop" ]; then + if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then + QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'` + QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null` + QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null` + QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL" + QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL" + fi # detect EGL support + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/qpa/egl" "EGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then + CFG_EGL=yes + elif [ "$CFG_EGL" = "yes" ]; then + echo " The EGL functionality test failed; EGL is required by some QPA plugins to manage contexts & surfaces." + echo " You might need to modify the include and library search paths by editing" + echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in ${XQMAKESPEC}." + exit 1 + else + CFG_EGL=no + fi +elif [ "$CFG_OPENGL" = "desktop" ]; then + if [ "$CFG_EGL" = "yes" ]; then + echo "EGL support was requested but Qt is being configured for desktop OpenGL." + echo "Either disable EGL support or enable OpenGL ES support." + exit 101 fi + CFG_EGL=no +fi - if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then - QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB" - QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB" - QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB" +if [ "$CFG_EGLFS" != "no" ]; then + if [ "$CFG_OPENGL" = "es2" ] && [ "$CFG_EVDEV" = "yes" ]; then + CFG_EGLFS="$CFG_EGL" + else + CFG_EGLFS="no" fi +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 - QT_CONFIG="$QT_CONFIG coreservices" +# Determine the default QPA platform +if [ -z "$QT_QPA_DEFAULT_PLATFORM" ]; then + # check the mkspec + QT_QPA_DEFAULT_PLATFORM=`getXQMakeConf QT_QPA_DEFAULT_PLATFORM` + if [ -z "$QT_QPA_DEFAULT_PLATFORM" ]; then + if [ "$XPLATFORM_MINGW" = "yes" ]; then + QT_QPA_DEFAULT_PLATFORM="windows" + elif [ "$BUILD_ON_MAC" = "yes" ]; then + QT_QPA_DEFAULT_PLATFORM="cocoa" + elif [ "$UNAME_SYSTEM" = "QNX" ]; then + QT_QPA_DEFAULT_PLATFORM="qnx" else - QMakeVar add DEFINES QT_NO_CORESERVICES + QT_QPA_DEFAULT_PLATFORM="xcb" fi fi +fi - if [ "$PLATFORM_QPA" = "yes" ] && [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ]; then - if [ "$CFG_XCB" = "no" ] && [ "$CFG_EGLFS" = "no" ]; then - if [ "$QPA_PLATFORM_GUARD" = "yes" ] && - ( [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_EGLFS" = "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 " 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" - exit 1 - fi - fi +if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then + QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB" + QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB" + QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB" +fi +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 + +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 $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + QT_CONFIG="$QT_CONFIG coreservices" + else + QMakeVar add DEFINES QT_NO_CORESERVICES fi +fi +if [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ] && [ "$XPLATFORM_QNX" = "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" ] || [ "$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-qpa-platform-guard to configure. Doing this will" + echo " produce a Qt that can not run GUI applications." + echo " The dependencies needed for xcb to build are listed in" + echo " src/plugins/platforms/xcb/README" + exit 1 + fi fi + fi [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes" # freetype support [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no if [ "$CFG_LIBFREETYPE" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/freetype "FreeType" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/freetype "FreeType" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then CFG_LIBFREETYPE=system else CFG_LIBFREETYPE=yes fi fi -HAVE_STL=no -if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then - HAVE_STL=yes +if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS && + [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then + echo "STL functionality check failed! Cannot build Qt with this STL library." + echo " Turn on verbose messaging (-v) to $0 to see the final report." + exit 101 fi -if [ "$CFG_STL" != "no" ]; then - if [ "$HAVE_STL" = "yes" ]; then - CFG_STL=yes - else - if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then - echo "STL 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_STL=no - fi - fi -fi # detect POSIX clock_gettime() if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/clock-gettime "POSIX clock_gettime()" $L_FLAGS $I_FLAGS $l_FLAGS; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/clock-gettime "POSIX clock_gettime()" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_CLOCK_GETTIME=yes else CFG_CLOCK_GETTIME=no @@ -5247,7 +4845,7 @@ fi # detect POSIX monotonic clocks if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/clock-monotonic "POSIX Monotonic Clock" $L_FLAGS $I_FLAGS $l_FLAGS; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/clock-monotonic "POSIX Monotonic Clock" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_CLOCK_MONOTONIC=yes else CFG_CLOCK_MONOTONIC=no @@ -5258,7 +4856,7 @@ fi # detect mremap if [ "$CFG_MREMAP" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_MREMAP=yes else CFG_MREMAP=no @@ -5267,7 +4865,7 @@ fi # find if the platform provides getaddrinfo (ipv6 dns lookups) if [ "$CFG_GETADDRINFO" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_GETADDRINFO=yes else if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then @@ -5284,7 +4882,7 @@ fi # find if the platform provides inotify if [ "$CFG_INOTIFY" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_INOTIFY=yes else if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then @@ -5301,7 +4899,7 @@ fi # find if the platform provides if_nametoindex (ipv6 interface name support) if [ "$CFG_IPV6IFNAME" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ipv6ifname "IPv6 interface name" $L_FLAGS $I_FLAGS $l_FLAGS; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ipv6ifname "IPv6 interface name" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_IPV6IFNAME=yes else if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then @@ -5318,7 +4916,7 @@ fi # find if the platform provides getifaddrs (network interface enumeration) if [ "$CFG_GETIFADDRS" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_GETIFADDRS=yes else if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then @@ -5335,7 +4933,7 @@ fi # detect OpenSSL if [ "$CFG_OPENSSL" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/openssl "OpenSSL" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/openssl "OpenSSL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then if [ "$CFG_OPENSSL" = "auto" ]; then CFG_OPENSSL=yes fi @@ -5354,7 +4952,7 @@ fi # detect PCRE if [ "$CFG_PCRE" != "qt" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pcre "PCRE" $L_FLAGS $I_FLAGS $l_FLAGS; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pcre "PCRE" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_PCRE=system else if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then @@ -5371,21 +4969,21 @@ fi # detect OpenVG support if [ "$CFG_OPENVG" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $CONFIG_ARG; then if [ "$CFG_OPENVG" = "auto" ]; then CFG_OPENVG=yes fi - elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG openvg_on_opengl" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG openvg_on_opengl" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $CONFIG_ARG; then if [ "$CFG_OPENVG" = "auto" ]; then CFG_OPENVG=yes fi CFG_OPENVG_ON_OPENGL=yes - elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG lower_case_includes" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG (lc includes)" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG lower_case_includes" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG (lc includes)" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $CONFIG_ARG; then if [ "$CFG_OPENVG" = "auto" ]; then CFG_OPENVG=yes fi CFG_OPENVG_LC_INCLUDES=yes - elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG openvg_on_opengl lower_case_includes" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG (lc includes)" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then + elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG openvg_on_opengl lower_case_includes" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG (lc includes)" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $CONFIG_ARG; then if [ "$CFG_OPENVG" = "auto" ]; then CFG_OPENVG=yes fi @@ -5402,13 +5000,13 @@ if [ "$CFG_OPENVG" != "no" ]; then CFG_OPENVG=no fi fi - if [ "$CFG_OPENVG" = "yes" ] && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/shivavg" "ShivaVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then + if [ "$CFG_OPENVG" = "yes" ] && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/shivavg" "ShivaVG" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $CONFIG_ARG; then CFG_OPENVG_SHIVA=yes fi fi if [ "$CFG_ALSA" = "auto" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then CFG_ALSA=yes else CFG_ALSA=no @@ -5417,7 +5015,7 @@ fi if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then if [ "$CFG_ARCH" = "arm" ]; then - "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS + "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS if [ $? != "0" ]; then CFG_JAVASCRIPTCORE_JIT=no fi @@ -5449,34 +5047,7 @@ fi # ask for all that hasn't been auto-detected or specified in the arguments #------------------------------------------------------------------------------- -# enable dwarf2 support on Mac -if [ "$CFG_MAC_DWARF2" = "yes" ]; then - QT_CONFIG="$QT_CONFIG dwarf2" -fi - -# Detect the default arch (x86 or x86_64) on Mac OS X -if [ "$BUILD_ON_MAC" = "yes" ] && [ "$QT_CROSS_COMPILE" = "no" ]; then - DEFAULT_ARCH= - case `file "${outpath}/bin/qmake"` in - *i?86) - DEFAULT_ARCH=x86 - ;; - *x86_64) - DEFAULT_ARCH=x86_64 - ;; - *ppc|*ppc64|*) - # unsupported/unknown - ;; - esac - - if [ -n "$DEFAULT_ARCH" ]; then - [ "$OPT_VERBOSE" = "yes" ] && echo "Setting default Mac OS X architechture to $DEFAULT_ARCH." - QT_CONFIG="$QT_CONFIG $DEFAULT_ARCH" - QMAKE_CONFIG="$QMAKE_CONFIG $DEFAULT_ARCH" - # Make the application arch follow the Qt arch - QTCONFIG_CONFIG="$QTCONFIG_CONFIG $DEFAULT_ARCH" - fi -fi +[ "$CFG_CXX11" = "yes" ] && QT_CONFIG="$QT_CONFIG c++11" # ### Vestige if [ "$CFG_PHONON_BACKEND" = "yes" ]; then @@ -5537,33 +5108,26 @@ if [ "$CFG_OPENGL" = "es2" ]; then QT_CONFIG="$QT_CONFIG opengles2" fi -# safe execution environment -if [ "$CFG_SXE" != "no" ]; then - QT_CONFIG="$QT_CONFIG sxe" -fi - # build up the variables for output if [ "$CFG_DEBUG" = "yes" ]; then QMAKE_OUTDIR="${QMAKE_OUTDIR}debug" - QMAKE_CONFIG="$QMAKE_CONFIG debug" elif [ "$CFG_DEBUG" = "no" ]; then QMAKE_OUTDIR="${QMAKE_OUTDIR}release" - QMAKE_CONFIG="$QMAKE_CONFIG release" fi if [ "$CFG_SHARED" = "yes" ]; then QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared" - QMAKE_CONFIG="$QMAKE_CONFIG shared dll" + QT_CONFIG="$QT_CONFIG shared" elif [ "$CFG_SHARED" = "no" ]; then QMAKE_OUTDIR="${QMAKE_OUTDIR}-static" - QMAKE_CONFIG="$QMAKE_CONFIG static" -fi -if [ "$PLATFORM_QPA" = "yes" ]; then - QMAKE_CONFIG="$QMAKE_CONFIG qpa" - QT_CONFIG="$QT_CONFIG qpa" - QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa" - rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes + QT_CONFIG="$QT_CONFIG static" fi +#FIXME: qpa is implicit this should all be removed +QMAKE_CONFIG="$QMAKE_CONFIG qpa" +QT_CONFIG="$QT_CONFIG qpa" +QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa" +rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes + if [ "$XPLATFORM_MINGW" != "yes" ]; then # Do not set this here for Windows. Let qmake do it so # debug and release precompiled headers are kept separate. @@ -5576,11 +5140,6 @@ QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR" if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then QMAKE_CONFIG="$QMAKE_CONFIG largefile" fi -if [ "$CFG_STL" = "no" ]; then - QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STL" -else - QMAKE_CONFIG="$QMAKE_CONFIG stl" -fi if [ "$CFG_USE_GNUMAKE" = "yes" ]; then QMAKE_CONFIG="$QMAKE_CONFIG GNUmake" fi @@ -5595,15 +5154,13 @@ fi if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy" fi -[ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mmx" -[ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow" -[ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse" [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2" [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3" [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3" [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1" [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2" [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx" +[ "$CFG_AVX2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx2" [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt" [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon" if [ "$CFG_ARCH" = "mips" ]; then @@ -5703,63 +5260,7 @@ fi [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb" [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2" -if [ "$PLATFORM_X11" = "yes" ]; then - [ "$CFG_SM" = "yes" ] && QT_CONFIG="$QT_CONFIG x11sm" - - # for some reason, the following libraries are not always built shared, - # so *every* program/lib (including Qt) has to link against them - if [ "$CFG_XSHAPE" = "yes" ]; then - QT_CONFIG="$QT_CONFIG xshape" - fi - if [ "$CFG_XVIDEO" = "yes" ]; then - QT_CONFIG="$QT_CONFIG xvideo" - fi - if [ "$CFG_XSYNC" = "yes" ]; then - QT_CONFIG="$QT_CONFIG xsync" - fi - if [ "$CFG_XINERAMA" = "yes" ]; then - QT_CONFIG="$QT_CONFIG xinerama" - QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11' - fi - if [ "$CFG_XCURSOR" = "yes" ]; then - QT_CONFIG="$QT_CONFIG xcursor" - QMakeVar set QMAKE_LIBS_X11 '-lXcursor $$QMAKE_LIBS_X11' - fi - if [ "$CFG_XFIXES" = "yes" ]; then - QT_CONFIG="$QT_CONFIG xfixes" - QMakeVar set QMAKE_LIBS_X11 '-lXfixes $$QMAKE_LIBS_X11' - fi - if [ "$CFG_XRANDR" = "yes" ]; then - QT_CONFIG="$QT_CONFIG xrandr" - if [ "$CFG_XRENDER" != "yes" ]; then - # libXrandr uses 1 function from libXrender, so we always have to have it :/ - QMakeVar set QMAKE_LIBS_X11 '-lXrandr -lXrender $$QMAKE_LIBS_X11' - else - QMakeVar set QMAKE_LIBS_X11 '-lXrandr $$QMAKE_LIBS_X11' - fi - fi - if [ "$CFG_XRENDER" = "yes" ]; then - QT_CONFIG="$QT_CONFIG xrender" - QMakeVar set QMAKE_LIBS_X11 '-lXrender $$QMAKE_LIBS_X11' - fi - if [ "$CFG_MITSHM" = "yes" ]; then - QT_CONFIG="$QT_CONFIG mitshm" - fi - if [ "$CFG_FONTCONFIG" = "yes" ]; then - QT_CONFIG="$QT_CONFIG fontconfig" - fi - if [ "$CFG_XINPUT" = "yes" ]; then - QMakeVar set QMAKE_LIBS_X11 '-lXi $$QMAKE_LIBS_X11' - fi - if [ "$CFG_XINPUT" = "yes" ]; then - QT_CONFIG="$QT_CONFIG xinput tablet" - fi - if [ "$CFG_XKB" = "yes" ]; then - QT_CONFIG="$QT_CONFIG xkb" - fi -fi - -[ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS" +[ '!' -z "$DEFINES" ] && QMakeVar add DEFINES "$DEFINES" [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS" [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS" @@ -5804,17 +5305,6 @@ if [ '!' -z "$W_FLAGS" ]; then QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS" fi -# turn off exceptions for the compilers that support it -if [ "$XPLATFORM" != "$PLATFORM" ]; then - COMPILER=`echo $XPLATFORM | cut -f 2- -d-` -else - COMPILER=`echo $PLATFORM | cut -f 2- -d-` -fi - -if [ "$CFG_EXCEPTIONS" != "no" ]; then - QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions" -fi - if [ "$XPLATFORM_MINGW" = "yes" ]; then # mkspecs/features/win32/default_pre.prf sets "no-rtti". # Follow default behavior of configure.exe by overriding with "rtti". @@ -6016,34 +5506,12 @@ if [ "$CFG_V8SNAPSHOT" = "yes" ]; then fi # ### Vestige -if [ "$CFG_DECLARATIVE_DEBUG" = "no" ]; then - QCONFIG_FLAGS="$QCONFIG_FLAGS QDECLARATIVE_NO_DEBUG_PROTOCOL" +if [ "$CFG_QML_DEBUG" = "no" ]; then + QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QML_NO_DEBUGGER" fi -if [ "$CFG_EXCEPTIONS" = "no" ]; then - case "$COMPILER" in - g++*) - QMakeVar add QMAKE_CFLAGS -fno-exceptions - QMakeVar add QMAKE_CXXFLAGS -fno-exceptions - QMakeVar add QMAKE_LFLAGS -fno-exceptions - ;; - cc*) - case "$PLATFORM" in - irix-cc*) - QMakeVar add QMAKE_CFLAGS -LANG:exceptions=off - QMakeVar add QMAKE_CXXFLAGS -LANG:exceptions=off - QMakeVar add QMAKE_LFLAGS -LANG:exceptions=off - ;; - *) ;; - esac - ;; - *) ;; - esac - QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off" -fi - -case "$COMPILER" in -g++*) +case "$QMAKE_CONF_COMPILER" in +*g++*) # GNU C++ COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null` @@ -6097,6 +5565,16 @@ EOF echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new" [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new" +if [ "$CFG_SHARED" = "no" ]; then + cat >>"$outpath/src/corelib/global/qconfig.h.new" <>"$outpath/src/corelib/global/qconfig.h.new" fi @@ -6130,10 +5608,8 @@ if [ "$CFG_DEV" = "yes" ]; then echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new" fi -if [ "$PLATFORM_QPA" = "yes" ]; then - # Add QPA to config.h - QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2" -fi +# Add QPA to config.h +QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2" if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS" @@ -6163,8 +5639,6 @@ QMakeVar set sql-plugins "$SQL_PLUGINS" [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG" [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG" [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB" -[ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS" -[ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE" [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS" # X11/Unix/Mac only configs @@ -6267,6 +5741,8 @@ cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF EOF fi +echo "#define QT_QPA_DEFAULT_PLATFORM_NAME \"$QT_QPA_DEFAULT_PLATFORM\"" >>"$outpath/src/corelib/global/qconfig.h.new" + # avoid unecessary rebuilds by copying only if qconfig.h has changed if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then rm -f "$outpath/src/corelib/global/qconfig.h.new" @@ -6298,9 +5774,6 @@ elif [ "$CFG_DEBUG" = "no" ]; then fi QT_CONFIG="$QT_CONFIG release" fi -if [ "$CFG_STL" = "yes" ]; then - QTCONFIG_CONFIG="$QTCONFIG_CONFIG stl" -fi if [ "$CFG_FRAMEWORK" = "no" ]; then QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework" else @@ -6316,6 +5789,8 @@ cat >>"$QTCONFIG.tmp" <> "$QTCONFIG.tmp" + echo "PKG_CONFIG_SYSROOT_DIR = $PKG_CONFIG_SYSROOT_DIR" >> "$QTCONFIG.tmp" + echo "PKG_CONFIG_LIBDIR = $PKG_CONFIG_LIBDIR" >> "$QTCONFIG.tmp" + echo >> "$QTCONFIG.tmp" +fi + if [ -n "$CFG_SYSROOT" ]; then echo "# sysroot" >>"$QTCONFIG.tmp" - echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp" + echo "!host_build {" >>"$QTCONFIG.tmp" echo " QMAKE_CFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp" echo " QMAKE_CXXFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp" echo " QMAKE_LFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp" @@ -6350,7 +5833,7 @@ fi if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then echo "#Qt opengl include path" >> "$QTCONFIG.tmp" - echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp" + echo "QMAKE_INCDIR_OPENGL_ES2 = `shellArgumentListToQMakeList "$QMAKE_INCDIR_OPENGL_ES2"`" >> "$QTCONFIG.tmp" fi # replace qconfig.pri if it differs from the newly created temp file @@ -6365,7 +5848,8 @@ fi #------------------------------------------------------------------------------- QTMODULE="$outpath/mkspecs/qmodule.pri" -echo "CONFIG += create_prl link_prl" >> "$QTMODULE.tmp" +echo "CONFIG += $QMAKE_CONFIG create_prl link_prl" >> "$QTMODULE.tmp" +echo "QT_BUILD_PARTS = $CFG_BUILD_PARTS" >> "$QTMODULE.tmp" # Ensure we can link to uninistalled libraries if [ "$BUILD_ON_MAC" != "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then @@ -6433,24 +5917,12 @@ cat >>"$CACHEFILE.tmp" <> "$CACHEFILE.tmp" -else - echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp" -fi - # replace .qmake.cache if it differs from the newly created temp file if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then rm -f "$CACHEFILE.tmp" @@ -6461,46 +5933,7 @@ fi #------------------------------------------------------------------------------- # give feedback on configuration #------------------------------------------------------------------------------- - -case "$COMPILER" in -g++*) - if [ "$CFG_EXCEPTIONS" != "no" ]; then - cat <&1 1>$outpath/config.summary # redirect output temporarily to config.summary echo if [ "$XPLATFORM" = "$PLATFORM" ]; then @@ -6510,10 +5943,9 @@ else echo "Building for: $XPLATFORM" fi -echo "Architecture: $CFG_ARCH" -if [ "$PLATFORM_QPA" = "yes" ]; then - echo "Host architecture: $CFG_HOST_ARCH" -fi +# the missing space before $CFG_FEATURES is intentional +echo "Architecture: $CFG_ARCH, features:$CFG_CPUFEATURES" +echo "Host architecture: $CFG_HOST_ARCH, features:$CFG_HOST_CPUFEATURES" if [ -n "$PLATFORM_NOTES" ]; then echo "Platform notes:" @@ -6540,6 +5972,12 @@ if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then else echo "Debug .................. $CFG_DEBUG" fi +echo "C++11 support .......... $CFG_CXX11" +if [ -n "$PKG_CONFIG" ]; then + echo "pkg-config ............. yes" +else + echo "pkg-config ............. no" +fi [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no" [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)" [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)" @@ -6551,13 +5989,12 @@ if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then else echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT" fi -echo "Declarative debugging ...$CFG_DECLARATIVE_DEBUG" -echo "STL support ............ $CFG_STL" +echo "QML debugging .......... $CFG_QML_DEBUG" echo "PCH support ............ $CFG_PRECOMPILE" if [ "$CFG_ARCH" = "i386" -o "$CFG_ARCH" = "x86_64" ]; then - echo "MMX/3DNOW/SSE/SSE2/SSE3. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}/${CFG_SSE3}" - echo "SSSE3/SSE4.1/SSE4.2..... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}" - echo "AVX..................... ${CFG_AVX}" + echo "SSE2/SSE3/SSSE3......... ${CFG_SSE2}/${CFG_SSE3}/${CFG_SSSE3}" + echo "SSE4.1/SSE4.2........... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}" + echo "AVX/AVX2................ ${CFG_AVX}/${CFG_AVX2}" elif [ "$CFG_ARCH" = "arm" ]; then echo "iWMMXt support ......... ${CFG_IWMMXT}" echo "NEON support ........... ${CFG_NEON}" @@ -6606,22 +6043,22 @@ if [ "$CFG_OPENVG" ]; then echo "OpenVG support ......... $CFG_OPENVG" fi fi -if [ "$PLATFORM_X11" = "yes" ]; then - echo "NAS sound support ...... $CFG_NAS" - echo "XShape support ......... $CFG_XSHAPE" - echo "XVideo support ......... $CFG_XVIDEO" - echo "XSync support .......... $CFG_XSYNC" - echo "Xinerama support ....... $CFG_XINERAMA" - echo "Xcursor support ........ $CFG_XCURSOR" - echo "Xfixes support ......... $CFG_XFIXES" - echo "Xrandr support ......... $CFG_XRANDR" - echo "Xi support ............. $CFG_XINPUT" - echo "MIT-SHM support ........ $CFG_MITSHM" - echo "FontConfig support ..... $CFG_FONTCONFIG" - echo "XKB Support ............ $CFG_XKB" - echo "immodule support ....... $CFG_IM" - echo "GTK theme support ...... $CFG_QGTKSTYLE" -fi + +echo "XShape support ......... $CFG_XSHAPE" +echo "XVideo support ......... $CFG_XVIDEO" +echo "XSync support .......... $CFG_XSYNC" +echo "Xinerama support ....... $CFG_XINERAMA" +echo "Xcursor support ........ $CFG_XCURSOR" +echo "Xfixes support ......... $CFG_XFIXES" +echo "Xrandr support ......... $CFG_XRANDR" +echo "Xi support ............. $CFG_XINPUT" +echo "Xi2 support ............ $CFG_XINPUT2" +echo "MIT-SHM support ........ $CFG_MITSHM" +echo "FontConfig support ..... $CFG_FONTCONFIG" +echo "XKB Support ............ $CFG_XKB" +echo "immodule support ....... $CFG_IM" +echo "GTK theme support ...... $CFG_QGTKSTYLE" + [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql" [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql" [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc" @@ -6655,6 +6092,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 @@ -6673,6 +6111,10 @@ if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked" echo fi + +exec 1>&3 3>&- # restore stdout +cat $outpath/config.summary # display config feedback to user + if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then echo echo "Error: debug-only framework builds are not supported. Configure with -no-framework" @@ -6690,231 +6132,48 @@ EXEC="" # build makefiles based on the configuration #------------------------------------------------------------------------------- -echo "Finding project files. Please wait..." if [ "$CFG_NOPROCESS" != "yes" ]; then - "$outpath/bin/qmake" -prl -r "${relpath}/qtbase.pro" - if [ -f "${relpath}/qtbase.pro" ]; then - mkfile="${outpath}/Makefile" - [ -f "$mkfile" ] && chmod +w "$mkfile" - QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/qtbase.pro" -o "$mkfile" - fi -fi - -# .projects -> projects to process -# .projects.1 -> qt and moc -# .projects.2 -> subdirs and libs -# .projects.3 -> the rest -rm -f .projects .projects.1 .projects.2 .projects.3 - -QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'` -if [ -z "$AWK" ]; then - for p in `echo $QMAKE_PROJECTS`; do - echo "$p" >> .projects - done -else - cat >projects.awk <target_file - } - - matched_target = 0 - template_lib = 0 - input_file = FILENAME - target_file = "" -} - -/^(TARGET.*=)/ { - if ( \$3 == "moc" || \$3 ~ /^Qt/ ) { - target_file = first - matched_target = 1 - } else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) { - target_file = second - matched_target = 1 - } -} - -matched_target == 0 && /^(TEMPLATE.*=)/ { - if ( \$3 == "subdirs" ) - target_file = second - else if ( \$3 == "lib" ) - template_lib = 1 - else - target_file = third -} - -matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ { - if ( \$0 ~ /plugin/ ) - target_file = third - else - target_file = second -} - -END { - if ( input_file ) { - if ( ! target_file ) - target_file = third - print input_file >>target_file - } -} - -EOF - - rm -f .projects.all - for p in `echo $QMAKE_PROJECTS`; do - echo "$p" >> .projects.all - done - - # if you get errors about the length of the command line to awk, change the -l arg - # to split below - split -l 100 .projects.all .projects.all. - for p in .projects.all.*; do - "$AWK" -f projects.awk `cat $p` - [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1 - [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2 - [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3 - rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p - done - rm -f .projects.all* projects.awk - - [ -f .projects.1 ] && cat .projects.1 >>.projects - [ -f .projects.2 ] && cat .projects.2 >>.projects - rm -f .projects.1 .projects.2 - if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then - cat .projects.3 >>.projects - rm -f .projects.3 - fi -fi -# don't sort Qt and MOC in with the other project files -# also work around a segfaulting uniq(1) -if [ -f .sorted.projects.2 ]; then - sort .sorted.projects.2 > .sorted.projects.2.new - mv -f .sorted.projects.2.new .sorted.projects.2 - cat .sorted.projects.2 >> .sorted.projects.1 -fi -[ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects -rm -f .sorted.projects.2 .sorted.projects.1 - -NORM_PROJECTS=0 -FAST_PROJECTS=0 -if [ -f .projects ]; then - uniq .projects >.tmp - mv -f .tmp .projects - NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"` -fi -if [ -f .projects.3 ]; then - uniq .projects.3 >.tmp - mv -f .tmp .projects.3 - FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"` -fi -echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found." -echo - -PART_ROOTS= -for part in $CFG_BUILD_PARTS; do - case "$part" in - tools) PART_ROOTS="$PART_ROOTS tools" ;; - libs) PART_ROOTS="$PART_ROOTS src" ;; - translations) PART_ROOTS="$PART_ROOTS translations" ;; - examples) PART_ROOTS="$PART_ROOTS examples" ;; - *) ;; - esac -done - -if [ "$CFG_DEV" = "yes" ]; then - PART_ROOTS="$PART_ROOTS tests" -fi - -echo "Creating makefiles. Please wait..." -for file in .projects .projects.3; do - [ '!' -f "$file" ] && continue - for a in `cat $file`; do - IN_ROOT=no - for r in $PART_ROOTS; do - if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then - IN_ROOT=yes - break - fi - done - [ "$IN_ROOT" = "no" ] && continue - - case $a in - *winmain/winmain.pro) - if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_MINGW" != "yes" ]; then - continue - fi - SPEC=$XQMAKESPEC ;; - */qmake/qmake.pro) continue ;; - *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*|*tools/qdoc*) SPEC=$QMAKESPEC ;; - *) if [ "$CFG_NOPROCESS" = "yes" ]; then - continue - else - SPEC=$XQMAKESPEC - fi;; - esac - dir=`dirname "$a" | sed -e "s;$sepath;.;g"` - test -d "$dir" || mkdir -p "$dir" - OUTDIR="$outpath/$dir" - if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then - # fast configure - the makefile exists, skip it - # since the makefile exists, it was generated by qmake, which means we - # can skip it, since qmake has a rule to regenerate the makefile if the .pro - # file changes... - [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a" - continue; - fi - QMAKE_SPEC_ARGS="-spec $SPEC" - echo $ECHO_N " for $a$ECHO_C" - - QMAKE="$outpath/bin/qmake" - QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS" - if [ "$file" = ".projects.3" ]; then - echo " (fast)" - - cat >"${OUTDIR}/Makefile" < "$outpath/$d/Makefile" <>${OUTDIR}/Makefile - cat >>"${OUTDIR}/Makefile" <