diff options
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 967 |
1 files changed, 667 insertions, 300 deletions
@@ -1,9 +1,9 @@ #!/bin/sh ############################################################################# ## -## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +## Copyright (C) 2015 The Qt Company Ltd. ## Copyright (C) 2013 Intel Corporation. -## Contact: http://www.qt-project.org/legal +## Contact: http://www.qt.io/licensing/ ## ## This file is the build configuration utility of the Qt Toolkit. ## @@ -12,9 +12,9 @@ ## Licensees holding valid commercial Qt licenses may use this file in ## accordance with the commercial license agreement provided with the ## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and Digia. For licensing terms and -## conditions see http://qt.digia.com/licensing. For further information -## use the contact form at http://qt.digia.com/contact-us. +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. ## ## GNU Lesser General Public License Usage ## Alternatively, this file may be used under the terms of the GNU Lesser @@ -25,8 +25,8 @@ ## requirements will be met: https://www.gnu.org/licenses/lgpl.html and ## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ## -## In addition, as a special exception, Digia gives you certain additional -## rights. These rights are described in the Digia Qt LGPL Exception +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception ## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ## ## $QT_END_LICENSE$ @@ -87,7 +87,13 @@ if [ x"$1" = x"-top-level" ]; then fi # later cache the command line in config.status -OPT_CMDLINE=`echo $@ | sed 's,-v ,,g; s,-v$,,g'` +OPT_CMDLINE= +for i in "$@"; do + if [ "x$i" != "x-v" ]; then + [ -z "${i##* *}" ] && i="'$i'" + OPT_CMDLINE="$OPT_CMDLINE $i" + fi +done # initialize global variables QMAKE_SWITCHES= @@ -118,6 +124,26 @@ shellQuoteLines() echo `echo "$1" | sed 's,^[^ ]* .*$,"&",'` } +makeabs() +{ + local FILE=$1 + local RES=$FILE + if [ -z "${FILE##/*}" ]; then + true + elif [ "$OSTYPE" = "msys" -a -z "${FILE##[a-zA-Z]:[/\\]*}" ]; then + true + else + RES=$PWD/$FILE + fi + RES=$RES/ + while true; do + nres=`echo "$RES" | sed 's,/[^/][^/]*/\.\./,/,g; s,/\./,/,g'` + test x"$nres" = x"$RES" && break + RES=$nres + done + echo "$RES" | sed 's,//,/,g; s,/$,,' +} + # Adds a new qmake variable to the cache # Usage: QMakeVar mode varname contents # where mode is one of: set, add, del @@ -356,7 +382,7 @@ filterDefaultPaths() { local path path=`cat` - path=`"$relpath/config.tests/unix/makeabs" "$path"` + path=`makeabs "$path"` echo "$1" | grep "^$path\$" > /dev/null || echo "$path" } @@ -410,16 +436,6 @@ filterLibraryOptions() filterPathOptions -L "$DEFAULT_LIBDIRS" } -substPrefix() -{ - base=${1#$QT_SYSROOT_PREFIX} - if [ x"$base" != x"$1" ]; then - echo "$QT_EXT_PREFIX$base" - else - echo "$1" - fi -} - #------------------------------------------------------------------------------- # device options #------------------------------------------------------------------------------- @@ -629,6 +645,8 @@ CFG_QNX_IMF=auto CFG_LGMON=auto CFG_SYSTEM_PROXIES=no CFG_ANDROID_STYLE_ASSETS=yes +CFG_GSTREAMER=auto +CFG_GSTREAMER_VERSION="" # Target architecture CFG_ARCH= @@ -644,6 +662,7 @@ CFG_XINPUT2=auto CFG_XINPUT=runtime CFG_XKB=auto CFG_XKBCOMMON=yes +CFG_XKBCOMMON_EVDEV=auto CFG_XKB_CONFIG_ROOT=auto CFG_XCB=auto CFG_XCB_XLIB=auto @@ -653,17 +672,20 @@ CFG_DIRECTFB=auto CFG_LINUXFB=auto CFG_KMS=auto CFG_LIBUDEV=auto +CFG_LIBINPUT=auto CFG_OBSOLETE_WAYLAND=no CFG_EVDEV=auto -CFG_TSLIB=no +CFG_TSLIB=auto CFG_NIS=auto CFG_CUPS=auto CFG_ICONV=auto -CFG_DBUS=runtime +CFG_DBUS=auto CFG_GLIB=auto CFG_QGTKSTYLE=auto CFG_LARGEFILE=auto CFG_OPENSSL=auto +CFG_LIBPROXY=auto +CFG_SECURETRANSPORT=auto CFG_PRECOMPILE=auto CFG_SEPARATE_DEBUG_INFO=no CFG_REDUCE_EXPORTS=auto @@ -706,6 +728,7 @@ XPLATFORM_IOS=no # Whether target platform is iOS XPLATFORM_ANDROID=no XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*) XPLATFORM_QNX=no +XPLATFORM_HAIKU=no PLATFORM=$QMAKESPEC QT_CROSS_COMPILE=no OPT_CONFIRM_LICENSE=no @@ -718,6 +741,11 @@ CFG_PULSEAUDIO=auto CFG_COREWLAN=auto CFG_ICU=auto CFG_FORCE_ASSERTS=no +CFG_SANITIZERS=none +CFG_SANITIZE_ADDRESS=no +CFG_SANITIZE_THREAD=no +CFG_SANITIZE_MEMORY=no +CFG_SANITIZE_UNDEFINED=no CFG_PCRE=auto QPA_PLATFORM_GUARD=yes CFG_CXX11=auto @@ -780,7 +808,7 @@ CFG_DEFAULT_ANDROID_NDK_ROOT=$ANDROID_NDK_ROOT CFG_DEFAULT_ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT CFG_DEFAULT_ANDROID_PLATFORM=android-9 CFG_DEFAULT_ANDROID_TARGET_ARCH=armeabi-v7a -CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION=4.8 +CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION=4.9 CFG_DEFAULT_ANDROID_NDK_HOST=$ANDROID_NDK_HOST #------------------------------------------------------------------------------- @@ -890,6 +918,7 @@ while [ "$#" -gt 0 ]; do -qpa| \ -qconfig| \ -qreal| \ + -sanitize| \ -xkb-config-root| \ -android-sdk| \ -android-ndk| \ @@ -943,7 +972,17 @@ while [ "$#" -gt 0 ]; do shift; VAL=$1 fi - ;; + ;; + -gstreamer) + VAR=gstreamer + # this option may or may not be followed by an argument + if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then + VAL=yes + else + shift; + VAL=$1 + fi + ;; -hostprefix) VAR=`echo $1 | sed 's,^-\(.*\),\1,'` # this option may or may not be followed by an argument @@ -1164,6 +1203,25 @@ while [ "$#" -gt 0 ]; do print "\"$result\"";' "$CFG_QREAL"` fi ;; + sanitize) + if [ "$VAL" = "address" ]; then + CFG_SANITIZE_ADDRESS=yes + elif [ "$VAL" = "thread" ]; then + CFG_SANITIZE_THREAD=yes + elif [ "$VAL" = "memory" ]; then + CFG_SANITIZE_MEMORY=yes + elif [ "$VAL" = "undefined" ]; then + CFG_SANITIZE_UNDEFINED=yes + else + echo "Unknown sanitizer: '$VAL'" + ERROR=true + fi + if [ "$CFG_SANITIZERS" = "none" ]; then + CFG_SANITIZERS=$VAL + else + CFG_SANITIZERS="$CFG_SANITIZERS $VAL" + fi + ;; sysroot) CFG_SYSROOT="$VAL" ;; @@ -1702,7 +1760,14 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; - xkbcommon) + xkbcommon-evdev) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_XKBCOMMON_EVDEV="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + xkbcommon|xkbcommon-x11) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then CFG_XKBCOMMON="$VAL" else @@ -1764,6 +1829,13 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; + libinput) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_LIBINPUT="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; evdev) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_EVDEV="$VAL" @@ -1841,6 +1913,15 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; + gstreamer) + if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || + [ "$VAL" = "0.10" ] || [ "$VAL" = "1.0" ] || + [ "$VAL" = "no" ]; then + CFG_GSTREAMER="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; gtkstyle) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_QGTKSTYLE="$VAL" @@ -1919,6 +2000,20 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; + securetransport) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_SECURETRANSPORT="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + libproxy) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_LIBPROXY="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; qml-debug) if [ "$VAL" = "yes" ]; then CFG_QML_DEBUG="yes" @@ -2203,18 +2298,18 @@ Installation options: These are optional, but you may specify install directories. - -prefix <dir> ...... This will install everything relative to <dir> + -prefix <dir> ...... The deployment directory, as seen on the target device. (default /usr/local/Qt-${QT_VERSION}, \$PWD if -developer-build is active) - -extprefix <dir> ... When -sysroot is used, install everything to <dir>, - rather than into SYSROOT/PREFIX. + -extprefix <dir> ... The installation directory, as seen on the host machine. + (default SYSROOT/PREFIX) - -hostprefix [dir] .. Tools and libraries needed when developing - applications are installed in [dir]. If [dir] is - not given, the current build directory will be used. - (default EXTPREFIX) + -hostprefix [dir] .. The installation directory for build tools running on the + host machine. If [dir] is not given, the current build + directory will be used. (default EXTPREFIX) - You may use these to separate different parts of the install: + You may use these to change the layout of the install. Note that all directories + except -sysconfdir should be located under -prefix/-hostprefix: -bindir <dir> ......... User executables will be installed to <dir> (default PREFIX/bin) @@ -2340,74 +2435,80 @@ Configure options: Third Party Libraries: - -qt-zlib ........... Use the zlib bundled with Qt. - + -system-zlib ....... Use zlib from the operating system. - See http://www.gzip.org/zlib + -qt-zlib ............ Use the zlib bundled with Qt. + + -system-zlib ........ Use zlib from the operating system. + See http://www.gzip.org/zlib + + -no-mtdev ........... Do not compile mtdev support. + + -mtdev .............. Enable mtdev support. - -no-mtdev ......... Do not compile mtdev support. - + -mtdev ............. Enable mtdev support. + + -no-journald ........ Do not send logging output to journald. + -journald ........... Send logging output to journald. - + -no-journald ....... Do not send logging output to journald. - -journald .......... Send logging output to journald. + -no-gif ............. Do not compile GIF reading support. - -no-gif ............ Do not compile GIF reading support. + -no-libpng .......... Do not compile PNG support. + -qt-libpng .......... Use the libpng bundled with Qt. + + -system-libpng ...... Use libpng from the operating system. + See http://www.libpng.org/pub/png - -no-libpng ......... Do not compile PNG support. - -qt-libpng ......... Use the libpng bundled with Qt. - + -system-libpng ..... Use libpng from the operating system. - See http://www.libpng.org/pub/png + -no-libjpeg ......... Do not compile JPEG support. + -qt-libjpeg ......... Use the libjpeg bundled with Qt. + + -system-libjpeg ..... Use libjpeg from the operating system. + See http://www.ijg.org - -no-libjpeg ........ Do not compile JPEG support. - -qt-libjpeg ........ Use the libjpeg bundled with Qt. - + -system-libjpeg .... Use libjpeg from the operating system. - See http://www.ijg.org + -no-freetype ........ Do not compile in Freetype2 support. + -qt-freetype ........ Use the libfreetype bundled with Qt. + + -system-freetype..... Use the libfreetype provided by the system (enabled if -fontconfig is active). + See http://www.freetype.org - -no-freetype ....... Do not compile in Freetype2 support. - -qt-freetype ....... Use the libfreetype bundled with Qt. - + -system-freetype.... Use the libfreetype provided by the system (enabled if -fontconfig is active). - See http://www.freetype.org + -no-harfbuzz ........ Do not compile HarfBuzz-NG support. + * -qt-harfbuzz ........ Use HarfBuzz-NG bundled with Qt to do text shaping. + It can still be disabled by setting + the QT_HARFBUZZ environment variable to "old". + -system-harfbuzz .... Use HarfBuzz-NG from the operating system + to do text shaping. It can still be disabled + by setting the QT_HARFBUZZ environment variable to "old". + See http://www.harfbuzz.org - -no-harfbuzz ....... Do not compile HarfBuzz-NG support. - * -qt-harfbuzz ....... Use HarfBuzz-NG bundled with Qt to do text shaping. - It can still be disabled by setting - the QT_HARFBUZZ environment variable to "old". - -system-harfbuzz ... Use HarfBuzz-NG from the operating system - to do text shaping. It can still be disabled - by setting the QT_HARFBUZZ environment variable to "old". - See http://www.harfbuzz.org + -no-openssl ......... Do not compile support for OpenSSL. + + -openssl ............ Enable run-time OpenSSL support. + -openssl-linked ..... Enabled linked OpenSSL support. - -no-openssl ........ Do not compile support for OpenSSL. - + -openssl ........... Enable run-time OpenSSL support. - -openssl-linked .... Enabled linked OpenSSL support. + -no-libproxy ....... Do not compile support for libproxy + + -libproxy .......... Use libproxy from the operating system. - -qt-pcre ........... Use the PCRE library bundled with Qt. - + -system-pcre ....... Use the PCRE library from the operating system. + -qt-pcre ............ Use the PCRE library bundled with Qt. + + -system-pcre ........ Use the PCRE library from the operating system. - -qt-xcb ............ Use xcb- libraries bundled with Qt. - (libxcb.so will still be used from operating system). - + -system-xcb ........ Use xcb- libraries from the operating system. + -qt-xcb ............. Use xcb- libraries bundled with Qt. + (libxcb.so will still be used from operating system). + + -system-xcb ......... Use xcb- libraries from the operating system. - -xkb-config-root ... Set default XKB config root. This option is used only together with -qt-xkbcommon. - -qt-xkbcommon ...... Use the xkbcommon library bundled with Qt. - + -system-xkbcommon .. Use the xkbcommon library from the operating system. + -xkb-config-root .... Set default XKB config root. This option is used only together with -qt-xkbcommon-x11. + -qt-xkbcommon-x11 ... Use the xkbcommon library bundled with Qt in combination with xcb. + + -system-xkbcommon-x11 Use the xkbcommon library from the operating system in combination with xcb. - -no-xinput2 ........ Do not compile XInput2 support. - * -xinput2 ........... Compile XInput2 support. + -no-xkbcommon-evdev . Do not use X-less xkbcommon when compiling libinput support. + * -xkbcommon-evdev .... Use X-less xkbcommon when compiling libinput support. - -no-xcb-xlib........ Do not compile Xcb-Xlib support. - * -xcb-xlib........... Compile Xcb-Xlib support. + -no-xinput2 ......... Do not compile XInput2 support. + * -xinput2 ............ Compile XInput2 support. - -no-glib ........... Do not compile Glib support. - + -glib .............. Compile Glib support. + -no-xcb-xlib......... Do not compile Xcb-Xlib support. + * -xcb-xlib............ Compile Xcb-Xlib support. - -no-pulseaudio ..... Do not compile PulseAudio support. - + -pulseaudio ........ Compile PulseAudio support. + -no-glib ............ Do not compile Glib support. + + -glib ............... Compile Glib support. - -no-alsa ........... Do not compile ALSA support. - + -alsa .............. Compile ALSA support. + -no-pulseaudio ...... Do not compile PulseAudio support. + + -pulseaudio ......... Compile PulseAudio support. - -no-gtkstyle ....... Do not compile GTK theme support. - + -gtkstyle .......... Compile GTK theme support. + -no-alsa ............ Do not compile ALSA support. + + -alsa ............... Compile ALSA support. + + -no-gtkstyle ........ Do not compile GTK theme support. + + -gtkstyle ........... Compile GTK theme support. Additional options: @@ -2459,6 +2560,9 @@ Additional options: -no-evdev .......... Do not compile support for evdev. * -evdev ............. Compile support for evdev. + -no-tslib .......... Do not compile support for tslib. + * -tslib ............. Compile support for tslib. + -no-icu ............ Do not compile support for ICU libraries. + -icu ............... Compile support for ICU libraries. @@ -2484,6 +2588,8 @@ Additional options: -force-asserts ........ Force Q_ASSERT to be enabled even in release builds. + -sanitize [address|thread|memory|undefined] Enables the specified compiler sanitizer. + -device <name> ............... Cross-compile for device <name> (experimental) -device-option <key=value> ... Add device specific options for the device mkspec (experimental) @@ -2529,6 +2635,15 @@ Additional options: OpenGL ES 2.0 and higher, or regular desktop OpenGL. Use es2 for <api> to override auto-detection. + -no-libinput ........ Do not support libinput. + * -libinput ........... Enable libinput support. + + -no-gstreamer ....... Do not support GStreamer. + + -gstreamer <version> Enable GStreamer support + With no parameter, this will attempt to auto-detect GStreamer 0.10 and + 1.0. GStreamer 0.10 is used by default when available. + Use 0.10 or 1.0 for <version> to override auto-detection. + * -no-system-proxies .. Do not use system network proxies by default. -system-proxies ..... Use system network proxies by default. @@ -2578,7 +2693,8 @@ Android options: -android-ndk-host .............. Sets the android NDK host (linux-x86, linux-x86_64, etc.) (default \$ANDROID_NDK_HOST) - -android-arch .................. Sets the android architecture (armeabi, armeabi-v7a, x86, mips) + -android-arch .................. Sets the android architecture (armeabi, armeabi-v7a, x86, mips, + arm64-v8a, x86_64, mips64) (default $CFG_DEFAULT_ANDROID_TARGET_ARCH) -android-toolchain-version ..... Sets the android toolchain version @@ -2776,6 +2892,9 @@ case "$XPLATFORM" in *qnx-*|*blackberry-*) XPLATFORM_QNX=yes ;; + *haiku-*) + XPLATFORM_HAIKU=yes + ;; *ios*) XPLATFORM_MAC=yes XPLATFORM_IOS=yes @@ -2832,7 +2951,7 @@ elif [ $COMMERCIAL_USER = "yes" ]; then echo echo "Error: This is the Open Source version of Qt." echo "If you want to use Enterprise features of Qt," - echo "use the contact form at http://qt.digia.com/contact-us" + echo "information use the contact form at http://www.qt.io/contact-us" echo "to purchase a license." echo exit 1 @@ -2945,7 +3064,7 @@ minimal|small|medium|large|full) *) # not known to be sufficient for anything if [ ! -f "$CFG_QCONFIG_PATH" ]; then - CFG_QCONFIG_PATH=`"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` + CFG_QCONFIG_PATH=`makeabs "${CFG_QCONFIG}"` if [ ! -f "$CFG_QCONFIG_PATH" ]; then echo >&2 "Error: configuration file not found:" echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" @@ -2965,11 +3084,14 @@ if [ "$XPLATFORM_MAC" = "no" -a "$CFG_DEBUG_RELEASE" = "yes" ]; then fi if ( [ "$CFG_XCB" = "system" ] || [ "$CFG_XCB" = "qt" ] ) && [ "$CFG_XKBCOMMON" = "no" ]; then - echo "Error: -no-xkbcommon is not supported on XCB platform plugin." + echo "Error: -no-xkbcommon-x11 is not supported on XCB platform plugin." exit 101 fi if [ "$XPLATFORM_ANDROID" = "yes" ]; then + if [ "$CFG_DBUS" = "auto" ]; then + CFG_DBUS="no" + fi if [ -z "$CFG_DEFAULT_ANDROID_NDK_HOST" ]; then case $PLATFORM in linux-*) @@ -3081,7 +3203,7 @@ if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then echo echo " $XQMAKESPEC/qplatformdefs.h" echo - echo " Please use the contact form at http://qt.digia.com/contact-us" + echo " Please information use the contact form at http://www.qt.io/contact-us" echo exit 2 fi @@ -3183,27 +3305,46 @@ QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX` TEST_COMPILER=$QMAKE_CONF_COMPILER if [ "$XPLATFORM_ANDROID" = "yes" ] ; then + ANDROID_NDK_TOOLCHAIN_PREFIX= ANDROID_NDK_TOOLS_PREFIX= ANDROID_PLATFORM_ARCH= case $CFG_DEFAULT_ANDROID_TARGET_ARCH in armeabi*) ANDROID_NDK_TOOLS_PREFIX=arm-linux-androideabi + ANDROID_NDK_TOOLCHAIN_PREFIX=arm-linux-androideabi ANDROID_PLATFORM_ARCH=arch-arm ;; x86) - ANDROID_NDK_TOOLS_PREFIX=x86 + ANDROID_NDK_TOOLS_PREFIX=i686-linux-android + ANDROID_NDK_TOOLCHAIN_PREFIX=x86 ANDROID_PLATFORM_ARCH=arch-x86 ;; mips) ANDROID_NDK_TOOLS_PREFIX=mipsel-linux-android + ANDROID_NDK_TOOLCHAIN_PREFIX=mipsel-linux-android ANDROID_PLATFORM_ARCH=arch-mips ;; + arm64-v8a) + ANDROID_NDK_TOOLS_PREFIX=aarch64-linux-android + ANDROID_NDK_TOOLCHAIN_PREFIX=aarch64-linux-android + ANDROID_PLATFORM_ARCH=arch-arm64 + ;; + mips64) + ANDROID_NDK_TOOLS_PREFIX=mips64el-linux-android + ANDROID_NDK_TOOLCHAIN_PREFIX=mips64el-linux-android + ANDROID_PLATFORM_ARCH=arch-mips64 + ;; + x86_64) + ANDROID_NDK_TOOLS_PREFIX=x86_64-linux-android + ANDROID_NDK_TOOLCHAIN_PREFIX=x86_64 + ANDROID_PLATFORM_ARCH=arch-x86_64 + ;; *) echo "ERROR: Unknown android arch $CFG_DEFAULT_ANDROID_TARGET_ARCH" exit 1 ;; esac - QMAKE_CONF_COMPILER=$CFG_DEFAULT_ANDROID_NDK_ROOT/toolchains/$ANDROID_NDK_TOOLS_PREFIX-$CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION/prebuilt/$CFG_DEFAULT_ANDROID_NDK_HOST/bin/$ANDROID_NDK_TOOLS_PREFIX-g++ + QMAKE_CONF_COMPILER=$CFG_DEFAULT_ANDROID_NDK_ROOT/toolchains/$ANDROID_NDK_TOOLCHAIN_PREFIX-$CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION/prebuilt/$CFG_DEFAULT_ANDROID_NDK_HOST/bin/$ANDROID_NDK_TOOLS_PREFIX-g++ TEST_COMPILER="$QMAKE_CONF_COMPILER --sysroot=$CFG_DEFAULT_ANDROID_NDK_ROOT/platforms/$CFG_DEFAULT_ANDROID_PLATFORM/$ANDROID_PLATFORM_ARCH/" if [ "$CFG_ANDROID_STYLE_ASSETS" = "yes" ]; then QMAKE_CONFIG="$QMAKE_CONFIG android-style-assets" @@ -3403,7 +3544,7 @@ if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then fi #------------------------------------------------------------------------------- -# post process QT_INSTALL_* variables +# postprocess installation and deployment paths #------------------------------------------------------------------------------- if [ -z "$QT_INSTALL_PREFIX" ]; then @@ -3412,243 +3553,267 @@ if [ -z "$QT_INSTALL_PREFIX" ]; then else QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION fi + HAVE_INSTALL_PATH=false +else + HAVE_INSTALL_PATH=true fi -QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"` +QT_INSTALL_PREFIX=`makeabs "$QT_INSTALL_PREFIX"` -if [ -z "$QT_INSTALL_HEADERS" ]; then #default - QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include" +if [ -z "$QT_EXT_PREFIX" ]; then + QT_EXT_PREFIX=$QT_INSTALL_PREFIX + if [ -n "$CFG_SYSROOT" ]; then + QMAKE_SYSROOTIFY=true + else + QMAKE_SYSROOTIFY=false + fi +else + QT_EXT_PREFIX=`makeabs "$QT_EXT_PREFIX"` + QMAKE_SYSROOTIFY=false fi -QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"` -if [ -z "$QT_INSTALL_LIBS" ]; then #default - QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback +if [ -z "$QT_HOST_PREFIX" ]; then + if $QMAKE_SYSROOTIFY; then + QT_HOST_PREFIX=$CFG_SYSROOT$QT_EXT_PREFIX + else + QT_HOST_PREFIX=$QT_EXT_PREFIX + fi + HAVE_HOST_PATH=false +else + QT_HOST_PREFIX=`makeabs "$QT_HOST_PREFIX"` + HAVE_HOST_PATH=true +fi + +#------- make the paths relative to the prefixes -------- + +PREFIX_COMPLAINTS= +PREFIX_REMINDER=false +while read basevar baseoption var option; do + eval path=\$QT_${basevar}_$var + [ -z "$path" ] && continue + path=`makeabs "$path"` + eval base=\$QT_${basevar}_PREFIX + rel=${path##$base} + if [ x"$rel" = x"$path" ]; then + if [ x"$option" != x"sysconf" ]; then + PREFIX_COMPLAINTS="$PREFIX_COMPLAINTS + NOTICE: -${option}dir is not a subdirectory of ${baseoption}prefix." + eval \$HAVE_${basevar}_PATH || PREFIX_REMINDER=true + fi + eval QT_REL_${basevar}_$var=\$rel + elif [ -z "$rel" ]; then + eval QT_REL_${basevar}_$var=. + else + eval QT_REL_${basevar}_$var=\${rel#/} + fi +done <<EOF +INSTALL - DOCS doc +INSTALL - HEADERS header +INSTALL - LIBS lib +INSTALL - LIBEXECS libexec +INSTALL - BINS bin +INSTALL - PLUGINS plugin +INSTALL - IMPORTS import +INSTALL - QML qml +INSTALL - ARCHDATA archdata +INSTALL - DATA data +INSTALL - TRANSLATIONS translation +INSTALL - EXAMPLES examples +INSTALL - TESTS tests +INSTALL - SETTINGS sysconf +HOST -host BINS hostbin +HOST -host LIBS hostlib +HOST -host DATA hostdata +EOF +$PREFIX_REMINDER && PREFIX_COMPLAINTS="$PREFIX_COMPLAINTS + Maybe you forgot to specify -prefix/-hostprefix?" + +if [ -z "$QT_REL_INSTALL_HEADERS" ]; then + QT_REL_INSTALL_HEADERS=include fi -QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"` -if [ -z "$QT_INSTALL_ARCHDATA" ]; then #default - QT_INSTALL_ARCHDATA="$QT_INSTALL_PREFIX" #fallback +if [ -z "$QT_REL_INSTALL_LIBS" ]; then + QT_REL_INSTALL_LIBS=lib fi -QT_INSTALL_ARCHDATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_ARCHDATA"` -if [ -z "$QT_INSTALL_DATA" ]; then #default - QT_INSTALL_DATA="$QT_INSTALL_PREFIX" #fallback +if [ -z "$QT_REL_INSTALL_BINS" ]; then + QT_REL_INSTALL_BINS=bin fi -QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"` -if [ -z "$QT_INSTALL_BINS" ]; then #default - QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback +if [ -z "$QT_REL_INSTALL_ARCHDATA" ]; then + QT_REL_INSTALL_ARCHDATA=. +fi +if [ x"$QT_REL_INSTALL_ARCHDATA" != x. ]; then + QT_REL_INSTALL_ARCHDATA_PREFIX=$QT_REL_INSTALL_ARCHDATA/ fi -QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"` -if [ "$XPLATFORM_MINGW" = "yes" ]; then - QT_INSTALL_LIBEXECS_DIRNAME="bin" -else - QT_INSTALL_LIBEXECS_DIRNAME="libexec" +if [ -z "$QT_REL_INSTALL_LIBEXECS" ]; then + if [ "$XPLATFORM_MINGW" = "yes" ]; then + QT_REL_INSTALL_LIBEXECS=${QT_REL_INSTALL_ARCHDATA_PREFIX}bin + else + QT_REL_INSTALL_LIBEXECS=${QT_REL_INSTALL_ARCHDATA_PREFIX}libexec + fi +fi + +if [ -z "$QT_REL_INSTALL_PLUGINS" ]; then + QT_REL_INSTALL_PLUGINS=${QT_REL_INSTALL_ARCHDATA_PREFIX}plugins fi -if [ -z "$QT_INSTALL_LIBEXECS" ]; then #default - QT_INSTALL_LIBEXECS="$QT_INSTALL_ARCHDATA/$QT_INSTALL_LIBEXECS_DIRNAME" #fallback +if [ -z "$QT_REL_INSTALL_IMPORTS" ]; then + QT_REL_INSTALL_IMPORTS=${QT_REL_INSTALL_ARCHDATA_PREFIX}imports fi -QT_INSTALL_LIBEXECS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBEXECS"` -if [ -z "$QT_INSTALL_DOCS" ]; then #default - QT_INSTALL_DOCS="$QT_INSTALL_DATA/doc" #fallback +if [ -z "$QT_REL_INSTALL_QML" ]; then + QT_REL_INSTALL_QML=${QT_REL_INSTALL_ARCHDATA_PREFIX}qml +fi + +if [ -z "$QT_REL_INSTALL_DATA" ]; then + QT_REL_INSTALL_DATA=. +fi +if [ x"$QT_REL_INSTALL_DATA" != x. ]; then + QT_REL_INSTALL_DATA_PREFIX=$QT_REL_INSTALL_DATA/ fi -QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"` -if [ -z "$QT_INSTALL_PLUGINS" ]; then #default - QT_INSTALL_PLUGINS="$QT_INSTALL_ARCHDATA/plugins" #fallback +if [ -z "$QT_REL_INSTALL_DOCS" ]; then + QT_REL_INSTALL_DOCS=${QT_REL_INSTALL_DATA_PREFIX}doc fi -QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"` -if [ -z "$QT_INSTALL_IMPORTS" ]; then #default - QT_INSTALL_IMPORTS="$QT_INSTALL_ARCHDATA/imports" #fallback +if [ -z "$QT_REL_INSTALL_TRANSLATIONS" ]; then + QT_REL_INSTALL_TRANSLATIONS=${QT_REL_INSTALL_DATA_PREFIX}translations fi -QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"` -#qml -if [ -z "$QT_INSTALL_QML" ]; then #default - QT_INSTALL_QML="$QT_INSTALL_ARCHDATA/qml" #fallback +if [ -z "$QT_REL_INSTALL_EXAMPLES" ]; then + QT_REL_INSTALL_EXAMPLES=examples fi -QT_INSTALL_QML=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_QML"` -if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default - QT_INSTALL_TRANSLATIONS="$QT_INSTALL_DATA/translations" #fallback +if [ -z "$QT_REL_INSTALL_TESTS" ]; then + QT_REL_INSTALL_TESTS=tests fi -QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"` -if [ -z "$QT_INSTALL_SETTINGS" ]; then #default +if [ -z "$QT_REL_INSTALL_SETTINGS" ]; then if [ "$XPLATFORM_MAC" = "yes" ]; then - QT_INSTALL_SETTINGS=/Library/Preferences/Qt + QT_REL_INSTALL_SETTINGS=/Library/Preferences/Qt else - QT_INSTALL_SETTINGS=$QT_INSTALL_PREFIX/etc/xdg - fi -fi -QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"` - -if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default - QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback -fi -QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"` - -#tests -if [ -z "$QT_INSTALL_TESTS" ]; then #default - QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback -fi -QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"` - -#------- sysroot-external install paths -------- - -QT_SYSROOT_PREFIX=$QT_INSTALL_PREFIX -QT_SYSROOT_DOCS=$QT_INSTALL_DOCS -QT_SYSROOT_HEADERS=$QT_INSTALL_HEADERS -QT_SYSROOT_LIBS=$QT_INSTALL_LIBS -QT_SYSROOT_LIBEXECS=$QT_INSTALL_LIBEXECS -QT_SYSROOT_BINS=$QT_INSTALL_BINS -QT_SYSROOT_PLUGINS=$QT_INSTALL_PLUGINS -QT_SYSROOT_IMPORTS=$QT_INSTALL_IMPORTS -QT_SYSROOT_QML=$QT_INSTALL_QML -QT_SYSROOT_ARCHDATA=$QT_INSTALL_ARCHDATA -QT_SYSROOT_DATA=$QT_INSTALL_DATA -QT_SYSROOT_TRANSLATIONS=$QT_INSTALL_TRANSLATIONS -QT_SYSROOT_EXAMPLES=$QT_INSTALL_EXAMPLES -QT_SYSROOT_TESTS=$QT_INSTALL_TESTS -if [ -n "$QT_EXT_PREFIX" ]; then - QT_INSTALL_PREFIX=$QT_EXT_PREFIX - QT_INSTALL_DOCS=`substPrefix "$QT_INSTALL_DOCS"` - QT_INSTALL_HEADERS=`substPrefix "$QT_INSTALL_HEADERS"` - QT_INSTALL_LIBS=`substPrefix "$QT_INSTALL_LIBS"` - QT_INSTALL_LIBEXECS=`substPrefix "$QT_INSTALL_LIBEXECS"` - QT_INSTALL_BINS=`substPrefix "$QT_INSTALL_BINS"` - QT_INSTALL_PLUGINS=`substPrefix "$QT_INSTALL_PLUGINS"` - QT_INSTALL_IMPORTS=`substPrefix "$QT_INSTALL_IMPORTS"` - QT_INSTALL_QML=`substPrefix "$QT_INSTALL_QML"` - QT_INSTALL_ARCHDATA=`substPrefix "$QT_INSTALL_ARCHDATA"` - QT_INSTALL_DATA=`substPrefix "$QT_INSTALL_DATA"` - QT_INSTALL_TRANSLATIONS=`substPrefix "$QT_INSTALL_TRANSLATIONS"` - QT_INSTALL_EXAMPLES=`substPrefix "$QT_INSTALL_EXAMPLES"` - QT_INSTALL_TESTS=`substPrefix "$QT_INSTALL_TESTS"` + QT_REL_INSTALL_SETTINGS=etc/xdg + fi fi #------- host paths -------- -if [ -z "$QT_HOST_PREFIX" ]; then - QT_HOST_PREFIX=$QT_INSTALL_PREFIX - haveHpx=false -else - QT_HOST_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_PREFIX"` - haveHpx=true -fi - -if [ -z "$QT_HOST_BINS" ]; then #default - if $haveHpx; then - QT_HOST_BINS="$QT_HOST_PREFIX/bin" #fallback +if [ -z "$QT_REL_HOST_BINS" ]; then + if $HAVE_HOST_PATH; then + QT_REL_HOST_BINS=bin else - QT_HOST_BINS="$QT_INSTALL_BINS" + QT_REL_HOST_BINS=$QT_REL_INSTALL_BINS fi fi -QT_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_BINS"` -if [ -z "$QT_HOST_LIBS" ]; then #default - if $haveHpx; then - QT_HOST_LIBS="$QT_HOST_PREFIX/lib" #fallback +if [ -z "$QT_REL_HOST_LIBS" ]; then + if $HAVE_HOST_PATH; then + QT_REL_HOST_LIBS=lib else - QT_HOST_LIBS="$QT_INSTALL_LIBS" + QT_REL_HOST_LIBS=$QT_REL_INSTALL_LIBS fi fi -QT_HOST_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_LIBS"` -if [ -z "$QT_HOST_DATA" ]; then #default - if $haveHpx; then - QT_HOST_DATA="$QT_HOST_PREFIX" +if [ -z "$QT_REL_HOST_DATA" ]; then + if $HAVE_HOST_PATH; then + QT_REL_HOST_DATA=. else - QT_HOST_DATA="$QT_INSTALL_ARCHDATA" + QT_REL_HOST_DATA=$QT_REL_INSTALL_ARCHDATA fi -else - QT_HOST_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_DATA"` fi if [ "$CFG_COMPILE_EXAMPLES" = "yes" ]; then QMAKE_CONFIG="$QMAKE_CONFIG compile_examples" fi +shortxspec=`echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` +shortspec=`echo $QMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` + +QT_CONFIGURE_STR_OFF=0 + +addConfStr() +{ + QT_CONFIGURE_STR_OFFSETS="$QT_CONFIGURE_STR_OFFSETS $QT_CONFIGURE_STR_OFF," + QT_CONFIGURE_STRS="$QT_CONFIGURE_STRS \"$1\\0\" +" + count=`echo "$1" | wc -c` + QT_CONFIGURE_STR_OFF=`expr $QT_CONFIGURE_STR_OFF + $count` +} + +QT_CONFIGURE_STR_OFFSETS= +QT_CONFIGURE_STRS= +addConfStr "$QT_REL_INSTALL_DOCS" +addConfStr "$QT_REL_INSTALL_HEADERS" +addConfStr "$QT_REL_INSTALL_LIBS" +addConfStr "$QT_REL_INSTALL_LIBEXECS" +addConfStr "$QT_REL_INSTALL_BINS" +addConfStr "$QT_REL_INSTALL_PLUGINS" +addConfStr "$QT_REL_INSTALL_IMPORTS" +addConfStr "$QT_REL_INSTALL_QML" +addConfStr "$QT_REL_INSTALL_ARCHDATA" +addConfStr "$QT_REL_INSTALL_DATA" +addConfStr "$QT_REL_INSTALL_TRANSLATIONS" +addConfStr "$QT_REL_INSTALL_EXAMPLES" +addConfStr "$QT_REL_INSTALL_TESTS" +QT_CONFIGURE_STR_OFFSETS_ALL=$QT_CONFIGURE_STR_OFFSETS +QT_CONFIGURE_STRS_ALL=$QT_CONFIGURE_STRS + +QT_CONFIGURE_STR_OFFSETS= +QT_CONFIGURE_STRS= +addConfStr "$CFG_SYSROOT" +addConfStr "$QT_REL_HOST_BINS" +addConfStr "$QT_REL_HOST_LIBS" +addConfStr "$QT_REL_HOST_DATA" +addConfStr "$shortxspec" +addConfStr "$shortspec" + #------------------------------------------------------------------------------- # generate qconfig.cpp #------------------------------------------------------------------------------- [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global" -shortxspec=`echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` -shortspec=`echo $QMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` - -if [ -z "$QT_EXT_PREFIX" ]; then - QMAKE_SYSROOTIFY=y -else - QMAKE_SYSROOTIFY=n -fi - cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF /* License Info */ static const char qt_configure_licensee_str [256 + 12] = "qt_lcnsuser=$Licensee"; static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$Edition"; /* Installation date */ -static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`"; +static const char qt_configure_installation [12+11] = "qt_instdate=2012-12-20"; /* Installation Info */ -static const char qt_configure_prefix_path_strs[][256 + 12] = { -#ifndef QT_BUILD_QMAKE - "qt_prfxpath=$QT_SYSROOT_PREFIX", - "qt_docspath=$QT_SYSROOT_DOCS", - "qt_hdrspath=$QT_SYSROOT_HEADERS", - "qt_libspath=$QT_SYSROOT_LIBS", - "qt_lbexpath=$QT_SYSROOT_LIBEXECS", - "qt_binspath=$QT_SYSROOT_BINS", - "qt_plugpath=$QT_SYSROOT_PLUGINS", - "qt_impspath=$QT_SYSROOT_IMPORTS", - "qt_qml2path=$QT_SYSROOT_QML", - "qt_adatpath=$QT_SYSROOT_ARCHDATA", - "qt_datapath=$QT_SYSROOT_DATA", - "qt_trnspath=$QT_SYSROOT_TRANSLATIONS", - "qt_xmplpath=$QT_SYSROOT_EXAMPLES", - "qt_tstspath=$QT_SYSROOT_TESTS", -#else - "qt_prfxpath=$QT_INSTALL_PREFIX", - "qt_docspath=$QT_INSTALL_DOCS", - "qt_hdrspath=$QT_INSTALL_HEADERS", - "qt_libspath=$QT_INSTALL_LIBS", - "qt_lbexpath=$QT_INSTALL_LIBEXECS", - "qt_binspath=$QT_INSTALL_BINS", - "qt_plugpath=$QT_INSTALL_PLUGINS", - "qt_impspath=$QT_INSTALL_IMPORTS", - "qt_qml2path=$QT_INSTALL_QML", - "qt_adatpath=$QT_INSTALL_ARCHDATA", - "qt_datapath=$QT_INSTALL_DATA", - "qt_trnspath=$QT_INSTALL_TRANSLATIONS", - "qt_xmplpath=$QT_INSTALL_EXAMPLES", - "qt_tstspath=$QT_INSTALL_TESTS", - "qt_ssrtpath=$CFG_SYSROOT", - "qt_hpfxpath=$QT_HOST_PREFIX", - "qt_hbinpath=$QT_HOST_BINS", - "qt_hlibpath=$QT_HOST_LIBS", - "qt_hdatpath=$QT_HOST_DATA", - "qt_targspec=$shortxspec", - "qt_hostspec=$shortspec", +static const char qt_configure_prefix_path_str [256 + 12] = "qt_prfxpath=$QT_INSTALL_PREFIX"; +#ifdef QT_BUILD_QMAKE +static const char qt_configure_ext_prefix_path_str [256 + 12] = "qt_epfxpath=$QT_EXT_PREFIX"; +static const char qt_configure_host_prefix_path_str [256 + 12] = "qt_hpfxpath=$QT_HOST_PREFIX"; #endif -}; -static const char qt_configure_settings_path_str[256 + 12] = "qt_stngpath=$QT_INSTALL_SETTINGS"; +static const short qt_configure_str_offsets[] = { + $QT_CONFIGURE_STR_OFFSETS_ALL #ifdef QT_BUILD_QMAKE -static const char qt_sysrootify_prefix[] = "qt_ssrtfpfx=$QMAKE_SYSROOTIFY"; + $QT_CONFIGURE_STR_OFFSETS #endif -EOF +}; +static const char qt_configure_strs[] = +$QT_CONFIGURE_STRS_ALL#ifdef QT_BUILD_QMAKE +$QT_CONFIGURE_STRS#endif +; + +#define QT_CONFIGURE_SETTINGS_PATH "$QT_REL_INSTALL_SETTINGS" -cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF +#ifdef QT_BUILD_QMAKE +# define QT_CONFIGURE_SYSROOTIFY_PREFIX $QMAKE_SYSROOTIFY +#endif /* strlen( "qt_lcnsxxxx" ) == 12 */ -#define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12; -#define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12; +#define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12 +#define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12 -#define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12; +#define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12 +#ifdef QT_BUILD_QMAKE +# define QT_CONFIGURE_EXT_PREFIX_PATH qt_configure_ext_prefix_path_str + 12 +# define QT_CONFIGURE_HOST_PREFIX_PATH qt_configure_host_prefix_path_str + 12 +#endif EOF # avoid unecessary rebuilds by copying only if qconfig.cpp has changed @@ -3783,17 +3948,21 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; EXEEXT= fi if [ "$BUILD_ON_MAC" = "yes" ]; then + echo "COCOA_LFLAGS =-framework Foundation -framework CoreServices" >>"$mkfile" echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile" echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile" + EXTRA_LFLAGS="$EXTRA_LFLAGS \$(COCOA_LFLAGS)" EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)" EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)" EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)" EXTRA_OBJS="$EXTRA_OBJS \ qsettings_mac.o \ - qcore_mac.o" + qcore_mac.o \ + qcore_mac_objc.o" EXTRA_SRCS="$EXTRA_SRCS \ \"\$(SOURCE_PATH)/src/corelib/io/qsettings_mac.cpp\" \ - \"\$(SOURCE_PATH)/src/corelib/kernel/qcore_mac.cpp\"" + \"\$(SOURCE_PATH)/src/corelib/kernel/qcore_mac.cpp\" \ + \"\$(SOURCE_PATH)/src/corelib/kernel/qcore_mac_objc.mm\"" fi if [ '!' -z "$D_FLAGS" ]; then EXTRA_CFLAGS="$EXTRA_CFLAGS $D_FLAGS" @@ -3803,7 +3972,7 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'` adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'` - echo "BUILD_PATH = $adjoutpath" >> "$mkfile" + echo "BUILD_PATH = .." >> "$mkfile" echo "SOURCE_PATH = $adjrelpath" >> "$mkfile" if [ -e "$relpath/.git" ]; then echo 'INC_PATH = $(BUILD_PATH)/include' >> "$mkfile" @@ -3836,7 +4005,22 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; fi done - (cd "$outpath/qmake"; "$MAKE") || exit 2 + if [ "$OPT_VERBOSE" = yes ]; then + # Show the output of make + (cd "$outpath/qmake"; "$MAKE") || exit 2 + else + # Hide the output of make + # Use bash to print dots, if we have it + if $WHICH bash > /dev/null 2>/dev/null; then + bash -c 'set -o pipefail + cd "$0/qmake"; "$1" | while read line; do + builtin echo -n . + done' "$outpath" "$MAKE" || exit 2 + else + (cd "$outpath/qmake"; "$MAKE" -s) || exit 2 + fi + echo "Done." + fi fi # Build qmake echo "Running configuration tests..." @@ -3871,7 +4055,7 @@ fi #------------------------------------------------------------------------------- # Verify makespec #------------------------------------------------------------------------------- -QMAKE_OUTPUT=`$outpath/bin/qmake -E -nocache -spec "$XQMAKESPEC" "QT=" $DEV_NULL 2>&1` +QMAKE_OUTPUT=`"$outpath/bin/qmake" -E -nocache -spec "$XQMAKESPEC" "QT=" $DEV_NULL 2>&1` if [ $? != "0" ]; then echo "Failed to process makespec for platform '$XPLATFORM'" if [ "$OPT_VERBOSE" = "yes" ]; then @@ -3971,6 +4155,46 @@ compileTest() "$unixtests/compile.test" "$XQMAKESPEC" "$test_config" $OPT_VERBOSE "$relpath" "$outpath" "$path" "$name" $I_FLAGS $D_FLAGS $L_FLAGS "$@" } +compileTestWithPkgConfig() +{ + if [ $# -lt 4 ]; then + echo "CompileTestWithPkgConfig requires at least 4 arguments." + echo "compileTestWithPkgConfig pkg_name configtest configtest_name qmake_postfix + additional arguments to compileTest" + exit 1 + fi + + local pkg_name=$1 + local configtest=$2 + local configtest_name="$3" + local qmake_postfix=$4 + shift 4 + + local has_used_pkg_config="no" + + local incdir_raw incdir_mod cflags + local libdir_raw libdir_mod libs + if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists $pkg_name 2>/dev/null; then + incdir_raw=`$PKG_CONFIG --cflags-only-I $pkg_name 2>/dev/null` + cflags=`$PKG_CONFIG --cflags-only-other $pkg_name 2>/dev/null` + libdir_raw=`$PKG_CONFIG --libs-only-L $pkg_name 2>/dev/null` + libs=`$PKG_CONFIG --libs-only-l --libs-only-other $pkg_name 2>/dev/null` + incdir_mod=`echo $incdir_raw | sed -e 's,^-I,,g' -e 's, -I, ,g'` + libdir_mod=`echo $libdir_raw | sed -e 's,^-L,,g' -e 's, -L, ,g'` + has_used_pkg_config="yes" + fi + if compileTest $configtest $configtest_name $libdir_raw $incdir_raw $libs $cflags "$@"; then + if [ "$has_used_pkg_config" = "yes" ] && [ -n "$qmake_postfix" ]; then + QMakeVar set QMAKE_INCDIR_$qmake_postfix "`shellArgumentListToQMakeList $incdir_mod`" + QMakeVar set QMAKE_LIBDIR_$qmake_postfix "`shellArgumentListToQMakeList $libdir_mod`" + QMakeVar set QMAKE_LIBS_$qmake_postfix "`shellArgumentListToQMakeList $libs`" + QMakeVar set QMAKE_CFLAGS_$qmake_postfix "`shellArgumentListToQMakeList $cflags`" + fi + return 0 + else + return 1 + fi +} + #------------------------------------------------------------------------------- # determine the target and host architectures #------------------------------------------------------------------------------- @@ -4045,13 +4269,6 @@ if [ "$CFG_CXX11" != "no" ]; then fi fi -# detect availability of float math.h functions -if compileTest unix/floatmath "floatmath"; then - CFG_USE_FLOATMATH=yes -else - CFG_USE_FLOATMATH=no -fi - # detect sse2 support if [ "${CFG_SSE2}" = "auto" ]; then if compileTest common/sse2 "sse2"; then @@ -4189,6 +4406,18 @@ fi [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista" [ "$XPLATFORM_ANDROID" = "yes" ] && QMakeVar add styles "android" +# check IPC support +if ! compileTest unix/ipc_sysv "ipc_sysv" ; then + # SYSV IPC is not supported - check POSIX IPC + if compileTest unix/ipc_posix "ipc_posix" ; then + QCONFIG_FLAGS="$QCONFIG_FLAGS QT_POSIX_IPC" + else + if [ "$XPLATFORM_ANDROID" = "no" ] ; then + QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SYSTEMSEMAPHORE QT_NO_SHAREDMEMORY" + fi + fi +fi + # detect zlib if [ "$CFG_ZLIB" = "no" ]; then # Note: Qt no longer support builds without zlib @@ -4647,6 +4876,9 @@ if [ "$CFG_ICONV" != "no" ]; then fi # auto-detect libdbus-1 support +if [ "$CFG_DBUS" = "auto" ]; then + CFG_DBUS="runtime" +fi if [ "$CFG_DBUS" = "linked" ]; then if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null` @@ -4675,6 +4907,24 @@ if [ "$CFG_DBUS" = "linked" ]; then fi fi +# auto-detect libproxy support +if [ "$CFG_LIBPROXY" != "no" ]; then + if compileTest common/libproxy "libproxy"; then + CFG_LIBPROXY=yes + else + if [ "$CFG_LIBPROXY" = "auto" ]; then + CFG_LIBPROXY=no + elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then + # CFG_LIBPROXY is "yes" here + echo "The libproxy support cannot be enabled because libproxy was not found." + 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 + # auto-detect Glib support if [ "$CFG_GLIB" != "no" ]; then if [ -n "$PKG_CONFIG" ]; then @@ -4859,9 +5109,9 @@ fi # auto-detect OpenGL support (es2 = OpenGL ES 2.0 or higher) if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then - if compileTest unix/opengldesktop "OpenGL"; then + if compileTestWithPkgConfig gl unix/opengldesktop "OpenGL" OPENGL; then CFG_OPENGL=desktop - elif compileTest unix/opengles2 "OpenGL ES 2.0"; then + elif compileTestWithPkgConfig glesv2 unix/opengles2 "OpenGL ES 2.0" OPENGL_ES2; then CFG_OPENGL=es2 else if [ "$CFG_OPENGL" = "yes" ]; then @@ -4875,17 +5125,8 @@ if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then fi elif [ "$CFG_OPENGL" = "es2" ]; then #OpenGL ES 2.0 - 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 - compileTest unix/opengles2 "OpenGL ES 2.0" $QMAKE_LIBS_OPENGL_ES2 $QMAKE_CFLAGS_OPENGL_ES2 + compileTestWithPkgConfig glesv2 unix/opengles2 "OpenGL ES 2.0" OPENGL_ES2 if [ $? != "0" ]; then echo "The OpenGL ES 2.0 functionality test failed!" [ -z "$PKG_CONFIG" ] && echo " Use of pkg-config is not enabled, maybe you want to pass -force-pkg-config?" @@ -4896,7 +5137,7 @@ elif [ "$CFG_OPENGL" = "es2" ]; then fi elif [ "$CFG_OPENGL" = "desktop" ]; then # Desktop OpenGL support - compileTest unix/opengldesktop "OpenGL" + compileTestWithPkgConfig gl unix/opengldesktop "OpenGL" OPENGL if [ $? != "0" ]; then echo "The OpenGL functionality test failed!" echo " You might need to modify the include and library search paths by editing" @@ -4911,11 +5152,11 @@ fi # compatible) ES headers (for example, GLES3/gl31.h). Other than that, there is # no difference in the configuration, even the library is the same. if [ "$CFG_OPENGL" = "es2" ]; then - if compileTest unix/opengles3 "OpenGL ES 3.0" $QMAKE_LIBS_OPENGL_ES2 $QMAKE_CFLAGS_OPENGL_ES2; then + if compileTestWithPkgConfig glesv2 unix/opengles3 "OpenGL ES 3.0" ""; then # Add a define for ES3, in addition to ES and ES2. QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_3" fi - if compileTest unix/opengles31 "OpenGL ES 3.1" $QMAKE_LIBS_OPENGL_ES2 $QMAKE_CFLAGS_OPENGL_ES2; then + if compileTestWithPkgConfig glesv2 unix/opengles31 "OpenGL ES 3.1" ""; then # Add a define for ES31. QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_3_1" fi @@ -4998,6 +5239,54 @@ if [ "$CFG_TSLIB" != "no" ]; then CFG_TSLIB=no fi fi +if [ "$CFG_TSLIB" = "no" ]; then + QMakeVar add DEFINES QT_NO_TSLIB +fi + +if [ "$CFG_XKBCOMMON_EVDEV" != "no" ]; then + if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then + QMAKE_INCDIR_XKBCOMMON_EVDEV=`$PKG_CONFIG --cflags-only-I xkbcommon 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'` + QMAKE_LIBS_XKBCOMMON_EVDEV=`$PKG_CONFIG --libs xkbcommon 2>/dev/null` + QMAKE_CFLAGS_XKBCOMMON_EVDEV=`$PKG_CONFIG --cflags xkbcommon 2>/dev/null` + QMakeVar set QMAKE_INCDIR_XKBCOMMON_EVDEV "$QMAKE_INCDIR_XKBCOMMON_EVDEV" + QMakeVar set QMAKE_LIBS_XKBCOMMON_EVDEV "$QMAKE_LIBS_XKBCOMMON_EVDEV" + fi + if compileTest unix/xkbcommon "xkbcommon" $QMAKE_CFLAGS_XKBCOMMON_EVDEV $QMAKE_LIBS_XKBCOMMON_EVDEV; then + CFG_XKBCOMMON_EVDEV=yes + QT_CONFIG="$QT_CONFIG xkbcommon-evdev" + elif [ "$CFG_XKBCOMMON_EVDEV" = "yes" ]; then + echo "The xkbcommon-evdev functionality test failed!" + exit 1 + else + CFG_XKBCOMMON_EVDEV=no + fi +fi + +if [ "$CFG_LIBINPUT" != "no" ] && [ "$CFG_LIBUDEV" != "no" ]; then + if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libinput 2>/dev/null; then + QMAKE_INCDIR_LIBINPUT=`$PKG_CONFIG --cflags-only-I libinput 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'` + QMAKE_LIBS_LIBINPUT=`$PKG_CONFIG --libs libinput 2>/dev/null` + QMAKE_CFLAGS_LIBINPUT=`$PKG_CONFIG --cflags libinput 2>/dev/null` + QMAKE_LIBINPUT_VERSION_MAJOR=`$PKG_CONFIG --modversion libinput 2>/dev/null | cut -d . -f 1` + QMAKE_LIBINPUT_VERSION_MINOR=`$PKG_CONFIG --modversion libinput 2>/dev/null | cut -d . -f 2` + QMakeVar set QMAKE_LIBINPUT_VERSION_MAJOR "$QMAKE_LIBINPUT_VERSION_MAJOR" + QMakeVar set QMAKE_LIBINPUT_VERSION_MINOR "$QMAKE_LIBINPUT_VERSION_MINOR" + QMakeVar set QMAKE_INCDIR_LIBINPUT "$QMAKE_INCDIR_LIBINPUT" + QMakeVar set QMAKE_LIBS_LIBINPUT "$QMAKE_LIBS_LIBINPUT" + fi + if compileTest unix/libinput "libinput" $QMAKE_CFLAGS_LIBINPUT $QMAKE_LIBS_LIBINPUT; then + CFG_LIBINPUT=yes + QT_CONFIG="$QT_CONFIG libinput" + elif [ "$CFG_LIBINPUT" = "yes" ]; then + echo "The libinput functionality test failed!" + exit 1 + else + CFG_LIBINPUT=no + fi +fi +if [ "$CFG_LIBINPUT" = "no" ]; then + QMakeVar add DEFINES QT_NO_LIBINPUT +fi # Check we actually have X11 :-) if compileTest x11/xlib "XLib"; then @@ -5327,7 +5616,7 @@ if [ "$CFG_KMS" = "yes" ]; then QT_CONFIG="$QT_CONFIG kms" fi -if [ "$XPLATFORM_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ] && [ "$XPLATFORM_QNX" = "no" ] && [ "$XPLATFORM_ANDROID" = "no" ]; then +if [ "$XPLATFORM_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ] && [ "$XPLATFORM_QNX" = "no" ] && [ "$XPLATFORM_ANDROID" = "no" ] && [ "$XPLATFORM_HAIKU" = "no" ]; then if [ "$CFG_XCB" = "no" ] && [ "$CFG_EGLFS" = "no" ] && [ "$CFG_DIRECTFB" = "no" ] && [ "$CFG_LINUXFB" = "no" ] && [ "$CFG_KMS" = "no" ]; then if [ "$QPA_PLATFORM_GUARD" = "yes" ] && ( [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_EGLFS" = "auto" ] || [ "$ORIG_CFG_DIRECTFB" = "auto" ] || [ "$ORIG_CFG_LINUXFB" = "auto" ] || [ "$ORIG_CFG_KMS" = "auto" ] ); then @@ -5522,6 +5811,12 @@ if [ "$CFG_OPENSSL" != "no" ]; then fi fi +if [ "$CFG_SECURETRANSPORT" != "no" ] && [ "$CFG_OPENSSL" = "no" ] && [ "$XPLATFORM_MAC" = "yes" ]; then + CFG_SECURETRANSPORT=yes +else + CFG_SECURETRANSPORT=no +fi + # detect PCRE if [ "$CFG_PCRE" != "qt" ]; then if compileTest unix/pcre "PCRE"; then @@ -5589,6 +5884,42 @@ if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then CFG_AUDIO_BACKEND=yes fi +# detect GStreamer support +if [ "$CFG_GSTREAMER" = "auto" ] || [ "$CFG_GSTREAMER" = "yes" ]; then + if compileTest unix/gstreamer "GStreamer 0.10" -config gst-0.10; then + CFG_GSTREAMER=yes + CFG_GSTREAMER_VERSION=0.10 + elif compileTest unix/gstreamer "GStreamer 1.0" -config gst-1.0; then + CFG_GSTREAMER=yes + CFG_GSTREAMER_VERSION=1.0 + else + if [ "$CFG_GSTREAMER" = "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." + exit 1 + fi + CFG_GSTREAMER=no + fi +elif [ "$CFG_GSTREAMER" = "0.10" ]; then + if compileTest unix/gstreamer "GStreamer 0.10" -config gst-0.10; then + CFG_GSTREAMER=yes + CFG_GSTREAMER_VERSION=0.10 + else + echo "The GStreamer 0.10 functionality test failed!" + echo " Turn on verbose messaging (-v) to $0 to see the final report." + exit 1 + fi +elif [ "$CFG_GSTREAMER" = "1.0" ]; then + if compileTest unix/gstreamer "GStreamer 1.0" -config gst-1.0; then + CFG_GSTREAMER=yes + CFG_GSTREAMER_VERSION=1.0 + else + echo "The GStreamer 1.0 functionality test failed!" + echo " Turn on verbose messaging (-v) to $0 to see the final report." + exit 1 + fi +fi + if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then echo "Warning: largefile support cannot be disabled for win32." CFG_LARGEFILE="yes" @@ -5804,6 +6135,8 @@ fi [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus-linked" [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl" [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked" +[ "$CFG_SECURETRANSPORT" = "yes" ] && QT_CONFIG="$QT_CONFIG ssl securetransport" +[ "$CFG_LIBPROXY" = "yes" ] && QT_CONFIG="$QT_CONFIG libproxy" [ "$CFG_XCB" != "no" ] && QT_CONFIG="$QT_CONFIG xcb" [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2" [ "$CFG_SYSTEM_PROXIES" = "yes" ] && QT_CONFIG="$QT_CONFIG system-proxies" @@ -5859,6 +6192,9 @@ if [ "$CFG_PULSEAUDIO" = "yes" ]; then QT_CONFIG="$QT_CONFIG pulseaudio" fi +[ "$CFG_GSTREAMER_VERSION" = "0.10" ] && QT_CONFIG="$QT_CONFIG gstreamer-0.10" +[ "$CFG_GSTREAMER_VERSION" = "1.0" ] && QT_CONFIG="$QT_CONFIG gstreamer-1.0" + if [ "$CFG_COREWLAN" = "yes" ]; then QT_CONFIG="$QT_CONFIG corewlan" fi @@ -5871,6 +6207,27 @@ if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then QT_CONFIG="$QT_CONFIG force_asserts" fi +if [ "$CFG_SANITIZERS" != "none" ]; then + + QTCONFIG_CONFIG="$QTCONFIG_CONFIG sanitizer" + + if [ "$CFG_SANITIZE_ADDRESS" = "yes" ]; then + QTCONFIG_CONFIG="$QTCONFIG_CONFIG sanitize_address" + fi + + if [ "$CFG_SANITIZE_THREAD" = "yes" ]; then + QTCONFIG_CONFIG="$QTCONFIG_CONFIG sanitize_thread" + fi + + if [ "$CFG_SANITIZE_MEMORY" = "yes" ]; then + QTCONFIG_CONFIG="$QTCONFIG_CONFIG sanitize_memory" + fi + + if [ "$CFG_SANITIZE_UNDEFINED" = "yes" ]; then + QTCONFIG_CONFIG="$QTCONFIG_CONFIG sanitize_undefined" + fi +fi + if [ "$CFG_PCRE" = "qt" ]; then QMAKE_CONFIG="$QMAKE_CONFIG pcre" fi @@ -6019,7 +6376,7 @@ fi # ### Vestige if [ "$CFG_QML_DEBUG" = "no" ]; then - QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QML_NO_DEBUGGER" + QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QML_DEBUGGER" fi case "$QMAKE_CONF_COMPILER" in @@ -6146,10 +6503,6 @@ fi # Add QPA to config.h QCONFIG_FLAGS="$QCONFIG_FLAGS" -if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then - QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS" -fi - # Add turned on SQL drivers for DRIVER in $CFG_SQL_AVAILABLE; do eval "VAL=\$CFG_SQL_$DRIVER" @@ -6174,6 +6527,7 @@ QMakeVar set sql-plugins "$SQL_PLUGINS" [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG" [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB" [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS" +[ "$CFG_LIBPROXY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_LIBPROXY" # X11/Unix/Mac only configs [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS" @@ -6190,10 +6544,13 @@ QMakeVar set sql-plugins "$SQL_PLUGINS" [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY" [ "$CFG_EVENTFD" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EVENTFD" [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS" -[ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL" +[ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL" [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL" +[ "$CFG_OPENSSL" = "no" ] && [ "$CFG_SECURETRANSPORT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SSL" +[ "$CFG_SECURETRANSPORT" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SECURETRANSPORT" [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER" +[ "$CFG_TSLIB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_TSLIB" [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR" [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES" [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG" @@ -6562,6 +6919,7 @@ else echo " Mode ................... $build_mode" fi unset build_mode release +echo " Using sanitizer(s)...... $CFG_SANITIZERS" echo " Using C++11 ............ $CFG_CXX11" echo " Using gold linker....... $CFG_USE_GOLD_LINKER" echo " Using PCH .............. $CFG_PRECOMPILE" @@ -6601,6 +6959,7 @@ report_support " Evdev .................." "$CFG_EVDEV" report_support " FontConfig ............." "$CFG_FONTCONFIG" report_support " FreeType ..............." "$CFG_FREETYPE" system "system library" yes "bundled copy" report_support " Glib ..................." "$CFG_GLIB" +report_support " GStreamer .............." "$CFG_GSTREAMER" yes "$CFG_GSTREAMER_VERSION" report_support " GTK theme .............." "$CFG_QGTKSTYLE" report_support " HarfBuzz ..............." "$CFG_HARFBUZZ" system "system library" qt "bundled copy" report_support " Iconv .................." "$CFG_ICONV" @@ -6610,6 +6969,7 @@ report_support_plugin " GIF .................." "$CFG_GIF" qt QtGui report_support_plugin " JPEG ................." "$CFG_JPEG" "$CFG_LIBJPEG" QtGui report_support_plugin " PNG .................." "$CFG_PNG" "$CFG_LIBPNG" QtGui report_support " journald ..............." "$CFG_JOURNALD" +report_support " libinput................" "$CFG_LIBINPUT" report_support " mtdev .................." "$CFG_MTDEV" yes "system library" report_support " Networking:" [ "$XPLATFORM_MAC" = "yes" ] && \ @@ -6617,7 +6977,10 @@ report_support " Networking:" report_support " getaddrinfo .........." "$CFG_GETADDRINFO" report_support " getifaddrs ..........." "$CFG_GETIFADDRS" report_support " IPv6 ifname .........." "$CFG_IPV6IFNAME" +report_support " libproxy.............." "$CFG_LIBPROXY" report_support " OpenSSL .............." "$CFG_OPENSSL" yes "loading libraries at run-time" linked "linked to the libraries" +[ "$XPLATFORM_MAC" = "yes" ] && \ + report_support " SecureTransport ......" "$CFG_SECURETRANSPORT" report_support " NIS ...................." "$CFG_NIS" report_support " OpenGL / OpenVG:" report_support " EGL .................." "$CFG_EGL" @@ -6670,8 +7033,10 @@ report_support " PostgreSQL ..........." "$CFG_SQL_psql" plugin "plugin" yes report_support " SQLite 2 ............." "$CFG_SQL_sqlite2" plugin "plugin" yes "built into QtSql" report_support_plugin " SQLite ..............." "$CFG_SQL_sqlite" "$CFG_SQLITE" QtSql report_support " TDS .................." "$CFG_SQL_tds" plugin "plugin" yes "built into QtSql" +report_support " tslib .................." "$CFG_TSLIB" report_support " udev ..................." "$CFG_LIBUDEV" -report_support " xkbcommon .............." "$CFG_XKBCOMMON" system "system library" qt "bundled copy, XKB config root: $CFG_XKB_CONFIG_ROOT" +report_support " xkbcommon-x11..........." "$CFG_XKBCOMMON" system "system library" qt "bundled copy, XKB config root: $CFG_XKB_CONFIG_ROOT" +report_support " xkbcommon-evdev........." "$CFG_XKBCOMMON_EVDEV" report_support " zlib ..................." "$CFG_ZLIB" system "system library" yes "bundled copy" echo @@ -6815,7 +7180,7 @@ fi # finally save the executed command to another script #------------------------------------------------------------------------------- if [ `basename $0` != "config.status" ]; then - CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE" + CONFIG_STATUS="$relpath/$relconf$OPT_CMDLINE" # add the system variables for varname in $SYSTEM_VARIABLES; do @@ -6834,11 +7199,7 @@ fi'` echo "export PKG_CONFIG_SYSROOT_DIR=$PKG_CONFIG_SYSROOT_DIR" >> "$outpath/config.status" [ -n "$PKG_CONFIG_LIBDIR" ] && \ echo "export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR" >> "$outpath/config.status" - echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status" - echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status" - echo "else" >> "$outpath/config.status" - echo " $CONFIG_STATUS" >> "$outpath/config.status" - echo "fi" >> "$outpath/config.status" + echo "$CONFIG_STATUS \"\$@\"" >> "$outpath/config.status" chmod +x "$outpath/config.status" fi @@ -6847,6 +7208,12 @@ if [ -n "$RPATH_MESSAGE" ]; then echo "$RPATH_MESSAGE" fi +if [ -n "$PREFIX_COMPLAINTS" ]; then + echo + echo "$PREFIX_COMPLAINTS" + echo +fi + MAKE=`basename "$MAKE"` echo echo Qt is now configured for building. Just run \'$MAKE\'. |