2 #############################################################################
4 ## Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
5 ## Contact: http://www.qt-project.org/
7 ## This file is the build configuration utility of the Qt Toolkit.
9 ## $QT_BEGIN_LICENSE:LGPL$
10 ## GNU Lesser General Public License Usage
11 ## This file may be used under the terms of the GNU Lesser General Public
12 ## License version 2.1 as published by the Free Software Foundation and
13 ## appearing in the file LICENSE.LGPL included in the packaging of this
14 ## file. Please review the following information to ensure the GNU Lesser
15 ## General Public License version 2.1 requirements will be met:
16 ## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
18 ## In addition, as a special exception, Nokia gives you certain additional
19 ## rights. These rights are described in the Nokia Qt LGPL Exception
20 ## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
22 ## GNU General Public License Usage
23 ## Alternatively, this file may be used under the terms of the GNU General
24 ## Public License version 3.0 as published by the Free Software Foundation
25 ## and appearing in the file LICENSE.GPL included in the packaging of this
26 ## file. Please review the following information to ensure the GNU General
27 ## Public License version 3.0 requirements will be met:
28 ## http://www.gnu.org/copyleft/gpl.html.
31 ## Alternatively, this file may be used in accordance with the terms and
32 ## conditions contained in a signed written agreement between you and Nokia.
41 #############################################################################
43 #-------------------------------------------------------------------------------
44 # script initialization
45 #-------------------------------------------------------------------------------
47 # the name of this script
49 # the directory of this script is the "source tree"
51 relpath=`(cd "$relpath"; /bin/pwd)`
52 # the current directory is the "build tree" or "object tree"
55 #license file location
56 LICENSE_FILE="$QT_LICENSE_FILE"
57 [ -z "$LICENSE_FILE" ] && LICENSE_FILE="$HOME/.qt-license"
58 if [ -f "$LICENSE_FILE" ]; then
59 tr -d '\r' <"$LICENSE_FILE" >"${LICENSE_FILE}.tmp"
60 diff "${LICENSE_FILE}.tmp" "${LICENSE_FILE}" >/dev/null 2>&1 || LICENSE_FILE="${LICENSE_FILE}.tmp"
63 # later cache the command line in config.status
64 OPT_CMDLINE=`echo $@ | sed "s,-v ,,g; s,-v$,,g"`
66 # initialize global variables
73 QMAKE_VARS_FILE=.qmake.vars
74 DEVICE_VARS_FILE=.device.vars
77 :> "$DEVICE_VARS_FILE"
79 #-------------------------------------------------------------------------------
81 #-------------------------------------------------------------------------------
85 echo "$@" | sed 's/ /\ /g'
88 # Adds a new qmake variable to the cache
89 # Usage: QMakeVar mode varname contents
90 # where mode is one of: set, add, del
104 echo >&2 "BUG: wrong command to QMakeVar: $1"
108 echo "$2" "$eq" "$3" >> "$QMAKE_VARS_FILE"
111 # Helper function for getQMakeConf. It parses include statements in
112 # qmake.conf and prints out the expanded file
115 while read line; do case "$line" in
117 inc_file=`echo "$line" | sed -n -e "/^include.*(.*)/s/include.*(\(.*\)).*$/\1/p"`
118 current_dir=`dirname "$1"`
119 conf_file="$current_dir/$inc_file"
120 if [ ! -f "$conf_file" ]; then
121 echo "WARNING: Unable to find file $conf_file" >&2
124 getQMakeConf1 "$conf_file"
126 *load\(device_config\)*)
127 conf_file="$DEVICE_VARS_FILE"
128 if [ ! -f "$conf_file" ]; then
129 echo "WARNING: Unable to find file $conf_file" >&2
132 getQMakeConf1 "$conf_file"
144 values["LITERAL_WHITESPACE"] = " "
145 values["LITERAL_DOLLAR"] = "$"
147 /^[_A-Z0-9.]+[ \t]*\+?=/ {
148 valStart = index($0, "=") + 1
151 if (substr($0, valStart - 2, 1) == "+") {
155 variable = substr($0, 0, valStart - 2 - append)
156 value = substr($0, valStart)
157 gsub("[ \t]+", "", variable)
158 gsub("^[ \t]+", "", value)
159 gsub("[ \t]+$", "", value)
162 while (match(value, /\$\$(\{[_A-Z0-9.]+\}|[_A-Z0-9.]+)/)) {
163 ovalue = ovalue substr(value, 1, RSTART - 1)
164 var = substr(value, RSTART + 2, RLENGTH - 2)
165 value = substr(value, RSTART + RLENGTH)
167 var = substr(var, 2, length(var) - 2)
169 ovalue = ovalue values[var]
171 ovalue = ovalue value
173 combinedValue = values[variable]
174 if (append == 1 && length(combinedValue) > 0) {
175 combinedValue = combinedValue " " ovalue
177 combinedValue = ovalue
179 values[variable] = combinedValue
182 for (var in values) {
183 print var "=" values[var]
191 echo "$2" | $AWK "/^($1)=/ { print substr(\$0, index(\$0, \"=\") + 1) }"
194 # relies on $QMAKESPEC being set correctly. parses include statements in
195 # qmake.conf and prints out the expanded file
198 if [ -z "$specvals" ]; then
199 specvals=`getQMakeConf1 "$QMAKESPEC/qmake.conf" | getQMakeConf2`
201 getQMakeConf3 "$1" "$specvals"
206 if [ -z "$xspecvals" ]; then
207 xspecvals=`getQMakeConf1 "$XQMAKESPEC/qmake.conf" | getQMakeConf2`
209 getQMakeConf3 "$1" "$xspecvals"
212 # relies on $TEST_COMPILER being set correctly
213 compilerSupportsFlag()
215 cat >conftest.cpp <<EOF
216 int main() { return 0; }
218 "$TEST_COMPILER" "$@" -o conftest.o conftest.cpp
220 rm -f conftest.cpp conftest.o
224 # relies on $TEST_COMPILER being set correctly
230 safe_flag=`shellEscape "$flag"`
231 lflags=$lflags,$safe_flag
233 compilerSupportsFlag "$lflags" >/dev/null 2>&1
236 #-------------------------------------------------------------------------------
238 #-------------------------------------------------------------------------------
246 echo >&2 "BUG: wrong command to QMakeVar: $1"
250 echo "$2" "$eq" "$3" >> "$DEVICE_VARS_FILE"
253 resolveDeviceMkspec()
255 result=$(find "$relpath/mkspecs/devices/" -type d -name "*$VAL*" | sed "s,^$relpath/mkspecs/,,")
256 match_count=$(echo "$result" | wc -w)
257 if [ "$match_count" -gt 1 ]; then
258 echo >&2 "Error: Multiple matches for device '$VAL'. Candidates are:"
259 tabbed_result=$(echo "$result" | sed "s,^, ,")
260 echo >&2 "$tabbed_result"
262 elif [ "$match_count" -eq 0 ]; then
263 echo >&2 "Error: No device matching '$VAL'"
270 #-------------------------------------------------------------------------------
271 # operating system detection
272 #-------------------------------------------------------------------------------
274 # need that throughout the script
275 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
276 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
277 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
278 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
280 # detect the "echo without newline" style. usage: echo $ECHO_N "<string>$ECHO_C"
281 if echo '\c' | grep '\c' >/dev/null; then
287 #-------------------------------------------------------------------------------
288 # window system detection
289 #-------------------------------------------------------------------------------
293 if [ -d /System/Library/Frameworks/Carbon.framework ]; then
298 #-----------------------------------------------------------------------------
299 # Qt version detection
300 #-----------------------------------------------------------------------------
301 QT_VERSION=`grep '^# *define *QT_VERSION_STR' "$relpath"/src/corelib/global/qglobal.h`
305 if [ -n "$QT_VERSION" ]; then
306 QT_VERSION=`echo $QT_VERSION | sed 's,^# *define *QT_VERSION_STR *"*\([^ ]*\)"$,\1,'`
307 MAJOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
308 if [ -n "$MAJOR" ]; then
309 MINOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
310 PATCH=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
311 QT_MAJOR_VERSION="$MAJOR"
312 [ -z "$MINOR" ] || QT_MINOR_VERSION="$MINOR"
313 [ -z "$PATCH" ] || QT_PATCH_VERSION="$PATCH"
316 if [ -z "$QT_MAJOR_VERSION" ]; then
317 echo "Cannot process version from qglobal.h: $QT_VERSION"
318 echo "Cannot proceed."
322 QT_PACKAGEDATE=`grep '^# *define *QT_PACKAGEDATE_STR' "$relpath"/src/corelib/global/qglobal.h | sed -e 's,^# *define *QT_PACKAGEDATE_STR *"\([^ ]*\)"$,\1,' -e s,-,,g`
323 if [ -z "$QT_PACKAGEDATE" ]; then
324 echo "Unable to determine package date from qglobal.h: '$QT_PACKAGEDATE'"
325 echo "Cannot proceed"
329 #-------------------------------------------------------------------------------
331 #-------------------------------------------------------------------------------
335 EditionString=Commercial
339 # parse the arguments, setting things to "yes" or "no"
340 while [ "$#" -gt 0 ]; do
344 #Autoconf style options
346 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
350 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
354 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
355 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
358 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
361 -h|help|--help|-help)
362 if [ "$VAL" = "yes" ]; then
364 COMMERCIAL_USER="no" #doesn't matter we will display the help
367 COMMERCIAL_USER="no" #doesn't matter we will display the help
371 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
375 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
382 if [ "$UNKNOWN_ARG" = "yes" ]; then
394 COMMERCIAL_USER="yes"
408 if [ "$COMMERCIAL_USER" = "ask" ]; then
410 echo "Which edition of Qt do you want to use ?"
412 echo "Type 'c' if you want to use the Commercial Edition."
413 echo "Type 'o' if you want to use the Open Source Edition."
417 if [ "$commercial" = "c" ]; then
418 COMMERCIAL_USER="yes"
420 elif [ "$commercial" = "o" ]; then
427 if [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes" ]; then
428 # Commercial preview release
429 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
432 QT_EDITION="QT_EDITION_DESKTOP"
433 LicenseType="Technology Preview"
434 elif [ $COMMERCIAL_USER = "yes" ]; then
435 # one of commercial editions
436 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
438 # read in the license file
439 if [ -f "$LICENSE_FILE" ]; then
440 . "$LICENSE_FILE" >/dev/null 2>&1
441 if [ -z "$LicenseKeyExt" ]; then
443 echo "You are using an old license file."
445 echo "Please install the license file supplied by Nokia,"
446 echo "or install the Qt Open Source Edition if you intend to"
447 echo "develop free software."
450 if [ -z "$Licensee" ]; then
452 echo "Invalid license key. Please check the license key."
456 if [ -z "$LicenseKeyExt" ]; then
458 echo $ECHO_N "Please enter your license key: $ECHO_C"
460 Licensee="Unknown user"
465 echo "$LicenseKeyExt" | grep ".....*-....*-....*-....*-.....*-.....*-...." >/dev/null 2>&1 \
466 && LicenseValid="yes" \
468 if [ "$LicenseValid" != "yes" ]; then
470 echo "Invalid license key. Please check the license key."
473 ProductCode=`echo $LicenseKeyExt | cut -f 1 -d - | cut -b 1`
474 PlatformCode=`echo $LicenseKeyExt | cut -f 2 -d -`
475 LicenseTypeCode=`echo $LicenseKeyExt | cut -f 3 -d -`
476 LicenseFeatureCode=`echo $LicenseKeyExt | cut -f 4 -d - | cut -b 1`
478 # determine which edition we are licensed to use
479 case "$LicenseTypeCode" in
481 LicenseType="Commercial"
485 QT_EDITION="QT_EDITION_UNIVERSAL"
488 Edition="FullFramework"
489 EditionString="Full Framework"
490 QT_EDITION="QT_EDITION_DESKTOP"
493 Edition="GUIFramework"
494 EditionString="GUI Framework"
495 QT_EDITION="QT_EDITION_DESKTOPLIGHT"
500 LicenseType="Evaluation"
501 QMakeVar add DEFINES QT_EVAL
505 QT_EDITION="QT_EDITION_EVALUATION"
510 if [ -z "$LicenseType" -o -z "$Edition" -o -z "$QT_EDITION" ]; then
512 echo "Invalid license key. Please check the license key."
516 # verify that we are licensed to use Qt on this platform
518 case "$PlatformCode" in
521 PlatformCode=`echo "$PlatformCode" | sed 'h;y/8NPQRTZ/UCWX9M7/;x;G;s/\(.\)....\(.\)./\1\2/'`
525 PlatformCode=`echo "$PlatformCode" | sed 's/.$//'`
528 ### EMBEDDED_QPA logic missing ###
529 case "$PlatformCode,$PLATFORM_MAC" in
530 X9,* | XC,* | XU,* | XW,* | XM,*)
532 LICENSE_EXTENSION="-ALLOS"
534 8M,* | KM,* | S9,* | SC,* | SM,* | SU,* | SW,* | X9,* | XC,* | XU,* | XW,*)
535 # Qt for Embedded Linux
536 LICENSE_EXTENSION="-EMBEDDED"
538 6M,* | N7,* | N9,* | NX,*)
540 LICENSE_EXTENSION="-EMBEDDED"
542 FM,* | LM,yes | ZM,no)
544 LICENSE_EXTENSION="-DESKTOP"
548 [ "$PLATFORM_MAC" = "yes" ] && Platform='Mac OS X'
550 echo "You are not licensed for the $Platform platform."
552 echo "Please contact qt-info@nokia.com to upgrade your license to"
553 echo "include the $Platform platform, or install the Qt Open Source Edition"
554 echo "if you intend to develop free software."
559 if test -r "$relpath/.LICENSE"; then
560 # Generic, non-final license
562 line=`sed 'y/a-z/A-Z/;q' "$relpath"/.LICENSE`
567 *TECHNOLOGY?PREVIEW*)
574 echo >&2 "Invalid license files; cannot continue"
579 EditionString="$Edition"
580 QT_EDITION="QT_EDITION_DESKTOP"
583 case "$LicenseFeatureCode" in
586 case "$LicenseType" in
588 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}-US" "$outpath/LICENSE"
591 cp -f "$relpath/.LICENSE-EVALUATION-US" "$outpath/LICENSE"
597 case "$LicenseType" in
599 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}" "$outpath/LICENSE"
602 cp -f "$relpath/.LICENSE-EVALUATION" "$outpath/LICENSE"
608 echo "Invalid license key. Please check the license key."
612 case "$LicenseFeatureCode" in
620 if [ '!' -f "$outpath/LICENSE" ]; then
621 echo "The LICENSE, LICENSE.GPL3 LICENSE.LGPL file shipped with"
622 echo "this software has disappeared."
624 echo "Sorry, you are not licensed to use this software."
625 echo "Try re-installing."
629 elif [ $COMMERCIAL_USER = "no" ]; then
630 # Open Source edition - may only be used under the terms of the GPL or LGPL.
631 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
632 Licensee="Open Source"
634 EditionString="Open Source"
635 QT_EDITION="QT_EDITION_OPENSOURCE"
638 #-------------------------------------------------------------------------------
639 # initalize variables
640 #-------------------------------------------------------------------------------
642 SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
643 for varname in $SYSTEM_VARIABLES; do
644 qmakevarname="${varname}"
645 # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
646 if [ "${varname}" = "LDFLAGS" ]; then
647 qmakevarname="LFLAGS"
648 elif [ "${varname}" = "LD" ]; then
652 'if [ -n "\$'${varname}'" ]; then
653 QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'"
657 # Use CC/CXX to run config.tests
658 mkdir -p "$outpath/config.tests"
659 rm -f "$outpath/config.tests/.qmake.cache"
660 cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
662 QMakeVar add styles "cde mac motif plastique cleanlooks windows"
664 # QTDIR may be set and point to an old or system-wide Qt installation
667 # the minimum version of libdbus-1 that we require:
668 MIN_DBUS_1_VERSION=0.93
670 # initalize internal variables
671 CFG_CONFIGURE_EXIT_ON_ERROR=yes
673 CFG_GUI=auto # (yes|no|auto)
699 CFG_OPENVG_LC_INCLUDES=no
700 CFG_OPENVG_SHIVA=auto
701 CFG_OPENVG_ON_OPENGL=auto
707 QT_DEFAULT_BUILD_PARTS="libs examples"
711 CFG_AUDIO_BACKEND=auto
714 CFG_JAVASCRIPTCORE_JIT=auto
717 # Target architecture
720 # Host architecture, same as CFG_ARCH when not cross-compiling
722 CFG_HOST_CPUFEATURES=
723 # Set when the -arch or -host-arch arguments are used
724 OPT_OBSOLETE_HOST_ARG=no
736 CFG_OBSOLETE_WAYLAND=no
748 CFG_SEPARATE_DEBUG_INFO=no
749 CFG_SEPARATE_DEBUG_INFO_NOCOPY=no
750 CFG_REDUCE_EXPORTS=auto
758 CFG_REDUCE_RELOCATIONS=auto
759 CFG_ACCESSIBILITY=auto
764 CFG_CLOCK_GETTIME=auto
765 CFG_CLOCK_MONOTONIC=auto
773 MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
776 CFG_PREFIX_INSTALL=yes
786 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
787 XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
791 OPT_CONFIRM_LICENSE=no
804 QPA_PLATFORM_GUARD=yes
807 # initalize variables used for installation
816 QT_INSTALL_TRANSLATIONS=
825 #flags for SQL drivers
833 QT_LFLAGS_ODBC="-lodbc"
836 # flags for libdbus-1
840 # flags for Glib (X11 only)
844 # flags for GStreamer (X11 only)
848 # default qpa platform
849 QT_QPA_DEFAULT_PLATFORM=
851 #-------------------------------------------------------------------------------
852 # check SQL drivers available in this package
853 #-------------------------------------------------------------------------------
855 # opensource version removes some drivers, so force them to be off
861 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
862 for a in "$relpath/src/plugins/sqldrivers/"*; do
864 base_a=`basename "$a"`
865 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
866 eval "CFG_SQL_${base_a}=auto"
871 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
872 if [ -d "$relpath/src/plugins/imageformats" ]; then
873 for a in "$relpath/src/plugins/imageformats/"*; do
875 base_a=`basename "$a"`
876 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
881 #-------------------------------------------------------------------------------
882 # parse command line arguments
883 #-------------------------------------------------------------------------------
885 # parse the arguments, setting things to "yes" or "no"
886 while [ "$#" -gt 0 ]; do
890 #Autoconf style options
892 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
896 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
900 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
901 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
904 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
908 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
912 -no-*-*|-plugin-*-*|-qt-*-*)
913 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
914 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
918 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
921 #Qt style yes options
922 -profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-xcb|-eglfs|-directfb|-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|-harfbuzz|-prefix-install|-silent|-optimized-qmake|-reduce-relocations|-sse|-openssl|-openssl-linked|-phonon-backend|-audio-backend|-qml-debug|-javascript-jit|-rpath|-pkg-config|-force-pkg-config|-icu|-force-asserts|-testcocoon|-c++11)
923 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
926 #Qt style options that pass an argument
929 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
933 -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)
934 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
938 #Qt style complex options in one command
939 -enable-*|-disable-*)
940 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
941 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
943 #Qt Builtin/System style options
944 -no-*|-system-*|-qt-*)
945 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
946 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
948 #Options that cannot be generalized
955 # this option may or may not be followed by an argument
956 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
965 # this option may or may not be followed by an argument
966 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
974 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
975 # this option may or may not be followed by an argument
976 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
995 if [ "$1" = "-D" ]; then
999 VAL=`echo $1 | sed 's,-D,,'`
1004 # this option may or may not be followed by an argument
1005 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1014 if [ "$1" = "-I" ]; then
1018 VAL=`echo $1 | sed 's,-I,,'`
1023 if [ "$1" = "-L" ]; then
1027 VAL=`echo $1 | sed 's,-L,,'`
1032 if [ "$1" = "-R" ]; then
1036 VAL=`echo $1 | sed 's,-R,,'`
1041 if [ "$1" = "-l" ]; then
1045 VAL=`echo $1 | sed 's,-l,,'`
1050 if [ "$1" = "-F" ]; then
1054 VAL=`echo $1 | sed 's,-F,,'`
1059 if [ "$1" = "-fw" ]; then
1063 VAL=`echo $1 | sed 's,-fw,,'`
1071 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1078 if [ "$UNKNOWN_ARG" = "yes" ]; then
1079 echo "$1: unknown argument"
1090 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1091 CFG_ACCESSIBILITY="$VAL"
1100 CFG_USE_GNUMAKE="$VAL"
1103 CFG_MYSQL_CONFIG="$VAL"
1106 QT_INSTALL_PREFIX="$VAL"
1109 QT_HOST_PREFIX="$VAL"
1118 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1119 CFG_PKGCONFIG="$VAL"
1125 CFG_PKGCONFIG="force"
1128 QT_INSTALL_DOCS="$VAL"
1131 QT_INSTALL_HEADERS="$VAL"
1134 QT_INSTALL_PLUGINS="$VAL"
1137 QT_INSTALL_IMPORTS="$VAL"
1140 QT_INSTALL_DATA="$VAL"
1143 QT_INSTALL_LIBS="$VAL"
1152 QT_INSTALL_TRANSLATIONS="$VAL"
1154 sysconfdir|settingsdir)
1155 QT_INSTALL_SETTINGS="$VAL"
1158 QT_INSTALL_EXAMPLES="$VAL"
1161 QT_INSTALL_TESTS="$VAL"
1170 QT_INSTALL_BINS="$VAL"
1176 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1183 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1184 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1185 [ "$VAL" = "es2" ]; then
1192 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1199 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1202 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1205 if [ "$BUILD_ON_MAC" = "yes" ]; then
1212 OPT_OBSOLETE_HOST_ARG=yes
1215 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1216 CFG_MAC_HARFBUZZ="$VAL"
1223 if [ "$BUILD_ON_MAC" = "yes" ]; then
1224 CFG_FRAMEWORK="$VAL"
1230 if [ "$VAL" = "yes" ]; then
1232 QMakeVar add QMAKE_CFLAGS -pg
1233 QMakeVar add QMAKE_CXXFLAGS -pg
1234 QMakeVar add QMAKE_LFLAGS -pg
1235 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1241 if [ "$VAL" = "yes" ]; then
1242 QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon"
1247 # keep compatibility with old platform names
1253 PLATFORM=hpux-acc-o64
1256 PLATFORM=hpux-acc-64
1259 PLATFORM=hpux-acc-64
1271 PLATFORM=reliant-cds-64
1274 PLATFORM=solaris-cc-64
1277 PLATFORM=unixware-cc
1280 PLATFORM=unixware-g++
1283 PLATFORM=unixware-cc
1286 PLATFORM=unixware-g++
1292 i386) NATIVE_64_ARCH="x86_64" ;;
1293 powerpc) NATIVE_64_ARCH="ppc64" ;;
1294 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1296 if [ ! -z "$NATIVE_64_ARCH" ]; then
1297 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1304 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1307 XPLATFORM=`resolveDeviceMkspec $VAL`
1308 [ "$XPLATFORM" = "undefined" ] && exit 101
1311 DEV_VAR=`echo $VAL | sed "s,^\(.*\)=.*,\1,"`
1312 DEV_VAL=`echo $VAL | sed "s,^.*=\(.*\),\1,"`
1313 DeviceVar set $DEV_VAR $DEV_VAL
1316 QT_QPA_DEFAULT_PLATFORM="$VAL"
1319 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1320 CFG_DEBUG_RELEASE="$VAL"
1326 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1327 CFG_RELEASE_QMAKE="$VAL"
1333 if [ "$VAL" = "yes" ]; then
1335 elif [ "$VAL" = "no" ]; then
1342 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1343 CFG_PREFIX_INSTALL="$VAL"
1351 developer-build|commercial|opensource)
1352 # These switches have been dealt with already
1355 if [ "$VAL" = "yes" ]; then
1357 elif [ "$VAL" = "no" ]; then
1364 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1365 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1371 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1372 if [ "$VAL" = "no" ]; then
1373 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1374 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1375 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1381 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1388 if [ "$VAL" = "no" ]; then
1395 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1403 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1410 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1417 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1424 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1431 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1438 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1445 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1452 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1453 CFG_PRECOMPILE="$VAL"
1458 separate-debug-info)
1459 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1460 CFG_SEPARATE_DEBUG_INFO="$VAL"
1461 elif [ "$VAL" = "nocopy" ] ; then
1462 CFG_SEPARATE_DEBUG_INFO="yes"
1463 CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1469 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1470 CFG_REDUCE_EXPORTS="$VAL"
1476 if [ "$VAL" = "no" ]; then
1483 if [ "$VAL" = "no" ]; then
1490 if [ "$VAL" = "no" ]; then
1497 if [ "$VAL" = "no" ]; then
1504 if [ "$VAL" = "no" ]; then
1511 if [ "$VAL" = "no" ]; then
1518 if [ "$VAL" = "no" ]; then
1528 if [ "$VAL" = "no" ]; then
1535 if [ "$VAL" = "no" ]; then
1542 if [ "$VAL" = "no" ]; then
1543 CFG_MIPS_DSPR2="$VAL"
1549 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1550 CFG_REDUCE_RELOCATIONS="$VAL"
1556 [ "$VAL" = "qt" ] && VAL=yes
1557 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1562 # No longer supported:
1563 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1566 if [ "$VAL" = "system" ]; then
1573 [ "$VAL" = "yes" ] && VAL=qt
1574 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1581 [ "$VAL" = "yes" ] && VAL=qt
1582 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1589 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1596 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1603 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1610 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1617 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1624 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1625 CFG_FONTCONFIG="$VAL"
1631 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1638 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1645 CFG_OBSOLETE_WAYLAND=yes
1648 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1655 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1662 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1669 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1676 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1683 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1690 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1697 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1698 CFG_GSTREAMER="$VAL"
1704 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1705 CFG_QGTKSTYLE="$VAL"
1711 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1714 if [ "$VAL" = "no" ]; then
1722 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1724 elif [ "$VAL" = "no" ]; then
1731 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1732 QPA_PLATFORM_GUARD="$VAL"
1738 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1740 elif [ "$VAL" = "runtime" ]; then
1747 if [ "$VAL" = "yes" ]; then
1754 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1761 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1762 CFG_LARGEFILE="$VAL"
1768 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1775 if [ "$VAL" = "yes" ]; then
1776 CFG_OPENSSL="linked"
1782 if [ "$VAL" = "yes" ]; then
1785 if [ "$VAL" = "no" ]; then
1793 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1794 CFG_JAVASCRIPTCORE_JIT="$VAL"
1800 if [ "$VAL" = "yes" ]; then
1801 OPT_CONFIRM_LICENSE="$VAL"
1807 if [ "$VAL" = "yes" ]; then
1813 sql-*|imageformat-*)
1814 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1815 # if autoconf style options were used, $VAL can be "yes" or "no"
1816 [ "$VAL" = "yes" ] && VAL=qt
1817 # now $VAL should be "no", "qt", or "plugin"... double-check
1818 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1821 # now $VAL is "no", "qt", or "plugin"
1823 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1824 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1826 # Grab the available values
1829 avail="$CFG_SQL_AVAILABLE"
1832 avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
1833 if [ "$OPT" != "plugin" ]; then
1834 # png is always built in
1840 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1844 # Check that that user's value is available.
1847 if [ "$VAL" = "$d" ]; then
1852 [ "$found" = yes ] || ERROR=yes
1854 if [ "$VAR" = "sql" ]; then
1855 # set the CFG_SQL_driver
1856 eval "CFG_SQL_$VAL=\$OPT"
1858 elif [ "$VAR" = "imageformat" ]; then
1859 [ "$OPT" = "qt" ] && OPT=yes
1860 VAL="`echo $VAL |tr a-z A-Z`"
1861 eval "CFG_$VAL=$OPT"
1865 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
1866 if [ "$OPT" = "plugin" ]; then
1869 QMakeVar add "${VAR}s" "${VAL}"
1870 elif [ "$OPT" = "no" ]; then
1871 PLUG_VAR="${VAR}-plugin"
1873 QMakeVar del "${IN_VAR}s" "$VAL"
1874 QMakeVar del "${PLUG_VAR}s" "$VAL"
1876 if [ "$ERROR" = "yes" ]; then
1877 echo "$CURRENT_OPT: unknown argument"
1882 if [ "$VAL" = "yes" ]; then
1883 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
1884 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
1888 elif [ "$VAL" = "no" ]; then
1889 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
1890 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
1899 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1906 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1913 DEFINES="$DEFINES \"$VAL\""
1914 D_FLAGS="$D_FLAGS -D\"$VAL\""
1917 I_FLAGS="$I_FLAGS -I\"${VAL}\""
1920 L_FLAGS="$L_FLAGS -L\"${VAL}\""
1923 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
1926 l_FLAGS="$l_FLAGS -l\"${VAL}\""
1929 if [ "$BUILD_ON_MAC" = "yes" ]; then
1930 L_FLAGS="$L_FLAGS -F\"${VAL}\""
1931 I_FLAGS="$I_FLAGS -F\"${VAL}\""
1937 if [ "$BUILD_ON_MAC" = "yes" ]; then
1938 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
1944 W_FLAGS="$W_FLAGS \"${VAL}\""
1950 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1951 CFG_PHONON_BACKEND="$VAL"
1963 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1964 CFG_AUDIO_BACKEND="$VAL"
1970 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1977 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1978 CFG_FORCE_ASSERTS="$VAL"
1984 if [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
1991 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2001 if [ "$UNKNOWN_OPT" = "yes" ]; then
2002 echo "${CURRENT_OPT}: invalid command-line switch"
2008 # update QT_CONFIG to show our current predefined configuration
2009 case "$CFG_QCONFIG" in
2010 minimal|small|medium|large|full)
2011 # these are a sequence of increasing functionality
2012 for c in minimal small medium large full; do
2013 QT_CONFIG="$QT_CONFIG $c-config"
2014 [ "$CFG_QCONFIG" = $c ] && break
2018 # not known to be sufficient for anything
2019 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
2020 echo >&2 "Error: configuration file not found:"
2021 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2023 echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2028 #-------------------------------------------------------------------------------
2029 # build tree initialization
2030 #-------------------------------------------------------------------------------
2032 # where to find which..
2033 unixtests="$relpath/config.tests/unix"
2034 mactests="$relpath/config.tests/mac"
2035 WHICH="$unixtests/which.test"
2037 PERL=`$WHICH perl 2>/dev/null`
2039 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2041 for e in gawk nawk awk; do
2042 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2049 PERL="/usr/bin/perl"
2050 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2054 ### skip this if the user just needs help...
2055 if [ "$OPT_HELP" != "yes" ]; then
2057 # is this a shadow build?
2058 if [ "$OPT_SHADOW" = "maybe" ]; then
2060 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2061 if [ -h "$outpath" ]; then
2062 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2068 if [ "$OPT_SHADOW" = "yes" ]; then
2069 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2070 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2071 echo >&2 "Cannot proceed."
2074 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2077 if [ "$PLATFORM_MAC" = "no" -a "$CFG_DEBUG_RELEASE" = "yes" ]; then
2079 echo "WARNING: -debug-and-release is not supported outside of Mac OS X."
2080 echo "Qt can be built in release mode with separate debug information, so"
2081 echo "-debug-and-release is not necessary anymore"
2085 if [ "$CFG_SILENT" = "yes" ]; then
2086 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2089 # if the source tree is different from the build tree,
2090 # symlink or copy part of the sources
2091 if [ "$OPT_SHADOW" = "yes" ]; then
2092 echo "Preparing build tree..."
2094 if [ -z "$PERL" ]; then
2096 echo "You need perl in your PATH to make a shadow build."
2097 echo "Cannot proceed."
2101 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2103 # make a syncqt script that can be used in the shadow
2104 rm -f "$outpath/bin/syncqt"
2105 if [ -x "$relpath/bin/syncqt" ]; then
2106 mkdir -p "$outpath/bin"
2107 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2108 echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2109 chmod 755 "$outpath/bin/syncqt"
2112 for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
2113 rm -f "$outpath/bin/$i"
2114 if [ -x "$relpath/bin/$i" ]; then
2115 mkdir -p "$outpath/bin"
2116 echo "#!/bin/sh" >"$outpath/bin/$i"
2117 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2118 echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2119 chmod 755 "$outpath/bin/$i"
2123 # save a pre-existing mkspecs/modules dir
2124 test -d "$outpath/mkspecs/modules" && \
2125 mv "$outpath/mkspecs/modules" "$outpath/mkspecs-modules"
2127 # symlink the mkspecs directory
2128 mkdir -p "$outpath/mkspecs"
2129 rm -rf "$outpath"/mkspecs/*
2130 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2131 rm -f "$outpath/mkspecs/default"
2135 rm -rf "$outpath/mkspecs/$1"
2136 find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2137 find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2140 # Special case for mkspecs/features directory.
2141 # To be able to place .prf files into a shadow build directory,
2142 # we're creating links for files only. The directory structure is reproduced.
2143 ShadowMkspecs features
2145 # The modules dir is special, too.
2146 if test -d "$outpath/mkspecs-modules"; then
2147 rm -rf "$outpath/mkspecs/modules"
2148 mv "$outpath/mkspecs-modules" "$outpath/mkspecs/modules"
2150 ShadowMkspecs modules
2153 # symlink the doc directory
2154 rm -rf "$outpath/doc"
2155 ln -s "$relpath/doc" "$outpath/doc"
2158 # symlink fonts to be able to run application from build directory
2159 if [ ! -d "${outpath}/lib/fonts" ]; then
2160 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2161 mkdir -p "${outpath}/lib"
2162 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2166 if [ "$OPT_FAST" = "auto" ]; then
2167 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2174 # find a make command
2175 if [ -z "$MAKE" ]; then
2177 for mk in gmake make; do
2178 if "$WHICH" $mk >/dev/null 2>&1; then
2183 if [ -z "$MAKE" ]; then
2184 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2185 echo >&2 "Cannot proceed."
2188 # export MAKE, we need it later in the config.tests
2194 #-------------------------------------------------------------------------------
2195 # auto-detect all that hasn't been specified in the arguments
2196 #-------------------------------------------------------------------------------
2198 if [ -z "$PLATFORM" ]; then
2200 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2202 OSX_VERSION=`uname -r | cut -d. -f1`
2203 # Select compiler. Use g++ unless we find a usable Clang version
2205 if [ "$OSX_VERSION" -ge 12 ]; then
2206 # We're on Mountain Lion or above. Use Clang. Don't advertise gcc.
2208 elif [ "$OSX_VERSION" -eq 11 ]; then
2209 # We're on Lion. Check if we have a supported Clang version
2210 case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
2213 PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
2220 #PLATFORM=aix-g++-64
2222 #PLATFORM=aix-xlc-64
2224 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2234 # PLATFORM=dynix-g++
2240 PLATFORM=freebsd-g++
2242 - Also available for FreeBSD: freebsd-icc
2246 PLATFORM=openbsd-g++
2257 #PLATFORM=irix-cc-64
2259 - Also available for IRIX: irix-g++ irix-cc-64
2263 case "$UNAME_MACHINE" in
2265 #PLATFORM=hpuxi-acc-32
2266 PLATFORM=hpuxi-acc-64
2268 - Also available for HP-UXi: hpuxi-acc-32
2274 #PLATFORM=hpux-acc-64
2276 #PLATFORM=hpux-acc-o64
2278 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2287 - Also available for Tru64: tru64-g++
2291 case "$UNAME_MACHINE" in
2293 PLATFORM=linux-g++-64
2300 - Also available for Linux: linux-kcc linux-icc linux-cxx
2304 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2305 PLATFORM="solaris-g++"
2307 #PLATFORM=solaris-g++
2309 #PLATFORM=solaris-cc64
2312 - Also available for Solaris: solaris-g++ solaris-cc-64
2315 ReliantUNIX-*:*|SINIX-*:*)
2316 PLATFORM=reliant-cds
2317 #PLATFORM=reliant-cds-64
2319 - Also available for Reliant UNIX: reliant-cds-64
2329 #PLATFORM=unixware-g++
2330 PLATFORM=unixware-cc
2332 - Also available for OpenUNIX: unixware-g++
2336 #PLATFORM=unixware-g++
2337 PLATFORM=unixware-cc
2339 - Also available for UnixWare: unixware-g++
2346 - Also available for SCO OpenServer: sco-g++
2350 PLATFORM=unixware-g++
2353 PLATFORM=unsupported/qnx-g++
2356 if [ "$OPT_HELP" != "yes" ]; then
2358 for p in $PLATFORMS; do
2359 echo " $relconf $* -platform $p"
2362 echo " The build script does not currently recognize all" >&2
2363 echo " platforms supported by Qt." >&2
2364 echo " Rerun this script with a -platform option listed to" >&2
2365 echo " set the system/compiler combination you use." >&2
2372 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2374 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2376 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2377 case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
2378 case "$XPLATFORM" in qnx-*) XPLATFORM_QNX=yes;; esac
2380 if [ -d "$PLATFORM" ]; then
2381 QMAKESPEC="$PLATFORM"
2383 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2385 if [ -d "$XPLATFORM" ]; then
2386 XQMAKESPEC="$XPLATFORM"
2388 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2390 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2391 QT_CROSS_COMPILE=yes
2392 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2393 QTCONFIG_CONFIG="$QTCONFIG_CONFIG cross_compile"
2396 if [ "$BUILD_ON_MAC" = "yes" ]; then
2397 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2399 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2400 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2401 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2402 echo " built with 'macx-g++'" >&2
2408 # check specified platforms are supported
2409 if [ '!' -d "$QMAKESPEC" ]; then
2411 echo " The specified system/compiler is not supported:"
2415 echo " Please see the README file for a complete list."
2419 if [ '!' -d "$XQMAKESPEC" ]; then
2421 echo " The specified system/compiler is not supported:"
2425 echo " Please see the README file for a complete list."
2429 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2431 echo " The specified system/compiler port is not complete:"
2433 echo " $XQMAKESPEC/qplatformdefs.h"
2435 echo " Please contact qt-info@nokia.com."
2440 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2441 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2442 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2443 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2444 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2448 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2449 case `basename "$XPLATFORM"` in
2452 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2454 echo "Please contact qt-info@nokia.com to upgrade your license to"
2455 echo "include this platform, or install the Qt Open Source Edition"
2456 echo "if you intend to develop free software."
2462 #-------------------------------------------------------------------------------
2463 # tests that don't need qmake (must be run before displaying help)
2464 #-------------------------------------------------------------------------------
2466 # detect build style
2467 if [ "$CFG_DEBUG" = "auto" ]; then
2468 if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2469 CFG_DEBUG_RELEASE=yes
2471 elif [ "$CFG_DEV" = "yes" ]; then
2472 CFG_DEBUG_RELEASE=no
2475 CFG_DEBUG_RELEASE=no
2479 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2480 QT_CONFIG="$QT_CONFIG build_all"
2483 # pass on $CFG_SDK to the configure tests.
2484 if [ '!' -z "$CFG_SDK" ]; then
2485 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
2488 # find the default framework value
2489 if [ "$BUILD_ON_MAC" = "yes" ]; then
2490 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2491 CFG_FRAMEWORK="$CFG_SHARED"
2492 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2494 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2502 QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
2504 TEST_COMPILER=$QMAKE_CONF_COMPILER
2505 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
2506 if [ -z "$TEST_COMPILER" ]; then
2507 echo "ERROR: Cannot set the compiler for the configuration tests"
2513 case "$TEST_COMPILER" in *g++) GCC_MACHINE_DUMP=$($TEST_COMPILER -dumpmachine);; esac
2514 if [ -n "$GCC_MACHINE_DUMP" ]; then
2515 DeviceVar set GCC_MACHINE_DUMP $($TEST_COMPILER -dumpmachine)
2518 if [ -n "$CFG_SYSROOT" ]; then
2519 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
2523 export SYSROOT_FLAG # used by config.tests/unix/compile.test
2525 # auto-detect precompiled header support
2526 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2527 if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2534 # auto-detect support for separate debug info in objcopy
2535 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
2536 TEST_COMPILER_CFLAGS=`getXQMakeConf QMAKE_CFLAGS`
2537 TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
2538 TEST_OBJCOPY=`getXQMakeConf QMAKE_OBJCOPY`
2539 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
2540 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
2541 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
2542 CFG_SEPARATE_DEBUG_INFO=no
2546 # binutils on HP-UX is buggy; default to no.
2547 CFG_SEPARATE_DEBUG_INFO=no
2550 CFG_SEPARATE_DEBUG_INFO=yes
2556 # auto-detect -fvisibility support
2557 if [ "$CFG_REDUCE_EXPORTS" != "no" ]; then
2558 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2559 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
2560 echo "-reduce-exports was requested but this compiler does not support it"
2561 echo "Re-run configure with -v for more information"
2564 CFG_REDUCE_EXPORTS=no
2566 CFG_REDUCE_EXPORTS=yes
2570 # detect the availability of the -Bsymbolic-functions linker optimization
2571 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
2572 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2573 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
2574 echo "-reduce-relocations was requested but this compiler does not support it"
2575 echo "Re-run configure with -v for more information"
2578 CFG_REDUCE_RELOCATIONS=no
2580 CFG_REDUCE_RELOCATIONS=yes
2584 # auto-detect GNU make support
2585 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
2589 # find the default framework value
2590 if [ "$BUILD_ON_MAC" = "yes" ]; then
2591 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2592 CFG_FRAMEWORK="$CFG_SHARED"
2593 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2595 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2603 #setup the build parts
2604 if [ -z "$CFG_BUILD_PARTS" ]; then
2605 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
2607 # build tests by default, if a developer build
2608 if [ "$CFG_DEV" = "yes" ]; then
2609 CFG_BUILD_PARTS="$CFG_BUILD_PARTS tests"
2612 # don't build tools by default when cross-compiling
2613 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2614 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
2617 for nobuild in $CFG_NOBUILD_PARTS; do
2618 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
2620 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
2622 # echo "WARNING: libs is a required part of the build."
2624 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
2627 #-------------------------------------------------------------------------------
2628 # post process QT_INSTALL_* variables
2629 #-------------------------------------------------------------------------------
2631 if [ -z "$QT_INSTALL_PREFIX" ]; then
2632 if [ "$CFG_DEV" = "yes" ]; then
2633 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
2635 QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION
2638 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
2640 if [ -z "$QT_INSTALL_DOCS" ]; then #default
2641 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2642 if [ "$BUILD_ON_MAC" = "yes" ]; then
2643 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
2646 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
2649 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
2651 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
2652 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2653 if [ "$BUILD_ON_MAC" = "yes" ]; then
2654 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2659 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
2662 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
2664 if [ -z "$QT_INSTALL_LIBS" ]; then #default
2665 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2666 if [ "$BUILD_ON_MAC" = "yes" ]; then
2667 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2668 QT_INSTALL_LIBS="/Libraries/Frameworks"
2672 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
2674 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
2676 if [ -z "$QT_INSTALL_BINS" ]; then #default
2677 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2678 if [ "$BUILD_ON_MAC" = "yes" ]; then
2679 QT_INSTALL_BINS="/Developer/Applications/Qt"
2682 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
2684 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
2686 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
2687 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2688 if [ "$BUILD_ON_MAC" = "yes" ]; then
2689 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
2692 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
2694 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
2696 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
2697 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2698 if [ "$BUILD_ON_MAC" = "yes" ]; then
2699 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
2702 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
2704 QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
2706 if [ -z "$QT_INSTALL_DATA" ]; then #default
2707 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
2709 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
2711 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
2712 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
2714 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
2716 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
2717 if [ "$BUILD_ON_MAC" = "yes" ]; then
2718 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
2720 QT_INSTALL_SETTINGS=/etc/xdg
2723 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
2725 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
2726 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2727 if [ "$BUILD_ON_MAC" = "yes" ]; then
2728 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
2731 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
2733 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
2736 if [ -z "$QT_INSTALL_TESTS" ]; then #default
2737 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2738 if [ "$BUILD_ON_MAC" = "yes" ]; then
2739 QT_INSTALL_TESTS="/Developer/Tests/Qt"
2742 [ -z "$QT_INSTALL_TESTS" ] && QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback
2744 QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
2746 #------- host paths --------
2748 if [ -z "$QT_HOST_PREFIX" ]; then
2749 QT_HOST_PREFIX=$QT_INSTALL_PREFIX
2752 QT_HOST_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_PREFIX"`
2756 if [ -z "$QT_HOST_BINS" ]; then #default
2758 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2759 if [ "$BUILD_ON_MAC" = "yes" ]; then
2760 QT_HOST_BINS="/Developer/Applications/Qt"
2763 [ -z "$QT_HOST_BINS" ] && QT_HOST_BINS="$QT_HOST_PREFIX/bin" #fallback
2765 QT_HOST_BINS="$QT_INSTALL_BINS"
2768 QT_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_BINS"`
2770 if [ -z "$QT_HOST_DATA" ]; then #default
2772 QT_HOST_DATA="$QT_HOST_PREFIX"
2774 QT_HOST_DATA="$QT_INSTALL_DATA"
2777 QT_HOST_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_DATA"`
2780 #-------------------------------------------------------------------------------
2781 # help - interactive parts of the script _after_ this section please
2782 #-------------------------------------------------------------------------------
2784 # next, emit a usage message if something failed.
2785 if [ "$OPT_HELP" = "yes" ]; then
2786 [ "x$ERROR" = "xyes" ] && echo
2787 if [ "$CFG_NIS" = "no" ]; then
2794 if [ "$CFG_CUPS" = "no" ]; then
2801 if [ "$CFG_ICONV" = "no" ]; then
2808 if [ "$CFG_LARGEFILE" = "no" ]; then
2815 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
2823 if [ "$CFG_XCB" = "no" ]; then
2831 if [ "$CFG_EGLFS" = "no" ]; then
2839 if [ "$CFG_DIRECTFB" = "no" ]; then
2846 if [ "$CFG_XINPUT2" = "no" ]; then
2854 if [ "$CFG_DBUS" = "no" ]; then
2862 if [ "$CFG_SEPARATE_DEBUG_INFO" = "no" ]; then
2870 if [ "$CFG_GLIB" = "no" ]; then
2879 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
2880 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
2881 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-testsdir <dir>]
2882 [-release] [-debug] [-debug-and-release] [-c++11] [-no-c++11]
2883 [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
2884 [-largefile] [-no-accessibility] [-accessibility] [-no-sql-<driver>] [-sql-<driver>]
2885 [-plugin-sql-<driver>] [-system-sqlite]
2886 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
2887 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
2888 [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
2889 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
2890 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
2891 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
2892 [-no-separate-debug-info] [-no-sse2]
2893 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
2894 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info]
2895 [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
2896 [-no-audio-backend] [-audio-backend]
2897 [-no-javascript-jit] [-javascript-jit] [-no-qml-debug] [-qml-debug]
2898 [-no-optimized-qmake] [-optimized-qmake]
2899 [-no-openssl] [-openssl] [-openssl-linked]
2900 [-no-gtkstyle] [-gtkstyle]
2901 [-qt-pcre] [-system-pcre]
2902 [-device <name>] [-device-option <key=value>]
2903 [additional platform specific options (see below)]
2906 Installation options:
2908 These are optional, but you may specify install directories.
2910 -prefix <dir> ...... This will install everything relative to <dir>
2911 (default $QT_INSTALL_PREFIX)
2913 -hostprefix [dir] .. Tools and libraries needed when developing
2914 applications are installed in [dir]. If [dir] is
2915 not given, the current build directory will be used.
2918 * -prefix-install .... Force a sandboxed "local" installation of
2919 Qt. This will install into
2920 $QT_INSTALL_PREFIX, if this option is
2921 disabled then some platforms will attempt a
2922 "system" install by placing default values to
2923 be placed in a system location other than
2926 You may use these to separate different parts of the install:
2928 -bindir <dir> ......... Executables will be installed to <dir>
2929 (default PREFIX/bin)
2930 -libdir <dir> ......... Libraries will be installed to <dir>
2931 (default PREFIX/lib)
2932 -docdir <dir> ......... Documentation will be installed to <dir>
2933 (default PREFIX/doc)
2934 -headerdir <dir> ...... Headers will be installed to <dir>
2935 (default PREFIX/include)
2936 -plugindir <dir> ...... Plugins will be installed to <dir>
2937 (default PREFIX/plugins)
2938 -importdir <dir> ...... Imports for QML will be installed to <dir>
2939 (default PREFIX/imports)
2940 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
2942 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
2943 (default PREFIX/translations)
2944 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
2945 (default PREFIX/etc/settings)
2946 -examplesdir <dir> .... Examples will be installed to <dir>
2947 (default PREFIX/examples)
2948 -testsdir <dir> ....... Tests will be installed to <dir>
2949 (default PREFIX/tests)
2951 -hostbindir <dir> .. Host executables will be installed to <dir>
2952 (default HOSTPREFIX/bin)
2953 -hostdatadir <dir> . Data used by qmake will be installed to <dir>
2954 (default HOSTPREFIX)
2958 The defaults (*) are usually acceptable. A plus (+) denotes a default value
2959 that needs to be evaluated. If the evaluation succeeds, the feature is
2960 included. Here is a short explanation of each option:
2962 * -release ........... Compile and link Qt with debugging turned off.
2963 -debug ............. Compile and link Qt with debugging turned on.
2964 -debug-and-release . Compile and link two versions of Qt, with and without
2965 debugging turned on (Mac only).
2967 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
2969 -opensource ........ Compile and link the Open-Source Edition of Qt.
2970 -commercial ........ Compile and link the Commercial Edition of Qt.
2972 -no-c++11 .......... Do not compile Qt with C++11 support enabled.
2973 + -c++11 ............. Compile Qt with C++11 support enabled.
2975 * -shared ............ Create and use shared Qt libraries.
2976 -static ............ Create and use static Qt libraries.
2978 * -no-fast ........... Configure Qt normally by generating Makefiles for all
2980 -fast .............. Configure Qt quickly by generating Makefiles only for
2981 library and subdirectory targets. All other Makefiles
2982 are created as wrappers, which will in turn run qmake.
2984 -no-largefile ...... Disables large file support.
2985 + -largefile ......... Enables Qt to access files larger than 4 GB.
2987 -no-accessibility .. Do not compile Accessibility support.
2988 * -accessibility ..... Compile Accessibility support.
2990 -no-sql-<driver> ... Disable SQL <driver> entirely.
2991 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
2993 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
2996 Possible values for <driver>:
2997 [ $CFG_SQL_AVAILABLE ]
2999 -system-sqlite ..... Use sqlite from the operating system.
3001 -no-phonon-backend.. Do not build the platform phonon plugin.
3002 + -phonon-backend..... Build the platform phonon plugin.
3004 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
3005 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
3007 -no-qml-debug ...... Do not build the in-process QML debugging support.
3008 + -qml-debug ......... Build the QML debugging support.
3010 -platform target ... The operating system and compiler you are building
3013 See the README file for a list of supported
3014 operating systems and compilers.
3016 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3017 -no-sse3 ........... Do not compile with use of SSE3 instructions.
3018 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
3019 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
3020 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
3021 -no-avx ............ Do not compile with use of AVX instructions.
3022 -no-avx2 ........... Do not compile with use of AVX2 instructions.
3023 -no-neon ........... Do not compile with use of NEON instructions.
3024 -no-mips_dsp ....... Do not compile with use of MIPS DSP instructions.
3025 -no-mips_dspr2 ..... Do not compile with use of MIPS DSP rev2 instructions.
3027 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3028 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3030 -testcocoon Instrument Qt with the TestCocoon code coverage tool.
3032 -D <string> ........ Add an explicit define to the preprocessor.
3033 -I <string> ........ Add an explicit include path.
3034 -L <string> ........ Add an explicit library path.
3036 + -pkg-config ........ Use pkg-config to detect include and library paths. By default,
3037 configure determines whether to use pkg-config or not with
3038 some heuristics such as checking the environment variables.
3039 -no-pkg-config ..... Disable use of pkg-config.
3040 -force-pkg-config .. Force usage of pkg-config (skips pkg-config usability
3041 detection heuristic).
3043 -help, -h .......... Display this information.
3045 Third Party Libraries:
3047 -qt-zlib ........... Use the zlib bundled with Qt.
3048 + -system-zlib ....... Use zlib from the operating system.
3049 See http://www.gzip.org/zlib
3051 -no-gif ............ Do not compile GIF reading support.
3053 -no-libpng ......... Do not compile PNG support.
3054 -qt-libpng ......... Use the libpng bundled with Qt.
3055 + -system-libpng ..... Use libpng from the operating system.
3056 See http://www.libpng.org/pub/png
3058 -no-libjpeg ........ Do not compile JPEG support.
3059 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3060 + -system-libjpeg .... Use libjpeg from the operating system.
3061 See http://www.ijg.org
3063 -no-openssl ........ Do not compile support for OpenSSL.
3064 + -openssl ........... Enable run-time OpenSSL support.
3065 -openssl-linked .... Enabled linked OpenSSL support.
3067 -qt-pcre ........... Use the PCRE library bundled with Qt.
3068 + -system-pcre ....... Use the PCRE library from the operating system.
3072 -make <part> ....... Add part to the list of parts to be built at make time.
3073 ($QT_DEFAULT_BUILD_PARTS)
3074 -nomake <part> ..... Exclude part from the list of parts to be built.
3076 -R <string> ........ Add an explicit runtime library path to the Qt
3078 -l <string> ........ Add an explicit library.
3080 -no-rpath .......... Do not use the library install path as a runtime
3082 + -rpath ............. Link Qt libraries and executables using the library
3083 install path as a runtime library path. Equivalent
3084 to -R install_libpath
3086 -continue .......... Continue as far as possible if an error occurs.
3088 -verbose, -v ....... Print verbose information about each step of the
3091 -silent ............ Reduce the build output so that warnings and errors
3092 can be seen more easily.
3094 * -no-optimized-qmake ... Do not build qmake optimized.
3095 -optimized-qmake ...... Build qmake optimized.
3097 -no-gui ............ Don't build the Qt GUI library
3099 $NSN -no-nis ............ Do not compile NIS support.
3100 $NSY -nis ............... Compile NIS support.
3102 $CUN -no-cups ........... Do not compile CUPS support.
3103 $CUY -cups .............. Compile CUPS support.
3104 Requires cups/cups.h and libcups.so.2.
3106 $CIN -no-iconv .......... Do not compile support for iconv(3).
3107 $CIY -iconv ............. Compile support for iconv(3).
3109 $PHN -no-pch ............ Do not use precompiled header support.
3110 $PHY -pch ............... Use precompiled header support.
3112 $DBN -no-dbus ........... Do not compile the QtDBus module.
3113 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3114 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3116 -reduce-relocations ..... Reduce relocations in the libraries through extra
3117 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3118 experimental; needs GNU ld >= 2.18).
3120 -force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
3122 -device <name> ............... Cross-compile for device <name> (experimental)
3123 -device-option <key=value> ... Add device specific options for the device mkspec
3126 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3127 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3129 $XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
3130 $XCBY -xcb ............... Compile Xcb support.
3132 $EGLFSN -no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support.
3133 $EGLFSY -eglfs ............. Compile EGLFS support (Requires OpenGL ES 2 support).
3135 $DFBN -no-directfb ....... Do not compile DirectFB support.
3136 $DFBY -directfb .......... Compile DirectFB support.
3138 -qpa <name> ......... Sets the default QPA platform (e.g xcb, cocoa, windows).
3140 -xplatform target ... The target platform when cross-compiling.
3142 -sysroot <dir> ...... Sets <dir> as the target compiler's and qmake's sysroot.
3144 -no-feature-<feature> Do not compile in <feature>.
3145 -feature-<feature> .. Compile in <feature>. The available features
3146 are described in src/corelib/global/qfeatures.txt
3148 -no-freetype ........ Do not compile in Freetype2 support.
3149 -qt-freetype ........ Use the libfreetype bundled with Qt.
3150 * -system-freetype .... Use libfreetype from the operating system.
3151 See http://www.freetype.org/
3153 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3154 default ($CFG_QCONFIG).
3156 -no-opengl .......... Do not support OpenGL.
3157 -opengl <api> ....... Enable OpenGL support
3158 With no parameter, this will attempt to auto-detect
3159 OpenGL ES 2, or regular desktop OpenGL.
3160 Use es2 for <api> to override auto-detection.
3162 $GBN -no-glib ........... Do not compile Glib support.
3163 $GBY -glib .............. Compile Glib support.
3166 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
3169 $X2N -no-xinput2......... Do not compile XInput2 support.
3170 $X2Y -xinput2............ Compile XInput2 support.
3176 if [ "$BUILD_ON_MAC" = "yes" ]; then
3181 -Fstring ........... Add an explicit framework path.
3182 -fw string ......... Add an explicit framework.
3184 * -framework ......... Build Qt as a series of frameworks and
3185 link tools against those frameworks.
3186 -no-framework ...... Do not build Qt as a series of frameworks.
3188 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3189 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3191 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
3192 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
3193 QT_ENABLE_HARFBUZZ environment variable.
3198 [ "x$ERROR" = "xyes" ] && exit 1
3203 # -----------------------------------------------------------------------------
3204 # LICENSING, INTERACTIVE PART
3205 # -----------------------------------------------------------------------------
3208 echo "This is the Qt ${EditionString} Edition."
3211 if [ "$Edition" = "OpenSource" ]; then
3213 echo "You are licensed to use this software under the terms of"
3214 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
3215 if [ -f "$relpath/LICENSE.GPL3" ]; then
3216 echo "You are also licensed to use this software under the terms of"
3217 echo "the GNU General Public License (GPL) versions 3."
3223 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3224 echo "You have already accepted the terms of the $LicenseType license."
3227 if [ -f "$relpath/LICENSE.GPL3" ]; then
3228 echo "Type '3' to view the GNU General Public License version 3."
3230 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
3231 echo "Type 'yes' to accept this license offer."
3232 echo "Type 'no' to decline this license offer."
3234 echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
3238 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
3240 elif [ "$acceptance" = "no" ]; then
3241 echo "You are not licensed to use this software."
3244 elif [ "$acceptance" = "3" ]; then
3245 more "$relpath/LICENSE.GPL3"
3246 elif [ "$acceptance" = "L" ]; then
3247 more "$relpath/LICENSE.LGPL"
3250 elif [ "$Edition" = "Preview" ]; then
3251 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
3254 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3255 echo "You have already accepted the terms of the $LicenseType license."
3258 echo "You are licensed to use this software under the terms of"
3259 echo "the $TheLicense"
3261 echo "Type '?' to read the Preview License."
3262 echo "Type 'yes' to accept this license offer."
3263 echo "Type 'no' to decline this license offer."
3265 echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
3269 if [ "$acceptance" = "yes" ]; then
3271 elif [ "$acceptance" = "no" ] ;then
3272 echo "You are not licensed to use this software."
3275 elif [ "$acceptance" = "?" ]; then
3276 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
3279 elif [ "$Edition" != "OpenSource" ]; then
3280 if [ -n "$ExpiryDate" ]; then
3281 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
3282 [ -z "$ExpiryDate" ] && ExpiryDate="0"
3283 Today=`date +%Y%m%d`
3284 if [ "$Today" -gt "$ExpiryDate" ]; then
3285 case "$LicenseType" in
3286 Commercial|Academic|Educational)
3287 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
3289 echo "NOTICE NOTICE NOTICE NOTICE"
3291 echo " Your support and upgrade period has expired."
3293 echo " You are no longer licensed to use this version of Qt."
3294 echo " Please contact qt-info@nokia.com to renew your support"
3295 echo " and upgrades for this license."
3297 echo "NOTICE NOTICE NOTICE NOTICE"
3302 echo "WARNING WARNING WARNING WARNING"
3304 echo " Your support and upgrade period has expired."
3306 echo " You may continue to use your last licensed release"
3307 echo " of Qt under the terms of your existing license"
3308 echo " agreement. But you are not entitled to technical"
3309 echo " support, nor are you entitled to use any more recent"
3310 echo " Qt releases."
3312 echo " Please contact qt-info@nokia.com to renew your"
3313 echo " support and upgrades for this license."
3315 echo "WARNING WARNING WARNING WARNING"
3322 echo "NOTICE NOTICE NOTICE NOTICE"
3324 echo " Your Evaluation license has expired."
3326 echo " You are no longer licensed to use this software. Please"
3327 echo " contact qt-info@nokia.com to purchase license, or install"
3328 echo " the Qt Open Source Edition if you intend to develop free"
3331 echo "NOTICE NOTICE NOTICE NOTICE"
3338 TheLicense=`head -n 1 "$outpath/LICENSE"`
3340 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3341 echo "You have already accepted the terms of the $TheLicense."
3344 echo "You are licensed to use this software under the terms of"
3345 echo "the $TheLicense."
3347 echo "Type '?' to view the $TheLicense."
3348 echo "Type 'yes' to accept this license offer."
3349 echo "Type 'no' to decline this license offer."
3351 echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
3355 if [ "$acceptance" = "yes" ]; then
3357 elif [ "$acceptance" = "no" ]; then
3358 echo "You are not licensed to use this software."
3361 else [ "$acceptance" = "?" ]
3362 more "$outpath/LICENSE"
3367 # this should be moved somewhere else
3370 AIX_VERSION=`uname -v`
3371 if [ "$AIX_VERSION" -lt "5" ]; then
3372 QMakeVar add QMAKE_LIBS_X11 -lbind
3379 #-------------------------------------------------------------------------------
3380 # generate qconfig.cpp
3381 #-------------------------------------------------------------------------------
3382 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
3384 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3386 static const char qt_configure_licensee_str [256 + 12] = "qt_lcnsuser=$Licensee";
3387 static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$Edition";
3389 /* Installation date */
3390 static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`";
3392 /* Installation Info */
3393 static const char qt_configure_prefix_path_strs[][256 + 12] = {
3394 "qt_prfxpath=$QT_INSTALL_PREFIX",
3395 "qt_docspath=$QT_INSTALL_DOCS",
3396 "qt_hdrspath=$QT_INSTALL_HEADERS",
3397 "qt_libspath=$QT_INSTALL_LIBS",
3398 "qt_binspath=$QT_INSTALL_BINS",
3399 "qt_plugpath=$QT_INSTALL_PLUGINS",
3400 "qt_impspath=$QT_INSTALL_IMPORTS",
3401 "qt_datapath=$QT_INSTALL_DATA",
3402 "qt_trnspath=$QT_INSTALL_TRANSLATIONS",
3403 "qt_xmplpath=$QT_INSTALL_EXAMPLES",
3404 "qt_tstspath=$QT_INSTALL_TESTS",
3405 #ifdef QT_BUILD_QMAKE
3406 "qt_ssrtpath=$CFG_SYSROOT",
3407 "qt_hpfxpath=$QT_HOST_PREFIX",
3408 "qt_hbinpath=$QT_HOST_BINS",
3409 "qt_hdatpath=$QT_HOST_DATA",
3412 static const char qt_configure_settings_path_str[256 + 12] = "qt_stngpath=$QT_INSTALL_SETTINGS";
3415 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3417 /* strlen( "qt_lcnsxxxx" ) == 12 */
3418 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
3419 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
3421 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
3424 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
3425 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
3426 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
3428 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
3429 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
3430 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
3433 # -----------------------------------------------------------------------------
3434 if [ "$LicenseType" = "Evaluation" ]; then
3435 EVALKEY=qt_qevalkey=$LicenseKeyExt
3436 elif echo "$DEFINES" | grep QT_EVAL >/dev/null 2>&1; then
3437 EVALKEY=qt_qevalkey=
3440 if [ -n "$EVALKEY" ]; then
3441 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
3442 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
3443 /* Evaluation license key */
3444 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
3446 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
3450 # -----------------------------------------------------------------------------
3452 # -----------------------------------------------------------------------------
3455 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
3457 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
3458 if [ "$OPT_SHADOW" = "yes" ]; then
3459 "$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
3460 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
3461 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
3465 # $1: input variable name (awk regexp)
3466 # $2: optional output variable name
3467 # $3: optional value transformation (sed command)
3468 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
3469 # is where the resulting variable is written to
3470 setBootstrapVariable()
3472 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
3476 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
3477 echo "Creating qmake. Please wait..."
3480 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
3481 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
3482 if [ -f "$QCONFIG_H" ]; then
3483 OLD_QCONFIG_H=$QCONFIG_H
3484 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
3487 # create temporary qconfig.h for compiling qmake, if it doesn't exist
3488 # when building qmake, we use #defines for the install paths,
3489 # however they are real functions in the library
3490 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
3491 mkdir -p "$outpath/src/corelib/global"
3492 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
3493 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
3496 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
3498 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
3499 rm -rf mkspecs/default
3500 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
3501 mkdir -p "$outpath/qmake" || exit
3503 for mkfile in GNUmakefile Makefile; do
3506 in_mkfile="${mkfile}.in"
3507 if [ "$mkfile" = "Makefile" ]; then
3508 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
3509 # (cd qmake && qmake) >/dev/null 2>&1 && continue
3511 in_mkfile="${mkfile}.unix"
3513 in_mkfile="$relpath/qmake/$in_mkfile"
3514 mkfile="$outpath/qmake/$mkfile"
3515 if [ -f "$mkfile" ]; then
3516 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
3519 [ -f "$in_mkfile" ] || continue
3521 echo "########################################################################" > "$mkfile"
3522 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
3523 echo "########################################################################" >> "$mkfile"
3526 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
3527 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
3528 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
3530 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
3531 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
3534 [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
3535 setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
3536 setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
3537 setBootstrapVariable QMAKE_CFLAGS
3538 setBootstrapVariable QMAKE_CXXFLAGS
3539 setBootstrapVariable QMAKE_LFLAGS
3541 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
3542 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
3543 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
3545 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
3546 setBootstrapVariable QMAKE_CFLAGS_RELEASE
3547 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
3548 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
3549 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
3550 elif [ "$CFG_DEBUG" = "yes" ]; then
3551 setBootstrapVariable QMAKE_CFLAGS_DEBUG
3552 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
3553 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
3554 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
3557 if [ -n "$RPATH_FLAGS" ] && [ -n "`getQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
3558 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" QMAKE_LFLAGS_RPATH
3559 for rpath in $RPATH_FLAGS; do
3560 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
3563 if [ "$BUILD_ON_MAC" = "yes" ]; then
3564 echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
3565 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
3566 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
3567 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
3568 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
3569 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
3570 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
3571 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
3572 if [ '!' -z "$CFG_SDK" ]; then
3573 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
3574 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
3575 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
3576 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
3577 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
3580 if [ '!' -z "$D_FLAGS" ]; then
3581 EXTRA_CFLAGS="$EXTRA_CFLAGS $D_FLAGS"
3583 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
3584 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
3585 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
3586 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
3588 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
3589 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
3590 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
3591 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
3592 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
3593 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
3594 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
3595 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
3596 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
3597 -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
3599 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
3600 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
3601 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
3602 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
3607 QMAKE_BUILD_ERROR=no
3608 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
3609 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
3610 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
3611 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
3614 #-------------------------------------------------------------------------------
3616 #-------------------------------------------------------------------------------
3617 if [ -z "$PKG_CONFIG" ]; then
3618 # See if PKG_CONFIG is set in the mkspec:
3619 PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
3621 if [ -z "$PKG_CONFIG" ]; then
3622 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
3625 if [ "$CFG_PKGCONFIG" = "no" ]; then
3627 elif [ "$CFG_PKGCONFIG" = "force" ]; then
3629 echo >&2 "You have asked to use pkg-config. Please make sure you have"
3630 echo >&2 "a correctly setup pkg-config environment!"
3632 elif [ -n "$PKG_CONFIG" ]; then
3633 # found a pkg-config
3634 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3635 # when xcompiling, check environment to see if it's actually usable
3636 if [ -z "$PKG_CONFIG_LIBDIR" ]; then
3637 if [ -n "$CFG_SYSROOT" ] && [ -d "$CFG_SYSROOT/usr/lib/pkgconfig" ]; then
3638 PKG_CONFIG_LIBDIR=$CFG_SYSROOT/usr/lib/pkgconfig:$CFG_SYSROOT/usr/share/pkgconfig
3639 if [ -n "$GCC_MACHINE_DUMP" ]; then
3640 PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR:$CFG_SYSROOT/usr/lib/$GCC_MACHINE_DUMP/pkgconfig
3642 export PKG_CONFIG_LIBDIR
3643 echo >&2 "Note: PKG_CONFIG_LIBDIR automatically set to $PKG_CONFIG_LIBDIR"
3644 elif [ "$CFG_PKGCONFIG" = "yes" ]; then
3645 echo >&2 "Error: PKG_CONFIG_LIBDIR has not been set. This could mean"
3646 echo >&2 "the host's .pc files will be used (even if you set PKG_CONFIG_PATH)."
3647 echo >&2 "Set this variable to the directory that contains target .pc files"
3648 echo >&2 "for pkg-config to function correctly when cross-compiling or"
3649 echo >&2 "use -force-pkg-config to override this test."
3653 echo >&2 "Warning: Disabling pkg-config since PKG_CONFIG_LIBDIR is not set."
3656 if [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
3657 if [ -n "$CFG_SYSROOT" ]; then
3658 PKG_CONFIG_SYSROOT_DIR=$CFG_SYSROOT
3659 export PKG_CONFIG_SYSROOT_DIR
3660 echo >&2 "Note: PKG_CONFIG_SYSROOT_DIR automatically set to $PKG_CONFIG_SYSROOT_DIR"
3661 elif [ "$CFG_PKGCONFIG" = "yes" ]; then
3662 echo >&2 "Error: PKG_CONFIG_SYSROOT_DIR has not been set. Set this variable"
3663 echo >&2 "to your sysroot for pkg-config to function correctly when cross-compiling"
3664 echo >&2 "or use -force-pkg-config to override this test."
3668 echo >&2 "Warning: Disabling pkg-config since PKG_CONFIG_SYSROOT_DIR is not set."
3672 elif [ "$CFG_PKGCONFIG" = "yes" ]; then
3673 echo >&2 "Could not detect pkg-config from mkspec or PATH."
3677 if [ -z "$PKG_CONFIG" ]; then
3678 QT_CONFIG="$QT_CONFIG no-pkg-config"
3681 #-------------------------------------------------------------------------------
3682 # write out device config before we run the test.
3683 #-------------------------------------------------------------------------------
3684 DEVICE_VARS_OUTFILE="$outpath/mkspecs/qdevice.pri"
3685 if cmp -s "$DEVICE_VARS_FILE" "$DEVICE_VARS_OUTFILE"; then
3686 rm -f "$DEVICE_VARS_FILE"
3688 mv -f $DEVICE_VARS_FILE "$DEVICE_VARS_OUTFILE"
3689 DEVICE_VARS_FILE="$DEVICE_VARS_OUTFILE"
3692 #-------------------------------------------------------------------------------
3693 # tests that need qmake
3694 #-------------------------------------------------------------------------------
3696 #-------------------------------------------------------------------------------
3697 # determine the target and host architectures
3698 #-------------------------------------------------------------------------------
3700 # Use config.tests/arch/arch.pro to has the compiler tell us what the target architecture is
3701 OUTFILE=$outpath/arch.result
3702 "$unixtests/arch.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "CFG"
3703 if [ $? -eq 0 ]; then
3704 eval `cat "$OUTFILE"`
3707 echo "Could not determine the target architecture!"
3708 echo "Turn on verbose messaging (-v) to see the final report."
3710 rm -f "$OUTFILE" 2>/dev/null
3711 [ -z "$CFG_ARCH" ] && CFG_ARCH="unknown"
3713 if [ "$QMAKESPEC" != "$XQMAKESPEC" ]; then
3714 # Do the same test again, using the host compiler
3715 SYSROOT_FLAG= "$unixtests/arch.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "CFG_HOST"
3716 if [ $? -eq 0 ]; then
3717 eval `cat "$OUTFILE"`
3720 echo "Could not determine the host architecture!"
3721 echo "Turn on verbose messaging (-v) to see the final report."
3723 rm -f "$OUTFILE" 2>/dev/null
3724 [ -z "$CFG_HOST_ARCH" ] && CFG_HOST_ARCH="unknown"
3726 # not cross compiling, host == target
3727 CFG_HOST_ARCH="$CFG_ARCH"
3728 CFG_HOST_CPUFEATURES="$CFG_CPUFEATURES"
3732 if [ "$OPT_VERBOSE" = "yes" ]; then
3733 echo "System architecture: '$CFG_ARCH'"
3734 echo "Host architecture: '$CFG_HOST_ARCH'"
3737 #-------------------------------------------------------------------------------
3738 # functionality tests
3739 #-------------------------------------------------------------------------------
3741 # Detect C++11 support
3742 if [ "$CFG_CXX11" != "no" ]; then
3743 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
3745 elif [ "$CFG_CXX11" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
3746 echo "C++11 support cannot be enabled due to functionality tests!"
3747 echo " Turn on verbose messaging (-v) to $0 to see the final report."
3748 echo " If you believe this message is in error you may use the continue"
3749 echo " switch (-continue) to $0 to continue."
3756 # detect availability of float math.h functions
3757 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
3758 CFG_USE_FLOATMATH=yes
3760 CFG_USE_FLOATMATH=no
3763 # detect sse2 support
3764 if [ "${CFG_SSE2}" = "auto" ]; then
3765 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS "-msse2"; then
3772 # detect sse3 support
3773 if [ "${CFG_SSE3}" = "auto" ]; then
3774 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse3 "sse3" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS "-msse3"; then
3781 # detect ssse3 support
3782 if [ "${CFG_SSSE3}" = "auto" ]; then
3783 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ssse3 "ssse3" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS "-mssse3"; then
3790 # detect sse4.1 support
3791 if [ "${CFG_SSE4_1}" = "auto" ]; then
3792 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse4_1 "sse4_1" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS "-msse4.1"; then
3799 # detect sse4.2 support
3800 if [ "${CFG_SSE4_2}" = "auto" ]; then
3801 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse4_2 "sse4_2" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS "-msse4.2"; then
3808 # detect avx support
3809 if [ "${CFG_AVX}" = "auto" ]; then
3810 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx "avx" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS "-mavx"; then
3811 case "$XQMAKESPEC" in
3813 # Some clang versions produce internal compiler errors compiling Qt AVX code
3814 case `$TEST_COMPILER --version` in
3815 Apple\ clang\ version\ 2*|Apple\ clang\ version\ 3.0*)
3817 if [ "$OPT_VERBOSE" = "yes" ]; then
3818 echo 'AVX support disabled for blacklisted clang compiler'
3835 # detect avx2 support
3836 if [ "${CFG_AVX}" = "no" ]; then
3839 if [ "${CFG_AVX2}" = "auto" ]; then
3840 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx2 "avx2" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS "-march=core-avx2"; then
3847 # check iWMMXt support
3848 if [ "$CFG_IWMMXT" = "yes" ]; then
3849 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS "-mcpu=iwmmxt"
3850 if [ $? != "0" ]; then
3851 echo "The iWMMXt functionality test failed!"
3852 echo " Please make sure your compiler supports iWMMXt intrinsics!"
3857 # detect neon support
3858 if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
3859 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/neon "neon" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS "-mfpu=neon"; then
3864 elif [ "$CFG_ARCH" != "arm" ]; then
3868 # detect mips_dsp support
3869 if [ "${CFG_ARCH}" = "mips" ] && [ "${CFG_MIPS_DSP}" = "yes" ]; then
3875 # detect mips_dspr2 support
3876 if [ "${CFG_ARCH}" = "mips" ] && [ "${CFG_MIPS_DSPR2}" = "yes" ]; then
3882 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
3885 if [ "$CFG_ZLIB" = "no" ]; then
3886 # Note: Qt no longer support builds without zlib
3887 # So we force a "no" to be "auto" here.
3888 # If you REALLY really need no zlib support, you can still disable
3889 # it by doing the following:
3890 # add "no-zlib" to mkspecs/qconfig.pri
3891 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
3893 # There's no guarantee that Qt will build under those conditions
3898 if [ "$CFG_ZLIB" = "auto" ]; then
3899 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
3906 if [ "$CFG_LARGEFILE" = "auto" ]; then
3907 #Large files should be enabled for all Linux systems
3911 if [ "$CFG_GUI" = "no" ]; then
3912 QPA_PLATFORM_GUARD=no
3915 # detect how jpeg should be built
3916 if [ "$CFG_JPEG" = "auto" ]; then
3917 if [ "$CFG_SHARED" = "yes" ]; then
3924 if [ "$CFG_LIBJPEG" = "auto" ]; then
3925 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
3932 # detect how gif should be built
3933 if [ "$CFG_GIF" = "auto" ]; then
3934 if [ "$CFG_SHARED" = "yes" ]; then
3942 if [ "$CFG_LIBPNG" = "auto" ]; then
3943 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
3950 # detect accessibility
3951 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
3952 CFG_ACCESSIBILITY=yes
3955 if [ "$CFG_EGLFS" = "yes" ]; then
3956 if [ "$CFG_EGL" = "no" ]; then
3957 echo "The EGLFS plugin requires EGL support and cannot be built"
3960 if [ "$CFG_OPENGL" != "es2" ]; then
3961 echo "The EGLFS plugin requires OpenGL ES 2 support and cannot be built"
3968 # auto-detect SQL-modules support
3969 for _SQLDR in $CFG_SQL_AVAILABLE; do
3972 if [ "$CFG_SQL_mysql" != "no" ]; then
3973 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
3974 if [ -x "$CFG_MYSQL_CONFIG" ]; then
3975 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
3976 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
3977 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
3978 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
3979 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
3981 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
3982 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
3983 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
3984 echo " You need MySql 4 or higher."
3985 echo " If you believe this message is in error you may use the continue"
3986 echo " switch (-continue) to $0 to continue."
3991 QT_LFLAGS_MYSQL_R=""
3995 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
3996 QMakeVar add CONFIG use_libmysqlclient_r
3997 if [ "$CFG_SQL_mysql" = "auto" ]; then
3998 CFG_SQL_mysql=plugin
4000 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
4001 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
4002 if [ "$CFG_SQL_mysql" = "auto" ]; then
4003 CFG_SQL_mysql=plugin
4006 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4007 echo "MySQL support cannot be enabled due to functionality tests!"
4008 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4009 echo " If you believe this message is in error you may use the continue"
4010 echo " switch (-continue) to $0 to continue."
4015 QT_LFLAGS_MYSQL_R=""
4023 if [ "$CFG_SQL_psql" != "no" ]; then
4024 # Be careful not to use native pg_config when cross building.
4025 if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
4026 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
4027 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
4029 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
4030 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
4031 # But, respect PSQL_LIBS if set
4032 [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
4033 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
4034 if [ "$CFG_SQL_psql" = "auto" ]; then
4038 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4039 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4040 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4041 echo " If you believe this message is in error you may use the continue"
4042 echo " switch (-continue) to $0 to continue."
4053 if [ "$CFG_SQL_odbc" != "no" ]; then
4054 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
4055 if [ "$CFG_SQL_odbc" = "auto" ]; then
4059 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
4060 QT_LFLAGS_ODBC="-liodbc"
4061 if [ "$CFG_SQL_odbc" = "auto" ]; then
4065 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4066 echo "ODBC support cannot be enabled due to functionality tests!"
4067 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4068 echo " If you believe this message is in error you may use the continue"
4069 echo " switch (-continue) to $0 to continue."
4079 if [ "$CFG_SQL_oci" != "no" ]; then
4080 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
4081 if [ "$CFG_SQL_oci" = "auto" ]; then
4085 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4086 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4087 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4088 echo " If you believe this message is in error you may use the continue"
4089 echo " switch (-continue) to $0 to continue."
4098 if [ "$CFG_SQL_tds" != "no" ]; then
4099 [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
4100 [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
4101 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
4102 if [ "$CFG_SQL_tds" = "auto" ]; then
4106 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4107 echo "TDS support cannot be enabled due to functionality tests!"
4108 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4109 echo " If you believe this message is in error you may use the continue"
4110 echo " switch (-continue) to $0 to continue."
4119 if [ "$CFG_SQL_db2" != "no" ]; then
4120 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
4121 if [ "$CFG_SQL_db2" = "auto" ]; then
4125 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4126 echo "ODBC support cannot be enabled due to functionality tests!"
4127 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4128 echo " If you believe this message is in error you may use the continue"
4129 echo " switch (-continue) to $0 to continue."
4138 if [ "$CFG_SQL_ibase" != "no" ]; then
4139 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
4140 if [ "$CFG_SQL_ibase" = "auto" ]; then
4141 CFG_SQL_ibase=plugin
4144 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4145 echo "InterBase support cannot be enabled due to functionality tests!"
4146 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4147 echo " If you believe this message is in error you may use the continue"
4148 echo " switch (-continue) to $0 to continue."
4157 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4158 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
4159 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4160 CFG_SQL_sqlite2=plugin
4163 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4164 echo "SQLite2 support cannot be enabled due to functionality tests!"
4165 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4166 echo " If you believe this message is in error you may use the continue"
4167 echo " switch (-continue) to $0 to continue."
4176 if [ "$CFG_SQL_sqlite" != "no" ]; then
4177 SQLITE_AUTODETECT_FAILED="no"
4178 if [ "$CFG_SQLITE" = "system" ]; then
4179 if [ -n "$PKG_CONFIG" ]; then
4180 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4181 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4183 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
4184 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4185 CFG_SQL_sqlite=plugin
4187 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4189 SQLITE_AUTODETECT_FAILED="yes"
4192 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4193 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4194 CFG_SQL_sqlite=plugin
4197 SQLITE_AUTODETECT_FAILED="yes"
4201 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4202 echo "SQLite support cannot be enabled due to functionality tests!"
4203 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4204 echo " If you believe this message is in error you may use the continue"
4205 echo " switch (-continue) to $0 to continue."
4211 if [ "$OPT_VERBOSE" = "yes" ]; then
4212 echo "unknown SQL driver: $_SQLDR"
4218 # auto-detect NIS support
4219 if [ "$CFG_NIS" != "no" ]; then
4220 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
4223 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4224 echo "NIS support cannot be enabled due to functionality tests!"
4225 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4226 echo " If you believe this message is in error you may use the continue"
4227 echo " switch (-continue) to $0 to continue."
4235 # auto-detect CUPS support
4236 if [ "$CFG_CUPS" != "no" ]; then
4237 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
4240 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4241 echo "Cups support cannot be enabled due to functionality tests!"
4242 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4243 echo " If you believe this message is in error you may use the continue"
4244 echo " switch (-continue) to $0 to continue."
4252 # auto-detect iconv(3) support
4253 if [ "$CFG_ICONV" != "no" ]; then
4254 if [ "$XPLATFORM_MINGW" = "yes" ]; then
4256 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
4258 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
4260 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
4263 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4264 echo "Iconv support cannot be enabled due to functionality tests!"
4265 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4266 echo " If you believe this message is in error you may use the continue"
4267 echo " switch (-continue) to $0 to continue."
4275 # auto-detect libdbus-1 support
4276 if [ "$CFG_DBUS" != "no" ]; then
4277 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
4278 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4279 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4281 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
4282 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
4283 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
4284 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
4286 if [ "$CFG_DBUS" = "auto" ]; then
4288 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4289 # CFG_DBUS is "yes" or "linked" here
4291 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4292 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4293 echo " If you believe this message is in error you may use the continue"
4294 echo " switch (-continue) to $0 to continue."
4300 # auto-detect Glib support
4301 if [ "$CFG_GLIB" != "no" ]; then
4302 if [ -n "$PKG_CONFIG" ]; then
4303 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4304 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4306 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
4308 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
4309 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
4311 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4312 echo "Glib support cannot be enabled due to functionality tests!"
4313 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4314 echo " If you believe this message is in error you may use the continue"
4315 echo " switch (-continue) to $0 to continue."
4323 # auto-detect GTK style support
4324 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
4325 if [ -n "$PKG_CONFIG" ]; then
4326 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
4327 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
4329 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
4331 QT_CONFIG="$QT_CONFIG gtkstyle"
4332 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
4333 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
4335 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4336 echo "Gtk theme support cannot be enabled due to functionality tests!"
4337 echo " Turn on verbose messaging (-v) to $0 to see the fin al report."
4338 echo " If you believe this message is in error you may use the continue"
4339 echo " switch (-continue) to $0 to continue."
4345 elif [ "$CFG_GLIB" = "no" ]; then
4350 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4351 if [ -n "$PKG_CONFIG" ]; then
4352 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4353 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4355 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
4357 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
4358 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
4360 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4361 echo "Gstreamer support cannot be enabled due to functionality tests!"
4362 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4363 echo " If you believe this message is in error you may use the continue"
4364 echo " switch (-continue) to $0 to continue."
4370 elif [ "$CFG_GLIB" = "no" ]; then
4374 # auto-detect libicu support
4375 if [ "$CFG_ICU" != "no" ]; then
4376 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
4377 [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
4379 if [ "$CFG_ICU" = "auto" ]; then
4381 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4384 echo "The ICU library support cannot be enabled."
4385 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4386 echo " If you believe this message is in error you may use the continue"
4387 echo " switch (-continue) to $0 to continue."
4393 # Auto-detect PulseAudio support
4394 if [ "$CFG_PULSEAUDIO" != "no" ]; then
4395 if [ -n "$PKG_CONFIG" ]; then
4396 QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4397 QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4399 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
4401 QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
4402 QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
4404 if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4405 echo "PulseAudio support cannot be enabled due to functionality tests!"
4406 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4407 echo " If you believe this message is in error you may use the continue"
4408 echo " switch (-continue) to $0 to continue."
4417 if [ "$XPLATFORM_MINGW" = "yes" ]; then
4418 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4419 if [ "$CFG_GUI" = "no" ]; then
4420 if [ "$CFG_OPENGL" = "auto" ]; then
4423 if [ "$CFG_OPENGL" != "no" ]; then
4424 echo "OpenGL enabled, but GUI disabled."
4425 echo " You might need to either enable the GUI or disable OpenGL"
4429 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4430 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
4432 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
4435 if [ "$CFG_OPENGL" = "yes" ]; then
4436 echo "All the OpenGL functionality tests failed!"
4437 echo " You might need to modify the include and library search paths by editing"
4438 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4439 echo " ${XQMAKESPEC}."
4446 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4447 if [ "$CFG_OPENGL" = "desktop" ]; then
4448 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS
4449 if [ $? != "0" ]; then
4450 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4457 elif [ "$CFG_OPENGL" = "es2" ]; then
4459 "$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
4460 if [ $? != "0" ]; then
4461 echo "The OpenGL ES 2.0 functionality test failed!"
4462 echo " You might need to modify the include and library search paths by editing"
4463 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4464 echo " ${XQMAKESPEC}."
4467 elif [ "$CFG_OPENGL" = "desktop" ]; then
4468 # Desktop OpenGL support
4469 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS
4470 if [ $? != "0" ]; then
4471 echo "The OpenGL functionality test failed!"
4472 echo " You might need to modify the include and library search paths by editing"
4473 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4474 echo " ${XQMAKESPEC}."
4479 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4480 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS
4481 if [ $? != "0" ]; then
4482 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4489 fi # X11/MINGW OpenGL
4491 if [ "$BUILD_ON_MAC" = "yes" ]; then
4492 if [ "$CFG_PHONON" != "no" ]; then
4493 # Always enable Phonon (unless it was explicitly disabled)
4497 if [ "$CFG_COREWLAN" = "auto" ]; then
4498 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
4506 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4507 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4508 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
4510 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
4513 if [ "$CFG_OPENGL" = "yes" ]; then
4514 echo "All the OpenGL functionality tests failed!"
4515 echo " You might need to modify the include and library search paths by editing"
4516 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4517 echo " ${XQMAKESPEC}."
4522 elif [ "$CFG_OPENGL" = "es2" ]; then
4524 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
4525 QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4526 QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
4527 QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
4528 QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
4529 QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
4530 QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2"
4531 QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2"
4534 "$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
4535 if [ $? != "0" ]; then
4536 echo "The OpenGL ES 2.0 functionality test failed!"
4537 echo " You might need to modify the include and library search paths by editing"
4538 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4539 echo " ${XQMAKESPEC}."
4542 elif [ "$CFG_OPENGL" = "desktop" ]; then
4543 # Desktop OpenGL support
4544 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS
4545 if [ $? != "0" ]; then
4546 echo "The OpenGL functionality test failed!"
4547 echo " You might need to modify the include and library search paths by editing"
4548 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4549 echo " ${XQMAKESPEC}."
4554 # auto-detect FontConfig support
4555 if [ "$CFG_FONTCONFIG" != "no" ]; then
4556 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
4557 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
4558 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
4560 QT_CFLAGS_FONTCONFIG=
4561 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
4563 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
4564 QT_CONFIG="$QT_CONFIG fontconfig"
4565 QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
4566 QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
4568 CFG_LIBFREETYPE=system
4575 # Save these for a check later
4576 ORIG_CFG_XCB="$CFG_XCB"
4577 ORIG_CFG_EGLFS="$CFG_EGLFS"
4578 ORIG_CFG_DIRECTFB="$CFG_DIRECTFB"
4580 if [ "$CFG_LIBUDEV" != "no" ]; then
4581 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libudev 2>/dev/null; then
4582 QMAKE_INCDIR_LIBUDEV=`$PKG_CONFIG --cflags-only-I libudev 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4583 QMAKE_LIBS_LIBUDEV=`$PKG_CONFIG --libs libudev 2>/dev/null`
4584 QMakeVar set QMAKE_INCDIR_LIBUDEV "$QMAKE_INCDIR_LIBUDEV"
4585 QMakeVar set QMAKE_LIBS_LIBUDEV "$QMAKE_LIBS_LIBUDEV"
4587 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
4589 QT_CONFIG="$QT_CONFIG libudev"
4590 elif [ "$CFG_LIBUDEV" = "yes" ]; then
4591 echo "The libudev functionality test failed!"
4595 QMakeVar add DEFINES QT_NO_LIBUDEV
4599 if [ "$CFG_EVDEV" != "no" ]; then
4600 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
4602 QT_CONFIG="$QT_CONFIG evdev"
4603 elif [ "$CFG_EVDEV" = "yes" ]; then
4604 echo "The evdev functionality test failed!"
4608 QMakeVar add DEFINES QT_NO_EVDEV
4612 # Check we actually have X11 :-)
4613 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
4614 QT_CONFIG="$QT_CONFIG xlib"
4617 # auto-detect Xrender support
4618 if [ "$CFG_XRENDER" != "no" ]; then
4619 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
4621 QT_CONFIG="$QT_CONFIG xrender"
4623 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4624 echo "Xrender support cannot be enabled due to functionality tests!"
4625 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4626 echo " If you believe this message is in error you may use the continue"
4627 echo " switch (-continue) to $0 to continue."
4635 if [ "$CFG_XCB" != "no" ]; then
4636 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xcb >= 1.5" 2>/dev/null; then
4637 QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`"
4638 QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`"
4640 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
4642 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
4643 QT_CONFIG="$QT_CONFIG xcb-render"
4646 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
4648 QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
4651 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
4652 QT_CONFIG="$QT_CONFIG xcb-xlib"
4655 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
4656 # auto-detect XInput2/Xinput support
4657 if [ "$CFG_XINPUT2" != "no" ]; then
4658 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
4662 if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4663 echo "XInput2 support cannot be enabled due to functionality tests!"
4664 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4665 echo " If you believe this message is in error you may use the continue"
4666 echo " switch (-continue) to $0 to continue."
4675 if [ "$CFG_XCB" = "yes" ]; then
4676 echo "The XCB test failed!"
4677 echo " You might need to install dependency packages."
4678 echo " See src/plugins/platforms/xcb/README."
4682 QMakeVar add DEFINES QT_NO_XCB
4686 if [ "$CFG_DIRECTFB" != "no" ]; then
4687 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists directfb 2>/dev/null; then
4688 QMAKE_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
4689 QMAKE_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
4690 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/directfb" "DirectFB" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $QMAKE_CFLAGS_DIRECTFB $QMAKE_LIBS_DIRECTFB; then
4692 elif [ "$CFG_DIRECTFB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4693 echo " DirectFB support cannot be enabled due to functionality tests!"
4694 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4695 echo " If you believe this message is in error you may use the continue"
4696 echo " switch (-continue) to $0 to continue."
4706 # Detect libxkbcommon
4707 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
4708 QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
4709 QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
4710 QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
4711 QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
4713 QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
4717 if [ "$CFG_EGL" != "no" ] && [ "$CFG_OPENGL" != "desktop" ]; then
4718 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then
4719 QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4720 QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null`
4721 QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null`
4722 QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
4723 QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
4724 fi # detect EGL support
4725 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
4727 elif [ "$CFG_EGL" = "yes" ]; then
4728 echo " The EGL functionality test failed; EGL is required by some QPA plugins to manage contexts & surfaces."
4729 echo " You might need to modify the include and library search paths by editing"
4730 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in ${XQMAKESPEC}."
4735 elif [ "$CFG_OPENGL" = "desktop" ]; then
4736 if [ "$CFG_EGL" = "yes" ]; then
4737 echo "EGL support was requested but Qt is being configured for desktop OpenGL."
4738 echo "Either disable EGL support or enable OpenGL ES support."
4744 if [ "$CFG_EGLFS" != "no" ]; then
4745 if [ "$CFG_OPENGL" = "es2" ] && [ "$XPLATFORM_QNX" = "no" ]; then
4746 CFG_EGLFS="$CFG_EGL"
4752 # Determine the default QPA platform
4753 if [ -z "$QT_QPA_DEFAULT_PLATFORM" ]; then
4755 QT_QPA_DEFAULT_PLATFORM=`getXQMakeConf QT_QPA_DEFAULT_PLATFORM`
4756 if [ -z "$QT_QPA_DEFAULT_PLATFORM" ]; then
4757 if [ "$BUILD_ON_MAC" = "yes" ]; then
4758 QT_QPA_DEFAULT_PLATFORM="cocoa"
4759 elif [ "$UNAME_SYSTEM" = "QNX" ]; then
4760 QT_QPA_DEFAULT_PLATFORM="qnx"
4762 QT_QPA_DEFAULT_PLATFORM="xcb"
4767 if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
4768 QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
4769 QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
4770 QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
4772 if [ "$CFG_DIRECTFB" = "yes" ]; then
4773 QT_CONFIG="$QT_CONFIG directfb"
4774 QMakeVar set QMAKE_CFLAGS_DIRECTFB "$QMAKE_CFLAGS_DIRECTFB"
4775 QMakeVar set QMAKE_LIBS_DIRECTFB "$QMAKE_LIBS_DIRECTFB"
4778 if [ "$BUILD_ON_MAC" = "yes" ]; then
4779 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
4780 QT_CONFIG="$QT_CONFIG coreservices"
4782 QMakeVar add DEFINES QT_NO_CORESERVICES
4786 if [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ] && [ "$XPLATFORM_QNX" = "no" ]; then
4787 if [ "$CFG_XCB" = "no" ] && [ "$CFG_EGLFS" = "no" ] && [ "$CFG_DIRECTFB" = "no" ]; then
4788 if [ "$QPA_PLATFORM_GUARD" = "yes" ] &&
4789 ( [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_EGLFS" = "auto" ] || [ "$ORIG_CFG_DIRECTFB" = "auto" ] ); then
4790 echo "No QPA platform plugin enabled!"
4791 echo " If you really want to build without a QPA platform plugin you must pass"
4792 echo " -no-qpa-platform-guard to configure. Doing this will"
4793 echo " produce a Qt that can not run GUI applications."
4794 echo " The dependencies needed for xcb to build are listed in"
4795 echo " src/plugins/platforms/xcb/README"
4801 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
4804 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
4805 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
4806 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
4807 CFG_LIBFREETYPE=system
4813 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS &&
4814 [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4815 echo "STL functionality check failed! Cannot build Qt with this STL library."
4816 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4821 # detect POSIX clock_gettime()
4822 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
4823 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
4824 CFG_CLOCK_GETTIME=yes
4826 CFG_CLOCK_GETTIME=no
4830 # detect POSIX monotonic clocks
4831 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
4832 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
4833 CFG_CLOCK_MONOTONIC=yes
4835 CFG_CLOCK_MONOTONIC=no
4837 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
4838 CFG_CLOCK_MONOTONIC=no
4842 if [ "$CFG_MREMAP" = "auto" ]; then
4843 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
4850 # find if the platform provides getaddrinfo (ipv6 dns lookups)
4851 if [ "$CFG_GETADDRINFO" != "no" ]; then
4852 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
4855 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4856 echo "getaddrinfo support cannot be enabled due to functionality tests!"
4857 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4858 echo " If you believe this message is in error you may use the continue"
4859 echo " switch (-continue) to $0 to continue."
4867 # find if the platform provides inotify
4868 if [ "$CFG_INOTIFY" != "no" ]; then
4869 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
4872 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4873 echo "inotify support cannot be enabled due to functionality tests!"
4874 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4875 echo " If you believe this message is in error you may use the continue"
4876 echo " switch (-continue) to $0 to continue."
4884 # find if the platform provides if_nametoindex (ipv6 interface name support)
4885 if [ "$CFG_IPV6IFNAME" != "no" ]; then
4886 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
4889 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4890 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
4891 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4892 echo " If you believe this message is in error you may use the continue"
4893 echo " switch (-continue) to $0 to continue."
4901 # find if the platform provides getifaddrs (network interface enumeration)
4902 if [ "$CFG_GETIFADDRS" != "no" ]; then
4903 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
4906 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4907 echo "getifaddrs support cannot be enabled due to functionality tests!"
4908 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4909 echo " If you believe this message is in error you may use the continue"
4910 echo " switch (-continue) to $0 to continue."
4919 if [ "$CFG_OPENSSL" != "no" ]; then
4920 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
4921 if [ "$CFG_OPENSSL" = "auto" ]; then
4925 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4926 echo "OpenSSL support cannot be enabled due to functionality tests!"
4927 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4928 echo " If you believe this message is in error you may use the continue"
4929 echo " switch (-continue) to $0 to continue."
4938 if [ "$CFG_PCRE" != "qt" ]; then
4939 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
4942 if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4943 echo "PCRE support cannot be enabled due to functionality tests!"
4944 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4945 echo " If you believe this message is in error you may use the continue"
4946 echo " switch (-continue) to $0 to continue."
4954 # detect OpenVG support
4955 if [ "$CFG_OPENVG" != "no" ]; then
4956 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
4957 if [ "$CFG_OPENVG" = "auto" ]; then
4960 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
4961 if [ "$CFG_OPENVG" = "auto" ]; then
4964 CFG_OPENVG_ON_OPENGL=yes
4965 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
4966 if [ "$CFG_OPENVG" = "auto" ]; then
4969 CFG_OPENVG_LC_INCLUDES=yes
4970 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
4971 if [ "$CFG_OPENVG" = "auto" ]; then
4974 CFG_OPENVG_LC_INCLUDES=yes
4975 CFG_OPENVG_ON_OPENGL=yes
4977 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4978 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
4979 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4980 echo " If you believe this message is in error you may use the continue"
4981 echo " switch (-continue) to $0 to continue."
4987 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
4988 CFG_OPENVG_SHIVA=yes
4992 if [ "$CFG_ALSA" = "auto" ]; then
4993 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
5000 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
5001 if [ "$CFG_ARCH" = "arm" ]; then
5002 "$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
5003 if [ $? != "0" ]; then
5004 CFG_JAVASCRIPTCORE_JIT=no
5007 case "$XPLATFORM" in
5009 CFG_JAVASCRIPTCORE_JIT=no
5015 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
5016 QMakeVar set JAVASCRIPTCORE_JIT yes
5017 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
5018 QMakeVar set JAVASCRIPTCORE_JIT no
5021 if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
5022 CFG_AUDIO_BACKEND=yes
5025 if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
5026 echo "Warning: largefile support cannot be disabled for win32."
5030 #-------------------------------------------------------------------------------
5031 # ask for all that hasn't been auto-detected or specified in the arguments
5032 #-------------------------------------------------------------------------------
5034 [ "$CFG_CXX11" = "yes" ] && QT_CONFIG="$QT_CONFIG c++11"
5037 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
5038 QT_CONFIG="$QT_CONFIG phonon-backend"
5041 # disable accessibility
5042 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
5043 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
5045 QT_CONFIG="$QT_CONFIG accessibility"
5049 if [ "$CFG_EGL" = "yes" ]; then
5050 QT_CONFIG="$QT_CONFIG egl"
5052 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
5056 if [ "$CFG_EGLFS" = "yes" ]; then
5057 QT_CONFIG="$QT_CONFIG eglfs"
5059 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGLFS"
5063 if [ "$CFG_OPENVG" = "no" ]; then
5064 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
5066 QT_CONFIG="$QT_CONFIG openvg"
5067 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
5068 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
5070 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
5071 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
5073 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
5074 QT_CONFIG="$QT_CONFIG shivavg"
5075 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
5080 if [ "$CFG_OPENGL" = "no" ]; then
5081 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
5083 QT_CONFIG="$QT_CONFIG opengl"
5086 if [ "$CFG_OPENGL" = "es2" ]; then
5087 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
5090 if [ "$CFG_OPENGL" = "es2" ]; then
5091 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5092 QT_CONFIG="$QT_CONFIG opengles2"
5095 # safe execution environment
5096 if [ "$CFG_SXE" != "no" ]; then
5097 QT_CONFIG="$QT_CONFIG sxe"
5100 # build up the variables for output
5101 if [ "$CFG_DEBUG" = "yes" ]; then
5102 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
5103 QMAKE_CONFIG="$QMAKE_CONFIG debug"
5104 elif [ "$CFG_DEBUG" = "no" ]; then
5105 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
5106 QMAKE_CONFIG="$QMAKE_CONFIG release"
5108 if [ "$CFG_SHARED" = "yes" ]; then
5109 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
5110 QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
5111 elif [ "$CFG_SHARED" = "no" ]; then
5112 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
5113 QMAKE_CONFIG="$QMAKE_CONFIG static"
5116 #FIXME: qpa is implicit this should all be removed
5117 QMAKE_CONFIG="$QMAKE_CONFIG qpa"
5118 QT_CONFIG="$QT_CONFIG qpa"
5119 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
5120 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5122 if [ "$XPLATFORM_MINGW" != "yes" ]; then
5123 # Do not set this here for Windows. Let qmake do it so
5124 # debug and release precompiled headers are kept separate.
5125 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
5127 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
5128 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
5129 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
5130 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
5131 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5132 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
5134 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
5135 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
5137 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
5138 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
5139 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
5140 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
5141 QMakeVar add QMAKE_CFLAGS -g
5142 QMakeVar add QMAKE_CXXFLAGS -g
5143 QT_CONFIG="$QT_CONFIG separate_debug_info"
5145 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
5146 QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
5148 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
5149 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
5150 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
5151 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
5152 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
5153 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
5154 [ "$CFG_AVX2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx2"
5155 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
5156 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
5157 if [ "$CFG_ARCH" = "mips" ]; then
5158 [ "$CFG_MIPS_DSP" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dsp"
5159 [ "$CFG_MIPS_DSPR2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dspr2"
5161 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
5162 QT_CONFIG="$QT_CONFIG clock-gettime"
5164 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
5165 QT_CONFIG="$QT_CONFIG clock-monotonic"
5167 if [ "$CFG_MREMAP" = "yes" ]; then
5168 QT_CONFIG="$QT_CONFIG mremap"
5170 if [ "$CFG_GETADDRINFO" = "yes" ]; then
5171 QT_CONFIG="$QT_CONFIG getaddrinfo"
5173 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
5174 QT_CONFIG="$QT_CONFIG ipv6ifname"
5176 if [ "$CFG_GETIFADDRS" = "yes" ]; then
5177 QT_CONFIG="$QT_CONFIG getifaddrs"
5179 if [ "$CFG_INOTIFY" = "yes" ]; then
5180 QT_CONFIG="$QT_CONFIG inotify"
5182 if [ "$CFG_LIBJPEG" = "no" ]; then
5184 elif [ "$CFG_LIBJPEG" = "system" ]; then
5185 QT_CONFIG="$QT_CONFIG system-jpeg"
5187 if [ "$CFG_JPEG" = "no" ]; then
5188 QT_CONFIG="$QT_CONFIG no-jpeg"
5189 elif [ "$CFG_JPEG" = "yes" ]; then
5190 QT_CONFIG="$QT_CONFIG jpeg"
5192 if [ "$CFG_LIBPNG" = "no" ]; then
5195 if [ "$CFG_LIBPNG" = "system" ]; then
5196 QT_CONFIG="$QT_CONFIG system-png"
5198 if [ "$CFG_PNG" = "no" ]; then
5199 QT_CONFIG="$QT_CONFIG no-png"
5200 elif [ "$CFG_PNG" = "yes" ]; then
5201 QT_CONFIG="$QT_CONFIG png"
5203 if [ "$CFG_GIF" = "no" ]; then
5204 QT_CONFIG="$QT_CONFIG no-gif"
5205 elif [ "$CFG_GIF" = "yes" ]; then
5206 QT_CONFIG="$QT_CONFIG gif"
5208 if [ "$CFG_LIBFREETYPE" = "no" ]; then
5209 QT_CONFIG="$QT_CONFIG no-freetype"
5210 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
5211 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
5212 QT_CONFIG="$QT_CONFIG system-freetype"
5214 QT_CONFIG="$QT_CONFIG freetype"
5216 if [ "$CFG_GUI" = "auto" ]; then
5219 if [ "$CFG_GUI" = "no" ]; then
5220 QT_CONFIG="$QT_CONFIG no-gui"
5223 if [ "$CFG_WIDGETS" = "no" ]; then
5224 QT_CONFIG="$QT_CONFIG no-widgets"
5225 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_WIDGETS"
5228 if [ "x$BUILD_ON_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5229 #On Mac we implicitly link against libz, so we
5230 #never use the 3rdparty stuff.
5231 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
5233 if [ "$CFG_ZLIB" = "yes" ]; then
5234 QT_CONFIG="$QT_CONFIG zlib"
5235 elif [ "$CFG_ZLIB" = "system" ]; then
5236 QT_CONFIG="$QT_CONFIG system-zlib"
5239 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
5240 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
5241 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
5242 [ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
5243 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
5244 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
5245 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
5246 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
5247 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
5248 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
5249 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
5250 [ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
5251 [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
5252 [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
5254 [ '!' -z "$DEFINES" ] && QMakeVar add DEFINES "$DEFINES"
5255 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
5256 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
5258 if [ "$PLATFORM_MAC" = "yes" ] && [ "$QT_CROSS_COMPILE" = "no" ]; then
5259 if [ "$CFG_RPATH" = "yes" ]; then
5260 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
5261 # set the default rpath to the library installation directory
5262 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5264 elif [ -z "`getXQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
5265 if [ -n "$RPATH_FLAGS" ]; then
5267 echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
5271 elif [ "$CFG_RPATH" = "yes" ]; then
5272 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
5276 if [ "$CFG_RPATH" = "yes" ]; then
5277 # set the default rpath to the library installation directory
5278 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5280 if [ -n "$RPATH_FLAGS" ]; then
5281 # add the user defined rpaths
5282 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
5286 if [ '!' -z "$I_FLAGS" ]; then
5287 # add the user define include paths
5288 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
5289 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
5292 if [ '!' -z "$W_FLAGS" ]; then
5293 # add the user defined warning flags
5294 QMakeVar add QMAKE_CFLAGS_WARN_ON "$W_FLAGS"
5295 QMakeVar add QMAKE_CXXFLAGS_WARN_ON "$W_FLAGS"
5296 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS"
5299 if [ "$XPLATFORM_MINGW" = "yes" ]; then
5300 # mkspecs/features/win32/default_pre.prf sets "no-rtti".
5301 # Follow default behavior of configure.exe by overriding with "rtti".
5302 QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
5305 if [ "$CFG_ALSA" = "yes" ]; then
5306 QT_CONFIG="$QT_CONFIG alsa"
5309 if [ "$CFG_PULSEAUDIO" = "yes" ]; then
5310 QT_CONFIG="$QT_CONFIG pulseaudio"
5313 if [ "$CFG_COREWLAN" = "yes" ]; then
5314 QT_CONFIG="$QT_CONFIG corewlan"
5317 if [ "$CFG_ICU" = "yes" ]; then
5318 QT_CONFIG="$QT_CONFIG icu"
5321 if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
5322 QT_CONFIG="$QT_CONFIG force_asserts"
5325 if [ "$CFG_PCRE" = "qt" ]; then
5326 QMAKE_CONFIG="$QMAKE_CONFIG pcre"
5330 # Some Qt modules are too advanced in C++ for some old compilers
5331 # Detect here the platforms where they are known to work.
5333 # See Qt documentation for more information on which features are
5334 # supported and on which compilers.
5336 canBuildQtConcurrent="yes"
5337 canUseV8Snapshot="yes"
5339 case "$XPLATFORM" in
5341 # PA-RISC's assembly is too limited
5342 # gcc 3.4 on that platform can't build QtXmlPatterns
5343 # the assembly it generates cannot be compiled
5345 # Check gcc's version
5346 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5350 canBuildQtXmlPatterns="no"
5354 canBuildQtXmlPatterns="no"
5358 unsupported/vxworks-*-g++*)
5361 unsupported/vxworks-*-dcc*)
5363 canBuildQtXmlPatterns="no"
5366 # Check gcc's version
5367 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5375 canBuildQtXmlPatterns="no"
5380 # Check the compiler version
5381 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
5384 canBuildQtXmlPatterns="no"
5385 canBuildQtConcurrent="no"
5389 canBuildQtConcurrent="no"
5395 canBuildQtXmlPatterns="no"
5396 canBuildQtConcurrent="no"
5402 # Get the xlC version
5403 cat > xlcver.c <<EOF
5407 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
5412 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
5413 xlcver=`./xlcver 2>/dev/null`
5416 if [ "$OPT_VERBOSE" = "yes" ]; then
5417 if [ -n "$xlcver" ]; then
5418 echo Found IBM xlC version: $xlcver.
5420 echo Could not determine IBM xlC version, assuming oldest supported.
5427 canBuildQtXmlPatterns="no"
5428 canBuildQtConcurrent="no"
5432 canBuildQtConcurrent="no"
5438 canBuildQtConcurrent="no"
5442 if [ "$CFG_GUI" = "no" ]; then
5443 # WebKit requires QtGui
5447 if [ "$CFG_SHARED" = "no" ]; then
5449 echo "WARNING: Using static linking will disable the WebKit module."
5454 CFG_CONCURRENT="yes"
5455 if [ "$canBuildQtConcurrent" = "no" ]; then
5456 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
5459 QT_CONFIG="$QT_CONFIG concurrent"
5463 if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
5464 QT_CONFIG="$QT_CONFIG audio-backend"
5468 if [ "$CFG_WEBKIT" = "debug" ]; then
5469 QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
5473 QT_CONFIG="$QT_CONFIG v8"
5474 # Detect snapshot support
5475 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
5476 case "$CFG_HOST_ARCH,$CFG_ARCH" in
5479 *) canUseV8Snapshot="no"
5483 if [ -n "$_SBOX_DIR" -a "$CFG_ARCH" = "arm" ]; then
5484 # QEMU crashes when building inside Scratchbox with an ARM target
5485 canUseV8Snapshot="no"
5488 if [ "$CFG_V8SNAPSHOT" = "auto" ]; then
5489 CFG_V8SNAPSHOT="$canUseV8Snapshot"
5491 if [ "$CFG_V8SNAPSHOT" = "yes" -a "$canUseV8Snapshot" = "no" ]; then
5492 echo "Error: V8 snapshot was requested, but is not supported on this platform."
5495 if [ "$CFG_V8SNAPSHOT" = "yes" ]; then
5496 QT_CONFIG="$QT_CONFIG v8snapshot"
5500 if [ "$CFG_QML_DEBUG" = "no" ]; then
5501 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QML_NO_DEBUGGER"
5504 case "$QMAKE_CONF_COMPILER" in
5507 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
5509 case "$COMPILER_VERSION" in
5511 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
5512 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
5513 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
5516 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
5517 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
5518 QT_GCC_PATCH_VERSION=0
5528 #-------------------------------------------------------------------------------
5529 # part of configuration information goes into qconfig.h
5530 #-------------------------------------------------------------------------------
5532 case "$CFG_QCONFIG" in
5534 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
5537 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
5538 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
5539 if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
5540 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
5541 elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
5542 cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
5544 echo "#endif" >>"$tmpconfig"
5548 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
5552 # define QT_EDITION $QT_EDITION
5556 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
5557 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
5559 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5560 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
5563 if [ "$CFG_FRAMEWORK" = "yes" ]; then
5564 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
5567 if [ "$BUILD_ON_MAC" = "yes" ]; then
5568 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
5569 #if defined(__LP64__)
5570 # define QT_POINTER_SIZE 8
5572 # define QT_POINTER_SIZE 4
5576 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5577 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
5580 #REDUCE_RELOCATIONS is a elf/unix only thing, so not in windows configure.exe
5581 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
5582 echo "#define QT_REDUCE_RELOCATIONS" >>"$outpath/src/corelib/global/qconfig.h.new"
5586 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
5588 if [ "$CFG_DEV" = "yes" ]; then
5589 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
5592 # Add QPA to config.h
5593 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
5595 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
5596 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
5599 # Add turned on SQL drivers
5600 for DRIVER in $CFG_SQL_AVAILABLE; do
5601 eval "VAL=\$CFG_SQL_$DRIVER"
5604 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
5605 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
5606 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
5609 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
5615 QMakeVar set sql-drivers "$SQL_DRIVERS"
5616 QMakeVar set sql-plugins "$SQL_PLUGINS"
5618 # Add other configuration options to the qconfig.h file
5619 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
5620 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
5621 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
5622 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
5623 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
5624 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
5626 # X11/Unix/Mac only configs
5627 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
5628 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
5629 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
5630 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
5631 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
5632 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
5633 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
5634 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
5635 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
5636 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
5637 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
5638 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
5639 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
5640 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
5642 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
5643 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
5644 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
5645 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
5646 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
5647 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
5648 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
5649 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
5650 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
5651 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
5652 [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
5653 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
5654 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
5656 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
5657 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
5658 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
5659 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
5660 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
5661 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
5662 [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
5663 [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
5665 # sort QCONFIG_FLAGS for neatness if we can
5666 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
5667 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
5669 if [ -n "$QCONFIG_FLAGS" ]; then
5670 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5671 #ifndef QT_BOOTSTRAPPED
5674 for cfg in $QCONFIG_FLAGS; do
5675 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
5676 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
5677 # figure out define logic, so we can output the correct
5678 # ifdefs to override the global defines in a project
5680 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
5681 # QT_NO_option can be forcefully turned on by QT_option
5682 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
5683 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
5684 # QT_option can be forcefully turned off by QT_NO_option
5685 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
5688 if [ -z $cfgdNeg ]; then
5689 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5696 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5697 #if defined($cfgd) && defined($cfgdNeg)
5699 #elif !defined($cfgd) && !defined($cfgdNeg)
5706 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5707 #endif // QT_BOOTSTRAPPED
5712 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
5713 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5714 #define QT_VISIBILITY_AVAILABLE
5719 if [ -n "$QT_LIBINFIX" ]; then
5720 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5721 #define QT_LIBINFIX "$QT_LIBINFIX"
5726 echo "#define QT_QPA_DEFAULT_PLATFORM_NAME \"$QT_QPA_DEFAULT_PLATFORM\"" >>"$outpath/src/corelib/global/qconfig.h.new"
5728 # avoid unecessary rebuilds by copying only if qconfig.h has changed
5729 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
5730 rm -f "$outpath/src/corelib/global/qconfig.h.new"
5732 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
5733 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
5734 chmod -w "$outpath/src/corelib/global/qconfig.h"
5735 if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then
5736 ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h"
5740 #-------------------------------------------------------------------------------
5741 # save configuration into qconfig.pri
5742 #-------------------------------------------------------------------------------
5743 QTCONFIG="$outpath/mkspecs/qconfig.pri"
5744 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
5745 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
5746 if [ "$CFG_DEBUG" = "yes" ]; then
5747 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
5748 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
5749 QT_CONFIG="$QT_CONFIG release"
5751 QT_CONFIG="$QT_CONFIG debug"
5752 elif [ "$CFG_DEBUG" = "no" ]; then
5753 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
5754 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
5755 QT_CONFIG="$QT_CONFIG debug"
5757 QT_CONFIG="$QT_CONFIG release"
5759 if [ "$CFG_FRAMEWORK" = "no" ]; then
5760 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
5762 QT_CONFIG="$QT_CONFIG qt_framework"
5763 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
5765 if [ "$CFG_DEV" = "yes" ]; then
5766 QT_CONFIG="$QT_CONFIG private_tests"
5769 cat >>"$QTCONFIG.tmp" <<EOF
5771 CONFIG += $QTCONFIG_CONFIG
5773 QT_HOST_ARCH = $CFG_HOST_ARCH
5774 QT_CPU_FEATURES = $CFG_CPUFEATURES
5775 QT_HOST_CPU_FEATURES = $CFG_HOST_CPUFEATURES
5776 QT_EDITION = $Edition
5777 QT_CONFIG += $QT_CONFIG
5780 QT_VERSION = $QT_VERSION
5781 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
5782 QT_MINOR_VERSION = $QT_MINOR_VERSION
5783 QT_PATCH_VERSION = $QT_PATCH_VERSION
5786 QT_LIBINFIX = $QT_LIBINFIX
5787 QT_NAMESPACE = $QT_NAMESPACE
5791 if [ -n "$PKG_CONFIG_SYSROOT_DIR" ] || [ -n "$PKG_CONFIG_LIBDIR" ]; then
5792 echo "# pkgconfig" >> "$QTCONFIG.tmp"
5793 echo "PKG_CONFIG_SYSROOT_DIR = $PKG_CONFIG_SYSROOT_DIR" >> "$QTCONFIG.tmp"
5794 echo "PKG_CONFIG_LIBDIR = $PKG_CONFIG_LIBDIR" >> "$QTCONFIG.tmp"
5795 echo >> "$QTCONFIG.tmp"
5798 if [ -n "$CFG_SYSROOT" ]; then
5799 echo "# sysroot" >>"$QTCONFIG.tmp"
5800 echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
5801 echo " QMAKE_CFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
5802 echo " QMAKE_CXXFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
5803 echo " QMAKE_LFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
5804 echo "}" >> "$QTCONFIG.tmp"
5805 echo >> "$QTCONFIG.tmp"
5807 if [ -n "$RPATH_FLAGS" ]; then
5808 echo "QMAKE_RPATHDIR += $RPATH_FLAGS" >> "$QTCONFIG.tmp"
5810 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
5811 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
5812 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
5813 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
5816 if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
5817 echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
5818 echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp"
5821 # replace qconfig.pri if it differs from the newly created temp file
5822 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
5823 rm -f "$QTCONFIG.tmp"
5825 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
5828 #-------------------------------------------------------------------------------
5829 # save configuration into qmodule.pri
5830 #-------------------------------------------------------------------------------
5831 QTMODULE="$outpath/mkspecs/qmodule.pri"
5833 echo "CONFIG += $QMAKE_CONFIG create_prl link_prl" >> "$QTMODULE.tmp"
5835 # Ensure we can link to uninistalled libraries
5836 if [ "$BUILD_ON_MAC" != "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
5837 echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
5839 if [ -n "$QT_CFLAGS_PSQL" ]; then
5840 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
5842 if [ -n "$QT_LFLAGS_PSQL" ]; then
5843 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
5845 if [ -n "$QT_CFLAGS_MYSQL" ]; then
5846 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
5848 if [ -n "$QT_LFLAGS_MYSQL" ]; then
5849 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
5851 if [ -n "$QT_CFLAGS_SQLITE" ]; then
5852 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
5854 if [ -n "$QT_LFLAGS_SQLITE" ]; then
5855 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
5857 if [ -n "$QT_LFLAGS_ODBC" ]; then
5858 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
5860 if [ -n "$QT_LFLAGS_TDS" ]; then
5861 echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
5864 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
5865 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
5868 #dump in the OPENSSL_LIBS info
5869 if [ '!' -z "$OPENSSL_LIBS" ]; then
5870 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
5871 elif [ "$CFG_OPENSSL" = "linked" ]; then
5872 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
5875 #dump in the SDK info
5876 if [ '!' -z "$CFG_SDK" ]; then
5877 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
5881 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
5882 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
5884 # replace qmodule.pri if it differs from the newly created temp file
5885 if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
5886 rm -f "$QTMODULE.tmp"
5888 mv -f "$QTMODULE.tmp" "$QTMODULE"
5891 #-------------------------------------------------------------------------------
5892 # save configuration into .qmake.cache
5893 #-------------------------------------------------------------------------------
5895 CACHEFILE="$outpath/.qmake.cache"
5896 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
5897 cat >>"$CACHEFILE.tmp" <<EOF
5899 QT_SOURCE_TREE = \$\$quote($relpath)
5900 QT_BUILD_TREE = \$\$quote($outpath)
5901 QT_BUILD_PARTS = $CFG_BUILD_PARTS
5903 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
5904 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
5905 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
5907 include(\$\$PWD/mkspecs/qmodule.pri)
5908 CONFIG += dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
5912 #dump the qmake spec
5913 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
5914 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
5916 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
5919 # replace .qmake.cache if it differs from the newly created temp file
5920 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
5921 rm -f "$CACHEFILE.tmp"
5923 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
5926 #-------------------------------------------------------------------------------
5927 # give feedback on configuration
5928 #-------------------------------------------------------------------------------
5929 exec 3>&1 1>$outpath/config.summary # redirect output temporarily to config.summary
5932 if [ "$XPLATFORM" = "$PLATFORM" ]; then
5933 echo "Build type: $PLATFORM"
5935 echo "Building on: $PLATFORM"
5936 echo "Building for: $XPLATFORM"
5939 # the missing space before $CFG_FEATURES is intentional
5940 echo "Architecture: $CFG_ARCH, features:$CFG_CPUFEATURES"
5941 echo "Host architecture: $CFG_HOST_ARCH, features:$CFG_HOST_CPUFEATURES"
5943 if [ -n "$PLATFORM_NOTES" ]; then
5944 echo "Platform notes:"
5945 echo "$PLATFORM_NOTES"
5950 if [ "$OPT_VERBOSE" = "yes" ]; then
5951 echo $ECHO_N "qmake vars .......... $ECHO_C"
5952 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
5953 echo "qmake switches ......... $QMAKE_SWITCHES"
5956 echo "Build .................. $CFG_BUILD_PARTS"
5957 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
5958 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
5959 echo "Debug .................. yes (combined)"
5960 if [ "$CFG_DEBUG" = "yes" ]; then
5961 echo "Default Link ........... debug"
5963 echo "Default Link ........... release"
5966 echo "Debug .................. $CFG_DEBUG"
5968 echo "C++11 support .......... $CFG_CXX11"
5969 if [ -n "$PKG_CONFIG" ]; then
5970 echo "pkg-config ............. yes"
5972 echo "pkg-config ............. no"
5974 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
5975 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
5976 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
5977 echo "QtConcurrent code ...... $CFG_CONCURRENT"
5978 echo "QtGui module ........... $CFG_GUI"
5979 echo "QtWidgets module ....... $CFG_WIDGETS"
5980 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
5981 echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
5983 echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
5985 echo "QML debugging .......... $CFG_QML_DEBUG"
5986 echo "PCH support ............ $CFG_PRECOMPILE"
5987 if [ "$CFG_ARCH" = "i386" -o "$CFG_ARCH" = "x86_64" ]; then
5988 echo "SSE2/SSE3/SSSE3......... ${CFG_SSE2}/${CFG_SSE3}/${CFG_SSSE3}"
5989 echo "SSE4.1/SSE4.2........... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
5990 echo "AVX/AVX2................ ${CFG_AVX}/${CFG_AVX2}"
5991 elif [ "$CFG_ARCH" = "arm" ]; then
5992 echo "iWMMXt support ......... ${CFG_IWMMXT}"
5993 echo "NEON support ........... ${CFG_NEON}"
5995 if [ "$CFG_ARCH" = "mips" ]; then
5996 echo "MIPS_DSP/MIPS_DSPR2..... ${CFG_MIPS_DSP}/${CFG_MIPS_DSPR2}"
5998 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
5999 echo "getaddrinfo support .... $CFG_GETADDRINFO"
6000 echo "getifaddrs support ..... $CFG_GETIFADDRS"
6001 echo "Accessibility .......... $CFG_ACCESSIBILITY"
6002 echo "NIS support ............ $CFG_NIS"
6003 echo "CUPS support ........... $CFG_CUPS"
6004 echo "Iconv support .......... $CFG_ICONV"
6005 echo "Glib support ........... $CFG_GLIB"
6006 echo "GStreamer support ...... $CFG_GSTREAMER"
6007 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
6008 echo "Large File support ..... $CFG_LARGEFILE"
6009 echo "GIF support ............ $CFG_GIF"
6010 if [ "$CFG_JPEG" = "no" ]; then
6011 echo "JPEG support ........... $CFG_JPEG"
6013 echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
6015 if [ "$CFG_PNG" = "no" ]; then
6016 echo "PNG support ............ $CFG_PNG"
6018 echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
6020 echo "zlib support ........... $CFG_ZLIB"
6021 echo "Session management ..... $CFG_SM"
6022 echo "libudev support ........ $CFG_LIBUDEV"
6024 if [ "$CFG_OPENGL" = "desktop" ]; then
6025 echo "OpenGL support ......... yes (Desktop OpenGL)"
6026 elif [ "$CFG_OPENGL" = "es2" ]; then
6027 echo "OpenGL support ......... yes (OpenGL ES 2.x)"
6029 echo "OpenGL support ......... no"
6032 if [ "$CFG_OPENVG" ]; then
6033 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
6034 echo "OpenVG support ......... ShivaVG"
6036 echo "OpenVG support ......... $CFG_OPENVG"
6040 echo "XShape support ......... $CFG_XSHAPE"
6041 echo "XVideo support ......... $CFG_XVIDEO"
6042 echo "XSync support .......... $CFG_XSYNC"
6043 echo "Xinerama support ....... $CFG_XINERAMA"
6044 echo "Xcursor support ........ $CFG_XCURSOR"
6045 echo "Xfixes support ......... $CFG_XFIXES"
6046 echo "Xrandr support ......... $CFG_XRANDR"
6047 echo "Xi support ............. $CFG_XINPUT"
6048 echo "MIT-SHM support ........ $CFG_MITSHM"
6049 echo "FontConfig support ..... $CFG_FONTCONFIG"
6050 echo "XKB Support ............ $CFG_XKB"
6051 echo "immodule support ....... $CFG_IM"
6052 echo "GTK theme support ...... $CFG_QGTKSTYLE"
6054 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
6055 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
6056 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
6057 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
6058 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
6059 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
6060 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
6061 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
6062 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
6065 if [ "$CFG_OPENSSL" = "yes" ]; then
6066 OPENSSL_LINKAGE="(run-time)"
6067 elif [ "$CFG_OPENSSL" = "linked" ]; then
6068 OPENSSL_LINKAGE="(linked)"
6070 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
6071 echo "Alsa support ........... $CFG_ALSA"
6072 if [ "$BUILD_ON_MAC" = "yes" ]; then
6073 echo "CoreWlan support ....... $CFG_COREWLAN"
6075 echo "libICU support ......... $CFG_ICU"
6076 echo "PCRE support ........... $CFG_PCRE"
6077 if [ "$CFG_XCB_LIMITED" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6078 echo "Xcb support ............ limited (old version)"
6080 echo "Xcb support ............ $CFG_XCB"
6082 echo "Xrender support ........ $CFG_XRENDER"
6083 if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6084 echo "XInput2 support ........ $CFG_XINPUT2"
6086 echo "EGLFS support .......... $CFG_EGLFS"
6087 echo "DirectFB support ....... $CFG_DIRECTFB"
6090 # complain about not being able to use dynamic plugins if we are using a static build
6091 if [ "$CFG_SHARED" = "no" ]; then
6093 echo "WARNING: Using static linking will disable the use of dynamically"
6094 echo "loaded plugins. Make sure to import all needed static plugins,"
6095 echo "or compile needed modules into the library."
6098 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
6100 echo "NOTE: When linking against OpenSSL, you can override the default"
6101 echo "library names through OPENSSL_LIBS."
6103 echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
6107 exec 1>&3 3>&- # restore stdout
6108 cat $outpath/config.summary # display config feedback to user
6110 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
6112 echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
6113 echo "if you want a pure debug build."
6118 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
6123 #-------------------------------------------------------------------------------
6124 # build makefiles based on the configuration
6125 #-------------------------------------------------------------------------------
6127 echo "Finding project files. Please wait..."
6128 if [ "$CFG_NOPROCESS" != "yes" ]; then
6129 "$outpath/bin/qmake" -prl -r "${relpath}/qtbase.pro"
6130 if [ -f "${relpath}/qtbase.pro" ]; then
6131 mkfile="${outpath}/Makefile"
6132 [ -f "$mkfile" ] && chmod +w "$mkfile"
6133 QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/qtbase.pro" -o "$mkfile"
6137 # .projects -> projects to process
6138 # .projects.1 -> qt and moc
6139 # .projects.2 -> subdirs and libs
6140 # .projects.3 -> the rest
6141 rm -f .projects .projects.1 .projects.2 .projects.3
6143 QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
6144 if [ -z "$AWK" ]; then
6145 for p in `echo $QMAKE_PROJECTS`; do
6146 echo "$p" >> .projects
6149 cat >projects.awk <<EOF
6155 first = "./.projects.1.tmp"
6156 second = "./.projects.2.tmp"
6157 third = "./.projects.3.tmp"
6162 if ( ! target_file )
6164 print input_file >target_file
6169 input_file = FILENAME
6174 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
6177 } else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) {
6178 target_file = second
6183 matched_target == 0 && /^(TEMPLATE.*=)/ {
6184 if ( \$3 == "subdirs" )
6185 target_file = second
6186 else if ( \$3 == "lib" )
6192 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
6193 if ( \$0 ~ /plugin/ )
6196 target_file = second
6201 if ( ! target_file )
6203 print input_file >>target_file
6210 for p in `echo $QMAKE_PROJECTS`; do
6211 echo "$p" >> .projects.all
6214 # if you get errors about the length of the command line to awk, change the -l arg
6216 split -l 100 .projects.all .projects.all.
6217 for p in .projects.all.*; do
6218 "$AWK" -f projects.awk `cat $p`
6219 [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
6220 [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
6221 [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
6222 rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
6224 rm -f .projects.all* projects.awk
6226 [ -f .projects.1 ] && cat .projects.1 >>.projects
6227 [ -f .projects.2 ] && cat .projects.2 >>.projects
6228 rm -f .projects.1 .projects.2
6229 if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
6230 cat .projects.3 >>.projects
6234 # don't sort Qt and MOC in with the other project files
6235 # also work around a segfaulting uniq(1)
6236 if [ -f .sorted.projects.2 ]; then
6237 sort .sorted.projects.2 > .sorted.projects.2.new
6238 mv -f .sorted.projects.2.new .sorted.projects.2
6239 cat .sorted.projects.2 >> .sorted.projects.1
6241 [ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
6242 rm -f .sorted.projects.2 .sorted.projects.1
6246 if [ -f .projects ]; then
6247 uniq .projects >.tmp
6248 mv -f .tmp .projects
6249 NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
6251 if [ -f .projects.3 ]; then
6252 uniq .projects.3 >.tmp
6253 mv -f .tmp .projects.3
6254 FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
6256 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
6260 for part in $CFG_BUILD_PARTS; do
6262 tools) PART_ROOTS="$PART_ROOTS tools" ;;
6263 libs) PART_ROOTS="$PART_ROOTS src" ;;
6264 translations) PART_ROOTS="$PART_ROOTS translations" ;;
6265 examples) PART_ROOTS="$PART_ROOTS examples" ;;
6270 if [ "$CFG_DEV" = "yes" ]; then
6271 PART_ROOTS="$PART_ROOTS tests"
6274 echo "Creating makefiles. Please wait..."
6275 for file in .projects .projects.3; do
6276 [ '!' -f "$file" ] && continue
6277 for a in `cat $file`; do
6279 for r in $PART_ROOTS; do
6280 if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
6285 [ "$IN_ROOT" = "no" ] && continue
6288 *winmain/winmain.pro)
6289 if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_MINGW" != "yes" ]; then
6293 */qmake/qmake.pro) continue ;;
6294 *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*|*tools/qdoc*|*tools/qdbusxml2cpp*|*tools/qdbuscpp2xml*) SPEC=$QMAKESPEC ;;
6295 *) if [ "$CFG_NOPROCESS" = "yes" ]; then
6301 dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
6302 test -d "$dir" || mkdir -p "$dir"
6303 OUTDIR="$outpath/$dir"
6304 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
6305 # fast configure - the makefile exists, skip it
6306 # since the makefile exists, it was generated by qmake, which means we
6307 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
6309 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
6312 QMAKE_SPEC_ARGS="-spec $SPEC"
6313 echo $ECHO_N " for $a$ECHO_C"
6315 QMAKE="$outpath/bin/qmake"
6316 QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
6317 if [ "$file" = ".projects.3" ]; then
6320 cat >"${OUTDIR}/Makefile" <<EOF
6321 # ${OUTDIR}/Makefile: generated by configure
6323 # WARNING: This makefile will be replaced with a real makefile.
6324 # All changes made to this file will be lost.
6326 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
6328 cat >>"${OUTDIR}/Makefile" <<EOF
6330 all clean install qmake first Makefile: FORCE
6331 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
6339 if [ "$OPT_VERBOSE" = "yes" ]; then
6340 echo " (`basename $SPEC`)"
6341 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
6346 [ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
6347 QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
6351 rm -f .projects .projects.3
6353 #-------------------------------------------------------------------------------
6354 # check for platforms that we don't yet know about
6355 #-------------------------------------------------------------------------------
6356 if [ "$CFG_ARCH" = "unknown" ]; then
6359 NOTICE: configure was unable to determine the architecture
6360 for the $XQMAKESPEC target.
6362 Qt will not use a specialized implementation for any atomic
6363 operations. Instead a generic implemention based on either GCC
6364 intrinsics or C++11 std::atomic<T> will be used (when
6365 available). The generic implementations are generally as fast
6366 as and always as safe as a specialized implementation.
6368 If no generic implementation is available, Qt will use a
6369 fallback UNIX implementation which uses a single
6370 pthread_mutex_t to protect all atomic operations. This
6371 implementation is the slow (but safe) fallback implementation
6372 for architectures Qt does not yet support.
6376 #-------------------------------------------------------------------------------
6377 # check if the user passed the -no-zlib option, which is no longer supported
6378 #-------------------------------------------------------------------------------
6379 if [ -n "$ZLIB_FORCED" ]; then
6380 which_zlib="supplied"
6381 if [ "$CFG_ZLIB" = "system" ]; then
6387 NOTICE: The -no-zlib option was supplied but is no longer
6390 Qt now requires zlib support in all builds, so the -no-zlib
6391 option was ignored. Qt will be built using the $which_zlib
6396 #-------------------------------------------------------------------------------
6397 # check if the user passed the obsoleted -wayland or -no-wayland flag
6398 #-------------------------------------------------------------------------------
6399 if [ "$CFG_OBSOLETE_WAYLAND" = "yes" ]; then
6402 NOTICE: The -wayland and -no-wayland flags are now obsolete
6404 All configuring of QtWayland plugin and QtCompositor happens in the module
6408 #-------------------------------------------------------------------------------
6409 # check if the user passed the obsoleted -arch or -host-arch options
6410 #-------------------------------------------------------------------------------
6411 if [ "$OPT_OBSOLETE_HOST_ARG" = "yes" ]; then
6414 NOTICE: The -arch and -host-arch options are obsolete.
6416 Qt now detects the target and host architectures based on compiler
6417 output. Qt will be built using $CFG_ARCH for the target architecture
6418 and $CFG_HOST_ARCH for the host architecture (note that these two
6419 will be the same unless you are cross-compiling).
6423 #-------------------------------------------------------------------------------
6424 # finally save the executed command to another script
6425 #-------------------------------------------------------------------------------
6426 if [ `basename $0` != "config.status" ]; then
6427 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
6429 # add the system variables
6430 for varname in $SYSTEM_VARIABLES; do
6432 'if [ -n "\$'${varname}'" ]; then
6433 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
6438 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
6440 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
6441 echo "#!/bin/sh" > "$outpath/config.status"
6442 [ -n "$PKG_CONFIG_SYSROOT_DIR" ] && \
6443 echo "export PKG_CONFIG_SYSROOT_DIR=$PKG_CONFIG_SYSROOT_DIR" >> "$outpath/config.status"
6444 [ -n "$PKG_CONFIG_LIBDIR" ] && \
6445 echo "export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR" >> "$outpath/config.status"
6446 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
6447 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
6448 echo "else" >> "$outpath/config.status"
6449 echo " $CONFIG_STATUS" >> "$outpath/config.status"
6450 echo "fi" >> "$outpath/config.status"
6451 chmod +x "$outpath/config.status"
6454 if [ -n "$RPATH_MESSAGE" ]; then
6456 echo "$RPATH_MESSAGE"
6459 MAKE=`basename "$MAKE"`
6461 echo Qt is now configured for building. Just run \'$MAKE\'.
6462 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
6463 echo Once everything is built, Qt is installed.
6464 echo You should not run \'$MAKE install\'.
6466 echo Once everything is built, you must run \'$MAKE install\'.
6467 echo Qt will be installed into $QT_INSTALL_PREFIX
6470 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.