diff options
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 112 |
1 files changed, 104 insertions, 8 deletions
@@ -654,7 +654,7 @@ CFG_KMS=auto CFG_LIBUDEV=auto CFG_OBSOLETE_WAYLAND=no CFG_EVDEV=auto -CFG_TSLIB=no +CFG_TSLIB=auto CFG_NIS=auto CFG_CUPS=auto CFG_ICONV=auto @@ -717,6 +717,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 @@ -779,7 +784,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 #------------------------------------------------------------------------------- @@ -888,6 +893,7 @@ while [ "$#" -gt 0 ]; do -qpa| \ -qconfig| \ -qreal| \ + -sanitize| \ -xkb-config-root| \ -android-sdk| \ -android-ndk| \ @@ -1159,6 +1165,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" ;; @@ -2454,6 +2479,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. @@ -2479,6 +2507,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) @@ -2573,7 +2603,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 @@ -3178,27 +3209,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" @@ -3778,17 +3828,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" @@ -3831,7 +3885,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..." @@ -4982,6 +5051,9 @@ if [ "$CFG_TSLIB" != "no" ]; then CFG_TSLIB=no fi fi +if [ "$CFG_TSLIB" = "no" ]; then + QMakeVar add DEFINES QT_NO_TSLIB +fi # Check we actually have X11 :-) if compileTest x11/xlib "XLib"; then @@ -5851,6 +5923,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 @@ -6174,6 +6267,7 @@ QMakeVar set sql-plugins "$SQL_PLUGINS" [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL" [ "$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" @@ -6542,6 +6636,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" @@ -6650,6 +6745,7 @@ 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 " zlib ..................." "$CFG_ZLIB" system "system library" yes "bundled copy" |