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 shellArgumentListToQMakeListHelper()
114 for arg in "$@"; do retval="$retval \"$arg\""; done
118 # Convert a string usable on a shell command line into word-by-word quoted
120 shellArgumentListToQMakeList()
122 # eval is needed for the shell to interpret the backslash escape sequences
123 eval shellArgumentListToQMakeListHelper "$@"
126 # Helper function for getQMakeConf. It parses include statements in
127 # qmake.conf and prints out the expanded file
130 while read line; do case "$line" in
132 inc_file=`echo "$line" | sed -n -e "/^include.*(.*)/s/include.*(\(.*\)).*$/\1/p"`
133 current_dir=`dirname "$1"`
134 conf_file="$current_dir/$inc_file"
135 if [ ! -f "$conf_file" ]; then
136 echo "WARNING: Unable to find file $conf_file" >&2
139 getQMakeConf1 "$conf_file"
141 *load\(device_config\)*)
142 conf_file="$DEVICE_VARS_FILE"
143 if [ ! -f "$conf_file" ]; then
144 echo "WARNING: Unable to find file $conf_file" >&2
147 getQMakeConf1 "$conf_file"
159 values["LITERAL_WHITESPACE"] = " "
160 values["LITERAL_DOLLAR"] = "$"
162 /^[_A-Z0-9.]+[ \t]*\+?=/ {
163 valStart = index($0, "=") + 1
166 if (substr($0, valStart - 2, 1) == "+") {
170 variable = substr($0, 0, valStart - 2 - append)
171 value = substr($0, valStart)
172 gsub("[ \t]+", "", variable)
173 gsub("^[ \t]+", "", value)
174 gsub("[ \t]+$", "", value)
177 while (match(value, /\$\$(\{[_A-Z0-9.]+\}|[_A-Z0-9.]+)/)) {
178 ovalue = ovalue substr(value, 1, RSTART - 1)
179 var = substr(value, RSTART + 2, RLENGTH - 2)
180 value = substr(value, RSTART + RLENGTH)
182 var = substr(var, 2, length(var) - 2)
184 ovalue = ovalue values[var]
186 ovalue = ovalue value
188 combinedValue = values[variable]
189 if (append == 1 && length(combinedValue) > 0) {
190 combinedValue = combinedValue " " ovalue
192 combinedValue = ovalue
194 values[variable] = combinedValue
197 for (var in values) {
198 print var "=" values[var]
206 echo "$2" | $AWK "/^($1)=/ { print substr(\$0, index(\$0, \"=\") + 1) }"
209 # relies on $QMAKESPEC being set correctly. parses include statements in
210 # qmake.conf and prints out the expanded file
213 if [ -z "$specvals" ]; then
214 specvals=`getQMakeConf1 "$QMAKESPEC/qmake.conf" | getQMakeConf2`
216 getQMakeConf3 "$1" "$specvals"
221 if [ -z "$xspecvals" ]; then
222 xspecvals=`getQMakeConf1 "$XQMAKESPEC/qmake.conf" | getQMakeConf2`
224 getQMakeConf3 "$1" "$xspecvals"
227 # relies on $TEST_COMPILER being set correctly
228 compilerSupportsFlag()
230 cat >conftest.cpp <<EOF
231 int main() { return 0; }
233 "$TEST_COMPILER" "$@" -o conftest.o conftest.cpp
235 rm -f conftest.cpp conftest.o
239 # relies on $TEST_COMPILER being set correctly
245 safe_flag=`shellEscape "$flag"`
246 lflags=$lflags,$safe_flag
248 compilerSupportsFlag "$lflags" >/dev/null 2>&1
251 #-------------------------------------------------------------------------------
253 #-------------------------------------------------------------------------------
261 echo >&2 "BUG: wrong command to QMakeVar: $1"
265 echo "$2" "$eq" "$3" >> "$DEVICE_VARS_FILE"
268 resolveDeviceMkspec()
270 result=$(find "$relpath/mkspecs/devices/" -type d -name "*$1*" | sed "s,^$relpath/mkspecs/,,")
271 match_count=$(echo "$result" | wc -w)
272 if [ "$match_count" -gt 1 ]; then
273 echo >&2 "Error: Multiple matches for device '$1'. Candidates are:"
274 tabbed_result=$(echo "$result" | sed "s,^, ,")
275 echo >&2 "$tabbed_result"
277 elif [ "$match_count" -eq 0 ]; then
278 echo >&2 "Error: No device matching '$1'"
285 #-------------------------------------------------------------------------------
286 # operating system detection
287 #-------------------------------------------------------------------------------
289 # need that throughout the script
290 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
291 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
292 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
293 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
295 # detect the "echo without newline" style. usage: echo $ECHO_N "<string>$ECHO_C"
296 if echo '\c' | grep '\c' >/dev/null; then
302 #-------------------------------------------------------------------------------
303 # window system detection
304 #-------------------------------------------------------------------------------
308 if [ -d /System/Library/Frameworks/Carbon.framework ]; then
313 #-----------------------------------------------------------------------------
314 # Qt version detection
315 #-----------------------------------------------------------------------------
316 QT_VERSION=`grep '^# *define *QT_VERSION_STR' "$relpath"/src/corelib/global/qglobal.h`
320 if [ -n "$QT_VERSION" ]; then
321 QT_VERSION=`echo $QT_VERSION | sed 's,^# *define *QT_VERSION_STR *"*\([^ ]*\)"$,\1,'`
322 MAJOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
323 if [ -n "$MAJOR" ]; then
324 MINOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
325 PATCH=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
326 QT_MAJOR_VERSION="$MAJOR"
327 [ -z "$MINOR" ] || QT_MINOR_VERSION="$MINOR"
328 [ -z "$PATCH" ] || QT_PATCH_VERSION="$PATCH"
331 if [ -z "$QT_MAJOR_VERSION" ]; then
332 echo "Cannot process version from qglobal.h: $QT_VERSION"
333 echo "Cannot proceed."
337 QT_PACKAGEDATE=`grep '^# *define *QT_PACKAGEDATE_STR' "$relpath"/src/corelib/global/qglobal.h | sed -e 's,^# *define *QT_PACKAGEDATE_STR *"\([^ ]*\)"$,\1,' -e s,-,,g`
338 if [ -z "$QT_PACKAGEDATE" ]; then
339 echo "Unable to determine package date from qglobal.h: '$QT_PACKAGEDATE'"
340 echo "Cannot proceed"
344 #-------------------------------------------------------------------------------
346 #-------------------------------------------------------------------------------
350 EditionString=Commercial
354 # parse the arguments, setting things to "yes" or "no"
355 while [ "$#" -gt 0 ]; do
359 #Autoconf style options
361 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
365 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
369 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
370 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
373 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
376 -h|help|--help|-help)
377 if [ "$VAL" = "yes" ]; then
379 COMMERCIAL_USER="no" #doesn't matter we will display the help
382 COMMERCIAL_USER="no" #doesn't matter we will display the help
386 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
390 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
397 if [ "$UNKNOWN_ARG" = "yes" ]; then
409 COMMERCIAL_USER="yes"
423 if [ "$COMMERCIAL_USER" = "ask" ]; then
425 echo "Which edition of Qt do you want to use ?"
427 echo "Type 'c' if you want to use the Commercial Edition."
428 echo "Type 'o' if you want to use the Open Source Edition."
432 if [ "$commercial" = "c" ]; then
433 COMMERCIAL_USER="yes"
435 elif [ "$commercial" = "o" ]; then
442 if [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes" ]; then
443 # Commercial preview release
444 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
447 QT_EDITION="QT_EDITION_DESKTOP"
448 LicenseType="Technology Preview"
449 elif [ $COMMERCIAL_USER = "yes" ]; then
450 # one of commercial editions
451 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
453 # read in the license file
454 if [ -f "$LICENSE_FILE" ]; then
455 . "$LICENSE_FILE" >/dev/null 2>&1
456 if [ -z "$LicenseKeyExt" ]; then
458 echo "You are using an old license file."
460 echo "Please install the license file supplied by Nokia,"
461 echo "or install the Qt Open Source Edition if you intend to"
462 echo "develop free software."
465 if [ -z "$Licensee" ]; then
467 echo "Invalid license key. Please check the license key."
471 if [ -z "$LicenseKeyExt" ]; then
473 echo $ECHO_N "Please enter your license key: $ECHO_C"
475 Licensee="Unknown user"
480 echo "$LicenseKeyExt" | grep ".....*-....*-....*-....*-.....*-.....*-...." >/dev/null 2>&1 \
481 && LicenseValid="yes" \
483 if [ "$LicenseValid" != "yes" ]; then
485 echo "Invalid license key. Please check the license key."
488 ProductCode=`echo $LicenseKeyExt | cut -f 1 -d - | cut -b 1`
489 PlatformCode=`echo $LicenseKeyExt | cut -f 2 -d -`
490 LicenseTypeCode=`echo $LicenseKeyExt | cut -f 3 -d -`
491 LicenseFeatureCode=`echo $LicenseKeyExt | cut -f 4 -d - | cut -b 1`
493 # determine which edition we are licensed to use
494 case "$LicenseTypeCode" in
496 LicenseType="Commercial"
500 QT_EDITION="QT_EDITION_UNIVERSAL"
503 Edition="FullFramework"
504 EditionString="Full Framework"
505 QT_EDITION="QT_EDITION_DESKTOP"
508 Edition="GUIFramework"
509 EditionString="GUI Framework"
510 QT_EDITION="QT_EDITION_DESKTOPLIGHT"
515 LicenseType="Evaluation"
516 QMakeVar add DEFINES QT_EVAL
520 QT_EDITION="QT_EDITION_EVALUATION"
525 if [ -z "$LicenseType" -o -z "$Edition" -o -z "$QT_EDITION" ]; then
527 echo "Invalid license key. Please check the license key."
531 # verify that we are licensed to use Qt on this platform
533 case "$PlatformCode" in
536 PlatformCode=`echo "$PlatformCode" | sed 'h;y/8NPQRTZ/UCWX9M7/;x;G;s/\(.\)....\(.\)./\1\2/'`
540 PlatformCode=`echo "$PlatformCode" | sed 's/.$//'`
543 ### EMBEDDED_QPA logic missing ###
544 case "$PlatformCode,$PLATFORM_MAC" in
545 X9,* | XC,* | XU,* | XW,* | XM,*)
547 LICENSE_EXTENSION="-ALLOS"
549 8M,* | KM,* | S9,* | SC,* | SM,* | SU,* | SW,* | X9,* | XC,* | XU,* | XW,*)
550 # Qt for Embedded Linux
551 LICENSE_EXTENSION="-EMBEDDED"
553 6M,* | N7,* | N9,* | NX,*)
555 LICENSE_EXTENSION="-EMBEDDED"
557 FM,* | LM,yes | ZM,no)
559 LICENSE_EXTENSION="-DESKTOP"
563 [ "$PLATFORM_MAC" = "yes" ] && Platform='Mac OS X'
565 echo "You are not licensed for the $Platform platform."
567 echo "Please contact qt-info@nokia.com to upgrade your license to"
568 echo "include the $Platform platform, or install the Qt Open Source Edition"
569 echo "if you intend to develop free software."
574 if test -r "$relpath/.LICENSE"; then
575 # Generic, non-final license
577 line=`sed 'y/a-z/A-Z/;q' "$relpath"/.LICENSE`
582 *TECHNOLOGY?PREVIEW*)
589 echo >&2 "Invalid license files; cannot continue"
594 EditionString="$Edition"
595 QT_EDITION="QT_EDITION_DESKTOP"
598 case "$LicenseFeatureCode" in
601 case "$LicenseType" in
603 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}-US" "$outpath/LICENSE"
606 cp -f "$relpath/.LICENSE-EVALUATION-US" "$outpath/LICENSE"
612 case "$LicenseType" in
614 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}" "$outpath/LICENSE"
617 cp -f "$relpath/.LICENSE-EVALUATION" "$outpath/LICENSE"
623 echo "Invalid license key. Please check the license key."
627 case "$LicenseFeatureCode" in
635 if [ '!' -f "$outpath/LICENSE" ]; then
636 echo "The LICENSE, LICENSE.GPL3 LICENSE.LGPL file shipped with"
637 echo "this software has disappeared."
639 echo "Sorry, you are not licensed to use this software."
640 echo "Try re-installing."
644 elif [ $COMMERCIAL_USER = "no" ]; then
645 # Open Source edition - may only be used under the terms of the GPL or LGPL.
646 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
647 Licensee="Open Source"
649 EditionString="Open Source"
650 QT_EDITION="QT_EDITION_OPENSOURCE"
653 #-------------------------------------------------------------------------------
654 # initalize variables
655 #-------------------------------------------------------------------------------
657 SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
658 for varname in $SYSTEM_VARIABLES; do
659 qmakevarname="${varname}"
660 # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
661 if [ "${varname}" = "LDFLAGS" ]; then
662 qmakevarname="LFLAGS"
663 elif [ "${varname}" = "LD" ]; then
667 'if [ -n "\$'${varname}'" ]; then
668 QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'"
672 # Use CC/CXX to run config.tests
673 mkdir -p "$outpath/config.tests"
674 rm -f "$outpath/config.tests/.qmake.cache"
675 cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
677 QMakeVar add styles "cde mac motif plastique cleanlooks windows"
679 # QTDIR may be set and point to an old or system-wide Qt installation
682 # the minimum version of libdbus-1 that we require:
683 MIN_DBUS_1_VERSION=0.93
685 # initalize internal variables
686 CFG_CONFIGURE_EXIT_ON_ERROR=yes
688 CFG_GUI=auto # (yes|no|auto)
714 CFG_OPENVG_LC_INCLUDES=no
715 CFG_OPENVG_SHIVA=auto
716 CFG_OPENVG_ON_OPENGL=auto
722 QT_DEFAULT_BUILD_PARTS="libs tools examples"
726 CFG_AUDIO_BACKEND=auto
729 CFG_JAVASCRIPTCORE_JIT=auto
732 # Target architecture
735 # Host architecture, same as CFG_ARCH when not cross-compiling
737 CFG_HOST_CPUFEATURES=
738 # Set when the -arch or -host-arch arguments are used
739 OPT_OBSOLETE_HOST_ARG=no
753 CFG_OBSOLETE_WAYLAND=no
765 CFG_SEPARATE_DEBUG_INFO=no
766 CFG_SEPARATE_DEBUG_INFO_NOCOPY=no
767 CFG_REDUCE_EXPORTS=auto
775 CFG_REDUCE_RELOCATIONS=auto
776 CFG_ACCESSIBILITY=auto
781 CFG_CLOCK_GETTIME=auto
782 CFG_CLOCK_MONOTONIC=auto
790 MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
792 CFG_PREFIX_INSTALL=yes
802 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
803 XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
808 OPT_CONFIRM_LICENSE=no
821 QPA_PLATFORM_GUARD=yes
824 # initalize variables used for installation
833 QT_INSTALL_TRANSLATIONS=
842 #flags for SQL drivers
850 QT_LFLAGS_ODBC="-lodbc"
853 # flags for libdbus-1
857 # flags for Glib (X11 only)
861 # flags for GStreamer (X11 only)
865 # default qpa platform
866 QT_QPA_DEFAULT_PLATFORM=
868 #-------------------------------------------------------------------------------
869 # check SQL drivers available in this package
870 #-------------------------------------------------------------------------------
872 # opensource version removes some drivers, so force them to be off
878 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
879 for a in "$relpath/src/plugins/sqldrivers/"*; do
881 base_a=`basename "$a"`
882 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
883 eval "CFG_SQL_${base_a}=auto"
888 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
889 if [ -d "$relpath/src/plugins/imageformats" ]; then
890 for a in "$relpath/src/plugins/imageformats/"*; do
892 base_a=`basename "$a"`
893 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
898 #-------------------------------------------------------------------------------
899 # parse command line arguments
900 #-------------------------------------------------------------------------------
902 # parse the arguments, setting things to "yes" or "no"
903 while [ "$#" -gt 0 ]; do
907 #Autoconf style options
909 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
913 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
917 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
918 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
921 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
925 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
929 -no-*-*|-plugin-*-*|-qt-*-*)
930 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
931 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
935 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
938 #Qt style options that pass an argument
939 -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|-qconfig)
940 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
944 #Qt style complex options in one command
945 -enable-*|-disable-*)
946 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
947 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
949 #Qt Builtin/System style options
950 -no-*|-system-*|-qt-*)
951 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
952 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
954 #Options that cannot be generalized
961 # this option may or may not be followed by an argument
962 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
971 # this option may or may not be followed by an argument
972 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
980 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
981 # this option may or may not be followed by an argument
982 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1001 if [ "$1" = "-D" ]; then
1005 VAL=`echo $1 | sed 's,-D,,'`
1010 # this option may or may not be followed by an argument
1011 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1020 if [ "$1" = "-I" ]; then
1024 VAL=`echo $1 | sed 's,-I,,'`
1029 if [ "$1" = "-L" ]; then
1033 VAL=`echo $1 | sed 's,-L,,'`
1038 if [ "$1" = "-R" ]; then
1042 VAL=`echo $1 | sed 's,-R,,'`
1047 if [ "$1" = "-l" ]; then
1051 VAL=`echo $1 | sed 's,-l,,'`
1056 if [ "$1" = "-F" ]; then
1060 VAL=`echo $1 | sed 's,-F,,'`
1065 if [ "$1" = "-fw" ]; then
1069 VAL=`echo $1 | sed 's,-fw,,'`
1076 #General options, including Qt style yes options
1078 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1085 if [ "$UNKNOWN_ARG" = "yes" ]; then
1086 echo "$1: unknown argument"
1097 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1098 CFG_ACCESSIBILITY="$VAL"
1107 CFG_USE_GNUMAKE="$VAL"
1110 CFG_MYSQL_CONFIG="$VAL"
1113 QT_INSTALL_PREFIX="$VAL"
1116 QT_HOST_PREFIX="$VAL"
1125 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1126 CFG_PKGCONFIG="$VAL"
1132 CFG_PKGCONFIG="force"
1135 QT_INSTALL_DOCS="$VAL"
1138 QT_INSTALL_HEADERS="$VAL"
1141 QT_INSTALL_PLUGINS="$VAL"
1144 QT_INSTALL_IMPORTS="$VAL"
1147 QT_INSTALL_DATA="$VAL"
1150 QT_INSTALL_LIBS="$VAL"
1159 QT_INSTALL_TRANSLATIONS="$VAL"
1161 sysconfdir|settingsdir)
1162 QT_INSTALL_SETTINGS="$VAL"
1165 QT_INSTALL_EXAMPLES="$VAL"
1168 QT_INSTALL_TESTS="$VAL"
1177 QT_INSTALL_BINS="$VAL"
1180 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1187 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1188 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1189 [ "$VAL" = "es2" ]; then
1196 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1203 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1206 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1209 if [ "$BUILD_ON_MAC" = "yes" ]; then
1216 OPT_OBSOLETE_HOST_ARG=yes
1219 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1220 CFG_MAC_HARFBUZZ="$VAL"
1227 if [ "$BUILD_ON_MAC" = "yes" ]; then
1228 CFG_FRAMEWORK="$VAL"
1234 if [ "$VAL" = "yes" ]; then
1236 QMakeVar add QMAKE_CFLAGS -pg
1237 QMakeVar add QMAKE_CXXFLAGS -pg
1238 QMakeVar add QMAKE_LFLAGS -pg
1239 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1245 if [ "$VAL" = "yes" ]; then
1246 QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon"
1251 # keep compatibility with old platform names
1257 PLATFORM=hpux-acc-o64
1260 PLATFORM=hpux-acc-64
1263 PLATFORM=hpux-acc-64
1275 PLATFORM=reliant-cds-64
1278 PLATFORM=solaris-cc-64
1281 PLATFORM=unixware-cc
1284 PLATFORM=unixware-g++
1287 PLATFORM=unixware-cc
1290 PLATFORM=unixware-g++
1296 i386) NATIVE_64_ARCH="x86_64" ;;
1297 powerpc) NATIVE_64_ARCH="ppc64" ;;
1298 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1300 if [ ! -z "$NATIVE_64_ARCH" ]; then
1301 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1308 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1311 XPLATFORM=`resolveDeviceMkspec $VAL`
1312 [ "$XPLATFORM" = "undefined" ] && exit 101
1315 DEV_VAR=`echo $VAL | sed "s,^\(.*\)=.*,\1,"`
1316 DEV_VAL=`echo $VAL | sed "s,^.*=\(.*\),\1,"`
1317 DeviceVar set $DEV_VAR $DEV_VAL
1320 QT_QPA_DEFAULT_PLATFORM="$VAL"
1323 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1324 CFG_DEBUG_RELEASE="$VAL"
1330 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1331 CFG_RELEASE_QMAKE="$VAL"
1337 if [ "$VAL" = "yes" ]; then
1339 elif [ "$VAL" = "no" ]; then
1346 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1347 CFG_PREFIX_INSTALL="$VAL"
1355 developer-build|commercial|opensource)
1356 # These switches have been dealt with already
1359 if [ "$VAL" = "yes" ]; then
1361 elif [ "$VAL" = "no" ]; then
1368 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1369 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1375 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1376 if [ "$VAL" = "no" ]; then
1377 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1378 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1379 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1385 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1392 if [ "$VAL" = "no" ]; then
1399 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1407 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1414 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1421 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1428 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1435 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1442 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1449 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1456 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1457 CFG_PRECOMPILE="$VAL"
1462 separate-debug-info)
1463 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1464 CFG_SEPARATE_DEBUG_INFO="$VAL"
1465 elif [ "$VAL" = "nocopy" ] ; then
1466 CFG_SEPARATE_DEBUG_INFO="yes"
1467 CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1473 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1474 CFG_REDUCE_EXPORTS="$VAL"
1480 if [ "$VAL" = "no" ]; then
1487 if [ "$VAL" = "no" ]; then
1494 if [ "$VAL" = "no" ]; then
1501 if [ "$VAL" = "no" ]; then
1508 if [ "$VAL" = "no" ]; then
1515 if [ "$VAL" = "no" ]; then
1522 if [ "$VAL" = "no" ]; then
1532 if [ "$VAL" = "no" ]; then
1539 if [ "$VAL" = "no" ]; then
1546 if [ "$VAL" = "no" ]; then
1547 CFG_MIPS_DSPR2="$VAL"
1553 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1554 CFG_REDUCE_RELOCATIONS="$VAL"
1560 [ "$VAL" = "qt" ] && VAL=yes
1561 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1566 # No longer supported:
1567 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1570 if [ "$VAL" = "system" ]; then
1577 [ "$VAL" = "yes" ] && VAL=qt
1578 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1585 [ "$VAL" = "yes" ] && VAL=qt
1586 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1593 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1600 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1607 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1614 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1621 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1628 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1629 CFG_FONTCONFIG="$VAL"
1635 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1642 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1649 CFG_OBSOLETE_WAYLAND=yes
1652 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1659 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1666 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1673 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1680 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1687 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1694 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1701 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1708 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1715 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1716 CFG_GSTREAMER="$VAL"
1722 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1723 CFG_QGTKSTYLE="$VAL"
1729 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1732 if [ "$VAL" = "no" ]; then
1740 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1742 elif [ "$VAL" = "no" ]; then
1749 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1750 QPA_PLATFORM_GUARD="$VAL"
1756 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1758 elif [ "$VAL" = "runtime" ]; then
1765 if [ "$VAL" = "yes" ]; then
1772 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1779 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1780 CFG_LARGEFILE="$VAL"
1786 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1793 if [ "$VAL" = "yes" ]; then
1794 CFG_OPENSSL="linked"
1800 if [ "$VAL" = "yes" ]; then
1803 if [ "$VAL" = "no" ]; then
1811 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1812 CFG_JAVASCRIPTCORE_JIT="$VAL"
1818 if [ "$VAL" = "yes" ]; then
1819 OPT_CONFIRM_LICENSE="$VAL"
1825 if [ "$VAL" = "yes" ]; then
1831 sql-*|imageformat-*)
1832 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1833 # if autoconf style options were used, $VAL can be "yes" or "no"
1834 [ "$VAL" = "yes" ] && VAL=qt
1835 # now $VAL should be "no", "qt", or "plugin"... double-check
1836 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1839 # now $VAL is "no", "qt", or "plugin"
1841 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1842 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1844 # Grab the available values
1847 avail="$CFG_SQL_AVAILABLE"
1850 avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
1851 if [ "$OPT" != "plugin" ]; then
1852 # png is always built in
1858 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1862 # Check that that user's value is available.
1865 if [ "$VAL" = "$d" ]; then
1870 [ "$found" = yes ] || ERROR=yes
1872 if [ "$VAR" = "sql" ]; then
1873 # set the CFG_SQL_driver
1874 eval "CFG_SQL_$VAL=\$OPT"
1876 elif [ "$VAR" = "imageformat" ]; then
1877 [ "$OPT" = "qt" ] && OPT=yes
1878 VAL="`echo $VAL |tr a-z A-Z`"
1879 eval "CFG_$VAL=$OPT"
1883 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
1884 if [ "$OPT" = "plugin" ]; then
1887 QMakeVar add "${VAR}s" "${VAL}"
1888 elif [ "$OPT" = "no" ]; then
1889 PLUG_VAR="${VAR}-plugin"
1891 QMakeVar del "${IN_VAR}s" "$VAL"
1892 QMakeVar del "${PLUG_VAR}s" "$VAL"
1894 if [ "$ERROR" = "yes" ]; then
1895 echo "$CURRENT_OPT: unknown argument"
1900 if [ "$VAL" = "yes" ]; then
1901 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
1902 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
1906 elif [ "$VAL" = "no" ]; then
1907 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
1908 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
1917 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1924 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1931 DEFINES="$DEFINES \"$VAL\""
1932 D_FLAGS="$D_FLAGS -D\"$VAL\""
1935 I_FLAGS="$I_FLAGS -I\"${VAL}\""
1938 L_FLAGS="$L_FLAGS -L\"${VAL}\""
1941 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
1944 l_FLAGS="$l_FLAGS -l\"${VAL}\""
1947 if [ "$BUILD_ON_MAC" = "yes" ]; then
1948 L_FLAGS="$L_FLAGS -F\"${VAL}\""
1949 I_FLAGS="$I_FLAGS -F\"${VAL}\""
1955 if [ "$BUILD_ON_MAC" = "yes" ]; then
1956 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
1962 W_FLAGS="$W_FLAGS \"${VAL}\""
1968 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1969 CFG_PHONON_BACKEND="$VAL"
1981 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1982 CFG_AUDIO_BACKEND="$VAL"
1988 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1995 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1996 CFG_FORCE_ASSERTS="$VAL"
2002 if [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
2009 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2019 if [ "$UNKNOWN_OPT" = "yes" ]; then
2020 echo "${CURRENT_OPT}: invalid command-line switch"
2026 # update QT_CONFIG to show our current predefined configuration
2027 case "$CFG_QCONFIG" in
2028 minimal|small|medium|large|full)
2029 # these are a sequence of increasing functionality
2030 for c in minimal small medium large full; do
2031 QT_CONFIG="$QT_CONFIG $c-config"
2032 [ "$CFG_QCONFIG" = $c ] && break
2036 # not known to be sufficient for anything
2037 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
2038 echo >&2 "Error: configuration file not found:"
2039 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2041 echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2046 #-------------------------------------------------------------------------------
2047 # build tree initialization
2048 #-------------------------------------------------------------------------------
2050 # where to find which..
2051 unixtests="$relpath/config.tests/unix"
2052 mactests="$relpath/config.tests/mac"
2053 WHICH="$unixtests/which.test"
2055 PERL=`$WHICH perl 2>/dev/null`
2057 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2059 for e in gawk nawk awk; do
2060 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2067 PERL="/usr/bin/perl"
2068 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2072 ### skip this if the user just needs help...
2073 if [ "$OPT_HELP" != "yes" ]; then
2075 # is this a shadow build?
2076 if [ "$OPT_SHADOW" = "maybe" ]; then
2078 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2079 if [ -h "$outpath" ]; then
2080 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2086 if [ "$OPT_SHADOW" = "yes" ]; then
2087 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2088 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2089 echo >&2 "Cannot proceed."
2092 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2095 if [ "$PLATFORM_MAC" = "no" -a "$CFG_DEBUG_RELEASE" = "yes" ]; then
2097 echo "WARNING: -debug-and-release is not supported outside of Mac OS X."
2098 echo "Qt can be built in release mode with separate debug information, so"
2099 echo "-debug-and-release is not necessary anymore"
2103 if [ "$CFG_SILENT" = "yes" ]; then
2104 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2107 # if the source tree is different from the build tree,
2108 # symlink or copy part of the sources
2109 if [ "$OPT_SHADOW" = "yes" ]; then
2110 echo "Preparing build tree..."
2112 if [ -z "$PERL" ]; then
2114 echo "You need perl in your PATH to make a shadow build."
2115 echo "Cannot proceed."
2119 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2121 # make a syncqt script that can be used in the shadow
2122 rm -f "$outpath/bin/syncqt"
2123 if [ -x "$relpath/bin/syncqt" ]; then
2124 mkdir -p "$outpath/bin"
2125 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2126 echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2127 chmod 755 "$outpath/bin/syncqt"
2130 for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
2131 rm -f "$outpath/bin/$i"
2132 if [ -x "$relpath/bin/$i" ]; then
2133 mkdir -p "$outpath/bin"
2134 echo "#!/bin/sh" >"$outpath/bin/$i"
2135 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2136 echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2137 chmod 755 "$outpath/bin/$i"
2141 # save a pre-existing mkspecs/modules dir
2142 test -d "$outpath/mkspecs/modules" && \
2143 mv "$outpath/mkspecs/modules" "$outpath/mkspecs-modules"
2144 # ditto for mkspecs/modules-inst
2145 test -d "$outpath/mkspecs/modules-inst" && \
2146 mv "$outpath/mkspecs/modules-inst" "$outpath/mkspecs-modules-inst"
2148 # symlink the mkspecs directory
2149 mkdir -p "$outpath/mkspecs"
2150 rm -rf "$outpath"/mkspecs/*
2151 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2152 rm -f "$outpath/mkspecs/default"
2156 rm -rf "$outpath/mkspecs/$1"
2157 find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2158 find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2161 # Special case for mkspecs/features directory.
2162 # To be able to place .prf files into a shadow build directory,
2163 # we're creating links for files only. The directory structure is reproduced.
2164 ShadowMkspecs features
2166 # The modules dir is special, too.
2167 if test -d "$outpath/mkspecs-modules"; then
2168 rm -rf "$outpath/mkspecs/modules"
2169 mv "$outpath/mkspecs-modules" "$outpath/mkspecs/modules"
2171 ShadowMkspecs modules
2174 # The modules-inst dir is not quite as special, but still.
2175 if test -d "$outpath/mkspecs-modules-inst"; then
2176 rm -rf "$outpath/mkspecs/modules-inst"
2177 mv "$outpath/mkspecs-modules-inst" "$outpath/mkspecs/modules-inst"
2180 # symlink the doc directory
2181 rm -rf "$outpath/doc"
2182 ln -s "$relpath/doc" "$outpath/doc"
2185 # symlink fonts to be able to run application from build directory
2186 if [ ! -d "${outpath}/lib/fonts" ]; then
2187 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2188 mkdir -p "${outpath}/lib"
2189 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2193 if [ "$OPT_FAST" = "auto" ]; then
2194 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2201 # find a make command
2202 if [ -z "$MAKE" ]; then
2204 for mk in gmake make; do
2205 if "$WHICH" $mk >/dev/null 2>&1; then
2210 if [ -z "$MAKE" ]; then
2211 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2212 echo >&2 "Cannot proceed."
2215 # export MAKE, we need it later in the config.tests
2221 #-------------------------------------------------------------------------------
2222 # auto-detect all that hasn't been specified in the arguments
2223 #-------------------------------------------------------------------------------
2225 if [ -z "$PLATFORM" ]; then
2227 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2229 OSX_VERSION=`uname -r | cut -d. -f1`
2230 # Select compiler. Use g++ unless we find a usable Clang version
2232 if [ "$OSX_VERSION" -ge 12 ]; then
2233 # We're on Mountain Lion or above. Use Clang. Don't advertise gcc.
2235 elif [ "$OSX_VERSION" -eq 11 ]; then
2236 # We're on Lion. Check if we have a supported Clang version
2237 case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
2240 PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
2247 #PLATFORM=aix-g++-64
2249 #PLATFORM=aix-xlc-64
2251 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2261 # PLATFORM=dynix-g++
2267 PLATFORM=freebsd-g++
2269 - Also available for FreeBSD: freebsd-icc
2273 PLATFORM=openbsd-g++
2284 #PLATFORM=irix-cc-64
2286 - Also available for IRIX: irix-g++ irix-cc-64
2290 case "$UNAME_MACHINE" in
2292 #PLATFORM=hpuxi-acc-32
2293 PLATFORM=hpuxi-acc-64
2295 - Also available for HP-UXi: hpuxi-acc-32
2301 #PLATFORM=hpux-acc-64
2303 #PLATFORM=hpux-acc-o64
2305 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2314 - Also available for Tru64: tru64-g++
2318 case "$UNAME_MACHINE" in
2320 PLATFORM=linux-g++-64
2327 - Also available for Linux: linux-kcc linux-icc linux-cxx
2331 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2332 PLATFORM="solaris-g++"
2334 #PLATFORM=solaris-g++
2336 #PLATFORM=solaris-cc64
2339 - Also available for Solaris: solaris-g++ solaris-cc-64
2342 ReliantUNIX-*:*|SINIX-*:*)
2343 PLATFORM=reliant-cds
2344 #PLATFORM=reliant-cds-64
2346 - Also available for Reliant UNIX: reliant-cds-64
2356 #PLATFORM=unixware-g++
2357 PLATFORM=unixware-cc
2359 - Also available for OpenUNIX: unixware-g++
2363 #PLATFORM=unixware-g++
2364 PLATFORM=unixware-cc
2366 - Also available for UnixWare: unixware-g++
2373 - Also available for SCO OpenServer: sco-g++
2377 PLATFORM=unixware-g++
2380 PLATFORM=unsupported/qnx-g++
2383 if [ "$OPT_HELP" != "yes" ]; then
2385 echo " The build script does not currently recognize all" >&2
2386 echo " platforms supported by Qt." >&2
2387 echo " Rerun this script with a -platform option listed to" >&2
2388 echo " set the system/compiler combination you use." >&2
2395 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2397 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2398 case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
2399 case "$XPLATFORM" in *qnx-*|*blackberry-*) XPLATFORM_QNX=yes;; esac
2401 if [ -d "$PLATFORM" ]; then
2402 QMAKESPEC="$PLATFORM"
2404 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2406 if [ -d "$XPLATFORM" ]; then
2407 XQMAKESPEC="$XPLATFORM"
2409 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2411 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2412 QT_CROSS_COMPILE=yes
2413 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2414 QTCONFIG_CONFIG="$QTCONFIG_CONFIG cross_compile"
2417 if [ "$BUILD_ON_MAC" = "yes" ]; then
2418 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2420 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2421 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2422 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2423 echo " built with 'macx-g++'" >&2
2429 # check specified platforms are supported
2430 if [ '!' -d "$QMAKESPEC" ]; then
2432 echo " The specified system/compiler is not supported:"
2436 echo " Please see the README file for a complete list."
2440 if [ '!' -d "$XQMAKESPEC" ]; then
2442 echo " The specified system/compiler is not supported:"
2446 echo " Please see the README file for a complete list."
2450 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2452 echo " The specified system/compiler port is not complete:"
2454 echo " $XQMAKESPEC/qplatformdefs.h"
2456 echo " Please contact qt-info@nokia.com."
2461 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2462 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2463 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2464 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2465 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2469 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2470 case `basename "$XPLATFORM"` in
2473 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2475 echo "Please contact qt-info@nokia.com to upgrade your license to"
2476 echo "include this platform, or install the Qt Open Source Edition"
2477 echo "if you intend to develop free software."
2483 #-------------------------------------------------------------------------------
2484 # tests that don't need qmake (must be run before displaying help)
2485 #-------------------------------------------------------------------------------
2487 # detect build style
2488 if [ "$CFG_DEBUG" = "auto" ]; then
2489 if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2490 CFG_DEBUG_RELEASE=yes
2492 elif [ "$CFG_DEV" = "yes" ]; then
2493 CFG_DEBUG_RELEASE=no
2496 CFG_DEBUG_RELEASE=no
2500 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2501 QT_CONFIG="$QT_CONFIG build_all debug_and_release"
2504 # pass on $CFG_SDK to the configure tests.
2505 if [ '!' -z "$CFG_SDK" ]; then
2506 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
2509 # find the default framework value
2510 if [ "$BUILD_ON_MAC" = "yes" ]; then
2511 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2512 CFG_FRAMEWORK="$CFG_SHARED"
2513 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2515 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2523 QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
2525 TEST_COMPILER=$QMAKE_CONF_COMPILER
2526 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
2527 if [ -z "$TEST_COMPILER" ]; then
2528 echo "ERROR: Cannot set the compiler for the configuration tests"
2534 case "$TEST_COMPILER" in *g++) GCC_MACHINE_DUMP=$($TEST_COMPILER -dumpmachine);; esac
2535 if [ -n "$GCC_MACHINE_DUMP" ]; then
2536 DeviceVar set GCC_MACHINE_DUMP $($TEST_COMPILER -dumpmachine)
2539 if [ -n "$CFG_SYSROOT" ]; then
2540 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
2544 export SYSROOT_FLAG # used by config.tests/unix/{compile.test,arch.test}
2546 # auto-detect precompiled header support
2547 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2548 if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2555 # auto-detect support for separate debug info in objcopy
2556 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
2557 TEST_COMPILER_CFLAGS=`getXQMakeConf QMAKE_CFLAGS`
2558 TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
2559 TEST_OBJCOPY=`getXQMakeConf QMAKE_OBJCOPY`
2560 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
2561 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
2562 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
2563 CFG_SEPARATE_DEBUG_INFO=no
2567 # binutils on HP-UX is buggy; default to no.
2568 CFG_SEPARATE_DEBUG_INFO=no
2571 CFG_SEPARATE_DEBUG_INFO=yes
2577 # auto-detect -fvisibility support
2578 if [ "$CFG_REDUCE_EXPORTS" != "no" ]; then
2579 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2580 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
2581 echo "-reduce-exports was requested but this compiler does not support it"
2582 echo "Re-run configure with -v for more information"
2585 CFG_REDUCE_EXPORTS=no
2587 CFG_REDUCE_EXPORTS=yes
2591 # detect the availability of the -Bsymbolic-functions linker optimization
2592 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
2593 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2594 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
2595 echo "-reduce-relocations was requested but this compiler does not support it"
2596 echo "Re-run configure with -v for more information"
2599 CFG_REDUCE_RELOCATIONS=no
2601 CFG_REDUCE_RELOCATIONS=yes
2605 # auto-detect GNU make support
2606 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
2610 # find the default framework value
2611 if [ "$BUILD_ON_MAC" = "yes" ]; then
2612 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2613 CFG_FRAMEWORK="$CFG_SHARED"
2614 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2616 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2624 #setup the build parts
2625 if [ -z "$CFG_BUILD_PARTS" ]; then
2626 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
2628 # build tests by default, if a developer build
2629 if [ "$CFG_DEV" = "yes" ]; then
2630 CFG_BUILD_PARTS="$CFG_BUILD_PARTS tests"
2633 # don't build tools by default when cross-compiling
2634 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2635 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
2638 for nobuild in $CFG_NOBUILD_PARTS; do
2639 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
2641 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
2643 # echo "WARNING: libs is a required part of the build."
2645 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
2648 #-------------------------------------------------------------------------------
2649 # post process QT_INSTALL_* variables
2650 #-------------------------------------------------------------------------------
2652 if [ -z "$QT_INSTALL_PREFIX" ]; then
2653 if [ "$CFG_DEV" = "yes" ]; then
2654 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
2656 QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION
2659 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
2661 if [ -z "$QT_INSTALL_DOCS" ]; then #default
2662 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2663 if [ "$BUILD_ON_MAC" = "yes" ]; then
2664 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
2667 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
2670 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
2672 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
2673 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2674 if [ "$BUILD_ON_MAC" = "yes" ]; then
2675 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2680 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
2683 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
2685 if [ -z "$QT_INSTALL_LIBS" ]; then #default
2686 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2687 if [ "$BUILD_ON_MAC" = "yes" ]; then
2688 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2689 QT_INSTALL_LIBS="/Library/Frameworks"
2693 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
2695 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
2697 if [ -z "$QT_INSTALL_BINS" ]; then #default
2698 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2699 if [ "$BUILD_ON_MAC" = "yes" ]; then
2700 QT_INSTALL_BINS="/Developer/Applications/Qt"
2703 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
2705 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
2707 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
2708 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2709 if [ "$BUILD_ON_MAC" = "yes" ]; then
2710 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
2713 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
2715 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
2717 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
2718 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2719 if [ "$BUILD_ON_MAC" = "yes" ]; then
2720 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
2723 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
2725 QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
2727 if [ -z "$QT_INSTALL_DATA" ]; then #default
2728 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
2730 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
2732 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
2733 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
2735 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
2737 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
2738 if [ "$BUILD_ON_MAC" = "yes" ]; then
2739 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
2741 QT_INSTALL_SETTINGS=/etc/xdg
2744 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
2746 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
2747 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2748 if [ "$BUILD_ON_MAC" = "yes" ]; then
2749 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
2752 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
2754 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
2757 if [ -z "$QT_INSTALL_TESTS" ]; then #default
2758 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2759 if [ "$BUILD_ON_MAC" = "yes" ]; then
2760 QT_INSTALL_TESTS="/Developer/Tests/Qt"
2763 [ -z "$QT_INSTALL_TESTS" ] && QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback
2765 QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
2767 #------- host paths --------
2769 if [ -z "$QT_HOST_PREFIX" ]; then
2770 QT_HOST_PREFIX=$QT_INSTALL_PREFIX
2773 QT_HOST_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_PREFIX"`
2777 if [ -z "$QT_HOST_BINS" ]; then #default
2779 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2780 if [ "$BUILD_ON_MAC" = "yes" ]; then
2781 QT_HOST_BINS="/Developer/Applications/Qt"
2784 [ -z "$QT_HOST_BINS" ] && QT_HOST_BINS="$QT_HOST_PREFIX/bin" #fallback
2786 QT_HOST_BINS="$QT_INSTALL_BINS"
2789 QT_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_BINS"`
2791 if [ -z "$QT_HOST_DATA" ]; then #default
2793 QT_HOST_DATA="$QT_HOST_PREFIX"
2795 QT_HOST_DATA="$QT_INSTALL_DATA"
2798 QT_HOST_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_DATA"`
2801 #-------------------------------------------------------------------------------
2802 # help - interactive parts of the script _after_ this section please
2803 #-------------------------------------------------------------------------------
2805 # next, emit a usage message if something failed.
2806 if [ "$OPT_HELP" = "yes" ]; then
2807 [ "x$ERROR" = "xyes" ] && echo
2808 if [ "$CFG_NIS" = "no" ]; then
2815 if [ "$CFG_CUPS" = "no" ]; then
2822 if [ "$CFG_ICONV" = "no" ]; then
2829 if [ "$CFG_LARGEFILE" = "no" ]; then
2836 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
2844 if [ "$CFG_XCB" = "no" ]; then
2852 if [ "$CFG_EGLFS" = "no" ]; then
2860 if [ "$CFG_DIRECTFB" = "no" ]; then
2868 if [ "$CFG_LINUXFB" = "no" ]; then
2876 if [ "$CFG_KMS" = "no" ]; then
2884 if [ "$CFG_XINPUT2" = "no" ]; then
2892 if [ "$CFG_DBUS" = "no" ]; then
2900 if [ "$CFG_SEPARATE_DEBUG_INFO" = "no" ]; then
2908 if [ "$CFG_GLIB" = "no" ]; then
2917 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
2918 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
2919 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-testsdir <dir>]
2920 [-release] [-debug] [-debug-and-release] [-c++11] [-no-c++11]
2921 [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
2922 [-largefile] [-no-accessibility] [-accessibility] [-no-sql-<driver>] [-sql-<driver>]
2923 [-plugin-sql-<driver>] [-system-sqlite]
2924 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
2925 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
2926 [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
2927 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
2928 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
2929 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
2930 [-no-separate-debug-info] [-no-sse2]
2931 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
2932 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info]
2933 [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
2934 [-no-audio-backend] [-audio-backend]
2935 [-no-javascript-jit] [-javascript-jit] [-no-qml-debug] [-qml-debug]
2936 [-no-optimized-qmake] [-optimized-qmake]
2937 [-no-openssl] [-openssl] [-openssl-linked]
2938 [-no-gtkstyle] [-gtkstyle]
2939 [-qt-pcre] [-system-pcre]
2940 [-device <name>] [-device-option <key=value>]
2941 [additional platform specific options (see below)]
2944 Installation options:
2946 These are optional, but you may specify install directories.
2948 -prefix <dir> ...... This will install everything relative to <dir>
2949 (default $QT_INSTALL_PREFIX)
2951 -hostprefix [dir] .. Tools and libraries needed when developing
2952 applications are installed in [dir]. If [dir] is
2953 not given, the current build directory will be used.
2956 * -prefix-install .... Force a sandboxed "local" installation of
2957 Qt. This will install into
2958 $QT_INSTALL_PREFIX, if this option is
2959 disabled then some platforms will attempt a
2960 "system" install by placing default values to
2961 be placed in a system location other than
2964 You may use these to separate different parts of the install:
2966 -bindir <dir> ......... Executables will be installed to <dir>
2967 (default PREFIX/bin)
2968 -libdir <dir> ......... Libraries will be installed to <dir>
2969 (default PREFIX/lib)
2970 -docdir <dir> ......... Documentation will be installed to <dir>
2971 (default PREFIX/doc)
2972 -headerdir <dir> ...... Headers will be installed to <dir>
2973 (default PREFIX/include)
2974 -plugindir <dir> ...... Plugins will be installed to <dir>
2975 (default PREFIX/plugins)
2976 -importdir <dir> ...... Imports for QML will be installed to <dir>
2977 (default PREFIX/imports)
2978 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
2980 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
2981 (default PREFIX/translations)
2982 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
2983 (default PREFIX/etc/settings)
2984 -examplesdir <dir> .... Examples will be installed to <dir>
2985 (default PREFIX/examples)
2986 -testsdir <dir> ....... Tests will be installed to <dir>
2987 (default PREFIX/tests)
2989 -hostbindir <dir> .. Host executables will be installed to <dir>
2990 (default HOSTPREFIX/bin)
2991 -hostdatadir <dir> . Data used by qmake will be installed to <dir>
2992 (default HOSTPREFIX)
2996 The defaults (*) are usually acceptable. A plus (+) denotes a default value
2997 that needs to be evaluated. If the evaluation succeeds, the feature is
2998 included. Here is a short explanation of each option:
3000 * -release ........... Compile and link Qt with debugging turned off.
3001 -debug ............. Compile and link Qt with debugging turned on.
3002 -debug-and-release . Compile and link two versions of Qt, with and without
3003 debugging turned on (Mac only).
3005 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
3007 -opensource ........ Compile and link the Open-Source Edition of Qt.
3008 -commercial ........ Compile and link the Commercial Edition of Qt.
3010 -no-c++11 .......... Do not compile Qt with C++11 support enabled.
3011 + -c++11 ............. Compile Qt with C++11 support enabled.
3013 * -shared ............ Create and use shared Qt libraries.
3014 -static ............ Create and use static Qt libraries.
3016 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3018 -fast .............. Configure Qt quickly by generating Makefiles only for
3019 library and subdirectory targets. All other Makefiles
3020 are created as wrappers, which will in turn run qmake.
3022 -no-largefile ...... Disables large file support.
3023 + -largefile ......... Enables Qt to access files larger than 4 GB.
3025 -no-accessibility .. Do not compile Accessibility support.
3026 * -accessibility ..... Compile Accessibility support.
3028 -no-sql-<driver> ... Disable SQL <driver> entirely.
3029 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3031 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3034 Possible values for <driver>:
3035 [ $CFG_SQL_AVAILABLE ]
3037 -system-sqlite ..... Use sqlite from the operating system.
3039 -no-phonon-backend.. Do not build the platform phonon plugin.
3040 + -phonon-backend..... Build the platform phonon plugin.
3042 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
3043 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
3045 -no-qml-debug ...... Do not build the in-process QML debugging support.
3046 + -qml-debug ......... Build the QML debugging support.
3048 -platform target ... The operating system and compiler you are building
3051 See the README file for a list of supported
3052 operating systems and compilers.
3054 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3055 -no-sse3 ........... Do not compile with use of SSE3 instructions.
3056 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
3057 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
3058 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
3059 -no-avx ............ Do not compile with use of AVX instructions.
3060 -no-avx2 ........... Do not compile with use of AVX2 instructions.
3061 -no-neon ........... Do not compile with use of NEON instructions.
3062 -no-mips_dsp ....... Do not compile with use of MIPS DSP instructions.
3063 -no-mips_dspr2 ..... Do not compile with use of MIPS DSP rev2 instructions.
3065 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3066 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3068 -testcocoon Instrument Qt with the TestCocoon code coverage tool.
3070 -D <string> ........ Add an explicit define to the preprocessor.
3071 -I <string> ........ Add an explicit include path.
3072 -L <string> ........ Add an explicit library path.
3074 + -pkg-config ........ Use pkg-config to detect include and library paths. By default,
3075 configure determines whether to use pkg-config or not with
3076 some heuristics such as checking the environment variables.
3077 -no-pkg-config ..... Disable use of pkg-config.
3078 -force-pkg-config .. Force usage of pkg-config (skips pkg-config usability
3079 detection heuristic).
3081 -help, -h .......... Display this information.
3083 Third Party Libraries:
3085 -qt-zlib ........... Use the zlib bundled with Qt.
3086 + -system-zlib ....... Use zlib from the operating system.
3087 See http://www.gzip.org/zlib
3089 -no-gif ............ Do not compile GIF reading support.
3091 -no-libpng ......... Do not compile PNG support.
3092 -qt-libpng ......... Use the libpng bundled with Qt.
3093 + -system-libpng ..... Use libpng from the operating system.
3094 See http://www.libpng.org/pub/png
3096 -no-libjpeg ........ Do not compile JPEG support.
3097 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3098 + -system-libjpeg .... Use libjpeg from the operating system.
3099 See http://www.ijg.org
3101 -no-openssl ........ Do not compile support for OpenSSL.
3102 + -openssl ........... Enable run-time OpenSSL support.
3103 -openssl-linked .... Enabled linked OpenSSL support.
3105 -qt-pcre ........... Use the PCRE library bundled with Qt.
3106 + -system-pcre ....... Use the PCRE library from the operating system.
3110 -make <part> ....... Add part to the list of parts to be built at make time.
3111 ($QT_DEFAULT_BUILD_PARTS)
3112 -nomake <part> ..... Exclude part from the list of parts to be built.
3114 -R <string> ........ Add an explicit runtime library path to the Qt
3116 -l <string> ........ Add an explicit library.
3118 -no-rpath .......... Do not use the library install path as a runtime
3120 + -rpath ............. Link Qt libraries and executables using the library
3121 install path as a runtime library path. Equivalent
3122 to -R install_libpath
3124 -continue .......... Continue as far as possible if an error occurs.
3126 -verbose, -v ....... Print verbose information about each step of the
3129 -silent ............ Reduce the build output so that warnings and errors
3130 can be seen more easily.
3132 * -no-optimized-qmake ... Do not build qmake optimized.
3133 -optimized-qmake ...... Build qmake optimized.
3135 -no-gui ............ Don't build the Qt GUI library
3137 $NSN -no-nis ............ Do not compile NIS support.
3138 $NSY -nis ............... Compile NIS support.
3140 $CUN -no-cups ........... Do not compile CUPS support.
3141 $CUY -cups .............. Compile CUPS support.
3142 Requires cups/cups.h and libcups.so.2.
3144 $CIN -no-iconv .......... Do not compile support for iconv(3).
3145 $CIY -iconv ............. Compile support for iconv(3).
3147 $PHN -no-pch ............ Do not use precompiled header support.
3148 $PHY -pch ............... Use precompiled header support.
3150 $DBN -no-dbus ........... Do not compile the QtDBus module.
3151 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3152 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3154 -reduce-relocations ..... Reduce relocations in the libraries through extra
3155 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3156 experimental; needs GNU ld >= 2.18).
3158 -force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
3160 -device <name> ............... Cross-compile for device <name> (experimental)
3161 -device-option <key=value> ... Add device specific options for the device mkspec
3164 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3165 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3167 $XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
3168 $XCBY -xcb ............... Compile Xcb support.
3170 $EGLFSN -no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support.
3171 $EGLFSY -eglfs ............. Compile EGLFS support (Requires OpenGL ES 2 support).
3173 $DFBN -no-directfb ....... Do not compile DirectFB support.
3174 $DFBY -directfb .......... Compile DirectFB support.
3176 $LFBN -no-linuxfb ........ Do not compile Linux Framebuffer support.
3177 $LFBY -linuxfb ........... Compile Linux Framebuffer support.
3179 $KMSN -no-kms ............ Do not compile KMS support.
3180 $KMSY -kms ............... Compile KMS support (Requires EGL and OpenGL ES 2 support).
3182 -qpa <name> ......... Sets the default QPA platform (e.g xcb, cocoa, windows).
3184 -xplatform target ... The target platform when cross-compiling.
3186 -sysroot <dir> ...... Sets <dir> as the target compiler's and qmake's sysroot.
3188 -no-feature-<feature> Do not compile in <feature>.
3189 -feature-<feature> .. Compile in <feature>. The available features
3190 are described in src/corelib/global/qfeatures.txt
3192 -no-freetype ........ Do not compile in Freetype2 support.
3193 -qt-freetype ........ Use the libfreetype bundled with Qt.
3194 * -system-freetype .... Use libfreetype from the operating system.
3195 See http://www.freetype.org/
3197 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3198 default ($CFG_QCONFIG).
3200 -no-opengl .......... Do not support OpenGL.
3201 -opengl <api> ....... Enable OpenGL support
3202 With no parameter, this will attempt to auto-detect
3203 OpenGL ES 2, or regular desktop OpenGL.
3204 Use es2 for <api> to override auto-detection.
3206 $GBN -no-glib ........... Do not compile Glib support.
3207 $GBY -glib .............. Compile Glib support.
3210 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
3213 $X2N -no-xinput2......... Do not compile XInput2 support.
3214 $X2Y -xinput2............ Compile XInput2 support.
3220 if [ "$BUILD_ON_MAC" = "yes" ]; then
3225 -Fstring ........... Add an explicit framework path.
3226 -fw string ......... Add an explicit framework.
3228 * -framework ......... Build Qt as a series of frameworks and
3229 link tools against those frameworks.
3230 -no-framework ...... Do not build Qt as a series of frameworks.
3232 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3233 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3235 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
3236 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
3237 QT_ENABLE_HARFBUZZ environment variable.
3242 [ "x$ERROR" = "xyes" ] && exit 1
3247 # -----------------------------------------------------------------------------
3248 # LICENSING, INTERACTIVE PART
3249 # -----------------------------------------------------------------------------
3252 echo "This is the Qt ${EditionString} Edition."
3255 if [ "$Edition" = "OpenSource" ]; then
3257 echo "You are licensed to use this software under the terms of"
3258 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
3259 if [ -f "$relpath/LICENSE.GPL3" ]; then
3260 echo "You are also licensed to use this software under the terms of"
3261 echo "the GNU General Public License (GPL) versions 3."
3267 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3268 echo "You have already accepted the terms of the $LicenseType license."
3271 if [ -f "$relpath/LICENSE.GPL3" ]; then
3272 echo "Type '3' to view the GNU General Public License version 3."
3274 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
3275 echo "Type 'yes' to accept this license offer."
3276 echo "Type 'no' to decline this license offer."
3278 echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
3282 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
3284 elif [ "$acceptance" = "no" ]; then
3285 echo "You are not licensed to use this software."
3288 elif [ "$acceptance" = "3" ]; then
3289 more "$relpath/LICENSE.GPL3"
3290 elif [ "$acceptance" = "L" ]; then
3291 more "$relpath/LICENSE.LGPL"
3294 elif [ "$Edition" = "Preview" ]; then
3295 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
3298 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3299 echo "You have already accepted the terms of the $LicenseType license."
3302 echo "You are licensed to use this software under the terms of"
3303 echo "the $TheLicense"
3305 echo "Type '?' to read the Preview License."
3306 echo "Type 'yes' to accept this license offer."
3307 echo "Type 'no' to decline this license offer."
3309 echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
3313 if [ "$acceptance" = "yes" ]; then
3315 elif [ "$acceptance" = "no" ] ;then
3316 echo "You are not licensed to use this software."
3319 elif [ "$acceptance" = "?" ]; then
3320 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
3323 elif [ "$Edition" != "OpenSource" ]; then
3324 if [ -n "$ExpiryDate" ]; then
3325 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
3326 [ -z "$ExpiryDate" ] && ExpiryDate="0"
3327 Today=`date +%Y%m%d`
3328 if [ "$Today" -gt "$ExpiryDate" ]; then
3329 case "$LicenseType" in
3330 Commercial|Academic|Educational)
3331 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
3333 echo "NOTICE NOTICE NOTICE NOTICE"
3335 echo " Your support and upgrade period has expired."
3337 echo " You are no longer licensed to use this version of Qt."
3338 echo " Please contact qt-info@nokia.com to renew your support"
3339 echo " and upgrades for this license."
3341 echo "NOTICE NOTICE NOTICE NOTICE"
3346 echo "WARNING WARNING WARNING WARNING"
3348 echo " Your support and upgrade period has expired."
3350 echo " You may continue to use your last licensed release"
3351 echo " of Qt under the terms of your existing license"
3352 echo " agreement. But you are not entitled to technical"
3353 echo " support, nor are you entitled to use any more recent"
3354 echo " Qt releases."
3356 echo " Please contact qt-info@nokia.com to renew your"
3357 echo " support and upgrades for this license."
3359 echo "WARNING WARNING WARNING WARNING"
3366 echo "NOTICE NOTICE NOTICE NOTICE"
3368 echo " Your Evaluation license has expired."
3370 echo " You are no longer licensed to use this software. Please"
3371 echo " contact qt-info@nokia.com to purchase license, or install"
3372 echo " the Qt Open Source Edition if you intend to develop free"
3375 echo "NOTICE NOTICE NOTICE NOTICE"
3382 TheLicense=`head -n 1 "$outpath/LICENSE"`
3384 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3385 echo "You have already accepted the terms of the $TheLicense."
3388 echo "You are licensed to use this software under the terms of"
3389 echo "the $TheLicense."
3391 echo "Type '?' to view the $TheLicense."
3392 echo "Type 'yes' to accept this license offer."
3393 echo "Type 'no' to decline this license offer."
3395 echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
3399 if [ "$acceptance" = "yes" ]; then
3401 elif [ "$acceptance" = "no" ]; then
3402 echo "You are not licensed to use this software."
3405 else [ "$acceptance" = "?" ]
3406 more "$outpath/LICENSE"
3411 # this should be moved somewhere else
3414 AIX_VERSION=`uname -v`
3415 if [ "$AIX_VERSION" -lt "5" ]; then
3416 QMakeVar add QMAKE_LIBS_X11 -lbind
3423 #-------------------------------------------------------------------------------
3424 # generate qconfig.cpp
3425 #-------------------------------------------------------------------------------
3426 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
3428 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3430 static const char qt_configure_licensee_str [256 + 12] = "qt_lcnsuser=$Licensee";
3431 static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$Edition";
3433 /* Installation date */
3434 static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`";
3436 /* Installation Info */
3437 static const char qt_configure_prefix_path_strs[][256 + 12] = {
3438 "qt_prfxpath=$QT_INSTALL_PREFIX",
3439 "qt_docspath=$QT_INSTALL_DOCS",
3440 "qt_hdrspath=$QT_INSTALL_HEADERS",
3441 "qt_libspath=$QT_INSTALL_LIBS",
3442 "qt_binspath=$QT_INSTALL_BINS",
3443 "qt_plugpath=$QT_INSTALL_PLUGINS",
3444 "qt_impspath=$QT_INSTALL_IMPORTS",
3445 "qt_datapath=$QT_INSTALL_DATA",
3446 "qt_trnspath=$QT_INSTALL_TRANSLATIONS",
3447 "qt_xmplpath=$QT_INSTALL_EXAMPLES",
3448 "qt_tstspath=$QT_INSTALL_TESTS",
3449 #ifdef QT_BUILD_QMAKE
3450 "qt_ssrtpath=$CFG_SYSROOT",
3451 "qt_hpfxpath=$QT_HOST_PREFIX",
3452 "qt_hbinpath=$QT_HOST_BINS",
3453 "qt_hdatpath=$QT_HOST_DATA",
3456 static const char qt_configure_settings_path_str[256 + 12] = "qt_stngpath=$QT_INSTALL_SETTINGS";
3459 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3461 /* strlen( "qt_lcnsxxxx" ) == 12 */
3462 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
3463 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
3465 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
3468 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
3469 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
3470 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
3472 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
3473 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
3474 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
3477 # -----------------------------------------------------------------------------
3478 if [ "$LicenseType" = "Evaluation" ]; then
3479 EVALKEY=qt_qevalkey=$LicenseKeyExt
3480 elif echo "$DEFINES" | grep QT_EVAL >/dev/null 2>&1; then
3481 EVALKEY=qt_qevalkey=
3484 if [ -n "$EVALKEY" ]; then
3485 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
3486 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
3487 /* Evaluation license key */
3488 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
3490 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
3494 # -----------------------------------------------------------------------------
3496 # -----------------------------------------------------------------------------
3499 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
3501 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
3502 if [ "$OPT_SHADOW" = "yes" ]; then
3503 "$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
3504 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
3505 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
3509 # $1: input variable name (awk regexp)
3510 # $2: optional output variable name
3511 # $3: optional value transformation (sed command)
3512 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
3513 # is where the resulting variable is written to
3514 setBootstrapVariable()
3516 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
3520 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
3521 echo "Creating qmake. Please wait..."
3524 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
3525 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
3526 if [ -f "$QCONFIG_H" ]; then
3527 OLD_QCONFIG_H=$QCONFIG_H
3528 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
3531 # create temporary qconfig.h for compiling qmake, if it doesn't exist
3532 # when building qmake, we use #defines for the install paths,
3533 # however they are real functions in the library
3534 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
3535 mkdir -p "$outpath/src/corelib/global"
3536 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
3537 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
3540 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
3542 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
3543 rm -rf mkspecs/default mkspecs/default-host
3544 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
3545 ln -s `echo $QMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default-host
3546 mkdir -p "$outpath/qmake" || exit
3548 for mkfile in GNUmakefile Makefile; do
3551 in_mkfile="${mkfile}.in"
3552 if [ "$mkfile" = "Makefile" ]; then
3553 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
3554 # (cd qmake && qmake) >/dev/null 2>&1 && continue
3556 in_mkfile="${mkfile}.unix"
3558 in_mkfile="$relpath/qmake/$in_mkfile"
3559 mkfile="$outpath/qmake/$mkfile"
3560 if [ -f "$mkfile" ]; then
3561 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
3564 [ -f "$in_mkfile" ] || continue
3566 echo "########################################################################" > "$mkfile"
3567 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
3568 echo "########################################################################" >> "$mkfile"
3571 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
3572 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
3573 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
3575 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
3576 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
3579 [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
3580 setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
3581 setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
3582 setBootstrapVariable QMAKE_CFLAGS
3583 setBootstrapVariable QMAKE_CXXFLAGS
3584 setBootstrapVariable QMAKE_LFLAGS
3586 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
3587 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
3588 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
3590 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
3591 setBootstrapVariable QMAKE_CFLAGS_RELEASE
3592 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
3593 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
3594 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
3595 elif [ "$CFG_DEBUG" = "yes" ]; then
3596 setBootstrapVariable QMAKE_CFLAGS_DEBUG
3597 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
3598 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
3599 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
3602 if [ -n "$RPATH_FLAGS" ] && [ -n "`getQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
3603 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" QMAKE_LFLAGS_RPATH
3604 for rpath in $RPATH_FLAGS; do
3605 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
3608 if [ "$BUILD_ON_MAC" = "yes" ]; then
3609 echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
3610 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
3611 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
3612 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
3613 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
3614 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
3615 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
3616 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
3617 if [ '!' -z "$CFG_SDK" ]; then
3618 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
3619 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
3620 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
3621 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
3622 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
3625 if [ '!' -z "$D_FLAGS" ]; then
3626 EXTRA_CFLAGS="$EXTRA_CFLAGS $D_FLAGS"
3628 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
3629 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
3630 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
3631 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
3633 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
3634 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
3635 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
3636 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
3637 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
3638 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
3639 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
3640 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
3641 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
3642 -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
3644 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
3645 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
3646 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
3647 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
3652 QMAKE_BUILD_ERROR=no
3653 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
3654 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
3655 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
3656 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
3659 #-------------------------------------------------------------------------------
3660 # create a qt.conf for the Qt build tree itself
3661 #-------------------------------------------------------------------------------
3663 QTCONFFILE="$outpath/bin/qt.conf"
3664 cat > "$QTCONFFILE" <<EOF
3669 #-------------------------------------------------------------------------------
3671 #-------------------------------------------------------------------------------
3672 if [ -z "$PKG_CONFIG" ]; then
3673 # See if PKG_CONFIG is set in the mkspec:
3674 PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
3676 if [ -z "$PKG_CONFIG" ]; then
3677 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
3680 if [ "$CFG_PKGCONFIG" = "no" ]; then
3682 elif [ "$CFG_PKGCONFIG" = "force" ]; then
3684 echo >&2 "You have asked to use pkg-config. Please make sure you have"
3685 echo >&2 "a correctly setup pkg-config environment!"
3687 elif [ -n "$PKG_CONFIG" ]; then
3688 # found a pkg-config
3689 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3690 # when xcompiling, check environment to see if it's actually usable
3691 if [ -z "$PKG_CONFIG_LIBDIR" ]; then
3692 if [ -n "$CFG_SYSROOT" ] && [ -d "$CFG_SYSROOT/usr/lib/pkgconfig" ]; then
3693 PKG_CONFIG_LIBDIR=$CFG_SYSROOT/usr/lib/pkgconfig:$CFG_SYSROOT/usr/share/pkgconfig
3694 if [ -n "$GCC_MACHINE_DUMP" ]; then
3695 PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR:$CFG_SYSROOT/usr/lib/$GCC_MACHINE_DUMP/pkgconfig
3697 export PKG_CONFIG_LIBDIR
3698 echo >&2 "Note: PKG_CONFIG_LIBDIR automatically set to $PKG_CONFIG_LIBDIR"
3699 elif [ "$CFG_PKGCONFIG" = "yes" ]; then
3700 echo >&2 "Error: PKG_CONFIG_LIBDIR has not been set. This could mean"
3701 echo >&2 "the host's .pc files will be used (even if you set PKG_CONFIG_PATH)."
3702 echo >&2 "Set this variable to the directory that contains target .pc files"
3703 echo >&2 "for pkg-config to function correctly when cross-compiling or"
3704 echo >&2 "use -force-pkg-config to override this test."
3708 echo >&2 "Warning: Disabling pkg-config since PKG_CONFIG_LIBDIR is not set."
3711 if [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
3712 if [ -n "$CFG_SYSROOT" ]; then
3713 PKG_CONFIG_SYSROOT_DIR=$CFG_SYSROOT
3714 export PKG_CONFIG_SYSROOT_DIR
3715 echo >&2 "Note: PKG_CONFIG_SYSROOT_DIR automatically set to $PKG_CONFIG_SYSROOT_DIR"
3716 elif [ "$CFG_PKGCONFIG" = "yes" ]; then
3717 echo >&2 "Error: PKG_CONFIG_SYSROOT_DIR has not been set. Set this variable"
3718 echo >&2 "to your sysroot for pkg-config to function correctly when cross-compiling"
3719 echo >&2 "or use -force-pkg-config to override this test."
3723 echo >&2 "Warning: Disabling pkg-config since PKG_CONFIG_SYSROOT_DIR is not set."
3727 elif [ "$CFG_PKGCONFIG" = "yes" ]; then
3728 echo >&2 "Could not detect pkg-config from mkspec or PATH."
3732 if [ -z "$PKG_CONFIG" ]; then
3733 QT_CONFIG="$QT_CONFIG no-pkg-config"
3736 #-------------------------------------------------------------------------------
3737 # write out device config before we run the test.
3738 #-------------------------------------------------------------------------------
3739 DEVICE_VARS_OUTFILE="$outpath/mkspecs/qdevice.pri"
3740 if cmp -s "$DEVICE_VARS_FILE" "$DEVICE_VARS_OUTFILE"; then
3741 rm -f "$DEVICE_VARS_FILE"
3743 mv -f $DEVICE_VARS_FILE "$DEVICE_VARS_OUTFILE"
3744 DEVICE_VARS_FILE="$DEVICE_VARS_OUTFILE"
3747 #-------------------------------------------------------------------------------
3748 # tests that need qmake
3749 #-------------------------------------------------------------------------------
3751 #-------------------------------------------------------------------------------
3752 # determine the target and host architectures
3753 #-------------------------------------------------------------------------------
3755 # Use config.tests/arch/arch.pro to have the compiler tell us what the target architecture is
3756 OUTFILE=$outpath/arch.result
3757 "$unixtests/arch.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "CFG" $MAC_CONFIG_TEST_COMMANDLINE
3758 if [ $? -eq 0 ]; then
3759 eval `cat "$OUTFILE"`
3762 echo "Could not determine the target architecture!"
3763 echo "Turn on verbose messaging (-v) to see the final report."
3765 rm -f "$OUTFILE" 2>/dev/null
3766 [ -z "$CFG_ARCH" ] && CFG_ARCH="unknown"
3768 if [ "$QMAKESPEC" != "$XQMAKESPEC" ]; then
3769 # Do the same test again, using the host compiler
3770 SYSROOT_FLAG= "$unixtests/arch.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "CFG_HOST" $MAC_CONFIG_TEST_COMMANDLINE
3771 if [ $? -eq 0 ]; then
3772 eval `cat "$OUTFILE"`
3775 echo "Could not determine the host architecture!"
3776 echo "Turn on verbose messaging (-v) to see the final report."
3778 rm -f "$OUTFILE" 2>/dev/null
3779 [ -z "$CFG_HOST_ARCH" ] && CFG_HOST_ARCH="unknown"
3781 # not cross compiling, host == target
3782 CFG_HOST_ARCH="$CFG_ARCH"
3783 CFG_HOST_CPUFEATURES="$CFG_CPUFEATURES"
3787 if [ "$OPT_VERBOSE" = "yes" ]; then
3788 echo "System architecture: '$CFG_ARCH'"
3789 echo "Host architecture: '$CFG_HOST_ARCH'"
3792 #-------------------------------------------------------------------------------
3793 # functionality tests
3794 #-------------------------------------------------------------------------------
3796 # Detect C++11 support
3797 if [ "$CFG_CXX11" != "no" ]; then
3798 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
3800 elif [ "$CFG_CXX11" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
3801 echo "C++11 support cannot be enabled due to functionality tests!"
3802 echo " Turn on verbose messaging (-v) to $0 to see the final report."
3803 echo " If you believe this message is in error you may use the continue"
3804 echo " switch (-continue) to $0 to continue."
3811 # detect availability of float math.h functions
3812 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
3813 CFG_USE_FLOATMATH=yes
3815 CFG_USE_FLOATMATH=no
3818 # detect sse2 support
3819 if [ "${CFG_SSE2}" = "auto" ]; then
3820 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/common/sse2 "sse2" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then
3827 # detect sse3 support
3828 if [ "${CFG_SSE3}" = "auto" ]; then
3829 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/common/sse3 "sse3" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then
3836 # detect ssse3 support
3837 if [ "${CFG_SSSE3}" = "auto" ]; then
3838 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/common/ssse3 "ssse3" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then
3845 # detect sse4.1 support
3846 if [ "${CFG_SSE4_1}" = "auto" ]; then
3847 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/common/sse4_1 "sse4_1" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then
3854 # detect sse4.2 support
3855 if [ "${CFG_SSE4_2}" = "auto" ]; then
3856 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/common/sse4_2 "sse4_2" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then
3863 # detect avx support
3864 if [ "${CFG_AVX}" = "auto" ]; then
3865 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/common/avx "avx" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then
3866 case "$XQMAKESPEC" in
3868 # Some clang versions produce internal compiler errors compiling Qt AVX code
3869 case `$TEST_COMPILER --version` in
3870 Apple\ clang\ version\ 2*|Apple\ clang\ version\ 3.0*)
3872 if [ "$OPT_VERBOSE" = "yes" ]; then
3873 echo 'AVX support disabled for blacklisted clang compiler'
3890 # detect avx2 support
3891 if [ "${CFG_AVX}" = "no" ]; then
3894 if [ "${CFG_AVX2}" = "auto" ]; then
3895 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/common/avx2 "avx2" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then
3902 # check iWMMXt support
3903 if [ "$CFG_IWMMXT" = "yes" ]; then
3904 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS
3905 if [ $? != "0" ]; then
3906 echo "The iWMMXt functionality test failed!"
3907 echo " Please make sure your compiler supports iWMMXt intrinsics!"
3912 # detect neon support
3913 if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
3914 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/neon "neon" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then
3919 elif [ "$CFG_ARCH" != "arm" ]; then
3923 # detect mips_dsp support
3924 if [ "${CFG_ARCH}" = "mips" ] && [ "${CFG_MIPS_DSP}" = "yes" ]; then
3930 # detect mips_dspr2 support
3931 if [ "${CFG_ARCH}" = "mips" ] && [ "${CFG_MIPS_DSPR2}" = "yes" ]; then
3937 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
3940 if [ "$CFG_ZLIB" = "no" ]; then
3941 # Note: Qt no longer support builds without zlib
3942 # So we force a "no" to be "auto" here.
3943 # If you REALLY really need no zlib support, you can still disable
3944 # it by doing the following:
3945 # add "no-zlib" to mkspecs/qconfig.pri
3946 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
3948 # There's no guarantee that Qt will build under those conditions
3953 if [ "$CFG_ZLIB" = "auto" ]; then
3954 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
3961 if [ "$CFG_LARGEFILE" = "auto" ]; then
3962 #Large files should be enabled for all Linux systems
3966 if [ "$CFG_GUI" = "no" ]; then
3967 QPA_PLATFORM_GUARD=no
3970 # detect how jpeg should be built
3971 if [ "$CFG_JPEG" = "auto" ]; then
3972 if [ "$CFG_SHARED" = "yes" ]; then
3979 if [ "$CFG_LIBJPEG" = "auto" ]; then
3980 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
3987 # detect how gif should be built
3988 if [ "$CFG_GIF" = "auto" ]; then
3989 if [ "$CFG_SHARED" = "yes" ]; then
3997 if [ "$CFG_LIBPNG" = "auto" ]; then
3998 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
4005 # detect accessibility
4006 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4007 CFG_ACCESSIBILITY=yes
4010 if [ "$CFG_EGLFS" = "yes" ]; then
4011 if [ "$CFG_EGL" = "no" ]; then
4012 echo "The EGLFS plugin requires EGL support and cannot be built"
4015 if [ "$CFG_OPENGL" != "es2" ]; then
4016 echo "The EGLFS plugin requires OpenGL ES 2 support and cannot be built"
4023 if [ "$CFG_KMS" = "yes" ]; then
4024 if [ "$CFG_EGL" = "no" ]; then
4025 echo "The KMS plugin requires EGL support and cannot be built"
4028 if [ "$CFG_OPENGL" != "es2" ]; then
4029 echo "The KMS plugin requires OpenGL ES 2 support and cannot be built"
4034 # auto-detect SQL-modules support
4035 for _SQLDR in $CFG_SQL_AVAILABLE; do
4038 if [ "$CFG_SQL_mysql" != "no" ]; then
4039 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
4040 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4041 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4042 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4043 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4044 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4045 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4047 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4048 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4049 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4050 echo " You need MySql 4 or higher."
4051 echo " If you believe this message is in error you may use the continue"
4052 echo " switch (-continue) to $0 to continue."
4057 QT_LFLAGS_MYSQL_R=""
4061 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
4062 QMakeVar add CONFIG use_libmysqlclient_r
4063 if [ "$CFG_SQL_mysql" = "auto" ]; then
4064 CFG_SQL_mysql=plugin
4066 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
4067 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
4068 if [ "$CFG_SQL_mysql" = "auto" ]; then
4069 CFG_SQL_mysql=plugin
4072 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4073 echo "MySQL support cannot be enabled due to functionality tests!"
4074 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4075 echo " If you believe this message is in error you may use the continue"
4076 echo " switch (-continue) to $0 to continue."
4081 QT_LFLAGS_MYSQL_R=""
4089 if [ "$CFG_SQL_psql" != "no" ]; then
4090 # Be careful not to use native pg_config when cross building.
4091 if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
4092 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
4093 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
4095 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
4096 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
4097 # But, respect PSQL_LIBS if set
4098 [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
4099 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
4100 if [ "$CFG_SQL_psql" = "auto" ]; then
4104 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4105 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4106 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4107 echo " If you believe this message is in error you may use the continue"
4108 echo " switch (-continue) to $0 to continue."
4119 if [ "$CFG_SQL_odbc" != "no" ]; then
4120 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
4121 if [ "$CFG_SQL_odbc" = "auto" ]; then
4125 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
4126 QT_LFLAGS_ODBC="-liodbc"
4127 if [ "$CFG_SQL_odbc" = "auto" ]; then
4131 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4132 echo "ODBC support cannot be enabled due to functionality tests!"
4133 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4134 echo " If you believe this message is in error you may use the continue"
4135 echo " switch (-continue) to $0 to continue."
4145 if [ "$CFG_SQL_oci" != "no" ]; then
4146 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
4147 if [ "$CFG_SQL_oci" = "auto" ]; then
4151 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4152 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4153 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4154 echo " If you believe this message is in error you may use the continue"
4155 echo " switch (-continue) to $0 to continue."
4164 if [ "$CFG_SQL_tds" != "no" ]; then
4165 [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
4166 [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
4167 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
4168 if [ "$CFG_SQL_tds" = "auto" ]; then
4172 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4173 echo "TDS support cannot be enabled due to functionality tests!"
4174 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4175 echo " If you believe this message is in error you may use the continue"
4176 echo " switch (-continue) to $0 to continue."
4185 if [ "$CFG_SQL_db2" != "no" ]; then
4186 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
4187 if [ "$CFG_SQL_db2" = "auto" ]; then
4191 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4192 echo "ODBC support cannot be enabled due to functionality tests!"
4193 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4194 echo " If you believe this message is in error you may use the continue"
4195 echo " switch (-continue) to $0 to continue."
4204 if [ "$CFG_SQL_ibase" != "no" ]; then
4205 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
4206 if [ "$CFG_SQL_ibase" = "auto" ]; then
4207 CFG_SQL_ibase=plugin
4210 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4211 echo "InterBase support cannot be enabled due to functionality tests!"
4212 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4213 echo " If you believe this message is in error you may use the continue"
4214 echo " switch (-continue) to $0 to continue."
4223 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4224 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
4225 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4226 CFG_SQL_sqlite2=plugin
4229 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4230 echo "SQLite2 support cannot be enabled due to functionality tests!"
4231 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4232 echo " If you believe this message is in error you may use the continue"
4233 echo " switch (-continue) to $0 to continue."
4242 if [ "$CFG_SQL_sqlite" != "no" ]; then
4243 SQLITE_AUTODETECT_FAILED="no"
4244 if [ "$CFG_SQLITE" = "system" ]; then
4245 if [ -n "$PKG_CONFIG" ]; then
4246 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4247 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4250 QT_LFLAGS_SQLITE="-lsqlite3 -lz"
4252 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
4253 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4254 CFG_SQL_sqlite=plugin
4256 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4258 SQLITE_AUTODETECT_FAILED="yes"
4261 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4262 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4263 CFG_SQL_sqlite=plugin
4266 SQLITE_AUTODETECT_FAILED="yes"
4270 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4271 echo "SQLite support cannot be enabled due to functionality tests!"
4272 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4273 echo " If you believe this message is in error you may use the continue"
4274 echo " switch (-continue) to $0 to continue."
4280 if [ "$OPT_VERBOSE" = "yes" ]; then
4281 echo "unknown SQL driver: $_SQLDR"
4287 # auto-detect NIS support
4288 if [ "$CFG_NIS" != "no" ]; then
4289 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
4292 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4293 echo "NIS support cannot be enabled due to functionality tests!"
4294 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4295 echo " If you believe this message is in error you may use the continue"
4296 echo " switch (-continue) to $0 to continue."
4304 # auto-detect CUPS support
4305 if [ "$CFG_CUPS" != "no" ]; then
4306 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
4309 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4310 echo "Cups support cannot be enabled due to functionality tests!"
4311 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4312 echo " If you believe this message is in error you may use the continue"
4313 echo " switch (-continue) to $0 to continue."
4321 # auto-detect iconv(3) support
4322 if [ "$CFG_ICONV" != "no" ]; then
4323 if [ "$XPLATFORM_MINGW" = "yes" ]; then
4325 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
4327 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
4329 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
4332 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4333 echo "Iconv support cannot be enabled due to functionality tests!"
4334 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4335 echo " If you believe this message is in error you may use the continue"
4336 echo " switch (-continue) to $0 to continue."
4344 # auto-detect libdbus-1 support
4345 if [ "$CFG_DBUS" != "no" ]; then
4346 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
4347 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4348 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4350 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
4351 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
4352 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
4353 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
4355 if [ "$CFG_DBUS" = "auto" ]; then
4357 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4358 # CFG_DBUS is "yes" or "linked" here
4360 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4361 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4362 echo " If you believe this message is in error you may use the continue"
4363 echo " switch (-continue) to $0 to continue."
4369 # auto-detect Glib support
4370 if [ "$CFG_GLIB" != "no" ]; then
4371 if [ -n "$PKG_CONFIG" ]; then
4372 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4373 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4375 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
4377 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
4378 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
4380 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4381 echo "Glib support cannot be enabled due to functionality tests!"
4382 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4383 echo " If you believe this message is in error you may use the continue"
4384 echo " switch (-continue) to $0 to continue."
4392 # auto-detect GTK style support
4393 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
4394 if [ -n "$PKG_CONFIG" ]; then
4395 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
4396 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
4398 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
4400 QT_CONFIG="$QT_CONFIG gtkstyle"
4401 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
4402 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
4404 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4405 echo "Gtk theme support cannot be enabled due to functionality tests!"
4406 echo " Turn on verbose messaging (-v) to $0 to see the fin al report."
4407 echo " If you believe this message is in error you may use the continue"
4408 echo " switch (-continue) to $0 to continue."
4414 elif [ "$CFG_GLIB" = "no" ]; then
4419 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4420 if [ -n "$PKG_CONFIG" ]; then
4421 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4422 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4424 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
4426 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
4427 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
4429 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4430 echo "Gstreamer support cannot be enabled due to functionality tests!"
4431 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4432 echo " If you believe this message is in error you may use the continue"
4433 echo " switch (-continue) to $0 to continue."
4439 elif [ "$CFG_GLIB" = "no" ]; then
4443 # auto-detect libicu support
4444 if [ "$CFG_ICU" != "no" ]; then
4445 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
4446 [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
4448 if [ "$CFG_ICU" = "auto" ]; then
4450 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4453 echo "The ICU library support cannot be enabled."
4454 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4455 echo " If you believe this message is in error you may use the continue"
4456 echo " switch (-continue) to $0 to continue."
4462 # Auto-detect PulseAudio support
4463 if [ "$CFG_PULSEAUDIO" != "no" ]; then
4464 if [ -n "$PKG_CONFIG" ]; then
4465 QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4466 QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4468 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
4470 QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
4471 QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
4473 if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4474 echo "PulseAudio support cannot be enabled due to functionality tests!"
4475 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4476 echo " If you believe this message is in error you may use the continue"
4477 echo " switch (-continue) to $0 to continue."
4486 if [ "$XPLATFORM_MINGW" = "yes" ]; then
4487 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4488 if [ "$CFG_GUI" = "no" ]; then
4489 if [ "$CFG_OPENGL" = "auto" ]; then
4492 if [ "$CFG_OPENGL" != "no" ]; then
4493 echo "OpenGL enabled, but GUI disabled."
4494 echo " You might need to either enable the GUI or disable OpenGL"
4498 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4499 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
4501 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
4504 if [ "$CFG_OPENGL" = "yes" ]; then
4505 echo "All the OpenGL functionality tests failed!"
4506 echo " You might need to modify the include and library search paths by editing"
4507 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4508 echo " ${XQMAKESPEC}."
4515 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4516 if [ "$CFG_OPENGL" = "desktop" ]; then
4517 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS
4518 if [ $? != "0" ]; then
4519 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4526 elif [ "$CFG_OPENGL" = "es2" ]; then
4528 "$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
4529 if [ $? != "0" ]; then
4530 echo "The OpenGL ES 2.0 functionality test failed!"
4531 echo " You might need to modify the include and library search paths by editing"
4532 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4533 echo " ${XQMAKESPEC}."
4536 elif [ "$CFG_OPENGL" = "desktop" ]; then
4537 # Desktop OpenGL support
4538 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS
4539 if [ $? != "0" ]; then
4540 echo "The OpenGL functionality test failed!"
4541 echo " You might need to modify the include and library search paths by editing"
4542 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4543 echo " ${XQMAKESPEC}."
4548 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4549 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS
4550 if [ $? != "0" ]; then
4551 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4558 fi # X11/MINGW OpenGL
4560 if [ "$BUILD_ON_MAC" = "yes" ]; then
4561 if [ "$CFG_PHONON" != "no" ]; then
4562 # Always enable Phonon (unless it was explicitly disabled)
4566 if [ "$CFG_COREWLAN" = "auto" ]; then
4567 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
4575 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4576 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4577 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
4579 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
4582 if [ "$CFG_OPENGL" = "yes" ]; then
4583 echo "All the OpenGL functionality tests failed!"
4584 echo " You might need to modify the include and library search paths by editing"
4585 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4586 echo " ${XQMAKESPEC}."
4591 elif [ "$CFG_OPENGL" = "es2" ]; then
4593 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
4594 QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4595 QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
4596 QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
4597 QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
4598 QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "`shellArgumentListToQMakeList "$QMAKE_INCDIR_OPENGL_ES2"`"
4599 QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "`shellArgumentListToQMakeList "$QMAKE_LIBDIR_OPENGL_ES2"`"
4600 QMakeVar set QMAKE_LIBS_OPENGL_ES2 "`shellArgumentListToQMakeList "$QMAKE_LIBS_OPENGL_ES2"`"
4603 "$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
4604 if [ $? != "0" ]; then
4605 echo "The OpenGL ES 2.0 functionality test failed!"
4606 echo " You might need to modify the include and library search paths by editing"
4607 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4608 echo " ${XQMAKESPEC}."
4611 elif [ "$CFG_OPENGL" = "desktop" ]; then
4612 # Desktop OpenGL support
4613 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS
4614 if [ $? != "0" ]; then
4615 echo "The OpenGL functionality test failed!"
4616 echo " You might need to modify the include and library search paths by editing"
4617 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4618 echo " ${XQMAKESPEC}."
4623 # auto-detect FontConfig support
4624 if [ "$CFG_FONTCONFIG" != "no" ]; then
4625 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
4626 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
4627 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
4629 QT_CFLAGS_FONTCONFIG=
4630 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
4632 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
4633 QT_CONFIG="$QT_CONFIG fontconfig"
4634 QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
4635 QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
4637 CFG_LIBFREETYPE=system
4644 # Save these for a check later
4645 ORIG_CFG_XCB="$CFG_XCB"
4646 ORIG_CFG_EGLFS="$CFG_EGLFS"
4647 ORIG_CFG_DIRECTFB="$CFG_DIRECTFB"
4648 ORIG_CFG_LINUXFB="$CFG_LINUXFB"
4649 ORIG_CFG_KMS="$CFG_KMS"
4651 if [ "$CFG_LIBUDEV" != "no" ]; then
4652 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libudev 2>/dev/null; then
4653 QMAKE_INCDIR_LIBUDEV=`$PKG_CONFIG --cflags-only-I libudev 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4654 QMAKE_LIBS_LIBUDEV=`$PKG_CONFIG --libs libudev 2>/dev/null`
4655 QMakeVar set QMAKE_INCDIR_LIBUDEV "$QMAKE_INCDIR_LIBUDEV"
4656 QMakeVar set QMAKE_LIBS_LIBUDEV "$QMAKE_LIBS_LIBUDEV"
4658 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
4660 QT_CONFIG="$QT_CONFIG libudev"
4661 elif [ "$CFG_LIBUDEV" = "yes" ]; then
4662 echo "The libudev functionality test failed!"
4666 QMakeVar add DEFINES QT_NO_LIBUDEV
4670 if [ "$CFG_EVDEV" != "no" ]; then
4671 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
4673 QT_CONFIG="$QT_CONFIG evdev"
4674 elif [ "$CFG_EVDEV" = "yes" ]; then
4675 echo "The evdev functionality test failed!"
4679 QMakeVar add DEFINES QT_NO_EVDEV
4683 # Check we actually have X11 :-)
4684 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
4685 QT_CONFIG="$QT_CONFIG xlib"
4688 # auto-detect Xrender support
4689 if [ "$CFG_XRENDER" != "no" ]; then
4690 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
4692 QT_CONFIG="$QT_CONFIG xrender"
4694 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4695 echo "Xrender support cannot be enabled due to functionality tests!"
4696 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4697 echo " If you believe this message is in error you may use the continue"
4698 echo " switch (-continue) to $0 to continue."
4706 if [ "$CFG_XCB" != "no" ]; then
4707 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xcb >= 1.5" 2>/dev/null; then
4708 QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`"
4709 QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`"
4711 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
4713 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
4714 QT_CONFIG="$QT_CONFIG xcb-render"
4717 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
4719 QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
4722 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
4723 QT_CONFIG="$QT_CONFIG xcb-xlib"
4726 # auto-detect XInput2 support. Needed by xcb too.
4727 if [ "$CFG_XINPUT2" != "no" ]; then
4728 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
4732 if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4733 echo "XInput2 support cannot be enabled due to functionality tests!"
4734 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4735 echo " If you believe this message is in error you may use the continue"
4736 echo " switch (-continue) to $0 to continue."
4744 if [ "$CFG_XCB" = "yes" ]; then
4745 echo "The XCB test failed!"
4746 echo " You might need to install dependency packages."
4747 echo " See src/plugins/platforms/xcb/README."
4751 QMakeVar add DEFINES QT_NO_XCB
4755 if [ "$CFG_DIRECTFB" != "no" ]; then
4756 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists directfb 2>/dev/null; then
4757 QMAKE_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
4758 QMAKE_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
4759 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/qpa/directfb" "DirectFB" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS $QMAKE_CFLAGS_DIRECTFB $QMAKE_LIBS_DIRECTFB; then
4761 elif [ "$CFG_DIRECTFB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4762 echo " DirectFB support cannot be enabled due to functionality tests!"
4763 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4764 echo " If you believe this message is in error you may use the continue"
4765 echo " switch (-continue) to $0 to continue."
4775 if [ "$CFG_LINUXFB" != "no" ]; then
4776 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/qpa/linuxfb" "LinuxFB" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then
4778 elif [ "$CFG_LINUXFB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4779 echo " Linux Framebuffer support cannot be enabled due to functionality tests!"
4780 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4781 echo " If you believe this message is in error you may use the continue"
4782 echo " switch (-continue) to $0 to continue."
4789 if [ "$CFG_KMS" != "no" ]; then
4790 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/qpa/kms" "KMS" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS; then
4792 elif [ "$CFG_KMS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4793 echo " KMS support cannot be enabled due to functionality tests!"
4794 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4795 echo " If you believe this message is in error you may use the continue"
4796 echo " switch (-continue) to $0 to continue."
4803 # Detect libxkbcommon
4804 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
4805 QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
4806 QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
4807 QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
4808 QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
4810 QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
4814 if [ "$CFG_EGL" != "no" ] && [ "$CFG_OPENGL" != "desktop" ]; then
4815 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then
4816 QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4817 QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null`
4818 QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null`
4819 QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
4820 QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
4821 fi # detect EGL support
4822 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
4824 elif [ "$CFG_EGL" = "yes" ]; then
4825 echo " The EGL functionality test failed; EGL is required by some QPA plugins to manage contexts & surfaces."
4826 echo " You might need to modify the include and library search paths by editing"
4827 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in ${XQMAKESPEC}."
4832 elif [ "$CFG_OPENGL" = "desktop" ]; then
4833 if [ "$CFG_EGL" = "yes" ]; then
4834 echo "EGL support was requested but Qt is being configured for desktop OpenGL."
4835 echo "Either disable EGL support or enable OpenGL ES support."
4841 if [ "$CFG_EGLFS" != "no" ]; then
4842 if [ "$CFG_OPENGL" = "es2" ] && [ "$CFG_EVDEV" = "yes" ]; then
4843 CFG_EGLFS="$CFG_EGL"
4849 if [ "$CFG_KMS" = "yes" ]; then
4850 if [ "$CFG_OPENGL" = "es2" ] && [ "$CFG_EGL" = "yes" ]; then
4857 # Determine the default QPA platform
4858 if [ -z "$QT_QPA_DEFAULT_PLATFORM" ]; then
4860 QT_QPA_DEFAULT_PLATFORM=`getXQMakeConf QT_QPA_DEFAULT_PLATFORM`
4861 if [ -z "$QT_QPA_DEFAULT_PLATFORM" ]; then
4862 if [ "$XPLATFORM_MINGW" = "yes" ]; then
4863 QT_QPA_DEFAULT_PLATFORM="windows"
4864 elif [ "$BUILD_ON_MAC" = "yes" ]; then
4865 QT_QPA_DEFAULT_PLATFORM="cocoa"
4866 elif [ "$UNAME_SYSTEM" = "QNX" ]; then
4867 QT_QPA_DEFAULT_PLATFORM="qnx"
4869 QT_QPA_DEFAULT_PLATFORM="xcb"
4874 if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
4875 QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
4876 QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
4877 QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
4879 if [ "$CFG_DIRECTFB" = "yes" ]; then
4880 QT_CONFIG="$QT_CONFIG directfb"
4881 QMakeVar set QMAKE_CFLAGS_DIRECTFB "$QMAKE_CFLAGS_DIRECTFB"
4882 QMakeVar set QMAKE_LIBS_DIRECTFB "$QMAKE_LIBS_DIRECTFB"
4884 if [ "$CFG_LINUXFB" = "yes" ]; then
4885 QT_CONFIG="$QT_CONFIG linuxfb"
4887 if [ "$CFG_KMS" = "yes" ]; then
4888 QT_CONFIG="$QT_CONFIG kms"
4891 if [ "$BUILD_ON_MAC" = "yes" ]; then
4892 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
4893 QT_CONFIG="$QT_CONFIG coreservices"
4895 QMakeVar add DEFINES QT_NO_CORESERVICES
4899 if [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ] && [ "$XPLATFORM_QNX" = "no" ]; then
4900 if [ "$CFG_XCB" = "no" ] && [ "$CFG_EGLFS" = "no" ] && [ "$CFG_DIRECTFB" = "no" ] && [ "$CFG_LINUXFB" = "no" ] && [ "$CFG_KMS" = "no" ]; then
4901 if [ "$QPA_PLATFORM_GUARD" = "yes" ] &&
4902 ( [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_EGLFS" = "auto" ] || [ "$ORIG_CFG_DIRECTFB" = "auto" ] || [ "$ORIG_CFG_LINUXFB" = "auto" ] || [ "$ORIG_CFG_KMS" = "auto" ] ); then
4903 echo "No QPA platform plugin enabled!"
4904 echo " If you really want to build without a QPA platform plugin you must pass"
4905 echo " -no-qpa-platform-guard to configure. Doing this will"
4906 echo " produce a Qt that can not run GUI applications."
4907 echo " The dependencies needed for xcb to build are listed in"
4908 echo " src/plugins/platforms/xcb/README"
4914 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
4917 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
4918 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
4919 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
4920 CFG_LIBFREETYPE=system
4926 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS &&
4927 [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4928 echo "STL functionality check failed! Cannot build Qt with this STL library."
4929 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4934 # detect POSIX clock_gettime()
4935 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
4936 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
4937 CFG_CLOCK_GETTIME=yes
4939 CFG_CLOCK_GETTIME=no
4943 # detect POSIX monotonic clocks
4944 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
4945 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
4946 CFG_CLOCK_MONOTONIC=yes
4948 CFG_CLOCK_MONOTONIC=no
4950 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
4951 CFG_CLOCK_MONOTONIC=no
4955 if [ "$CFG_MREMAP" = "auto" ]; then
4956 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
4963 # find if the platform provides getaddrinfo (ipv6 dns lookups)
4964 if [ "$CFG_GETADDRINFO" != "no" ]; then
4965 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
4968 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4969 echo "getaddrinfo support cannot be enabled due to functionality tests!"
4970 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4971 echo " If you believe this message is in error you may use the continue"
4972 echo " switch (-continue) to $0 to continue."
4980 # find if the platform provides inotify
4981 if [ "$CFG_INOTIFY" != "no" ]; then
4982 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
4985 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4986 echo "inotify support cannot be enabled due to functionality tests!"
4987 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4988 echo " If you believe this message is in error you may use the continue"
4989 echo " switch (-continue) to $0 to continue."
4997 # find if the platform provides if_nametoindex (ipv6 interface name support)
4998 if [ "$CFG_IPV6IFNAME" != "no" ]; then
4999 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
5002 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5003 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
5004 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5005 echo " If you believe this message is in error you may use the continue"
5006 echo " switch (-continue) to $0 to continue."
5014 # find if the platform provides getifaddrs (network interface enumeration)
5015 if [ "$CFG_GETIFADDRS" != "no" ]; then
5016 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
5019 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5020 echo "getifaddrs support cannot be enabled due to functionality tests!"
5021 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5022 echo " If you believe this message is in error you may use the continue"
5023 echo " switch (-continue) to $0 to continue."
5032 if [ "$CFG_OPENSSL" != "no" ]; then
5033 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
5034 if [ "$CFG_OPENSSL" = "auto" ]; then
5038 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5039 echo "OpenSSL support cannot be enabled due to functionality tests!"
5040 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5041 echo " If you believe this message is in error you may use the continue"
5042 echo " switch (-continue) to $0 to continue."
5051 if [ "$CFG_PCRE" != "qt" ]; then
5052 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
5055 if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5056 echo "PCRE support cannot be enabled due to functionality tests!"
5057 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5058 echo " If you believe this message is in error you may use the continue"
5059 echo " switch (-continue) to $0 to continue."
5067 # detect OpenVG support
5068 if [ "$CFG_OPENVG" != "no" ]; then
5069 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
5070 if [ "$CFG_OPENVG" = "auto" ]; then
5073 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
5074 if [ "$CFG_OPENVG" = "auto" ]; then
5077 CFG_OPENVG_ON_OPENGL=yes
5078 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
5079 if [ "$CFG_OPENVG" = "auto" ]; then
5082 CFG_OPENVG_LC_INCLUDES=yes
5083 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
5084 if [ "$CFG_OPENVG" = "auto" ]; then
5087 CFG_OPENVG_LC_INCLUDES=yes
5088 CFG_OPENVG_ON_OPENGL=yes
5090 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5091 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
5092 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5093 echo " If you believe this message is in error you may use the continue"
5094 echo " switch (-continue) to $0 to continue."
5100 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
5101 CFG_OPENVG_SHIVA=yes
5105 if [ "$CFG_ALSA" = "auto" ]; then
5106 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
5113 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
5114 if [ "$CFG_ARCH" = "arm" ]; then
5115 "$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
5116 if [ $? != "0" ]; then
5117 CFG_JAVASCRIPTCORE_JIT=no
5120 case "$XPLATFORM" in
5122 CFG_JAVASCRIPTCORE_JIT=no
5128 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
5129 QMakeVar set JAVASCRIPTCORE_JIT yes
5130 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
5131 QMakeVar set JAVASCRIPTCORE_JIT no
5134 if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
5135 CFG_AUDIO_BACKEND=yes
5138 if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
5139 echo "Warning: largefile support cannot be disabled for win32."
5143 #-------------------------------------------------------------------------------
5144 # ask for all that hasn't been auto-detected or specified in the arguments
5145 #-------------------------------------------------------------------------------
5147 [ "$CFG_CXX11" = "yes" ] && QT_CONFIG="$QT_CONFIG c++11"
5150 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
5151 QT_CONFIG="$QT_CONFIG phonon-backend"
5154 # disable accessibility
5155 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
5156 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
5158 QT_CONFIG="$QT_CONFIG accessibility"
5162 if [ "$CFG_EGL" = "yes" ]; then
5163 QT_CONFIG="$QT_CONFIG egl"
5165 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
5169 if [ "$CFG_EGLFS" = "yes" ]; then
5170 QT_CONFIG="$QT_CONFIG eglfs"
5172 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGLFS"
5176 if [ "$CFG_OPENVG" = "no" ]; then
5177 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
5179 QT_CONFIG="$QT_CONFIG openvg"
5180 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
5181 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
5183 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
5184 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
5186 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
5187 QT_CONFIG="$QT_CONFIG shivavg"
5188 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
5193 if [ "$CFG_OPENGL" = "no" ]; then
5194 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
5196 QT_CONFIG="$QT_CONFIG opengl"
5199 if [ "$CFG_OPENGL" = "es2" ]; then
5200 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
5203 if [ "$CFG_OPENGL" = "es2" ]; then
5204 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5205 QT_CONFIG="$QT_CONFIG opengles2"
5208 # build up the variables for output
5209 if [ "$CFG_DEBUG" = "yes" ]; then
5210 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
5211 elif [ "$CFG_DEBUG" = "no" ]; then
5212 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
5214 if [ "$CFG_SHARED" = "yes" ]; then
5215 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
5216 QT_CONFIG="$QT_CONFIG shared"
5217 elif [ "$CFG_SHARED" = "no" ]; then
5218 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
5219 QT_CONFIG="$QT_CONFIG static"
5222 #FIXME: qpa is implicit this should all be removed
5223 QMAKE_CONFIG="$QMAKE_CONFIG qpa"
5224 QT_CONFIG="$QT_CONFIG qpa"
5225 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
5226 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5228 if [ "$XPLATFORM_MINGW" != "yes" ]; then
5229 # Do not set this here for Windows. Let qmake do it so
5230 # debug and release precompiled headers are kept separate.
5231 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
5233 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
5234 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
5235 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
5236 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
5237 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5238 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
5240 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
5241 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
5243 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
5244 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
5245 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
5246 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
5247 QMakeVar add QMAKE_CFLAGS -g
5248 QMakeVar add QMAKE_CXXFLAGS -g
5249 QT_CONFIG="$QT_CONFIG separate_debug_info"
5251 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
5252 QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
5254 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
5255 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
5256 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
5257 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
5258 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
5259 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
5260 [ "$CFG_AVX2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx2"
5261 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
5262 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
5263 if [ "$CFG_ARCH" = "mips" ]; then
5264 [ "$CFG_MIPS_DSP" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dsp"
5265 [ "$CFG_MIPS_DSPR2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dspr2"
5267 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
5268 QT_CONFIG="$QT_CONFIG clock-gettime"
5270 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
5271 QT_CONFIG="$QT_CONFIG clock-monotonic"
5273 if [ "$CFG_MREMAP" = "yes" ]; then
5274 QT_CONFIG="$QT_CONFIG mremap"
5276 if [ "$CFG_GETADDRINFO" = "yes" ]; then
5277 QT_CONFIG="$QT_CONFIG getaddrinfo"
5279 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
5280 QT_CONFIG="$QT_CONFIG ipv6ifname"
5282 if [ "$CFG_GETIFADDRS" = "yes" ]; then
5283 QT_CONFIG="$QT_CONFIG getifaddrs"
5285 if [ "$CFG_INOTIFY" = "yes" ]; then
5286 QT_CONFIG="$QT_CONFIG inotify"
5288 if [ "$CFG_LIBJPEG" = "no" ]; then
5290 elif [ "$CFG_LIBJPEG" = "system" ]; then
5291 QT_CONFIG="$QT_CONFIG system-jpeg"
5293 if [ "$CFG_JPEG" = "no" ]; then
5294 QT_CONFIG="$QT_CONFIG no-jpeg"
5295 elif [ "$CFG_JPEG" = "yes" ]; then
5296 QT_CONFIG="$QT_CONFIG jpeg"
5298 if [ "$CFG_LIBPNG" = "no" ]; then
5301 if [ "$CFG_LIBPNG" = "system" ]; then
5302 QT_CONFIG="$QT_CONFIG system-png"
5304 if [ "$CFG_PNG" = "no" ]; then
5305 QT_CONFIG="$QT_CONFIG no-png"
5306 elif [ "$CFG_PNG" = "yes" ]; then
5307 QT_CONFIG="$QT_CONFIG png"
5309 if [ "$CFG_GIF" = "no" ]; then
5310 QT_CONFIG="$QT_CONFIG no-gif"
5311 elif [ "$CFG_GIF" = "yes" ]; then
5312 QT_CONFIG="$QT_CONFIG gif"
5314 if [ "$CFG_LIBFREETYPE" = "no" ]; then
5315 QT_CONFIG="$QT_CONFIG no-freetype"
5316 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
5317 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
5318 QT_CONFIG="$QT_CONFIG system-freetype"
5320 QT_CONFIG="$QT_CONFIG freetype"
5322 if [ "$CFG_GUI" = "auto" ]; then
5325 if [ "$CFG_GUI" = "no" ]; then
5326 QT_CONFIG="$QT_CONFIG no-gui"
5329 if [ "$CFG_WIDGETS" = "no" ]; then
5330 QT_CONFIG="$QT_CONFIG no-widgets"
5331 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_WIDGETS"
5334 if [ "x$BUILD_ON_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5335 #On Mac we implicitly link against libz, so we
5336 #never use the 3rdparty stuff.
5337 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
5339 if [ "$CFG_ZLIB" = "yes" ]; then
5340 QT_CONFIG="$QT_CONFIG zlib"
5341 elif [ "$CFG_ZLIB" = "system" ]; then
5342 QT_CONFIG="$QT_CONFIG system-zlib"
5345 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
5346 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
5347 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
5348 [ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
5349 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
5350 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
5351 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
5352 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
5353 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
5354 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
5355 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
5356 [ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
5357 [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
5358 [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
5360 [ '!' -z "$DEFINES" ] && QMakeVar add DEFINES "$DEFINES"
5361 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
5362 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
5364 if [ "$PLATFORM_MAC" = "yes" ] && [ "$QT_CROSS_COMPILE" = "no" ]; then
5365 if [ "$CFG_RPATH" = "yes" ]; then
5366 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
5367 # set the default rpath to the library installation directory
5368 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5370 elif [ -z "`getXQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
5371 if [ -n "$RPATH_FLAGS" ]; then
5373 echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
5377 elif [ "$CFG_RPATH" = "yes" ]; then
5378 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
5382 if [ "$CFG_RPATH" = "yes" ]; then
5383 # set the default rpath to the library installation directory
5384 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5386 if [ -n "$RPATH_FLAGS" ]; then
5387 # add the user defined rpaths
5388 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
5392 if [ '!' -z "$I_FLAGS" ]; then
5393 # add the user define include paths
5394 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
5395 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
5398 if [ '!' -z "$W_FLAGS" ]; then
5399 # add the user defined warning flags
5400 QMakeVar add QMAKE_CFLAGS_WARN_ON "$W_FLAGS"
5401 QMakeVar add QMAKE_CXXFLAGS_WARN_ON "$W_FLAGS"
5402 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS"
5405 if [ "$XPLATFORM_MINGW" = "yes" ]; then
5406 # mkspecs/features/win32/default_pre.prf sets "no-rtti".
5407 # Follow default behavior of configure.exe by overriding with "rtti".
5408 QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
5411 if [ "$CFG_ALSA" = "yes" ]; then
5412 QT_CONFIG="$QT_CONFIG alsa"
5415 if [ "$CFG_PULSEAUDIO" = "yes" ]; then
5416 QT_CONFIG="$QT_CONFIG pulseaudio"
5419 if [ "$CFG_COREWLAN" = "yes" ]; then
5420 QT_CONFIG="$QT_CONFIG corewlan"
5423 if [ "$CFG_ICU" = "yes" ]; then
5424 QT_CONFIG="$QT_CONFIG icu"
5427 if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
5428 QT_CONFIG="$QT_CONFIG force_asserts"
5431 if [ "$CFG_PCRE" = "qt" ]; then
5432 QMAKE_CONFIG="$QMAKE_CONFIG pcre"
5436 # Some Qt modules are too advanced in C++ for some old compilers
5437 # Detect here the platforms where they are known to work.
5439 # See Qt documentation for more information on which features are
5440 # supported and on which compilers.
5442 canBuildQtConcurrent="yes"
5443 canUseV8Snapshot="yes"
5445 case "$XPLATFORM" in
5447 # PA-RISC's assembly is too limited
5448 # gcc 3.4 on that platform can't build QtXmlPatterns
5449 # the assembly it generates cannot be compiled
5451 # Check gcc's version
5452 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5456 canBuildQtXmlPatterns="no"
5460 canBuildQtXmlPatterns="no"
5464 unsupported/vxworks-*-g++*)
5467 unsupported/vxworks-*-dcc*)
5469 canBuildQtXmlPatterns="no"
5472 # Check gcc's version
5473 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5481 canBuildQtXmlPatterns="no"
5486 # Check the compiler version
5487 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
5490 canBuildQtXmlPatterns="no"
5491 canBuildQtConcurrent="no"
5495 canBuildQtConcurrent="no"
5501 canBuildQtXmlPatterns="no"
5502 canBuildQtConcurrent="no"
5508 # Get the xlC version
5509 cat > xlcver.c <<EOF
5513 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
5518 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
5519 xlcver=`./xlcver 2>/dev/null`
5522 if [ "$OPT_VERBOSE" = "yes" ]; then
5523 if [ -n "$xlcver" ]; then
5524 echo Found IBM xlC version: $xlcver.
5526 echo Could not determine IBM xlC version, assuming oldest supported.
5533 canBuildQtXmlPatterns="no"
5534 canBuildQtConcurrent="no"
5538 canBuildQtConcurrent="no"
5544 canBuildQtConcurrent="no"
5548 if [ "$CFG_GUI" = "no" ]; then
5549 # WebKit requires QtGui
5553 if [ "$CFG_SHARED" = "no" ]; then
5555 echo "WARNING: Using static linking will disable the WebKit module."
5560 CFG_CONCURRENT="yes"
5561 if [ "$canBuildQtConcurrent" = "no" ]; then
5562 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
5565 QT_CONFIG="$QT_CONFIG concurrent"
5569 if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
5570 QT_CONFIG="$QT_CONFIG audio-backend"
5574 if [ "$CFG_WEBKIT" = "debug" ]; then
5575 QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
5579 QT_CONFIG="$QT_CONFIG v8"
5580 # Detect snapshot support
5581 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
5582 case "$CFG_HOST_ARCH,$CFG_ARCH" in
5585 *) canUseV8Snapshot="no"
5589 if [ -n "$_SBOX_DIR" -a "$CFG_ARCH" = "arm" ]; then
5590 # QEMU crashes when building inside Scratchbox with an ARM target
5591 canUseV8Snapshot="no"
5594 if [ "$CFG_V8SNAPSHOT" = "auto" ]; then
5595 CFG_V8SNAPSHOT="$canUseV8Snapshot"
5597 if [ "$CFG_V8SNAPSHOT" = "yes" -a "$canUseV8Snapshot" = "no" ]; then
5598 echo "Error: V8 snapshot was requested, but is not supported on this platform."
5601 if [ "$CFG_V8SNAPSHOT" = "yes" ]; then
5602 QT_CONFIG="$QT_CONFIG v8snapshot"
5606 if [ "$CFG_QML_DEBUG" = "no" ]; then
5607 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QML_NO_DEBUGGER"
5610 case "$QMAKE_CONF_COMPILER" in
5613 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
5615 case "$COMPILER_VERSION" in
5617 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
5618 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
5619 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
5622 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
5623 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
5624 QT_GCC_PATCH_VERSION=0
5634 #-------------------------------------------------------------------------------
5635 # part of configuration information goes into qconfig.h
5636 #-------------------------------------------------------------------------------
5638 case "$CFG_QCONFIG" in
5640 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
5643 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
5644 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
5645 if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
5646 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
5647 elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
5648 cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
5650 echo "#endif" >>"$tmpconfig"
5654 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
5658 # define QT_EDITION $QT_EDITION
5662 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
5663 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
5665 if [ "$CFG_SHARED" = "no" ]; then
5666 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
5667 /* Qt was configured for a static build */
5668 #if !defined(QT_SHARED) && !defined(QT_STATIC)
5675 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5676 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
5679 if [ "$CFG_FRAMEWORK" = "yes" ]; then
5680 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
5683 if [ "$BUILD_ON_MAC" = "yes" ]; then
5684 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
5685 #if defined(__LP64__)
5686 # define QT_POINTER_SIZE 8
5688 # define QT_POINTER_SIZE 4
5692 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5693 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
5696 #REDUCE_RELOCATIONS is a elf/unix only thing, so not in windows configure.exe
5697 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
5698 echo "#define QT_REDUCE_RELOCATIONS" >>"$outpath/src/corelib/global/qconfig.h.new"
5702 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
5704 if [ "$CFG_DEV" = "yes" ]; then
5705 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
5708 # Add QPA to config.h
5709 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
5711 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
5712 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
5715 # Add turned on SQL drivers
5716 for DRIVER in $CFG_SQL_AVAILABLE; do
5717 eval "VAL=\$CFG_SQL_$DRIVER"
5720 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
5721 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
5722 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
5725 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
5731 QMakeVar set sql-drivers "$SQL_DRIVERS"
5732 QMakeVar set sql-plugins "$SQL_PLUGINS"
5734 # Add other configuration options to the qconfig.h file
5735 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
5736 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
5737 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
5738 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
5739 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
5741 # X11/Unix/Mac only configs
5742 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
5743 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
5744 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
5745 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
5746 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
5747 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
5748 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
5749 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
5750 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
5751 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
5752 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
5753 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
5754 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
5755 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
5757 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
5758 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
5759 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
5760 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
5761 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
5762 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
5763 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
5764 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
5765 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
5766 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
5767 [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
5768 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
5769 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
5771 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
5772 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
5773 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
5774 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
5775 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
5776 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
5777 [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
5778 [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
5780 # sort QCONFIG_FLAGS for neatness if we can
5781 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
5782 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
5784 if [ -n "$QCONFIG_FLAGS" ]; then
5785 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5786 #ifndef QT_BOOTSTRAPPED
5789 for cfg in $QCONFIG_FLAGS; do
5790 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
5791 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
5792 # figure out define logic, so we can output the correct
5793 # ifdefs to override the global defines in a project
5795 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
5796 # QT_NO_option can be forcefully turned on by QT_option
5797 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
5798 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
5799 # QT_option can be forcefully turned off by QT_NO_option
5800 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
5803 if [ -z $cfgdNeg ]; then
5804 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5811 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5812 #if defined($cfgd) && defined($cfgdNeg)
5814 #elif !defined($cfgd) && !defined($cfgdNeg)
5821 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5822 #endif // QT_BOOTSTRAPPED
5827 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
5828 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5829 #define QT_VISIBILITY_AVAILABLE
5834 if [ -n "$QT_LIBINFIX" ]; then
5835 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5836 #define QT_LIBINFIX "$QT_LIBINFIX"
5841 echo "#define QT_QPA_DEFAULT_PLATFORM_NAME \"$QT_QPA_DEFAULT_PLATFORM\"" >>"$outpath/src/corelib/global/qconfig.h.new"
5843 # avoid unecessary rebuilds by copying only if qconfig.h has changed
5844 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
5845 rm -f "$outpath/src/corelib/global/qconfig.h.new"
5847 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
5848 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
5849 chmod -w "$outpath/src/corelib/global/qconfig.h"
5850 if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then
5851 ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h"
5855 #-------------------------------------------------------------------------------
5856 # save configuration into qconfig.pri
5857 #-------------------------------------------------------------------------------
5858 QTCONFIG="$outpath/mkspecs/qconfig.pri"
5859 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
5860 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
5861 if [ "$CFG_DEBUG" = "yes" ]; then
5862 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
5863 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
5864 QT_CONFIG="$QT_CONFIG release"
5866 QT_CONFIG="$QT_CONFIG debug"
5867 elif [ "$CFG_DEBUG" = "no" ]; then
5868 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
5869 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
5870 QT_CONFIG="$QT_CONFIG debug"
5872 QT_CONFIG="$QT_CONFIG release"
5874 if [ "$CFG_FRAMEWORK" = "no" ]; then
5875 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
5877 QT_CONFIG="$QT_CONFIG qt_framework"
5878 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
5880 if [ "$CFG_DEV" = "yes" ]; then
5881 QT_CONFIG="$QT_CONFIG private_tests"
5884 cat >>"$QTCONFIG.tmp" <<EOF
5886 CONFIG += $QTCONFIG_CONFIG
5888 QT_HOST_ARCH = $CFG_HOST_ARCH
5889 QT_CPU_FEATURES = $CFG_CPUFEATURES
5890 QT_HOST_CPU_FEATURES = $CFG_HOST_CPUFEATURES
5891 QT_EDITION = $Edition
5892 QT_CONFIG += $QT_CONFIG
5895 QT_VERSION = $QT_VERSION
5896 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
5897 QT_MINOR_VERSION = $QT_MINOR_VERSION
5898 QT_PATCH_VERSION = $QT_PATCH_VERSION
5901 QT_LIBINFIX = $QT_LIBINFIX
5902 QT_NAMESPACE = $QT_NAMESPACE
5906 if [ -n "$PKG_CONFIG_SYSROOT_DIR" ] || [ -n "$PKG_CONFIG_LIBDIR" ]; then
5907 echo "# pkgconfig" >> "$QTCONFIG.tmp"
5908 echo "PKG_CONFIG_SYSROOT_DIR = $PKG_CONFIG_SYSROOT_DIR" >> "$QTCONFIG.tmp"
5909 echo "PKG_CONFIG_LIBDIR = $PKG_CONFIG_LIBDIR" >> "$QTCONFIG.tmp"
5910 echo >> "$QTCONFIG.tmp"
5913 if [ -n "$CFG_SYSROOT" ]; then
5914 echo "# sysroot" >>"$QTCONFIG.tmp"
5915 echo "!host_build {" >>"$QTCONFIG.tmp"
5916 echo " QMAKE_CFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
5917 echo " QMAKE_CXXFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
5918 echo " QMAKE_LFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
5919 echo "}" >> "$QTCONFIG.tmp"
5920 echo >> "$QTCONFIG.tmp"
5922 if [ -n "$RPATH_FLAGS" ]; then
5923 echo "QMAKE_RPATHDIR += $RPATH_FLAGS" >> "$QTCONFIG.tmp"
5925 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
5926 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
5927 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
5928 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
5931 if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
5932 echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
5933 echo "QMAKE_INCDIR_OPENGL_ES2 = `shellArgumentListToQMakeList "$QMAKE_INCDIR_OPENGL_ES2"`" >> "$QTCONFIG.tmp"
5936 # replace qconfig.pri if it differs from the newly created temp file
5937 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
5938 rm -f "$QTCONFIG.tmp"
5940 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
5943 #-------------------------------------------------------------------------------
5944 # save configuration into qmodule.pri
5945 #-------------------------------------------------------------------------------
5946 QTMODULE="$outpath/mkspecs/qmodule.pri"
5948 echo "CONFIG += $QMAKE_CONFIG create_prl link_prl" >> "$QTMODULE.tmp"
5949 echo "QT_BUILD_PARTS += $CFG_BUILD_PARTS" >> "$QTMODULE.tmp"
5951 # Ensure we can link to uninistalled libraries
5952 if [ "$BUILD_ON_MAC" != "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
5953 echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
5955 if [ -n "$QT_CFLAGS_PSQL" ]; then
5956 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
5958 if [ -n "$QT_LFLAGS_PSQL" ]; then
5959 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
5961 if [ -n "$QT_CFLAGS_MYSQL" ]; then
5962 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
5964 if [ -n "$QT_LFLAGS_MYSQL" ]; then
5965 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
5967 if [ -n "$QT_CFLAGS_SQLITE" ]; then
5968 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
5970 if [ -n "$QT_LFLAGS_SQLITE" ]; then
5971 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
5973 if [ -n "$QT_LFLAGS_ODBC" ]; then
5974 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
5976 if [ -n "$QT_LFLAGS_TDS" ]; then
5977 echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
5980 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
5981 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
5984 #dump in the OPENSSL_LIBS info
5985 if [ '!' -z "$OPENSSL_LIBS" ]; then
5986 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
5987 elif [ "$CFG_OPENSSL" = "linked" ]; then
5988 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
5991 #dump in the SDK info
5992 if [ '!' -z "$CFG_SDK" ]; then
5993 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
5997 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
5998 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
6000 # replace qmodule.pri if it differs from the newly created temp file
6001 if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
6002 rm -f "$QTMODULE.tmp"
6004 mv -f "$QTMODULE.tmp" "$QTMODULE"
6007 #-------------------------------------------------------------------------------
6008 # save configuration into .qmake.cache
6009 #-------------------------------------------------------------------------------
6011 CACHEFILE="$outpath/.qmake.cache"
6012 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
6013 cat >>"$CACHEFILE.tmp" <<EOF
6015 QT_SOURCE_TREE = \$\$quote($relpath)
6016 QT_BUILD_TREE = \$\$quote($outpath)
6018 include(\$\$PWD/mkspecs/qmodule.pri)
6019 CONFIG += dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
6023 # replace .qmake.cache if it differs from the newly created temp file
6024 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
6025 rm -f "$CACHEFILE.tmp"
6027 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
6030 #-------------------------------------------------------------------------------
6031 # give feedback on configuration
6032 #-------------------------------------------------------------------------------
6033 exec 3>&1 1>$outpath/config.summary # redirect output temporarily to config.summary
6036 if [ "$XPLATFORM" = "$PLATFORM" ]; then
6037 echo "Build type: $PLATFORM"
6039 echo "Building on: $PLATFORM"
6040 echo "Building for: $XPLATFORM"
6043 # the missing space before $CFG_FEATURES is intentional
6044 echo "Architecture: $CFG_ARCH, features:$CFG_CPUFEATURES"
6045 echo "Host architecture: $CFG_HOST_ARCH, features:$CFG_HOST_CPUFEATURES"
6047 if [ -n "$PLATFORM_NOTES" ]; then
6048 echo "Platform notes:"
6049 echo "$PLATFORM_NOTES"
6054 if [ "$OPT_VERBOSE" = "yes" ]; then
6055 echo $ECHO_N "qmake vars .......... $ECHO_C"
6056 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
6057 echo "qmake switches ......... $QMAKE_SWITCHES"
6060 echo "Build .................. $CFG_BUILD_PARTS"
6061 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
6062 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6063 echo "Debug .................. yes (combined)"
6064 if [ "$CFG_DEBUG" = "yes" ]; then
6065 echo "Default Link ........... debug"
6067 echo "Default Link ........... release"
6070 echo "Debug .................. $CFG_DEBUG"
6072 echo "C++11 support .......... $CFG_CXX11"
6073 if [ -n "$PKG_CONFIG" ]; then
6074 echo "pkg-config ............. yes"
6076 echo "pkg-config ............. no"
6078 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
6079 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
6080 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
6081 echo "QtConcurrent code ...... $CFG_CONCURRENT"
6082 echo "QtGui module ........... $CFG_GUI"
6083 echo "QtWidgets module ....... $CFG_WIDGETS"
6084 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
6085 echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
6087 echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
6089 echo "QML debugging .......... $CFG_QML_DEBUG"
6090 echo "PCH support ............ $CFG_PRECOMPILE"
6091 if [ "$CFG_ARCH" = "i386" -o "$CFG_ARCH" = "x86_64" ]; then
6092 echo "SSE2/SSE3/SSSE3......... ${CFG_SSE2}/${CFG_SSE3}/${CFG_SSSE3}"
6093 echo "SSE4.1/SSE4.2........... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
6094 echo "AVX/AVX2................ ${CFG_AVX}/${CFG_AVX2}"
6095 elif [ "$CFG_ARCH" = "arm" ]; then
6096 echo "iWMMXt support ......... ${CFG_IWMMXT}"
6097 echo "NEON support ........... ${CFG_NEON}"
6099 if [ "$CFG_ARCH" = "mips" ]; then
6100 echo "MIPS_DSP/MIPS_DSPR2..... ${CFG_MIPS_DSP}/${CFG_MIPS_DSPR2}"
6102 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
6103 echo "getaddrinfo support .... $CFG_GETADDRINFO"
6104 echo "getifaddrs support ..... $CFG_GETIFADDRS"
6105 echo "Accessibility .......... $CFG_ACCESSIBILITY"
6106 echo "NIS support ............ $CFG_NIS"
6107 echo "CUPS support ........... $CFG_CUPS"
6108 echo "Iconv support .......... $CFG_ICONV"
6109 echo "Glib support ........... $CFG_GLIB"
6110 echo "GStreamer support ...... $CFG_GSTREAMER"
6111 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
6112 echo "Large File support ..... $CFG_LARGEFILE"
6113 echo "GIF support ............ $CFG_GIF"
6114 if [ "$CFG_JPEG" = "no" ]; then
6115 echo "JPEG support ........... $CFG_JPEG"
6117 echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
6119 if [ "$CFG_PNG" = "no" ]; then
6120 echo "PNG support ............ $CFG_PNG"
6122 echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
6124 echo "zlib support ........... $CFG_ZLIB"
6125 echo "Session management ..... $CFG_SM"
6126 echo "libudev support ........ $CFG_LIBUDEV"
6128 if [ "$CFG_OPENGL" = "desktop" ]; then
6129 echo "OpenGL support ......... yes (Desktop OpenGL)"
6130 elif [ "$CFG_OPENGL" = "es2" ]; then
6131 echo "OpenGL support ......... yes (OpenGL ES 2.x)"
6133 echo "OpenGL support ......... no"
6136 if [ "$CFG_OPENVG" ]; then
6137 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
6138 echo "OpenVG support ......... ShivaVG"
6140 echo "OpenVG support ......... $CFG_OPENVG"
6144 echo "XShape support ......... $CFG_XSHAPE"
6145 echo "XVideo support ......... $CFG_XVIDEO"
6146 echo "XSync support .......... $CFG_XSYNC"
6147 echo "Xinerama support ....... $CFG_XINERAMA"
6148 echo "Xcursor support ........ $CFG_XCURSOR"
6149 echo "Xfixes support ......... $CFG_XFIXES"
6150 echo "Xrandr support ......... $CFG_XRANDR"
6151 echo "Xi support ............. $CFG_XINPUT"
6152 echo "Xi2 support ............ $CFG_XINPUT2"
6153 echo "MIT-SHM support ........ $CFG_MITSHM"
6154 echo "FontConfig support ..... $CFG_FONTCONFIG"
6155 echo "XKB Support ............ $CFG_XKB"
6156 echo "immodule support ....... $CFG_IM"
6157 echo "GTK theme support ...... $CFG_QGTKSTYLE"
6159 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
6160 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
6161 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
6162 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
6163 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
6164 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
6165 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
6166 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
6167 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
6170 if [ "$CFG_OPENSSL" = "yes" ]; then
6171 OPENSSL_LINKAGE="(run-time)"
6172 elif [ "$CFG_OPENSSL" = "linked" ]; then
6173 OPENSSL_LINKAGE="(linked)"
6175 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
6176 echo "Alsa support ........... $CFG_ALSA"
6177 if [ "$BUILD_ON_MAC" = "yes" ]; then
6178 echo "CoreWlan support ....... $CFG_COREWLAN"
6180 echo "libICU support ......... $CFG_ICU"
6181 echo "PCRE support ........... $CFG_PCRE"
6182 if [ "$CFG_XCB_LIMITED" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6183 echo "Xcb support ............ limited (old version)"
6185 echo "Xcb support ............ $CFG_XCB"
6187 echo "Xrender support ........ $CFG_XRENDER"
6188 if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6189 echo "XInput2 support ........ $CFG_XINPUT2"
6191 echo "EGLFS support .......... $CFG_EGLFS"
6192 echo "DirectFB support ....... $CFG_DIRECTFB"
6193 echo "LinuxFB support ........ $CFG_LINUXFB"
6194 echo "KMS support ............ $CFG_KMS"
6197 # complain about not being able to use dynamic plugins if we are using a static build
6198 if [ "$CFG_SHARED" = "no" ]; then
6200 echo "WARNING: Using static linking will disable the use of dynamically"
6201 echo "loaded plugins. Make sure to import all needed static plugins,"
6202 echo "or compile needed modules into the library."
6205 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
6207 echo "NOTE: When linking against OpenSSL, you can override the default"
6208 echo "library names through OPENSSL_LIBS."
6210 echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
6214 exec 1>&3 3>&- # restore stdout
6215 cat $outpath/config.summary # display config feedback to user
6217 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
6219 echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
6220 echo "if you want a pure debug build."
6225 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
6230 #-------------------------------------------------------------------------------
6231 # build makefiles based on the configuration
6232 #-------------------------------------------------------------------------------
6234 if [ "$CFG_NOPROCESS" != "yes" ]; then
6235 echo "Creating makefiles. Please wait..."
6236 "$outpath/bin/qmake" -r ${OPT_FAST+CONFIG+=fast} "$relpath"
6239 if [ "$OPT_FAST" = "yes" ]; then
6241 for part in $CFG_BUILD_PARTS; do
6243 examples|tests) PART_ROOTS="$PART_ROOTS $part" ;;
6246 if [ "x$PART_ROOTS" != "x" ]; then
6248 echo "Creating stub makefiles. Please wait..."
6249 QMAKE="$outpath/bin/qmake"
6250 [ "$CFG_DEBUG_RELEASE" = "no" ] && first_tgt="first_target: first" || first_tgt=
6251 (cd "$relpath" && find $PART_ROOTS -name '*.pro') | grep -v /testdata/ | while read p; do
6253 test -f "$outpath/$d/Makefile" && continue
6254 echo " for $relpath/$p"
6256 mkdir -p "$outpath/$d" || exit
6257 cat > "$outpath/$d/Makefile" <<EOF || exit
6258 # $outpath/$d/Makefile: generated by configure
6260 # WARNING: This makefile will be replaced with a real makefile.
6261 # All changes made to this file will be lost.
6266 all clean install qmake first Makefile: FORCE
6267 \$(QMAKE) $QMAKE_SWITCHES "$relpath/$p"
6277 #-------------------------------------------------------------------------------
6278 # check for platforms that we don't yet know about
6279 #-------------------------------------------------------------------------------
6280 if [ "$CFG_ARCH" = "unknown" ]; then
6283 NOTICE: configure was unable to determine the architecture
6284 for the $XQMAKESPEC target.
6286 Qt will not use a specialized implementation for any atomic
6287 operations. Instead a generic implemention based on either GCC
6288 intrinsics or C++11 std::atomic<T> will be used (when
6289 available). The generic implementations are generally as fast
6290 as and always as safe as a specialized implementation.
6292 If no generic implementation is available, Qt will use a
6293 fallback UNIX implementation which uses a single
6294 pthread_mutex_t to protect all atomic operations. This
6295 implementation is the slow (but safe) fallback implementation
6296 for architectures Qt does not yet support.
6300 #-------------------------------------------------------------------------------
6301 # check if the user passed the -no-zlib option, which is no longer supported
6302 #-------------------------------------------------------------------------------
6303 if [ -n "$ZLIB_FORCED" ]; then
6304 which_zlib="supplied"
6305 if [ "$CFG_ZLIB" = "system" ]; then
6311 NOTICE: The -no-zlib option was supplied but is no longer
6314 Qt now requires zlib support in all builds, so the -no-zlib
6315 option was ignored. Qt will be built using the $which_zlib
6320 #-------------------------------------------------------------------------------
6321 # check if the user passed the obsoleted -wayland or -no-wayland flag
6322 #-------------------------------------------------------------------------------
6323 if [ "$CFG_OBSOLETE_WAYLAND" = "yes" ]; then
6326 NOTICE: The -wayland and -no-wayland flags are now obsolete
6328 All configuring of QtWayland plugin and QtCompositor happens in the module
6332 #-------------------------------------------------------------------------------
6333 # check if the user passed the obsoleted -arch or -host-arch options
6334 #-------------------------------------------------------------------------------
6335 if [ "$OPT_OBSOLETE_HOST_ARG" = "yes" ]; then
6338 NOTICE: The -arch and -host-arch options are obsolete.
6340 Qt now detects the target and host architectures based on compiler
6341 output. Qt will be built using $CFG_ARCH for the target architecture
6342 and $CFG_HOST_ARCH for the host architecture (note that these two
6343 will be the same unless you are cross-compiling).
6347 #-------------------------------------------------------------------------------
6348 # finally save the executed command to another script
6349 #-------------------------------------------------------------------------------
6350 if [ `basename $0` != "config.status" ]; then
6351 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
6353 # add the system variables
6354 for varname in $SYSTEM_VARIABLES; do
6356 'if [ -n "\$'${varname}'" ]; then
6357 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
6362 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
6364 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
6365 echo "#!/bin/sh" > "$outpath/config.status"
6366 [ -n "$PKG_CONFIG_SYSROOT_DIR" ] && \
6367 echo "export PKG_CONFIG_SYSROOT_DIR=$PKG_CONFIG_SYSROOT_DIR" >> "$outpath/config.status"
6368 [ -n "$PKG_CONFIG_LIBDIR" ] && \
6369 echo "export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR" >> "$outpath/config.status"
6370 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
6371 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
6372 echo "else" >> "$outpath/config.status"
6373 echo " $CONFIG_STATUS" >> "$outpath/config.status"
6374 echo "fi" >> "$outpath/config.status"
6375 chmod +x "$outpath/config.status"
6378 if [ -n "$RPATH_MESSAGE" ]; then
6380 echo "$RPATH_MESSAGE"
6383 MAKE=`basename "$MAKE"`
6385 echo Qt is now configured for building. Just run \'$MAKE\'.
6386 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
6387 echo Once everything is built, Qt is installed.
6388 echo You should not run \'$MAKE install\'.
6390 echo Once everything is built, you must run \'$MAKE install\'.
6391 echo Qt will be installed into $QT_INSTALL_PREFIX
6394 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.