summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure67
1 files changed, 64 insertions, 3 deletions
diff --git a/configure b/configure
index 7d6ba9f4d6..39a87b2795 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
@@ -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"
;;
@@ -2449,6 +2474,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.
@@ -2474,6 +2502,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)
@@ -3772,17 +3802,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"
@@ -4972,6 +5006,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
@@ -5841,6 +5878,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
@@ -6160,6 +6218,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"
@@ -6528,6 +6587,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"
@@ -6636,6 +6696,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"