summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure112
1 files changed, 104 insertions, 8 deletions
diff --git a/configure b/configure
index acbfb17c64..a52d162813 100755
--- a/configure
+++ b/configure
@@ -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"