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=
838 CFG_GCC_SYSROOT="yes"
843 #flags for SQL drivers
851 QT_LFLAGS_ODBC="-lodbc"
854 # flags for libdbus-1
858 # flags for Glib (X11 only)
862 # flags for GStreamer (X11 only)
866 # default qpa platform
867 QT_QPA_DEFAULT_PLATFORM=
869 #-------------------------------------------------------------------------------
870 # check SQL drivers available in this package
871 #-------------------------------------------------------------------------------
873 # opensource version removes some drivers, so force them to be off
879 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
880 for a in "$relpath/src/plugins/sqldrivers/"*; do
882 base_a=`basename "$a"`
883 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
884 eval "CFG_SQL_${base_a}=auto"
889 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
890 if [ -d "$relpath/src/plugins/imageformats" ]; then
891 for a in "$relpath/src/plugins/imageformats/"*; do
893 base_a=`basename "$a"`
894 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
899 #-------------------------------------------------------------------------------
900 # parse command line arguments
901 #-------------------------------------------------------------------------------
903 # parse the arguments, setting things to "yes" or "no"
904 while [ "$#" -gt 0 ]; do
908 #Autoconf style options
910 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
914 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
918 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
919 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
922 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
926 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
930 -no-*-*|-plugin-*-*|-qt-*-*)
931 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
932 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
936 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
939 #Qt style options that pass an argument
940 -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)
941 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
945 #Qt style complex options in one command
946 -enable-*|-disable-*)
947 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
948 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
950 #Qt Builtin/System style options
951 -no-*|-system-*|-qt-*)
952 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
953 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
955 #Options that cannot be generalized
962 # this option may or may not be followed by an argument
963 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
972 # this option may or may not be followed by an argument
973 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
981 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
982 # this option may or may not be followed by an argument
983 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1002 if [ "$1" = "-D" ]; then
1006 VAL=`echo $1 | sed 's,-D,,'`
1011 # this option may or may not be followed by an argument
1012 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1021 if [ "$1" = "-I" ]; then
1025 VAL=`echo $1 | sed 's,-I,,'`
1030 if [ "$1" = "-L" ]; then
1034 VAL=`echo $1 | sed 's,-L,,'`
1039 if [ "$1" = "-R" ]; then
1043 VAL=`echo $1 | sed 's,-R,,'`
1048 if [ "$1" = "-l" ]; then
1052 VAL=`echo $1 | sed 's,-l,,'`
1057 if [ "$1" = "-F" ]; then
1061 VAL=`echo $1 | sed 's,-F,,'`
1066 if [ "$1" = "-fw" ]; then
1070 VAL=`echo $1 | sed 's,-fw,,'`
1077 #General options, including Qt style yes options
1079 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1086 if [ "$UNKNOWN_ARG" = "yes" ]; then
1087 echo "$1: unknown argument"
1098 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1099 CFG_ACCESSIBILITY="$VAL"
1108 CFG_USE_GNUMAKE="$VAL"
1111 CFG_MYSQL_CONFIG="$VAL"
1114 QT_INSTALL_PREFIX="$VAL"
1117 QT_HOST_PREFIX="$VAL"
1126 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1127 CFG_PKGCONFIG="$VAL"
1133 CFG_PKGCONFIG="force"
1136 QT_INSTALL_DOCS="$VAL"
1139 QT_INSTALL_HEADERS="$VAL"
1142 QT_INSTALL_PLUGINS="$VAL"
1145 QT_INSTALL_IMPORTS="$VAL"
1148 QT_INSTALL_DATA="$VAL"
1151 QT_INSTALL_LIBS="$VAL"
1160 QT_INSTALL_TRANSLATIONS="$VAL"
1162 sysconfdir|settingsdir)
1163 QT_INSTALL_SETTINGS="$VAL"
1166 QT_INSTALL_EXAMPLES="$VAL"
1169 QT_INSTALL_TESTS="$VAL"
1178 CFG_GCC_SYSROOT="$VAL"
1181 QT_INSTALL_BINS="$VAL"
1184 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1191 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1192 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1193 [ "$VAL" = "es2" ]; then
1200 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1207 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1210 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1213 if [ "$BUILD_ON_MAC" = "yes" ]; then
1220 OPT_OBSOLETE_HOST_ARG=yes
1223 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1224 CFG_MAC_HARFBUZZ="$VAL"
1231 if [ "$BUILD_ON_MAC" = "yes" ]; then
1232 CFG_FRAMEWORK="$VAL"
1238 if [ "$VAL" = "yes" ]; then
1240 QMakeVar add QMAKE_CFLAGS -pg
1241 QMakeVar add QMAKE_CXXFLAGS -pg
1242 QMakeVar add QMAKE_LFLAGS -pg
1243 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1249 if [ "$VAL" = "yes" ]; then
1250 QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon"
1255 # keep compatibility with old platform names
1261 PLATFORM=hpux-acc-o64
1264 PLATFORM=hpux-acc-64
1267 PLATFORM=hpux-acc-64
1279 PLATFORM=reliant-cds-64
1282 PLATFORM=solaris-cc-64
1285 PLATFORM=unixware-cc
1288 PLATFORM=unixware-g++
1291 PLATFORM=unixware-cc
1294 PLATFORM=unixware-g++
1300 i386) NATIVE_64_ARCH="x86_64" ;;
1301 powerpc) NATIVE_64_ARCH="ppc64" ;;
1302 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1304 if [ ! -z "$NATIVE_64_ARCH" ]; then
1305 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1312 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1315 XPLATFORM=`resolveDeviceMkspec $VAL`
1316 [ "$XPLATFORM" = "undefined" ] && exit 101
1319 DEV_VAR=`echo $VAL | sed "s,^\(.*\)=.*,\1,"`
1320 DEV_VAL=`echo $VAL | sed "s,^.*=\(.*\),\1,"`
1321 DeviceVar set $DEV_VAR $DEV_VAL
1324 QT_QPA_DEFAULT_PLATFORM="$VAL"
1327 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1328 CFG_DEBUG_RELEASE="$VAL"
1334 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1335 CFG_RELEASE_QMAKE="$VAL"
1341 if [ "$VAL" = "yes" ]; then
1343 elif [ "$VAL" = "no" ]; then
1350 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1351 CFG_PREFIX_INSTALL="$VAL"
1359 developer-build|commercial|opensource)
1360 # These switches have been dealt with already
1363 if [ "$VAL" = "yes" ]; then
1365 elif [ "$VAL" = "no" ]; then
1372 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1373 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1379 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1380 if [ "$VAL" = "no" ]; then
1381 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1382 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1383 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1389 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1396 if [ "$VAL" = "no" ]; then
1403 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1411 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1418 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1425 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1432 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1439 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1446 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1453 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1460 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1461 CFG_PRECOMPILE="$VAL"
1466 separate-debug-info)
1467 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1468 CFG_SEPARATE_DEBUG_INFO="$VAL"
1469 elif [ "$VAL" = "nocopy" ] ; then
1470 CFG_SEPARATE_DEBUG_INFO="yes"
1471 CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1477 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1478 CFG_REDUCE_EXPORTS="$VAL"
1484 if [ "$VAL" = "no" ]; then
1491 if [ "$VAL" = "no" ]; then
1498 if [ "$VAL" = "no" ]; then
1505 if [ "$VAL" = "no" ]; then
1512 if [ "$VAL" = "no" ]; then
1519 if [ "$VAL" = "no" ]; then
1526 if [ "$VAL" = "no" ]; then
1536 if [ "$VAL" = "no" ]; then
1543 if [ "$VAL" = "no" ]; then
1550 if [ "$VAL" = "no" ]; then
1551 CFG_MIPS_DSPR2="$VAL"
1557 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1558 CFG_REDUCE_RELOCATIONS="$VAL"
1564 [ "$VAL" = "qt" ] && VAL=yes
1565 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1570 # No longer supported:
1571 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1574 if [ "$VAL" = "system" ]; then
1581 [ "$VAL" = "yes" ] && VAL=qt
1582 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1589 [ "$VAL" = "yes" ] && VAL=qt
1590 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1597 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1604 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1611 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1618 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1625 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1632 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1633 CFG_FONTCONFIG="$VAL"
1639 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1646 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1653 CFG_OBSOLETE_WAYLAND=yes
1656 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1663 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1670 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1677 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1684 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1691 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1698 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1705 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1712 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1719 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1720 CFG_GSTREAMER="$VAL"
1726 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1727 CFG_QGTKSTYLE="$VAL"
1733 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1736 if [ "$VAL" = "no" ]; then
1744 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1746 elif [ "$VAL" = "no" ]; then
1753 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1754 QPA_PLATFORM_GUARD="$VAL"
1760 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1762 elif [ "$VAL" = "runtime" ]; then
1769 if [ "$VAL" = "yes" ]; then
1776 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1783 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1784 CFG_LARGEFILE="$VAL"
1790 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1797 if [ "$VAL" = "yes" ]; then
1798 CFG_OPENSSL="linked"
1804 if [ "$VAL" = "yes" ]; then
1807 if [ "$VAL" = "no" ]; then
1815 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1816 CFG_JAVASCRIPTCORE_JIT="$VAL"
1822 if [ "$VAL" = "yes" ]; then
1823 OPT_CONFIRM_LICENSE="$VAL"
1829 if [ "$VAL" = "yes" ]; then
1835 sql-*|imageformat-*)
1836 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1837 # if autoconf style options were used, $VAL can be "yes" or "no"
1838 [ "$VAL" = "yes" ] && VAL=qt
1839 # now $VAL should be "no", "qt", or "plugin"... double-check
1840 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1843 # now $VAL is "no", "qt", or "plugin"
1845 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1846 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1848 # Grab the available values
1851 avail="$CFG_SQL_AVAILABLE"
1854 avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
1855 if [ "$OPT" != "plugin" ]; then
1856 # png is always built in
1862 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1866 # Check that that user's value is available.
1869 if [ "$VAL" = "$d" ]; then
1874 [ "$found" = yes ] || ERROR=yes
1876 if [ "$VAR" = "sql" ]; then
1877 # set the CFG_SQL_driver
1878 eval "CFG_SQL_$VAL=\$OPT"
1880 elif [ "$VAR" = "imageformat" ]; then
1881 [ "$OPT" = "qt" ] && OPT=yes
1882 VAL="`echo $VAL |tr a-z A-Z`"
1883 eval "CFG_$VAL=$OPT"
1887 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
1888 if [ "$OPT" = "plugin" ]; then
1891 QMakeVar add "${VAR}s" "${VAL}"
1892 elif [ "$OPT" = "no" ]; then
1893 PLUG_VAR="${VAR}-plugin"
1895 QMakeVar del "${IN_VAR}s" "$VAL"
1896 QMakeVar del "${PLUG_VAR}s" "$VAL"
1898 if [ "$ERROR" = "yes" ]; then
1899 echo "$CURRENT_OPT: unknown argument"
1904 if [ "$VAL" = "yes" ]; then
1905 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
1906 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
1910 elif [ "$VAL" = "no" ]; then
1911 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
1912 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
1921 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1928 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1935 DEFINES="$DEFINES \"$VAL\""
1936 D_FLAGS="$D_FLAGS -D\"$VAL\""
1939 I_FLAGS="$I_FLAGS -I\"${VAL}\""
1942 L_FLAGS="$L_FLAGS -L\"${VAL}\""
1945 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
1948 l_FLAGS="$l_FLAGS -l\"${VAL}\""
1951 if [ "$BUILD_ON_MAC" = "yes" ]; then
1952 L_FLAGS="$L_FLAGS -F\"${VAL}\""
1953 I_FLAGS="$I_FLAGS -F\"${VAL}\""
1959 if [ "$BUILD_ON_MAC" = "yes" ]; then
1960 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
1966 W_FLAGS="$W_FLAGS \"${VAL}\""
1972 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1973 CFG_PHONON_BACKEND="$VAL"
1985 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1986 CFG_AUDIO_BACKEND="$VAL"
1992 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1999 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2000 CFG_FORCE_ASSERTS="$VAL"
2006 if [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
2013 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2023 if [ "$UNKNOWN_OPT" = "yes" ]; then
2024 echo "${CURRENT_OPT}: invalid command-line switch"
2030 # update QT_CONFIG to show our current predefined configuration
2031 case "$CFG_QCONFIG" in
2032 minimal|small|medium|large|full)
2033 # these are a sequence of increasing functionality
2034 for c in minimal small medium large full; do
2035 QT_CONFIG="$QT_CONFIG $c-config"
2036 [ "$CFG_QCONFIG" = $c ] && break
2040 # not known to be sufficient for anything
2041 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
2042 echo >&2 "Error: configuration file not found:"
2043 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2045 echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2050 #-------------------------------------------------------------------------------
2051 # build tree initialization
2052 #-------------------------------------------------------------------------------
2054 # where to find which..
2055 unixtests="$relpath/config.tests/unix"
2056 mactests="$relpath/config.tests/mac"
2057 WHICH="$unixtests/which.test"
2059 PERL=`$WHICH perl 2>/dev/null`
2061 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2063 for e in gawk nawk awk; do
2064 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2071 PERL="/usr/bin/perl"
2072 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2076 ### skip this if the user just needs help...
2077 if [ "$OPT_HELP" != "yes" ]; then
2079 # is this a shadow build?
2080 if [ "$OPT_SHADOW" = "maybe" ]; then
2082 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2083 if [ -h "$outpath" ]; then
2084 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2090 if [ "$OPT_SHADOW" = "yes" ]; then
2091 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2092 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2093 echo >&2 "Cannot proceed."
2096 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2099 if [ "$PLATFORM_MAC" = "no" -a "$CFG_DEBUG_RELEASE" = "yes" ]; then
2101 echo "WARNING: -debug-and-release is not supported outside of Mac OS X."
2102 echo "Qt can be built in release mode with separate debug information, so"
2103 echo "-debug-and-release is not necessary anymore"
2107 if [ "$CFG_SILENT" = "yes" ]; then
2108 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2111 # if the source tree is different from the build tree,
2112 # symlink or copy part of the sources
2113 if [ "$OPT_SHADOW" = "yes" ]; then
2114 echo "Preparing build tree..."
2116 if [ -z "$PERL" ]; then
2118 echo "You need perl in your PATH to make a shadow build."
2119 echo "Cannot proceed."
2123 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2125 # make a syncqt script that can be used in the shadow
2126 rm -f "$outpath/bin/syncqt"
2127 if [ -x "$relpath/bin/syncqt" ]; then
2128 mkdir -p "$outpath/bin"
2129 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2130 echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2131 chmod 755 "$outpath/bin/syncqt"
2134 for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
2135 rm -f "$outpath/bin/$i"
2136 if [ -x "$relpath/bin/$i" ]; then
2137 mkdir -p "$outpath/bin"
2138 echo "#!/bin/sh" >"$outpath/bin/$i"
2139 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2140 echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2141 chmod 755 "$outpath/bin/$i"
2145 # save a pre-existing mkspecs/modules dir
2146 test -d "$outpath/mkspecs/modules" && \
2147 mv "$outpath/mkspecs/modules" "$outpath/mkspecs-modules"
2148 # ditto for mkspecs/modules-inst
2149 test -d "$outpath/mkspecs/modules-inst" && \
2150 mv "$outpath/mkspecs/modules-inst" "$outpath/mkspecs-modules-inst"
2152 # symlink the mkspecs directory
2153 mkdir -p "$outpath/mkspecs"
2154 rm -rf "$outpath"/mkspecs/*
2155 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2156 rm -f "$outpath/mkspecs/default"
2160 rm -rf "$outpath/mkspecs/$1"
2161 find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2162 find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2165 # Special case for mkspecs/features directory.
2166 # To be able to place .prf files into a shadow build directory,
2167 # we're creating links for files only. The directory structure is reproduced.
2168 ShadowMkspecs features
2170 # The modules dir is special, too.
2171 if test -d "$outpath/mkspecs-modules"; then
2172 rm -rf "$outpath/mkspecs/modules"
2173 mv "$outpath/mkspecs-modules" "$outpath/mkspecs/modules"
2175 ShadowMkspecs modules
2178 # The modules-inst dir is not quite as special, but still.
2179 if test -d "$outpath/mkspecs-modules-inst"; then
2180 rm -rf "$outpath/mkspecs/modules-inst"
2181 mv "$outpath/mkspecs-modules-inst" "$outpath/mkspecs/modules-inst"
2184 # symlink the doc directory
2185 rm -rf "$outpath/doc"
2186 ln -s "$relpath/doc" "$outpath/doc"
2189 # symlink fonts to be able to run application from build directory
2190 if [ ! -d "${outpath}/lib/fonts" ]; then
2191 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2192 mkdir -p "${outpath}/lib"
2193 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2197 if [ "$OPT_FAST" = "auto" ]; then
2198 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2205 # find a make command
2206 if [ -z "$MAKE" ]; then
2208 for mk in gmake make; do
2209 if "$WHICH" $mk >/dev/null 2>&1; then
2214 if [ -z "$MAKE" ]; then
2215 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2216 echo >&2 "Cannot proceed."
2219 # export MAKE, we need it later in the config.tests
2225 #-------------------------------------------------------------------------------
2226 # auto-detect all that hasn't been specified in the arguments
2227 #-------------------------------------------------------------------------------
2229 if [ -z "$PLATFORM" ]; then
2231 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2233 OSX_VERSION=`uname -r | cut -d. -f1`
2234 # Select compiler. Use g++ unless we find a usable Clang version
2236 if [ "$OSX_VERSION" -ge 12 ]; then
2237 # We're on Mountain Lion or above. Use Clang. Don't advertise gcc.
2239 elif [ "$OSX_VERSION" -eq 11 ]; then
2240 # We're on Lion. Check if we have a supported Clang version
2241 case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
2244 PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
2251 #PLATFORM=aix-g++-64
2253 #PLATFORM=aix-xlc-64
2255 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2265 # PLATFORM=dynix-g++
2271 PLATFORM=freebsd-g++
2273 - Also available for FreeBSD: freebsd-icc
2277 PLATFORM=openbsd-g++
2288 #PLATFORM=irix-cc-64
2290 - Also available for IRIX: irix-g++ irix-cc-64
2294 case "$UNAME_MACHINE" in
2296 #PLATFORM=hpuxi-acc-32
2297 PLATFORM=hpuxi-acc-64
2299 - Also available for HP-UXi: hpuxi-acc-32
2305 #PLATFORM=hpux-acc-64
2307 #PLATFORM=hpux-acc-o64
2309 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2318 - Also available for Tru64: tru64-g++
2322 case "$UNAME_MACHINE" in
2324 PLATFORM=linux-g++-64
2331 - Also available for Linux: linux-kcc linux-icc linux-cxx
2335 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2336 PLATFORM="solaris-g++"
2338 #PLATFORM=solaris-g++
2340 #PLATFORM=solaris-cc64
2343 - Also available for Solaris: solaris-g++ solaris-cc-64
2346 ReliantUNIX-*:*|SINIX-*:*)
2347 PLATFORM=reliant-cds
2348 #PLATFORM=reliant-cds-64
2350 - Also available for Reliant UNIX: reliant-cds-64
2360 #PLATFORM=unixware-g++
2361 PLATFORM=unixware-cc
2363 - Also available for OpenUNIX: unixware-g++
2367 #PLATFORM=unixware-g++
2368 PLATFORM=unixware-cc
2370 - Also available for UnixWare: unixware-g++
2377 - Also available for SCO OpenServer: sco-g++
2381 PLATFORM=unixware-g++
2384 PLATFORM=unsupported/qnx-g++
2387 if [ "$OPT_HELP" != "yes" ]; then
2389 echo " The build script does not currently recognize all" >&2
2390 echo " platforms supported by Qt." >&2
2391 echo " Rerun this script with a -platform option listed to" >&2
2392 echo " set the system/compiler combination you use." >&2
2399 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2401 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2402 case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
2403 case "$XPLATFORM" in *qnx-*|*blackberry-*) XPLATFORM_QNX=yes;; esac
2405 if [ -d "$PLATFORM" ]; then
2406 QMAKESPEC="$PLATFORM"
2408 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2410 if [ -d "$XPLATFORM" ]; then
2411 XQMAKESPEC="$XPLATFORM"
2413 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2415 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2416 QT_CROSS_COMPILE=yes
2417 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2418 QTCONFIG_CONFIG="$QTCONFIG_CONFIG cross_compile"
2421 if [ "$BUILD_ON_MAC" = "yes" ]; then
2422 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2424 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2425 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2426 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2427 echo " built with 'macx-g++'" >&2
2433 # check specified platforms are supported
2434 if [ '!' -d "$QMAKESPEC" ]; then
2436 echo " The specified system/compiler is not supported:"
2440 echo " Please see the README file for a complete list."
2444 if [ '!' -d "$XQMAKESPEC" ]; then
2446 echo " The specified system/compiler is not supported:"
2450 echo " Please see the README file for a complete list."
2454 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2456 echo " The specified system/compiler port is not complete:"
2458 echo " $XQMAKESPEC/qplatformdefs.h"
2460 echo " Please contact qt-info@nokia.com."
2465 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2466 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2467 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2468 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2469 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2473 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2474 case `basename "$XPLATFORM"` in
2477 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2479 echo "Please contact qt-info@nokia.com to upgrade your license to"
2480 echo "include this platform, or install the Qt Open Source Edition"
2481 echo "if you intend to develop free software."
2487 #-------------------------------------------------------------------------------
2488 # tests that don't need qmake (must be run before displaying help)
2489 #-------------------------------------------------------------------------------
2491 # detect build style
2492 if [ "$CFG_DEBUG" = "auto" ]; then
2493 if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2494 CFG_DEBUG_RELEASE=yes
2496 elif [ "$CFG_DEV" = "yes" ]; then
2497 CFG_DEBUG_RELEASE=no
2500 CFG_DEBUG_RELEASE=no
2504 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2505 QT_CONFIG="$QT_CONFIG build_all debug_and_release"
2508 # pass on $CFG_SDK to the configure tests.
2509 if [ '!' -z "$CFG_SDK" ]; then
2510 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
2513 # find the default framework value
2514 if [ "$BUILD_ON_MAC" = "yes" ]; then
2515 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2516 CFG_FRAMEWORK="$CFG_SHARED"
2517 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2519 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2527 QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
2529 TEST_COMPILER=$QMAKE_CONF_COMPILER
2530 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
2531 if [ -z "$TEST_COMPILER" ]; then
2532 echo "ERROR: Cannot set the compiler for the configuration tests"
2538 case "$TEST_COMPILER" in *g++) GCC_MACHINE_DUMP=$($TEST_COMPILER -dumpmachine);; esac
2539 if [ -n "$GCC_MACHINE_DUMP" ]; then
2540 DeviceVar set GCC_MACHINE_DUMP $($TEST_COMPILER -dumpmachine)
2543 if [ -n "$CFG_SYSROOT" ] && [ "$CFG_GCC_SYSROOT" = "yes" ]; then
2544 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
2548 export SYSROOT_FLAG # used by config.tests/unix/{compile.test,arch.test}
2550 # auto-detect precompiled header support
2551 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2552 if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2559 # auto-detect support for separate debug info in objcopy
2560 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
2561 TEST_COMPILER_CFLAGS=`getXQMakeConf QMAKE_CFLAGS`
2562 TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
2563 TEST_OBJCOPY=`getXQMakeConf QMAKE_OBJCOPY`
2564 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
2565 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
2566 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
2567 CFG_SEPARATE_DEBUG_INFO=no
2571 # binutils on HP-UX is buggy; default to no.
2572 CFG_SEPARATE_DEBUG_INFO=no
2575 CFG_SEPARATE_DEBUG_INFO=yes
2581 # auto-detect -fvisibility support
2582 if [ "$CFG_REDUCE_EXPORTS" != "no" ]; then
2583 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2584 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
2585 echo "-reduce-exports was requested but this compiler does not support it"
2586 echo "Re-run configure with -v for more information"
2589 CFG_REDUCE_EXPORTS=no
2591 CFG_REDUCE_EXPORTS=yes
2595 # detect the availability of the -Bsymbolic-functions linker optimization
2596 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
2597 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2598 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
2599 echo "-reduce-relocations was requested but this compiler does not support it"
2600 echo "Re-run configure with -v for more information"
2603 CFG_REDUCE_RELOCATIONS=no
2605 CFG_REDUCE_RELOCATIONS=yes
2609 # auto-detect GNU make support
2610 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
2614 # find the default framework value
2615 if [ "$BUILD_ON_MAC" = "yes" ]; then
2616 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2617 CFG_FRAMEWORK="$CFG_SHARED"
2618 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2620 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2628 #setup the build parts
2629 if [ -z "$CFG_BUILD_PARTS" ]; then
2630 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
2632 # build tests by default, if a developer build
2633 if [ "$CFG_DEV" = "yes" ]; then
2634 CFG_BUILD_PARTS="$CFG_BUILD_PARTS tests"
2637 # don't build tools by default when cross-compiling
2638 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2639 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
2642 for nobuild in $CFG_NOBUILD_PARTS; do
2643 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
2645 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
2647 # echo "WARNING: libs is a required part of the build."
2649 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
2652 #-------------------------------------------------------------------------------
2653 # post process QT_INSTALL_* variables
2654 #-------------------------------------------------------------------------------
2656 if [ -z "$QT_INSTALL_PREFIX" ]; then
2657 if [ "$CFG_DEV" = "yes" ]; then
2658 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
2660 QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION
2663 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
2665 if [ -z "$QT_INSTALL_DOCS" ]; then #default
2666 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2667 if [ "$BUILD_ON_MAC" = "yes" ]; then
2668 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
2671 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
2674 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
2676 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
2677 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2678 if [ "$BUILD_ON_MAC" = "yes" ]; then
2679 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2684 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
2687 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
2689 if [ -z "$QT_INSTALL_LIBS" ]; then #default
2690 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2691 if [ "$BUILD_ON_MAC" = "yes" ]; then
2692 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2693 QT_INSTALL_LIBS="/Library/Frameworks"
2697 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
2699 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
2701 if [ -z "$QT_INSTALL_BINS" ]; then #default
2702 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2703 if [ "$BUILD_ON_MAC" = "yes" ]; then
2704 QT_INSTALL_BINS="/Developer/Applications/Qt"
2707 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
2709 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
2711 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
2712 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2713 if [ "$BUILD_ON_MAC" = "yes" ]; then
2714 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
2717 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
2719 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
2721 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
2722 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2723 if [ "$BUILD_ON_MAC" = "yes" ]; then
2724 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
2727 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
2729 QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
2731 if [ -z "$QT_INSTALL_DATA" ]; then #default
2732 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
2734 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
2736 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
2737 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
2739 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
2741 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
2742 if [ "$BUILD_ON_MAC" = "yes" ]; then
2743 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
2745 QT_INSTALL_SETTINGS=/etc/xdg
2748 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
2750 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
2751 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2752 if [ "$BUILD_ON_MAC" = "yes" ]; then
2753 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
2756 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
2758 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
2761 if [ -z "$QT_INSTALL_TESTS" ]; then #default
2762 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2763 if [ "$BUILD_ON_MAC" = "yes" ]; then
2764 QT_INSTALL_TESTS="/Developer/Tests/Qt"
2767 [ -z "$QT_INSTALL_TESTS" ] && QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback
2769 QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
2771 #------- host paths --------
2773 if [ -z "$QT_HOST_PREFIX" ]; then
2774 QT_HOST_PREFIX=$QT_INSTALL_PREFIX
2777 QT_HOST_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_PREFIX"`
2781 if [ -z "$QT_HOST_BINS" ]; then #default
2783 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2784 if [ "$BUILD_ON_MAC" = "yes" ]; then
2785 QT_HOST_BINS="/Developer/Applications/Qt"
2788 [ -z "$QT_HOST_BINS" ] && QT_HOST_BINS="$QT_HOST_PREFIX/bin" #fallback
2790 QT_HOST_BINS="$QT_INSTALL_BINS"
2793 QT_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_BINS"`
2795 if [ -z "$QT_HOST_DATA" ]; then #default
2797 QT_HOST_DATA="$QT_HOST_PREFIX"
2799 QT_HOST_DATA="$QT_INSTALL_DATA"
2802 QT_HOST_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_DATA"`
2805 #-------------------------------------------------------------------------------
2806 # help - interactive parts of the script _after_ this section please
2807 #-------------------------------------------------------------------------------
2809 # next, emit a usage message if something failed.
2810 if [ "$OPT_HELP" = "yes" ]; then
2811 [ "x$ERROR" = "xyes" ] && echo
2812 if [ "$CFG_NIS" = "no" ]; then
2819 if [ "$CFG_CUPS" = "no" ]; then
2826 if [ "$CFG_ICONV" = "no" ]; then
2833 if [ "$CFG_LARGEFILE" = "no" ]; then
2840 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
2848 if [ "$CFG_XCB" = "no" ]; then
2856 if [ "$CFG_EGLFS" = "no" ]; then
2864 if [ "$CFG_DIRECTFB" = "no" ]; then
2872 if [ "$CFG_LINUXFB" = "no" ]; then
2880 if [ "$CFG_KMS" = "no" ]; then
2888 if [ "$CFG_XINPUT2" = "no" ]; then
2896 if [ "$CFG_DBUS" = "no" ]; then
2904 if [ "$CFG_SEPARATE_DEBUG_INFO" = "no" ]; then
2912 if [ "$CFG_GLIB" = "no" ]; then
2921 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
2922 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
2923 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-testsdir <dir>]
2924 [-release] [-debug] [-debug-and-release] [-c++11] [-no-c++11]
2925 [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
2926 [-largefile] [-no-accessibility] [-accessibility] [-no-sql-<driver>] [-sql-<driver>]
2927 [-plugin-sql-<driver>] [-system-sqlite]
2928 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
2929 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
2930 [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
2931 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
2932 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
2933 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
2934 [-no-separate-debug-info] [-no-sse2]
2935 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
2936 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info]
2937 [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
2938 [-no-audio-backend] [-audio-backend]
2939 [-no-javascript-jit] [-javascript-jit] [-no-qml-debug] [-qml-debug]
2940 [-no-optimized-qmake] [-optimized-qmake]
2941 [-no-openssl] [-openssl] [-openssl-linked]
2942 [-no-gtkstyle] [-gtkstyle]
2943 [-qt-pcre] [-system-pcre]
2944 [-device <name>] [-device-option <key=value>]
2945 [additional platform specific options (see below)]
2948 Installation options:
2950 These are optional, but you may specify install directories.
2952 -prefix <dir> ...... This will install everything relative to <dir>
2953 (default $QT_INSTALL_PREFIX)
2955 -hostprefix [dir] .. Tools and libraries needed when developing
2956 applications are installed in [dir]. If [dir] is
2957 not given, the current build directory will be used.
2960 * -prefix-install .... Force a sandboxed "local" installation of
2961 Qt. This will install into
2962 $QT_INSTALL_PREFIX, if this option is
2963 disabled then some platforms will attempt a
2964 "system" install by placing default values to
2965 be placed in a system location other than
2968 You may use these to separate different parts of the install:
2970 -bindir <dir> ......... Executables will be installed to <dir>
2971 (default PREFIX/bin)
2972 -libdir <dir> ......... Libraries will be installed to <dir>
2973 (default PREFIX/lib)
2974 -docdir <dir> ......... Documentation will be installed to <dir>
2975 (default PREFIX/doc)
2976 -headerdir <dir> ...... Headers will be installed to <dir>
2977 (default PREFIX/include)
2978 -plugindir <dir> ...... Plugins will be installed to <dir>
2979 (default PREFIX/plugins)
2980 -importdir <dir> ...... Imports for QML will be installed to <dir>
2981 (default PREFIX/imports)
2982 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
2984 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
2985 (default PREFIX/translations)
2986 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
2987 (default PREFIX/etc/settings)
2988 -examplesdir <dir> .... Examples will be installed to <dir>
2989 (default PREFIX/examples)
2990 -testsdir <dir> ....... Tests will be installed to <dir>
2991 (default PREFIX/tests)
2993 -hostbindir <dir> .. Host executables will be installed to <dir>
2994 (default HOSTPREFIX/bin)
2995 -hostdatadir <dir> . Data used by qmake will be installed to <dir>
2996 (default HOSTPREFIX)
3000 The defaults (*) are usually acceptable. A plus (+) denotes a default value
3001 that needs to be evaluated. If the evaluation succeeds, the feature is
3002 included. Here is a short explanation of each option:
3004 * -release ........... Compile and link Qt with debugging turned off.
3005 -debug ............. Compile and link Qt with debugging turned on.
3006 -debug-and-release . Compile and link two versions of Qt, with and without
3007 debugging turned on (Mac only).
3009 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
3011 -opensource ........ Compile and link the Open-Source Edition of Qt.
3012 -commercial ........ Compile and link the Commercial Edition of Qt.
3014 -no-c++11 .......... Do not compile Qt with C++11 support enabled.
3015 + -c++11 ............. Compile Qt with C++11 support enabled.
3017 * -shared ............ Create and use shared Qt libraries.
3018 -static ............ Create and use static Qt libraries.
3020 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3022 -fast .............. Configure Qt quickly by generating Makefiles only for
3023 library and subdirectory targets. All other Makefiles
3024 are created as wrappers, which will in turn run qmake.
3026 -no-largefile ...... Disables large file support.
3027 + -largefile ......... Enables Qt to access files larger than 4 GB.
3029 -no-accessibility .. Do not compile Accessibility support.
3030 * -accessibility ..... Compile Accessibility support.
3032 -no-sql-<driver> ... Disable SQL <driver> entirely.
3033 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3035 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3038 Possible values for <driver>:
3039 [ $CFG_SQL_AVAILABLE ]
3041 -system-sqlite ..... Use sqlite from the operating system.
3043 -no-phonon-backend.. Do not build the platform phonon plugin.
3044 + -phonon-backend..... Build the platform phonon plugin.
3046 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
3047 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
3049 -no-qml-debug ...... Do not build the in-process QML debugging support.
3050 + -qml-debug ......... Build the QML debugging support.
3052 -platform target ... The operating system and compiler you are building
3055 See the README file for a list of supported
3056 operating systems and compilers.
3058 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3059 -no-sse3 ........... Do not compile with use of SSE3 instructions.
3060 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
3061 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
3062 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
3063 -no-avx ............ Do not compile with use of AVX instructions.
3064 -no-avx2 ........... Do not compile with use of AVX2 instructions.
3065 -no-neon ........... Do not compile with use of NEON instructions.
3066 -no-mips_dsp ....... Do not compile with use of MIPS DSP instructions.
3067 -no-mips_dspr2 ..... Do not compile with use of MIPS DSP rev2 instructions.
3069 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3070 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3072 -testcocoon Instrument Qt with the TestCocoon code coverage tool.
3074 -D <string> ........ Add an explicit define to the preprocessor.
3075 -I <string> ........ Add an explicit include path.
3076 -L <string> ........ Add an explicit library path.
3078 + -pkg-config ........ Use pkg-config to detect include and library paths. By default,
3079 configure determines whether to use pkg-config or not with
3080 some heuristics such as checking the environment variables.
3081 -no-pkg-config ..... Disable use of pkg-config.
3082 -force-pkg-config .. Force usage of pkg-config (skips pkg-config usability
3083 detection heuristic).
3085 -help, -h .......... Display this information.
3087 Third Party Libraries:
3089 -qt-zlib ........... Use the zlib bundled with Qt.
3090 + -system-zlib ....... Use zlib from the operating system.
3091 See http://www.gzip.org/zlib
3093 -no-gif ............ Do not compile GIF reading support.
3095 -no-libpng ......... Do not compile PNG support.
3096 -qt-libpng ......... Use the libpng bundled with Qt.
3097 + -system-libpng ..... Use libpng from the operating system.
3098 See http://www.libpng.org/pub/png
3100 -no-libjpeg ........ Do not compile JPEG support.
3101 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3102 + -system-libjpeg .... Use libjpeg from the operating system.
3103 See http://www.ijg.org
3105 -no-openssl ........ Do not compile support for OpenSSL.
3106 + -openssl ........... Enable run-time OpenSSL support.
3107 -openssl-linked .... Enabled linked OpenSSL support.
3109 -qt-pcre ........... Use the PCRE library bundled with Qt.
3110 + -system-pcre ....... Use the PCRE library from the operating system.
3114 -make <part> ....... Add part to the list of parts to be built at make time.
3115 ($QT_DEFAULT_BUILD_PARTS)
3116 -nomake <part> ..... Exclude part from the list of parts to be built.
3118 -R <string> ........ Add an explicit runtime library path to the Qt
3120 -l <string> ........ Add an explicit library.
3122 -no-rpath .......... Do not use the library install path as a runtime
3124 + -rpath ............. Link Qt libraries and executables using the library
3125 install path as a runtime library path. Equivalent
3126 to -R install_libpath
3128 -continue .......... Continue as far as possible if an error occurs.
3130 -verbose, -v ....... Print verbose information about each step of the
3133 -silent ............ Reduce the build output so that warnings and errors
3134 can be seen more easily.
3136 * -no-optimized-qmake ... Do not build qmake optimized.
3137 -optimized-qmake ...... Build qmake optimized.
3139 -no-gui ............ Don't build the Qt GUI library
3141 $NSN -no-nis ............ Do not compile NIS support.
3142 $NSY -nis ............... Compile NIS support.
3144 $CUN -no-cups ........... Do not compile CUPS support.
3145 $CUY -cups .............. Compile CUPS support.
3146 Requires cups/cups.h and libcups.so.2.
3148 $CIN -no-iconv .......... Do not compile support for iconv(3).
3149 $CIY -iconv ............. Compile support for iconv(3).
3151 $PHN -no-pch ............ Do not use precompiled header support.
3152 $PHY -pch ............... Use precompiled header support.
3154 $DBN -no-dbus ........... Do not compile the QtDBus module.
3155 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3156 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3158 -reduce-relocations ..... Reduce relocations in the libraries through extra
3159 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3160 experimental; needs GNU ld >= 2.18).
3162 -force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
3164 -device <name> ............... Cross-compile for device <name> (experimental)
3165 -device-option <key=value> ... Add device specific options for the device mkspec
3168 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3169 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3171 $XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
3172 $XCBY -xcb ............... Compile Xcb support.
3174 $EGLFSN -no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support.
3175 $EGLFSY -eglfs ............. Compile EGLFS support (Requires OpenGL ES 2 support).
3177 $DFBN -no-directfb ....... Do not compile DirectFB support.
3178 $DFBY -directfb .......... Compile DirectFB support.
3180 $LFBN -no-linuxfb ........ Do not compile Linux Framebuffer support.
3181 $LFBY -linuxfb ........... Compile Linux Framebuffer support.
3183 $KMSN -no-kms ............ Do not compile KMS support.
3184 $KMSY -kms ............... Compile KMS support (Requires EGL and OpenGL ES 2 support).
3186 -qpa <name> ......... Sets the default QPA platform (e.g xcb, cocoa, windows).
3188 -xplatform target ... The target platform when cross-compiling.
3190 -sysroot <dir> ...... Sets <dir> as the target compiler's and qmake's sysroot and also sets pkg-config paths.
3191 -no-gcc-sysroot ..... When using -sysroot, it disables the passing of --sysroot to the compiler
3193 -no-feature-<feature> Do not compile in <feature>.
3194 -feature-<feature> .. Compile in <feature>. The available features
3195 are described in src/corelib/global/qfeatures.txt
3197 -no-freetype ........ Do not compile in Freetype2 support.
3198 -qt-freetype ........ Use the libfreetype bundled with Qt.
3199 * -system-freetype .... Use libfreetype from the operating system.
3200 See http://www.freetype.org/
3202 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3203 default ($CFG_QCONFIG).
3205 -no-opengl .......... Do not support OpenGL.
3206 -opengl <api> ....... Enable OpenGL support
3207 With no parameter, this will attempt to auto-detect
3208 OpenGL ES 2, or regular desktop OpenGL.
3209 Use es2 for <api> to override auto-detection.
3211 $GBN -no-glib ........... Do not compile Glib support.
3212 $GBY -glib .............. Compile Glib support.
3215 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
3218 $X2N -no-xinput2......... Do not compile XInput2 support.
3219 $X2Y -xinput2............ Compile XInput2 support.
3225 if [ "$BUILD_ON_MAC" = "yes" ]; then
3230 -Fstring ........... Add an explicit framework path.
3231 -fw string ......... Add an explicit framework.
3233 * -framework ......... Build Qt as a series of frameworks and
3234 link tools against those frameworks.
3235 -no-framework ...... Do not build Qt as a series of frameworks.
3237 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3238 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3240 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
3241 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
3242 QT_ENABLE_HARFBUZZ environment variable.
3247 [ "x$ERROR" = "xyes" ] && exit 1
3252 # -----------------------------------------------------------------------------
3253 # LICENSING, INTERACTIVE PART
3254 # -----------------------------------------------------------------------------
3257 echo "This is the Qt ${EditionString} Edition."
3260 if [ "$Edition" = "OpenSource" ]; then
3262 echo "You are licensed to use this software under the terms of"
3263 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
3264 if [ -f "$relpath/LICENSE.GPL3" ]; then
3265 echo "You are also licensed to use this software under the terms of"
3266 echo "the GNU General Public License (GPL) versions 3."
3272 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3273 echo "You have already accepted the terms of the $LicenseType license."
3276 if [ -f "$relpath/LICENSE.GPL3" ]; then
3277 echo "Type '3' to view the GNU General Public License version 3."
3279 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
3280 echo "Type 'yes' to accept this license offer."
3281 echo "Type 'no' to decline this license offer."
3283 echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
3287 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
3289 elif [ "$acceptance" = "no" ]; then
3290 echo "You are not licensed to use this software."
3293 elif [ "$acceptance" = "3" ]; then
3294 more "$relpath/LICENSE.GPL3"
3295 elif [ "$acceptance" = "L" ]; then
3296 more "$relpath/LICENSE.LGPL"
3299 elif [ "$Edition" = "Preview" ]; then
3300 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
3303 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3304 echo "You have already accepted the terms of the $LicenseType license."
3307 echo "You are licensed to use this software under the terms of"
3308 echo "the $TheLicense"
3310 echo "Type '?' to read the Preview License."
3311 echo "Type 'yes' to accept this license offer."
3312 echo "Type 'no' to decline this license offer."
3314 echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
3318 if [ "$acceptance" = "yes" ]; then
3320 elif [ "$acceptance" = "no" ] ;then
3321 echo "You are not licensed to use this software."
3324 elif [ "$acceptance" = "?" ]; then
3325 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
3328 elif [ "$Edition" != "OpenSource" ]; then
3329 if [ -n "$ExpiryDate" ]; then
3330 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
3331 [ -z "$ExpiryDate" ] && ExpiryDate="0"
3332 Today=`date +%Y%m%d`
3333 if [ "$Today" -gt "$ExpiryDate" ]; then
3334 case "$LicenseType" in
3335 Commercial|Academic|Educational)
3336 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
3338 echo "NOTICE NOTICE NOTICE NOTICE"
3340 echo " Your support and upgrade period has expired."
3342 echo " You are no longer licensed to use this version of Qt."
3343 echo " Please contact qt-info@nokia.com to renew your support"
3344 echo " and upgrades for this license."
3346 echo "NOTICE NOTICE NOTICE NOTICE"
3351 echo "WARNING WARNING WARNING WARNING"
3353 echo " Your support and upgrade period has expired."
3355 echo " You may continue to use your last licensed release"
3356 echo " of Qt under the terms of your existing license"
3357 echo " agreement. But you are not entitled to technical"
3358 echo " support, nor are you entitled to use any more recent"
3359 echo " Qt releases."
3361 echo " Please contact qt-info@nokia.com to renew your"
3362 echo " support and upgrades for this license."
3364 echo "WARNING WARNING WARNING WARNING"
3371 echo "NOTICE NOTICE NOTICE NOTICE"
3373 echo " Your Evaluation license has expired."
3375 echo " You are no longer licensed to use this software. Please"
3376 echo " contact qt-info@nokia.com to purchase license, or install"
3377 echo " the Qt Open Source Edition if you intend to develop free"
3380 echo "NOTICE NOTICE NOTICE NOTICE"
3387 TheLicense=`head -n 1 "$outpath/LICENSE"`
3389 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3390 echo "You have already accepted the terms of the $TheLicense."
3393 echo "You are licensed to use this software under the terms of"
3394 echo "the $TheLicense."
3396 echo "Type '?' to view the $TheLicense."
3397 echo "Type 'yes' to accept this license offer."
3398 echo "Type 'no' to decline this license offer."
3400 echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
3404 if [ "$acceptance" = "yes" ]; then
3406 elif [ "$acceptance" = "no" ]; then
3407 echo "You are not licensed to use this software."
3410 else [ "$acceptance" = "?" ]
3411 more "$outpath/LICENSE"
3416 # this should be moved somewhere else
3419 AIX_VERSION=`uname -v`
3420 if [ "$AIX_VERSION" -lt "5" ]; then
3421 QMakeVar add QMAKE_LIBS_X11 -lbind
3428 #-------------------------------------------------------------------------------
3429 # generate qconfig.cpp
3430 #-------------------------------------------------------------------------------
3431 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
3433 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3435 static const char qt_configure_licensee_str [256 + 12] = "qt_lcnsuser=$Licensee";
3436 static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$Edition";
3438 /* Installation date */
3439 static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`";
3441 /* Installation Info */
3442 static const char qt_configure_prefix_path_strs[][256 + 12] = {
3443 "qt_prfxpath=$QT_INSTALL_PREFIX",
3444 "qt_docspath=$QT_INSTALL_DOCS",
3445 "qt_hdrspath=$QT_INSTALL_HEADERS",
3446 "qt_libspath=$QT_INSTALL_LIBS",
3447 "qt_binspath=$QT_INSTALL_BINS",
3448 "qt_plugpath=$QT_INSTALL_PLUGINS",
3449 "qt_impspath=$QT_INSTALL_IMPORTS",
3450 "qt_datapath=$QT_INSTALL_DATA",
3451 "qt_trnspath=$QT_INSTALL_TRANSLATIONS",
3452 "qt_xmplpath=$QT_INSTALL_EXAMPLES",
3453 "qt_tstspath=$QT_INSTALL_TESTS",
3454 #ifdef QT_BUILD_QMAKE
3455 "qt_ssrtpath=$CFG_SYSROOT",
3456 "qt_hpfxpath=$QT_HOST_PREFIX",
3457 "qt_hbinpath=$QT_HOST_BINS",
3458 "qt_hdatpath=$QT_HOST_DATA",
3461 static const char qt_configure_settings_path_str[256 + 12] = "qt_stngpath=$QT_INSTALL_SETTINGS";
3464 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3466 /* strlen( "qt_lcnsxxxx" ) == 12 */
3467 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
3468 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
3470 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
3473 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
3474 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
3475 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
3477 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
3478 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
3479 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
3482 # -----------------------------------------------------------------------------
3483 if [ "$LicenseType" = "Evaluation" ]; then
3484 EVALKEY=qt_qevalkey=$LicenseKeyExt
3485 elif echo "$DEFINES" | grep QT_EVAL >/dev/null 2>&1; then
3486 EVALKEY=qt_qevalkey=
3489 if [ -n "$EVALKEY" ]; then
3490 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
3491 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
3492 /* Evaluation license key */
3493 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
3495 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
3499 # -----------------------------------------------------------------------------
3501 # -----------------------------------------------------------------------------
3504 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
3506 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
3507 if [ "$OPT_SHADOW" = "yes" ]; then
3508 "$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
3509 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
3510 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
3514 # $1: input variable name (awk regexp)
3515 # $2: optional output variable name
3516 # $3: optional value transformation (sed command)
3517 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
3518 # is where the resulting variable is written to
3519 setBootstrapVariable()
3521 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
3525 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
3526 echo "Creating qmake. Please wait..."
3529 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
3530 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
3531 if [ -f "$QCONFIG_H" ]; then
3532 OLD_QCONFIG_H=$QCONFIG_H
3533 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
3536 # create temporary qconfig.h for compiling qmake, if it doesn't exist
3537 # when building qmake, we use #defines for the install paths,
3538 # however they are real functions in the library
3539 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
3540 mkdir -p "$outpath/src/corelib/global"
3541 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
3542 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
3545 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
3547 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
3548 rm -rf mkspecs/default mkspecs/default-host
3549 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
3550 ln -s `echo $QMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default-host
3551 mkdir -p "$outpath/qmake" || exit
3553 for mkfile in GNUmakefile Makefile; do
3556 in_mkfile="${mkfile}.in"
3557 if [ "$mkfile" = "Makefile" ]; then
3558 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
3559 # (cd qmake && qmake) >/dev/null 2>&1 && continue
3561 in_mkfile="${mkfile}.unix"
3563 in_mkfile="$relpath/qmake/$in_mkfile"
3564 mkfile="$outpath/qmake/$mkfile"
3565 if [ -f "$mkfile" ]; then
3566 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
3569 [ -f "$in_mkfile" ] || continue
3571 echo "########################################################################" > "$mkfile"
3572 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
3573 echo "########################################################################" >> "$mkfile"
3576 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
3577 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
3578 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
3580 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
3581 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
3584 [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
3585 setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
3586 setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
3587 setBootstrapVariable QMAKE_CFLAGS
3588 setBootstrapVariable QMAKE_CXXFLAGS
3589 setBootstrapVariable QMAKE_LFLAGS
3591 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
3592 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
3593 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
3595 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
3596 setBootstrapVariable QMAKE_CFLAGS_RELEASE
3597 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
3598 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
3599 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
3600 elif [ "$CFG_DEBUG" = "yes" ]; then
3601 setBootstrapVariable QMAKE_CFLAGS_DEBUG
3602 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
3603 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
3604 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
3607 if [ -n "$RPATH_FLAGS" ] && [ -n "`getQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
3608 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" QMAKE_LFLAGS_RPATH
3609 for rpath in $RPATH_FLAGS; do
3610 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
3613 if [ "$BUILD_ON_MAC" = "yes" ]; then
3614 echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
3615 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
3616 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
3617 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
3618 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
3619 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
3620 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
3621 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
3622 if [ '!' -z "$CFG_SDK" ]; then
3623 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
3624 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
3625 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
3626 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
3627 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
3630 if [ '!' -z "$D_FLAGS" ]; then
3631 EXTRA_CFLAGS="$EXTRA_CFLAGS $D_FLAGS"
3633 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
3634 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
3635 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
3636 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
3638 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
3639 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
3640 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
3641 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
3642 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
3643 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
3644 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
3645 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
3646 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
3647 -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
3649 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
3650 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
3651 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
3652 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
3657 QMAKE_BUILD_ERROR=no
3658 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
3659 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
3660 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
3661 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
3664 #-------------------------------------------------------------------------------
3665 # create a qt.conf for the Qt build tree itself
3666 #-------------------------------------------------------------------------------
3668 QTCONFFILE="$outpath/bin/qt.conf"
3669 cat > "$QTCONFFILE" <<EOF
3674 #-------------------------------------------------------------------------------
3676 #-------------------------------------------------------------------------------
3677 if [ -z "$PKG_CONFIG" ]; then
3678 # See if PKG_CONFIG is set in the mkspec:
3679 PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
3681 if [ -z "$PKG_CONFIG" ]; then
3682 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
3685 if [ "$CFG_PKGCONFIG" = "no" ]; then
3687 elif [ "$CFG_PKGCONFIG" = "force" ]; then
3689 echo >&2 "You have asked to use pkg-config. Please make sure you have"
3690 echo >&2 "a correctly setup pkg-config environment!"
3692 elif [ -n "$PKG_CONFIG" ]; then
3693 # found a pkg-config
3694 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3695 # when xcompiling, check environment to see if it's actually usable
3696 if [ -z "$PKG_CONFIG_LIBDIR" ]; then
3697 if [ -n "$CFG_SYSROOT" ] && [ -d "$CFG_SYSROOT/usr/lib/pkgconfig" ]; then
3698 PKG_CONFIG_LIBDIR=$CFG_SYSROOT/usr/lib/pkgconfig:$CFG_SYSROOT/usr/share/pkgconfig
3699 if [ -n "$GCC_MACHINE_DUMP" ]; then
3700 PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR:$CFG_SYSROOT/usr/lib/$GCC_MACHINE_DUMP/pkgconfig
3702 export PKG_CONFIG_LIBDIR
3703 echo >&2 "Note: PKG_CONFIG_LIBDIR automatically set to $PKG_CONFIG_LIBDIR"
3704 elif [ "$CFG_PKGCONFIG" = "yes" ]; then
3705 echo >&2 "Error: PKG_CONFIG_LIBDIR has not been set. This could mean"
3706 echo >&2 "the host's .pc files will be used (even if you set PKG_CONFIG_PATH)."
3707 echo >&2 "Set this variable to the directory that contains target .pc files"
3708 echo >&2 "for pkg-config to function correctly when cross-compiling or"
3709 echo >&2 "use -force-pkg-config to override this test."
3713 echo >&2 "Warning: Disabling pkg-config since PKG_CONFIG_LIBDIR is not set."
3716 if [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
3717 if [ -n "$CFG_SYSROOT" ]; then
3718 PKG_CONFIG_SYSROOT_DIR=$CFG_SYSROOT
3719 export PKG_CONFIG_SYSROOT_DIR
3720 echo >&2 "Note: PKG_CONFIG_SYSROOT_DIR automatically set to $PKG_CONFIG_SYSROOT_DIR"
3721 elif [ "$CFG_PKGCONFIG" = "yes" ]; then
3722 echo >&2 "Error: PKG_CONFIG_SYSROOT_DIR has not been set. Set this variable"
3723 echo >&2 "to your sysroot for pkg-config to function correctly when cross-compiling"
3724 echo >&2 "or use -force-pkg-config to override this test."
3728 echo >&2 "Warning: Disabling pkg-config since PKG_CONFIG_SYSROOT_DIR is not set."
3732 elif [ "$CFG_PKGCONFIG" = "yes" ]; then
3733 echo >&2 "Could not detect pkg-config from mkspec or PATH."
3737 if [ -z "$PKG_CONFIG" ]; then
3738 QT_CONFIG="$QT_CONFIG no-pkg-config"
3741 #-------------------------------------------------------------------------------
3742 # write out device config before we run the test.
3743 #-------------------------------------------------------------------------------
3744 DEVICE_VARS_OUTFILE="$outpath/mkspecs/qdevice.pri"
3745 if cmp -s "$DEVICE_VARS_FILE" "$DEVICE_VARS_OUTFILE"; then
3746 rm -f "$DEVICE_VARS_FILE"
3748 mv -f $DEVICE_VARS_FILE "$DEVICE_VARS_OUTFILE"
3749 DEVICE_VARS_FILE="$DEVICE_VARS_OUTFILE"
3752 #-------------------------------------------------------------------------------
3753 # tests that need qmake
3754 #-------------------------------------------------------------------------------
3756 #-------------------------------------------------------------------------------
3757 # determine the target and host architectures
3758 #-------------------------------------------------------------------------------
3760 # Use config.tests/arch/arch.pro to have the compiler tell us what the target architecture is
3761 OUTFILE=$outpath/arch.result
3762 "$unixtests/arch.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "CFG" $MAC_CONFIG_TEST_COMMANDLINE
3763 if [ $? -eq 0 ]; then
3764 eval `cat "$OUTFILE"`
3767 echo "Could not determine the target architecture!"
3768 echo "Turn on verbose messaging (-v) to see the final report."
3770 rm -f "$OUTFILE" 2>/dev/null
3771 [ -z "$CFG_ARCH" ] && CFG_ARCH="unknown"
3773 if [ "$QMAKESPEC" != "$XQMAKESPEC" ]; then
3774 # Do the same test again, using the host compiler
3775 SYSROOT_FLAG= "$unixtests/arch.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "CFG_HOST" $MAC_CONFIG_TEST_COMMANDLINE
3776 if [ $? -eq 0 ]; then
3777 eval `cat "$OUTFILE"`
3780 echo "Could not determine the host architecture!"
3781 echo "Turn on verbose messaging (-v) to see the final report."
3783 rm -f "$OUTFILE" 2>/dev/null
3784 [ -z "$CFG_HOST_ARCH" ] && CFG_HOST_ARCH="unknown"
3786 # not cross compiling, host == target
3787 CFG_HOST_ARCH="$CFG_ARCH"
3788 CFG_HOST_CPUFEATURES="$CFG_CPUFEATURES"
3792 if [ "$OPT_VERBOSE" = "yes" ]; then
3793 echo "System architecture: '$CFG_ARCH'"
3794 echo "Host architecture: '$CFG_HOST_ARCH'"
3797 #-------------------------------------------------------------------------------
3798 # functionality tests
3799 #-------------------------------------------------------------------------------
3801 # Detect C++11 support
3802 if [ "$CFG_CXX11" != "no" ]; then
3803 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
3805 elif [ "$CFG_CXX11" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
3806 echo "C++11 support cannot be enabled due to functionality tests!"
3807 echo " Turn on verbose messaging (-v) to $0 to see the final report."
3808 echo " If you believe this message is in error you may use the continue"
3809 echo " switch (-continue) to $0 to continue."
3816 # detect availability of float math.h functions
3817 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
3818 CFG_USE_FLOATMATH=yes
3820 CFG_USE_FLOATMATH=no
3823 # detect sse2 support
3824 if [ "${CFG_SSE2}" = "auto" ]; then
3825 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
3832 # detect sse3 support
3833 if [ "${CFG_SSE3}" = "auto" ]; then
3834 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
3841 # detect ssse3 support
3842 if [ "${CFG_SSSE3}" = "auto" ]; then
3843 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
3850 # detect sse4.1 support
3851 if [ "${CFG_SSE4_1}" = "auto" ]; then
3852 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
3859 # detect sse4.2 support
3860 if [ "${CFG_SSE4_2}" = "auto" ]; then
3861 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
3868 # detect avx support
3869 if [ "${CFG_AVX}" = "auto" ]; then
3870 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
3871 case "$XQMAKESPEC" in
3873 # Some clang versions produce internal compiler errors compiling Qt AVX code
3874 case `$TEST_COMPILER --version` in
3875 Apple\ clang\ version\ 2*|Apple\ clang\ version\ 3.0*)
3877 if [ "$OPT_VERBOSE" = "yes" ]; then
3878 echo 'AVX support disabled for blacklisted clang compiler'
3895 # detect avx2 support
3896 if [ "${CFG_AVX}" = "no" ]; then
3899 if [ "${CFG_AVX2}" = "auto" ]; then
3900 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
3907 # check iWMMXt support
3908 if [ "$CFG_IWMMXT" = "yes" ]; then
3909 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS
3910 if [ $? != "0" ]; then
3911 echo "The iWMMXt functionality test failed!"
3912 echo " Please make sure your compiler supports iWMMXt intrinsics!"
3917 # detect neon support
3918 if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
3919 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
3924 elif [ "$CFG_ARCH" != "arm" ]; then
3928 # detect mips_dsp support
3929 if [ "${CFG_ARCH}" = "mips" ] && [ "${CFG_MIPS_DSP}" = "yes" ]; then
3935 # detect mips_dspr2 support
3936 if [ "${CFG_ARCH}" = "mips" ] && [ "${CFG_MIPS_DSPR2}" = "yes" ]; then
3942 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
3945 if [ "$CFG_ZLIB" = "no" ]; then
3946 # Note: Qt no longer support builds without zlib
3947 # So we force a "no" to be "auto" here.
3948 # If you REALLY really need no zlib support, you can still disable
3949 # it by doing the following:
3950 # add "no-zlib" to mkspecs/qconfig.pri
3951 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
3953 # There's no guarantee that Qt will build under those conditions
3958 if [ "$CFG_ZLIB" = "auto" ]; then
3959 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
3966 if [ "$CFG_LARGEFILE" = "auto" ]; then
3967 #Large files should be enabled for all Linux systems
3971 if [ "$CFG_GUI" = "no" ]; then
3972 QPA_PLATFORM_GUARD=no
3975 # detect how jpeg should be built
3976 if [ "$CFG_JPEG" = "auto" ]; then
3977 if [ "$CFG_SHARED" = "yes" ]; then
3984 if [ "$CFG_LIBJPEG" = "auto" ]; then
3985 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
3992 # detect how gif should be built
3993 if [ "$CFG_GIF" = "auto" ]; then
3994 if [ "$CFG_SHARED" = "yes" ]; then
4002 if [ "$CFG_LIBPNG" = "auto" ]; then
4003 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
4010 # detect accessibility
4011 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4012 CFG_ACCESSIBILITY=yes
4015 if [ "$CFG_EGLFS" = "yes" ]; then
4016 if [ "$CFG_EGL" = "no" ]; then
4017 echo "The EGLFS plugin requires EGL support and cannot be built"
4020 if [ "$CFG_OPENGL" != "es2" ]; then
4021 echo "The EGLFS plugin requires OpenGL ES 2 support and cannot be built"
4028 if [ "$CFG_KMS" = "yes" ]; then
4029 if [ "$CFG_EGL" = "no" ]; then
4030 echo "The KMS plugin requires EGL support and cannot be built"
4033 if [ "$CFG_OPENGL" != "es2" ]; then
4034 echo "The KMS plugin requires OpenGL ES 2 support and cannot be built"
4039 # auto-detect SQL-modules support
4040 for _SQLDR in $CFG_SQL_AVAILABLE; do
4043 if [ "$CFG_SQL_mysql" != "no" ]; then
4044 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
4045 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4046 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4047 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4048 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4049 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4050 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4052 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4053 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4054 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4055 echo " You need MySql 4 or higher."
4056 echo " If you believe this message is in error you may use the continue"
4057 echo " switch (-continue) to $0 to continue."
4062 QT_LFLAGS_MYSQL_R=""
4066 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
4067 QMakeVar add CONFIG use_libmysqlclient_r
4068 if [ "$CFG_SQL_mysql" = "auto" ]; then
4069 CFG_SQL_mysql=plugin
4071 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
4072 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
4073 if [ "$CFG_SQL_mysql" = "auto" ]; then
4074 CFG_SQL_mysql=plugin
4077 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4078 echo "MySQL support cannot be enabled due to functionality tests!"
4079 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4080 echo " If you believe this message is in error you may use the continue"
4081 echo " switch (-continue) to $0 to continue."
4086 QT_LFLAGS_MYSQL_R=""
4094 if [ "$CFG_SQL_psql" != "no" ]; then
4095 # Be careful not to use native pg_config when cross building.
4096 if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
4097 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
4098 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
4100 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
4101 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
4102 # But, respect PSQL_LIBS if set
4103 [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
4104 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
4105 if [ "$CFG_SQL_psql" = "auto" ]; then
4109 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4110 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4111 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4112 echo " If you believe this message is in error you may use the continue"
4113 echo " switch (-continue) to $0 to continue."
4124 if [ "$CFG_SQL_odbc" != "no" ]; then
4125 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
4126 if [ "$CFG_SQL_odbc" = "auto" ]; then
4130 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
4131 QT_LFLAGS_ODBC="-liodbc"
4132 if [ "$CFG_SQL_odbc" = "auto" ]; then
4136 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4137 echo "ODBC support cannot be enabled due to functionality tests!"
4138 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4139 echo " If you believe this message is in error you may use the continue"
4140 echo " switch (-continue) to $0 to continue."
4150 if [ "$CFG_SQL_oci" != "no" ]; then
4151 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
4152 if [ "$CFG_SQL_oci" = "auto" ]; then
4156 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4157 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4158 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4159 echo " If you believe this message is in error you may use the continue"
4160 echo " switch (-continue) to $0 to continue."
4169 if [ "$CFG_SQL_tds" != "no" ]; then
4170 [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
4171 [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
4172 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
4173 if [ "$CFG_SQL_tds" = "auto" ]; then
4177 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4178 echo "TDS support cannot be enabled due to functionality tests!"
4179 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4180 echo " If you believe this message is in error you may use the continue"
4181 echo " switch (-continue) to $0 to continue."
4190 if [ "$CFG_SQL_db2" != "no" ]; then
4191 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
4192 if [ "$CFG_SQL_db2" = "auto" ]; then
4196 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4197 echo "ODBC support cannot be enabled due to functionality tests!"
4198 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4199 echo " If you believe this message is in error you may use the continue"
4200 echo " switch (-continue) to $0 to continue."
4209 if [ "$CFG_SQL_ibase" != "no" ]; then
4210 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
4211 if [ "$CFG_SQL_ibase" = "auto" ]; then
4212 CFG_SQL_ibase=plugin
4215 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4216 echo "InterBase support cannot be enabled due to functionality tests!"
4217 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4218 echo " If you believe this message is in error you may use the continue"
4219 echo " switch (-continue) to $0 to continue."
4228 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4229 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
4230 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4231 CFG_SQL_sqlite2=plugin
4234 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4235 echo "SQLite2 support cannot be enabled due to functionality tests!"
4236 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4237 echo " If you believe this message is in error you may use the continue"
4238 echo " switch (-continue) to $0 to continue."
4247 if [ "$CFG_SQL_sqlite" != "no" ]; then
4248 SQLITE_AUTODETECT_FAILED="no"
4249 if [ "$CFG_SQLITE" = "system" ]; then
4250 if [ -n "$PKG_CONFIG" ]; then
4251 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4252 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4255 QT_LFLAGS_SQLITE="-lsqlite3 -lz"
4257 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
4258 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4259 CFG_SQL_sqlite=plugin
4261 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4263 SQLITE_AUTODETECT_FAILED="yes"
4266 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4267 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4268 CFG_SQL_sqlite=plugin
4271 SQLITE_AUTODETECT_FAILED="yes"
4275 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4276 echo "SQLite support cannot be enabled due to functionality tests!"
4277 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4278 echo " If you believe this message is in error you may use the continue"
4279 echo " switch (-continue) to $0 to continue."
4285 if [ "$OPT_VERBOSE" = "yes" ]; then
4286 echo "unknown SQL driver: $_SQLDR"
4292 # auto-detect NIS support
4293 if [ "$CFG_NIS" != "no" ]; then
4294 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
4297 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4298 echo "NIS support cannot be enabled due to functionality tests!"
4299 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4300 echo " If you believe this message is in error you may use the continue"
4301 echo " switch (-continue) to $0 to continue."
4309 # auto-detect CUPS support
4310 if [ "$CFG_CUPS" != "no" ]; then
4311 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
4314 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4315 echo "Cups support cannot be enabled due to functionality tests!"
4316 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4317 echo " If you believe this message is in error you may use the continue"
4318 echo " switch (-continue) to $0 to continue."
4326 # auto-detect iconv(3) support
4327 if [ "$CFG_ICONV" != "no" ]; then
4328 if [ "$XPLATFORM_MINGW" = "yes" ]; then
4330 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
4332 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
4334 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
4337 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4338 echo "Iconv support cannot be enabled due to functionality tests!"
4339 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4340 echo " If you believe this message is in error you may use the continue"
4341 echo " switch (-continue) to $0 to continue."
4349 # auto-detect libdbus-1 support
4350 if [ "$CFG_DBUS" != "no" ]; then
4351 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
4352 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4353 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4355 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
4356 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
4357 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
4358 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
4360 if [ "$CFG_DBUS" = "auto" ]; then
4362 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4363 # CFG_DBUS is "yes" or "linked" here
4365 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4366 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4367 echo " If you believe this message is in error you may use the continue"
4368 echo " switch (-continue) to $0 to continue."
4374 # auto-detect Glib support
4375 if [ "$CFG_GLIB" != "no" ]; then
4376 if [ -n "$PKG_CONFIG" ]; then
4377 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4378 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4380 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
4382 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
4383 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
4385 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4386 echo "Glib support cannot be enabled due to functionality tests!"
4387 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4388 echo " If you believe this message is in error you may use the continue"
4389 echo " switch (-continue) to $0 to continue."
4397 # auto-detect GTK style support
4398 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
4399 if [ -n "$PKG_CONFIG" ]; then
4400 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
4401 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
4403 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
4405 QT_CONFIG="$QT_CONFIG gtkstyle"
4406 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
4407 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
4409 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4410 echo "Gtk theme support cannot be enabled due to functionality tests!"
4411 echo " Turn on verbose messaging (-v) to $0 to see the fin al report."
4412 echo " If you believe this message is in error you may use the continue"
4413 echo " switch (-continue) to $0 to continue."
4419 elif [ "$CFG_GLIB" = "no" ]; then
4424 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4425 if [ -n "$PKG_CONFIG" ]; then
4426 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4427 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4429 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
4431 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
4432 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
4434 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4435 echo "Gstreamer support cannot be enabled due to functionality tests!"
4436 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4437 echo " If you believe this message is in error you may use the continue"
4438 echo " switch (-continue) to $0 to continue."
4444 elif [ "$CFG_GLIB" = "no" ]; then
4448 # auto-detect libicu support
4449 if [ "$CFG_ICU" != "no" ]; then
4450 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
4451 [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
4453 if [ "$CFG_ICU" = "auto" ]; then
4455 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4458 echo "The ICU library support cannot be enabled."
4459 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4460 echo " If you believe this message is in error you may use the continue"
4461 echo " switch (-continue) to $0 to continue."
4467 # Auto-detect PulseAudio support
4468 if [ "$CFG_PULSEAUDIO" != "no" ]; then
4469 if [ -n "$PKG_CONFIG" ]; then
4470 QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4471 QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4473 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
4475 QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
4476 QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
4478 if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4479 echo "PulseAudio support cannot be enabled due to functionality tests!"
4480 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4481 echo " If you believe this message is in error you may use the continue"
4482 echo " switch (-continue) to $0 to continue."
4491 if [ "$XPLATFORM_MINGW" = "yes" ]; then
4492 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4493 if [ "$CFG_GUI" = "no" ]; then
4494 if [ "$CFG_OPENGL" = "auto" ]; then
4497 if [ "$CFG_OPENGL" != "no" ]; then
4498 echo "OpenGL enabled, but GUI disabled."
4499 echo " You might need to either enable the GUI or disable OpenGL"
4503 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4504 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
4506 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
4509 if [ "$CFG_OPENGL" = "yes" ]; then
4510 echo "All the OpenGL functionality tests failed!"
4511 echo " You might need to modify the include and library search paths by editing"
4512 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4513 echo " ${XQMAKESPEC}."
4520 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4521 if [ "$CFG_OPENGL" = "desktop" ]; then
4522 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS
4523 if [ $? != "0" ]; then
4524 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4531 elif [ "$CFG_OPENGL" = "es2" ]; then
4533 "$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
4534 if [ $? != "0" ]; then
4535 echo "The OpenGL ES 2.0 functionality test failed!"
4536 echo " You might need to modify the include and library search paths by editing"
4537 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4538 echo " ${XQMAKESPEC}."
4541 elif [ "$CFG_OPENGL" = "desktop" ]; then
4542 # Desktop OpenGL support
4543 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS
4544 if [ $? != "0" ]; then
4545 echo "The OpenGL functionality test failed!"
4546 echo " You might need to modify the include and library search paths by editing"
4547 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4548 echo " ${XQMAKESPEC}."
4553 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4554 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS
4555 if [ $? != "0" ]; then
4556 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4563 fi # X11/MINGW OpenGL
4565 if [ "$BUILD_ON_MAC" = "yes" ]; then
4566 if [ "$CFG_PHONON" != "no" ]; then
4567 # Always enable Phonon (unless it was explicitly disabled)
4571 if [ "$CFG_COREWLAN" = "auto" ]; then
4572 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
4580 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4581 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4582 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
4584 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
4587 if [ "$CFG_OPENGL" = "yes" ]; then
4588 echo "All the OpenGL functionality tests failed!"
4589 echo " You might need to modify the include and library search paths by editing"
4590 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4591 echo " ${XQMAKESPEC}."
4596 elif [ "$CFG_OPENGL" = "es2" ]; then
4598 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
4599 QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4600 QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
4601 QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
4602 QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
4603 QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "`shellArgumentListToQMakeList "$QMAKE_INCDIR_OPENGL_ES2"`"
4604 QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "`shellArgumentListToQMakeList "$QMAKE_LIBDIR_OPENGL_ES2"`"
4605 QMakeVar set QMAKE_LIBS_OPENGL_ES2 "`shellArgumentListToQMakeList "$QMAKE_LIBS_OPENGL_ES2"`"
4608 "$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
4609 if [ $? != "0" ]; then
4610 echo "The OpenGL ES 2.0 functionality test failed!"
4611 echo " You might need to modify the include and library search paths by editing"
4612 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4613 echo " ${XQMAKESPEC}."
4616 elif [ "$CFG_OPENGL" = "desktop" ]; then
4617 # Desktop OpenGL support
4618 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS
4619 if [ $? != "0" ]; then
4620 echo "The OpenGL functionality test failed!"
4621 echo " You might need to modify the include and library search paths by editing"
4622 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4623 echo " ${XQMAKESPEC}."
4628 # auto-detect FontConfig support
4629 if [ "$CFG_FONTCONFIG" != "no" ]; then
4630 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
4631 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
4632 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
4634 QT_CFLAGS_FONTCONFIG=
4635 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
4637 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
4638 QT_CONFIG="$QT_CONFIG fontconfig"
4639 QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
4640 QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
4642 CFG_LIBFREETYPE=system
4649 # Save these for a check later
4650 ORIG_CFG_XCB="$CFG_XCB"
4651 ORIG_CFG_EGLFS="$CFG_EGLFS"
4652 ORIG_CFG_DIRECTFB="$CFG_DIRECTFB"
4653 ORIG_CFG_LINUXFB="$CFG_LINUXFB"
4654 ORIG_CFG_KMS="$CFG_KMS"
4656 if [ "$CFG_LIBUDEV" != "no" ]; then
4657 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libudev 2>/dev/null; then
4658 QMAKE_INCDIR_LIBUDEV=`$PKG_CONFIG --cflags-only-I libudev 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4659 QMAKE_LIBS_LIBUDEV=`$PKG_CONFIG --libs libudev 2>/dev/null`
4660 QMakeVar set QMAKE_INCDIR_LIBUDEV "$QMAKE_INCDIR_LIBUDEV"
4661 QMakeVar set QMAKE_LIBS_LIBUDEV "$QMAKE_LIBS_LIBUDEV"
4663 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
4665 QT_CONFIG="$QT_CONFIG libudev"
4666 elif [ "$CFG_LIBUDEV" = "yes" ]; then
4667 echo "The libudev functionality test failed!"
4671 QMakeVar add DEFINES QT_NO_LIBUDEV
4675 if [ "$CFG_EVDEV" != "no" ]; then
4676 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
4678 QT_CONFIG="$QT_CONFIG evdev"
4679 elif [ "$CFG_EVDEV" = "yes" ]; then
4680 echo "The evdev functionality test failed!"
4684 QMakeVar add DEFINES QT_NO_EVDEV
4688 # Check we actually have X11 :-)
4689 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
4690 QT_CONFIG="$QT_CONFIG xlib"
4693 # auto-detect Xrender support
4694 if [ "$CFG_XRENDER" != "no" ]; then
4695 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
4697 QT_CONFIG="$QT_CONFIG xrender"
4699 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4700 echo "Xrender support cannot be enabled due to functionality tests!"
4701 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4702 echo " If you believe this message is in error you may use the continue"
4703 echo " switch (-continue) to $0 to continue."
4711 if [ "$CFG_XCB" != "no" ]; then
4712 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xcb >= 1.5" 2>/dev/null; then
4713 QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`"
4714 QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`"
4716 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
4718 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
4719 QT_CONFIG="$QT_CONFIG xcb-render"
4722 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
4724 QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
4727 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
4728 QT_CONFIG="$QT_CONFIG xcb-xlib"
4731 # auto-detect XInput2 support. Needed by xcb too.
4732 if [ "$CFG_XINPUT2" != "no" ]; then
4733 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
4737 if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4738 echo "XInput2 support cannot be enabled due to functionality tests!"
4739 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4740 echo " If you believe this message is in error you may use the continue"
4741 echo " switch (-continue) to $0 to continue."
4749 if [ "$CFG_XCB" = "yes" ]; then
4750 echo "The XCB test failed!"
4751 echo " You might need to install dependency packages."
4752 echo " See src/plugins/platforms/xcb/README."
4756 QMakeVar add DEFINES QT_NO_XCB
4760 if [ "$CFG_DIRECTFB" != "no" ]; then
4761 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists directfb 2>/dev/null; then
4762 QMAKE_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
4763 QMAKE_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
4764 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
4766 elif [ "$CFG_DIRECTFB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4767 echo " DirectFB support cannot be enabled due to functionality tests!"
4768 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4769 echo " If you believe this message is in error you may use the continue"
4770 echo " switch (-continue) to $0 to continue."
4780 if [ "$CFG_LINUXFB" != "no" ]; then
4781 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
4783 elif [ "$CFG_LINUXFB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4784 echo " Linux Framebuffer support cannot be enabled due to functionality tests!"
4785 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4786 echo " If you believe this message is in error you may use the continue"
4787 echo " switch (-continue) to $0 to continue."
4794 if [ "$CFG_KMS" != "no" ]; then
4795 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
4797 elif [ "$CFG_KMS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4798 echo " KMS support cannot be enabled due to functionality tests!"
4799 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4800 echo " If you believe this message is in error you may use the continue"
4801 echo " switch (-continue) to $0 to continue."
4808 # Detect libxkbcommon
4809 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
4810 QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
4811 QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
4812 QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
4813 QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
4815 QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
4819 if [ "$CFG_EGL" != "no" ] && [ "$CFG_OPENGL" != "desktop" ]; then
4820 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then
4821 QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4822 QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null`
4823 QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null`
4824 QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
4825 QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
4826 fi # detect EGL support
4827 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
4829 elif [ "$CFG_EGL" = "yes" ]; then
4830 echo " The EGL functionality test failed; EGL is required by some QPA plugins to manage contexts & surfaces."
4831 echo " You might need to modify the include and library search paths by editing"
4832 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in ${XQMAKESPEC}."
4837 elif [ "$CFG_OPENGL" = "desktop" ]; then
4838 if [ "$CFG_EGL" = "yes" ]; then
4839 echo "EGL support was requested but Qt is being configured for desktop OpenGL."
4840 echo "Either disable EGL support or enable OpenGL ES support."
4846 if [ "$CFG_EGLFS" != "no" ]; then
4847 if [ "$CFG_OPENGL" = "es2" ] && [ "$CFG_EVDEV" = "yes" ]; then
4848 CFG_EGLFS="$CFG_EGL"
4854 if [ "$CFG_KMS" = "yes" ]; then
4855 if [ "$CFG_OPENGL" = "es2" ] && [ "$CFG_EGL" = "yes" ]; then
4862 # Determine the default QPA platform
4863 if [ -z "$QT_QPA_DEFAULT_PLATFORM" ]; then
4865 QT_QPA_DEFAULT_PLATFORM=`getXQMakeConf QT_QPA_DEFAULT_PLATFORM`
4866 if [ -z "$QT_QPA_DEFAULT_PLATFORM" ]; then
4867 if [ "$XPLATFORM_MINGW" = "yes" ]; then
4868 QT_QPA_DEFAULT_PLATFORM="windows"
4869 elif [ "$BUILD_ON_MAC" = "yes" ]; then
4870 QT_QPA_DEFAULT_PLATFORM="cocoa"
4871 elif [ "$UNAME_SYSTEM" = "QNX" ]; then
4872 QT_QPA_DEFAULT_PLATFORM="qnx"
4874 QT_QPA_DEFAULT_PLATFORM="xcb"
4879 if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
4880 QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
4881 QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
4882 QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
4884 if [ "$CFG_DIRECTFB" = "yes" ]; then
4885 QT_CONFIG="$QT_CONFIG directfb"
4886 QMakeVar set QMAKE_CFLAGS_DIRECTFB "$QMAKE_CFLAGS_DIRECTFB"
4887 QMakeVar set QMAKE_LIBS_DIRECTFB "$QMAKE_LIBS_DIRECTFB"
4889 if [ "$CFG_LINUXFB" = "yes" ]; then
4890 QT_CONFIG="$QT_CONFIG linuxfb"
4892 if [ "$CFG_KMS" = "yes" ]; then
4893 QT_CONFIG="$QT_CONFIG kms"
4896 if [ "$BUILD_ON_MAC" = "yes" ]; then
4897 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
4898 QT_CONFIG="$QT_CONFIG coreservices"
4900 QMakeVar add DEFINES QT_NO_CORESERVICES
4904 if [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ] && [ "$XPLATFORM_QNX" = "no" ]; then
4905 if [ "$CFG_XCB" = "no" ] && [ "$CFG_EGLFS" = "no" ] && [ "$CFG_DIRECTFB" = "no" ] && [ "$CFG_LINUXFB" = "no" ] && [ "$CFG_KMS" = "no" ]; then
4906 if [ "$QPA_PLATFORM_GUARD" = "yes" ] &&
4907 ( [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_EGLFS" = "auto" ] || [ "$ORIG_CFG_DIRECTFB" = "auto" ] || [ "$ORIG_CFG_LINUXFB" = "auto" ] || [ "$ORIG_CFG_KMS" = "auto" ] ); then
4908 echo "No QPA platform plugin enabled!"
4909 echo " If you really want to build without a QPA platform plugin you must pass"
4910 echo " -no-qpa-platform-guard to configure. Doing this will"
4911 echo " produce a Qt that can not run GUI applications."
4912 echo " The dependencies needed for xcb to build are listed in"
4913 echo " src/plugins/platforms/xcb/README"
4919 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
4922 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
4923 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
4924 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
4925 CFG_LIBFREETYPE=system
4931 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $D_FLAGS $l_FLAGS &&
4932 [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4933 echo "STL functionality check failed! Cannot build Qt with this STL library."
4934 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4939 # detect POSIX clock_gettime()
4940 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
4941 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
4942 CFG_CLOCK_GETTIME=yes
4944 CFG_CLOCK_GETTIME=no
4948 # detect POSIX monotonic clocks
4949 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
4950 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
4951 CFG_CLOCK_MONOTONIC=yes
4953 CFG_CLOCK_MONOTONIC=no
4955 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
4956 CFG_CLOCK_MONOTONIC=no
4960 if [ "$CFG_MREMAP" = "auto" ]; then
4961 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
4968 # find if the platform provides getaddrinfo (ipv6 dns lookups)
4969 if [ "$CFG_GETADDRINFO" != "no" ]; then
4970 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
4973 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4974 echo "getaddrinfo support cannot be enabled due to functionality tests!"
4975 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4976 echo " If you believe this message is in error you may use the continue"
4977 echo " switch (-continue) to $0 to continue."
4985 # find if the platform provides inotify
4986 if [ "$CFG_INOTIFY" != "no" ]; then
4987 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
4990 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4991 echo "inotify support cannot be enabled due to functionality tests!"
4992 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4993 echo " If you believe this message is in error you may use the continue"
4994 echo " switch (-continue) to $0 to continue."
5002 # find if the platform provides if_nametoindex (ipv6 interface name support)
5003 if [ "$CFG_IPV6IFNAME" != "no" ]; then
5004 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
5007 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5008 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
5009 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5010 echo " If you believe this message is in error you may use the continue"
5011 echo " switch (-continue) to $0 to continue."
5019 # find if the platform provides getifaddrs (network interface enumeration)
5020 if [ "$CFG_GETIFADDRS" != "no" ]; then
5021 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
5024 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5025 echo "getifaddrs support cannot be enabled due to functionality tests!"
5026 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5027 echo " If you believe this message is in error you may use the continue"
5028 echo " switch (-continue) to $0 to continue."
5037 if [ "$CFG_OPENSSL" != "no" ]; then
5038 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
5039 if [ "$CFG_OPENSSL" = "auto" ]; then
5043 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5044 echo "OpenSSL support cannot be enabled due to functionality tests!"
5045 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5046 echo " If you believe this message is in error you may use the continue"
5047 echo " switch (-continue) to $0 to continue."
5056 if [ "$CFG_PCRE" != "qt" ]; then
5057 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
5060 if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5061 echo "PCRE support cannot be enabled due to functionality tests!"
5062 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5063 echo " If you believe this message is in error you may use the continue"
5064 echo " switch (-continue) to $0 to continue."
5072 # detect OpenVG support
5073 if [ "$CFG_OPENVG" != "no" ]; then
5074 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
5075 if [ "$CFG_OPENVG" = "auto" ]; then
5078 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
5079 if [ "$CFG_OPENVG" = "auto" ]; then
5082 CFG_OPENVG_ON_OPENGL=yes
5083 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
5084 if [ "$CFG_OPENVG" = "auto" ]; then
5087 CFG_OPENVG_LC_INCLUDES=yes
5088 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
5089 if [ "$CFG_OPENVG" = "auto" ]; then
5092 CFG_OPENVG_LC_INCLUDES=yes
5093 CFG_OPENVG_ON_OPENGL=yes
5095 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5096 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
5097 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5098 echo " If you believe this message is in error you may use the continue"
5099 echo " switch (-continue) to $0 to continue."
5105 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
5106 CFG_OPENVG_SHIVA=yes
5110 if [ "$CFG_ALSA" = "auto" ]; then
5111 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
5118 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
5119 if [ "$CFG_ARCH" = "arm" ]; then
5120 "$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
5121 if [ $? != "0" ]; then
5122 CFG_JAVASCRIPTCORE_JIT=no
5125 case "$XPLATFORM" in
5127 CFG_JAVASCRIPTCORE_JIT=no
5133 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
5134 QMakeVar set JAVASCRIPTCORE_JIT yes
5135 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
5136 QMakeVar set JAVASCRIPTCORE_JIT no
5139 if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
5140 CFG_AUDIO_BACKEND=yes
5143 if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
5144 echo "Warning: largefile support cannot be disabled for win32."
5148 #-------------------------------------------------------------------------------
5149 # ask for all that hasn't been auto-detected or specified in the arguments
5150 #-------------------------------------------------------------------------------
5152 [ "$CFG_CXX11" = "yes" ] && QT_CONFIG="$QT_CONFIG c++11"
5155 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
5156 QT_CONFIG="$QT_CONFIG phonon-backend"
5159 # disable accessibility
5160 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
5161 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
5163 QT_CONFIG="$QT_CONFIG accessibility"
5167 if [ "$CFG_EGL" = "yes" ]; then
5168 QT_CONFIG="$QT_CONFIG egl"
5170 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
5174 if [ "$CFG_EGLFS" = "yes" ]; then
5175 QT_CONFIG="$QT_CONFIG eglfs"
5177 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGLFS"
5181 if [ "$CFG_OPENVG" = "no" ]; then
5182 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
5184 QT_CONFIG="$QT_CONFIG openvg"
5185 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
5186 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
5188 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
5189 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
5191 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
5192 QT_CONFIG="$QT_CONFIG shivavg"
5193 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
5198 if [ "$CFG_OPENGL" = "no" ]; then
5199 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
5201 QT_CONFIG="$QT_CONFIG opengl"
5204 if [ "$CFG_OPENGL" = "es2" ]; then
5205 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
5208 if [ "$CFG_OPENGL" = "es2" ]; then
5209 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5210 QT_CONFIG="$QT_CONFIG opengles2"
5213 # build up the variables for output
5214 if [ "$CFG_DEBUG" = "yes" ]; then
5215 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
5216 elif [ "$CFG_DEBUG" = "no" ]; then
5217 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
5219 if [ "$CFG_SHARED" = "yes" ]; then
5220 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
5221 QT_CONFIG="$QT_CONFIG shared"
5222 elif [ "$CFG_SHARED" = "no" ]; then
5223 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
5224 QT_CONFIG="$QT_CONFIG static"
5227 #FIXME: qpa is implicit this should all be removed
5228 QMAKE_CONFIG="$QMAKE_CONFIG qpa"
5229 QT_CONFIG="$QT_CONFIG qpa"
5230 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
5231 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5233 if [ "$XPLATFORM_MINGW" != "yes" ]; then
5234 # Do not set this here for Windows. Let qmake do it so
5235 # debug and release precompiled headers are kept separate.
5236 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
5238 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
5239 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
5240 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
5241 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
5242 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5243 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
5245 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
5246 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
5248 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
5249 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
5250 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
5251 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
5252 QMakeVar add QMAKE_CFLAGS -g
5253 QMakeVar add QMAKE_CXXFLAGS -g
5254 QT_CONFIG="$QT_CONFIG separate_debug_info"
5256 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
5257 QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
5259 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
5260 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
5261 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
5262 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
5263 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
5264 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
5265 [ "$CFG_AVX2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx2"
5266 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
5267 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
5268 if [ "$CFG_ARCH" = "mips" ]; then
5269 [ "$CFG_MIPS_DSP" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dsp"
5270 [ "$CFG_MIPS_DSPR2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dspr2"
5272 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
5273 QT_CONFIG="$QT_CONFIG clock-gettime"
5275 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
5276 QT_CONFIG="$QT_CONFIG clock-monotonic"
5278 if [ "$CFG_MREMAP" = "yes" ]; then
5279 QT_CONFIG="$QT_CONFIG mremap"
5281 if [ "$CFG_GETADDRINFO" = "yes" ]; then
5282 QT_CONFIG="$QT_CONFIG getaddrinfo"
5284 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
5285 QT_CONFIG="$QT_CONFIG ipv6ifname"
5287 if [ "$CFG_GETIFADDRS" = "yes" ]; then
5288 QT_CONFIG="$QT_CONFIG getifaddrs"
5290 if [ "$CFG_INOTIFY" = "yes" ]; then
5291 QT_CONFIG="$QT_CONFIG inotify"
5293 if [ "$CFG_LIBJPEG" = "no" ]; then
5295 elif [ "$CFG_LIBJPEG" = "system" ]; then
5296 QT_CONFIG="$QT_CONFIG system-jpeg"
5298 if [ "$CFG_JPEG" = "no" ]; then
5299 QT_CONFIG="$QT_CONFIG no-jpeg"
5300 elif [ "$CFG_JPEG" = "yes" ]; then
5301 QT_CONFIG="$QT_CONFIG jpeg"
5303 if [ "$CFG_LIBPNG" = "no" ]; then
5306 if [ "$CFG_LIBPNG" = "system" ]; then
5307 QT_CONFIG="$QT_CONFIG system-png"
5309 if [ "$CFG_PNG" = "no" ]; then
5310 QT_CONFIG="$QT_CONFIG no-png"
5311 elif [ "$CFG_PNG" = "yes" ]; then
5312 QT_CONFIG="$QT_CONFIG png"
5314 if [ "$CFG_GIF" = "no" ]; then
5315 QT_CONFIG="$QT_CONFIG no-gif"
5316 elif [ "$CFG_GIF" = "yes" ]; then
5317 QT_CONFIG="$QT_CONFIG gif"
5319 if [ "$CFG_LIBFREETYPE" = "no" ]; then
5320 QT_CONFIG="$QT_CONFIG no-freetype"
5321 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
5322 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
5323 QT_CONFIG="$QT_CONFIG system-freetype"
5325 QT_CONFIG="$QT_CONFIG freetype"
5327 if [ "$CFG_GUI" = "auto" ]; then
5330 if [ "$CFG_GUI" = "no" ]; then
5331 QT_CONFIG="$QT_CONFIG no-gui"
5334 if [ "$CFG_WIDGETS" = "no" ]; then
5335 QT_CONFIG="$QT_CONFIG no-widgets"
5336 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_WIDGETS"
5339 if [ "x$BUILD_ON_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5340 #On Mac we implicitly link against libz, so we
5341 #never use the 3rdparty stuff.
5342 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
5344 if [ "$CFG_ZLIB" = "yes" ]; then
5345 QT_CONFIG="$QT_CONFIG zlib"
5346 elif [ "$CFG_ZLIB" = "system" ]; then
5347 QT_CONFIG="$QT_CONFIG system-zlib"
5350 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
5351 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
5352 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
5353 [ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
5354 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
5355 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
5356 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
5357 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
5358 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
5359 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
5360 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
5361 [ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
5362 [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
5363 [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
5365 [ '!' -z "$DEFINES" ] && QMakeVar add DEFINES "$DEFINES"
5366 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
5367 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
5369 if [ "$PLATFORM_MAC" = "yes" ] && [ "$QT_CROSS_COMPILE" = "no" ]; then
5370 if [ "$CFG_RPATH" = "yes" ]; then
5371 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
5372 # set the default rpath to the library installation directory
5373 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5375 elif [ -z "`getXQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
5376 if [ -n "$RPATH_FLAGS" ]; then
5378 echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
5382 elif [ "$CFG_RPATH" = "yes" ]; then
5383 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
5387 if [ "$CFG_RPATH" = "yes" ]; then
5388 # set the default rpath to the library installation directory
5389 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5391 if [ -n "$RPATH_FLAGS" ]; then
5392 # add the user defined rpaths
5393 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
5397 if [ '!' -z "$I_FLAGS" ]; then
5398 # add the user define include paths
5399 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
5400 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
5403 if [ '!' -z "$W_FLAGS" ]; then
5404 # add the user defined warning flags
5405 QMakeVar add QMAKE_CFLAGS_WARN_ON "$W_FLAGS"
5406 QMakeVar add QMAKE_CXXFLAGS_WARN_ON "$W_FLAGS"
5407 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS"
5410 if [ "$XPLATFORM_MINGW" = "yes" ]; then
5411 # mkspecs/features/win32/default_pre.prf sets "no-rtti".
5412 # Follow default behavior of configure.exe by overriding with "rtti".
5413 QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
5416 if [ "$CFG_ALSA" = "yes" ]; then
5417 QT_CONFIG="$QT_CONFIG alsa"
5420 if [ "$CFG_PULSEAUDIO" = "yes" ]; then
5421 QT_CONFIG="$QT_CONFIG pulseaudio"
5424 if [ "$CFG_COREWLAN" = "yes" ]; then
5425 QT_CONFIG="$QT_CONFIG corewlan"
5428 if [ "$CFG_ICU" = "yes" ]; then
5429 QT_CONFIG="$QT_CONFIG icu"
5432 if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
5433 QT_CONFIG="$QT_CONFIG force_asserts"
5436 if [ "$CFG_PCRE" = "qt" ]; then
5437 QMAKE_CONFIG="$QMAKE_CONFIG pcre"
5441 # Some Qt modules are too advanced in C++ for some old compilers
5442 # Detect here the platforms where they are known to work.
5444 # See Qt documentation for more information on which features are
5445 # supported and on which compilers.
5447 canBuildQtConcurrent="yes"
5448 canUseV8Snapshot="yes"
5450 case "$XPLATFORM" in
5452 # PA-RISC's assembly is too limited
5453 # gcc 3.4 on that platform can't build QtXmlPatterns
5454 # the assembly it generates cannot be compiled
5456 # Check gcc's version
5457 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5461 canBuildQtXmlPatterns="no"
5465 canBuildQtXmlPatterns="no"
5469 unsupported/vxworks-*-g++*)
5472 unsupported/vxworks-*-dcc*)
5474 canBuildQtXmlPatterns="no"
5477 # Check gcc's version
5478 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5486 canBuildQtXmlPatterns="no"
5491 # Check the compiler version
5492 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
5495 canBuildQtXmlPatterns="no"
5496 canBuildQtConcurrent="no"
5500 canBuildQtConcurrent="no"
5506 canBuildQtXmlPatterns="no"
5507 canBuildQtConcurrent="no"
5513 # Get the xlC version
5514 cat > xlcver.c <<EOF
5518 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
5523 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
5524 xlcver=`./xlcver 2>/dev/null`
5527 if [ "$OPT_VERBOSE" = "yes" ]; then
5528 if [ -n "$xlcver" ]; then
5529 echo Found IBM xlC version: $xlcver.
5531 echo Could not determine IBM xlC version, assuming oldest supported.
5538 canBuildQtXmlPatterns="no"
5539 canBuildQtConcurrent="no"
5543 canBuildQtConcurrent="no"
5549 canBuildQtConcurrent="no"
5553 if [ "$CFG_GUI" = "no" ]; then
5554 # WebKit requires QtGui
5558 if [ "$CFG_SHARED" = "no" ]; then
5560 echo "WARNING: Using static linking will disable the WebKit module."
5565 CFG_CONCURRENT="yes"
5566 if [ "$canBuildQtConcurrent" = "no" ]; then
5567 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
5570 QT_CONFIG="$QT_CONFIG concurrent"
5574 if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
5575 QT_CONFIG="$QT_CONFIG audio-backend"
5579 if [ "$CFG_WEBKIT" = "debug" ]; then
5580 QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
5584 QT_CONFIG="$QT_CONFIG v8"
5585 # Detect snapshot support
5586 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
5587 case "$CFG_HOST_ARCH,$CFG_ARCH" in
5590 *) canUseV8Snapshot="no"
5594 if [ -n "$_SBOX_DIR" -a "$CFG_ARCH" = "arm" ]; then
5595 # QEMU crashes when building inside Scratchbox with an ARM target
5596 canUseV8Snapshot="no"
5599 if [ "$CFG_V8SNAPSHOT" = "auto" ]; then
5600 CFG_V8SNAPSHOT="$canUseV8Snapshot"
5602 if [ "$CFG_V8SNAPSHOT" = "yes" -a "$canUseV8Snapshot" = "no" ]; then
5603 echo "Error: V8 snapshot was requested, but is not supported on this platform."
5606 if [ "$CFG_V8SNAPSHOT" = "yes" ]; then
5607 QT_CONFIG="$QT_CONFIG v8snapshot"
5611 if [ "$CFG_QML_DEBUG" = "no" ]; then
5612 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QML_NO_DEBUGGER"
5615 case "$QMAKE_CONF_COMPILER" in
5618 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
5620 case "$COMPILER_VERSION" in
5622 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
5623 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
5624 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
5627 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
5628 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
5629 QT_GCC_PATCH_VERSION=0
5639 #-------------------------------------------------------------------------------
5640 # part of configuration information goes into qconfig.h
5641 #-------------------------------------------------------------------------------
5643 case "$CFG_QCONFIG" in
5645 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
5648 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
5649 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
5650 if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
5651 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
5652 elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
5653 cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
5655 echo "#endif" >>"$tmpconfig"
5659 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
5663 # define QT_EDITION $QT_EDITION
5667 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
5668 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
5670 if [ "$CFG_SHARED" = "no" ]; then
5671 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
5672 /* Qt was configured for a static build */
5673 #if !defined(QT_SHARED) && !defined(QT_STATIC)
5680 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5681 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
5684 if [ "$CFG_FRAMEWORK" = "yes" ]; then
5685 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
5688 if [ "$BUILD_ON_MAC" = "yes" ]; then
5689 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
5690 #if defined(__LP64__)
5691 # define QT_POINTER_SIZE 8
5693 # define QT_POINTER_SIZE 4
5697 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5698 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
5701 #REDUCE_RELOCATIONS is a elf/unix only thing, so not in windows configure.exe
5702 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
5703 echo "#define QT_REDUCE_RELOCATIONS" >>"$outpath/src/corelib/global/qconfig.h.new"
5707 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
5709 if [ "$CFG_DEV" = "yes" ]; then
5710 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
5713 # Add QPA to config.h
5714 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA"
5716 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
5717 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
5720 # Add turned on SQL drivers
5721 for DRIVER in $CFG_SQL_AVAILABLE; do
5722 eval "VAL=\$CFG_SQL_$DRIVER"
5725 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
5726 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
5727 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
5730 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
5736 QMakeVar set sql-drivers "$SQL_DRIVERS"
5737 QMakeVar set sql-plugins "$SQL_PLUGINS"
5739 # Add other configuration options to the qconfig.h file
5740 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
5741 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
5742 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
5743 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
5744 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
5746 # X11/Unix/Mac only configs
5747 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
5748 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
5749 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
5750 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
5751 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
5752 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
5753 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
5754 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
5755 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
5756 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
5757 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
5758 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
5759 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
5760 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
5762 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
5763 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
5764 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
5765 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
5766 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
5767 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
5768 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
5769 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
5770 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
5771 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
5772 [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
5773 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
5774 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
5776 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
5777 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
5778 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
5779 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
5780 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
5781 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
5782 [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
5783 [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
5785 # sort QCONFIG_FLAGS for neatness if we can
5786 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
5787 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
5789 if [ -n "$QCONFIG_FLAGS" ]; then
5790 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5791 #ifndef QT_BOOTSTRAPPED
5794 for cfg in $QCONFIG_FLAGS; do
5795 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
5796 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
5797 # figure out define logic, so we can output the correct
5798 # ifdefs to override the global defines in a project
5800 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
5801 # QT_NO_option can be forcefully turned on by QT_option
5802 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
5803 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
5804 # QT_option can be forcefully turned off by QT_NO_option
5805 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
5808 if [ -z $cfgdNeg ]; then
5809 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5816 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5817 #if defined($cfgd) && defined($cfgdNeg)
5819 #elif !defined($cfgd) && !defined($cfgdNeg)
5826 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5827 #endif // QT_BOOTSTRAPPED
5832 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
5833 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5834 #define QT_VISIBILITY_AVAILABLE
5839 if [ -n "$QT_LIBINFIX" ]; then
5840 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5841 #define QT_LIBINFIX "$QT_LIBINFIX"
5846 echo "#define QT_QPA_DEFAULT_PLATFORM_NAME \"$QT_QPA_DEFAULT_PLATFORM\"" >>"$outpath/src/corelib/global/qconfig.h.new"
5848 # avoid unecessary rebuilds by copying only if qconfig.h has changed
5849 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
5850 rm -f "$outpath/src/corelib/global/qconfig.h.new"
5852 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
5853 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
5854 chmod -w "$outpath/src/corelib/global/qconfig.h"
5855 if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then
5856 ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h"
5860 #-------------------------------------------------------------------------------
5861 # save configuration into qconfig.pri
5862 #-------------------------------------------------------------------------------
5863 QTCONFIG="$outpath/mkspecs/qconfig.pri"
5864 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
5865 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
5866 if [ "$CFG_DEBUG" = "yes" ]; then
5867 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
5868 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
5869 QT_CONFIG="$QT_CONFIG release"
5871 QT_CONFIG="$QT_CONFIG debug"
5872 elif [ "$CFG_DEBUG" = "no" ]; then
5873 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
5874 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
5875 QT_CONFIG="$QT_CONFIG debug"
5877 QT_CONFIG="$QT_CONFIG release"
5879 if [ "$CFG_FRAMEWORK" = "no" ]; then
5880 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
5882 QT_CONFIG="$QT_CONFIG qt_framework"
5883 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
5885 if [ "$CFG_DEV" = "yes" ]; then
5886 QT_CONFIG="$QT_CONFIG private_tests"
5889 cat >>"$QTCONFIG.tmp" <<EOF
5891 CONFIG += $QTCONFIG_CONFIG
5893 QT_HOST_ARCH = $CFG_HOST_ARCH
5894 QT_CPU_FEATURES = $CFG_CPUFEATURES
5895 QT_HOST_CPU_FEATURES = $CFG_HOST_CPUFEATURES
5896 QT_EDITION = $Edition
5897 QT_CONFIG += $QT_CONFIG
5900 QT_VERSION = $QT_VERSION
5901 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
5902 QT_MINOR_VERSION = $QT_MINOR_VERSION
5903 QT_PATCH_VERSION = $QT_PATCH_VERSION
5906 QT_LIBINFIX = $QT_LIBINFIX
5907 QT_NAMESPACE = $QT_NAMESPACE
5911 if [ -n "$PKG_CONFIG_SYSROOT_DIR" ] || [ -n "$PKG_CONFIG_LIBDIR" ]; then
5912 echo "# pkgconfig" >> "$QTCONFIG.tmp"
5913 echo "PKG_CONFIG_SYSROOT_DIR = $PKG_CONFIG_SYSROOT_DIR" >> "$QTCONFIG.tmp"
5914 echo "PKG_CONFIG_LIBDIR = $PKG_CONFIG_LIBDIR" >> "$QTCONFIG.tmp"
5915 echo >> "$QTCONFIG.tmp"
5918 if [ -n "$CFG_SYSROOT" ] && [ "$CFG_GCC_SYSROOT" = "yes"]; then
5919 echo "# sysroot" >>"$QTCONFIG.tmp"
5920 echo "!host_build {" >>"$QTCONFIG.tmp"
5921 echo " QMAKE_CFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
5922 echo " QMAKE_CXXFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
5923 echo " QMAKE_LFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
5924 echo "}" >> "$QTCONFIG.tmp"
5925 echo >> "$QTCONFIG.tmp"
5927 if [ -n "$RPATH_FLAGS" ]; then
5928 echo "QMAKE_RPATHDIR += $RPATH_FLAGS" >> "$QTCONFIG.tmp"
5930 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
5931 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
5932 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
5933 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
5936 if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
5937 echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
5938 echo "QMAKE_INCDIR_OPENGL_ES2 = `shellArgumentListToQMakeList "$QMAKE_INCDIR_OPENGL_ES2"`" >> "$QTCONFIG.tmp"
5941 # replace qconfig.pri if it differs from the newly created temp file
5942 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
5943 rm -f "$QTCONFIG.tmp"
5945 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
5948 #-------------------------------------------------------------------------------
5949 # save configuration into qmodule.pri
5950 #-------------------------------------------------------------------------------
5951 QTMODULE="$outpath/mkspecs/qmodule.pri"
5953 echo "CONFIG += $QMAKE_CONFIG create_prl link_prl" >> "$QTMODULE.tmp"
5954 echo "QT_BUILD_PARTS += $CFG_BUILD_PARTS" >> "$QTMODULE.tmp"
5956 if [ -n "$QT_CFLAGS_PSQL" ]; then
5957 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
5959 if [ -n "$QT_LFLAGS_PSQL" ]; then
5960 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
5962 if [ -n "$QT_CFLAGS_MYSQL" ]; then
5963 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
5965 if [ -n "$QT_LFLAGS_MYSQL" ]; then
5966 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
5968 if [ -n "$QT_CFLAGS_SQLITE" ]; then
5969 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
5971 if [ -n "$QT_LFLAGS_SQLITE" ]; then
5972 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
5974 if [ -n "$QT_LFLAGS_ODBC" ]; then
5975 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
5977 if [ -n "$QT_LFLAGS_TDS" ]; then
5978 echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
5981 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
5982 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
5985 #dump in the OPENSSL_LIBS info
5986 if [ '!' -z "$OPENSSL_LIBS" ]; then
5987 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
5988 elif [ "$CFG_OPENSSL" = "linked" ]; then
5989 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
5992 #dump in the SDK info
5993 if [ '!' -z "$CFG_SDK" ]; then
5994 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
5998 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
5999 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
6001 # replace qmodule.pri if it differs from the newly created temp file
6002 if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
6003 rm -f "$QTMODULE.tmp"
6005 mv -f "$QTMODULE.tmp" "$QTMODULE"
6008 #-------------------------------------------------------------------------------
6009 # save configuration into .qmake.cache
6010 #-------------------------------------------------------------------------------
6012 CACHEFILE="$outpath/.qmake.cache"
6013 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
6014 cat >>"$CACHEFILE.tmp" <<EOF
6016 QT_SOURCE_TREE = \$\$quote($relpath)
6017 QT_BUILD_TREE = \$\$quote($outpath)
6019 include(\$\$PWD/mkspecs/qmodule.pri)
6020 CONFIG += dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
6024 # replace .qmake.cache if it differs from the newly created temp file
6025 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
6026 rm -f "$CACHEFILE.tmp"
6028 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
6031 #-------------------------------------------------------------------------------
6032 # give feedback on configuration
6033 #-------------------------------------------------------------------------------
6034 exec 3>&1 1>$outpath/config.summary # redirect output temporarily to config.summary
6037 if [ "$XPLATFORM" = "$PLATFORM" ]; then
6038 echo "Build type: $PLATFORM"
6040 echo "Building on: $PLATFORM"
6041 echo "Building for: $XPLATFORM"
6044 # the missing space before $CFG_FEATURES is intentional
6045 echo "Architecture: $CFG_ARCH, features:$CFG_CPUFEATURES"
6046 echo "Host architecture: $CFG_HOST_ARCH, features:$CFG_HOST_CPUFEATURES"
6048 if [ -n "$PLATFORM_NOTES" ]; then
6049 echo "Platform notes:"
6050 echo "$PLATFORM_NOTES"
6055 if [ "$OPT_VERBOSE" = "yes" ]; then
6056 echo $ECHO_N "qmake vars .......... $ECHO_C"
6057 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
6058 echo "qmake switches ......... $QMAKE_SWITCHES"
6061 echo "Build .................. $CFG_BUILD_PARTS"
6062 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
6063 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6064 echo "Debug .................. yes (combined)"
6065 if [ "$CFG_DEBUG" = "yes" ]; then
6066 echo "Default Link ........... debug"
6068 echo "Default Link ........... release"
6071 echo "Debug .................. $CFG_DEBUG"
6073 echo "C++11 support .......... $CFG_CXX11"
6074 if [ -n "$PKG_CONFIG" ]; then
6075 echo "pkg-config ............. yes"
6077 echo "pkg-config ............. no"
6079 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
6080 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
6081 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
6082 echo "QtConcurrent code ...... $CFG_CONCURRENT"
6083 echo "QtGui module ........... $CFG_GUI"
6084 echo "QtWidgets module ....... $CFG_WIDGETS"
6085 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
6086 echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
6088 echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
6090 echo "QML debugging .......... $CFG_QML_DEBUG"
6091 echo "PCH support ............ $CFG_PRECOMPILE"
6092 if [ "$CFG_ARCH" = "i386" -o "$CFG_ARCH" = "x86_64" ]; then
6093 echo "SSE2/SSE3/SSSE3......... ${CFG_SSE2}/${CFG_SSE3}/${CFG_SSSE3}"
6094 echo "SSE4.1/SSE4.2........... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
6095 echo "AVX/AVX2................ ${CFG_AVX}/${CFG_AVX2}"
6096 elif [ "$CFG_ARCH" = "arm" ]; then
6097 echo "iWMMXt support ......... ${CFG_IWMMXT}"
6098 echo "NEON support ........... ${CFG_NEON}"
6100 if [ "$CFG_ARCH" = "mips" ]; then
6101 echo "MIPS_DSP/MIPS_DSPR2..... ${CFG_MIPS_DSP}/${CFG_MIPS_DSPR2}"
6103 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
6104 echo "getaddrinfo support .... $CFG_GETADDRINFO"
6105 echo "getifaddrs support ..... $CFG_GETIFADDRS"
6106 echo "Accessibility .......... $CFG_ACCESSIBILITY"
6107 echo "NIS support ............ $CFG_NIS"
6108 echo "CUPS support ........... $CFG_CUPS"
6109 echo "Iconv support .......... $CFG_ICONV"
6110 echo "Glib support ........... $CFG_GLIB"
6111 echo "GStreamer support ...... $CFG_GSTREAMER"
6112 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
6113 echo "Large File support ..... $CFG_LARGEFILE"
6114 echo "GIF support ............ $CFG_GIF"
6115 if [ "$CFG_JPEG" = "no" ]; then
6116 echo "JPEG support ........... $CFG_JPEG"
6118 echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
6120 if [ "$CFG_PNG" = "no" ]; then
6121 echo "PNG support ............ $CFG_PNG"
6123 echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
6125 echo "zlib support ........... $CFG_ZLIB"
6126 echo "Session management ..... $CFG_SM"
6127 echo "libudev support ........ $CFG_LIBUDEV"
6129 if [ "$CFG_OPENGL" = "desktop" ]; then
6130 echo "OpenGL support ......... yes (Desktop OpenGL)"
6131 elif [ "$CFG_OPENGL" = "es2" ]; then
6132 echo "OpenGL support ......... yes (OpenGL ES 2.x)"
6134 echo "OpenGL support ......... no"
6137 if [ "$CFG_OPENVG" ]; then
6138 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
6139 echo "OpenVG support ......... ShivaVG"
6141 echo "OpenVG support ......... $CFG_OPENVG"
6145 echo "XShape support ......... $CFG_XSHAPE"
6146 echo "XVideo support ......... $CFG_XVIDEO"
6147 echo "XSync support .......... $CFG_XSYNC"
6148 echo "Xinerama support ....... $CFG_XINERAMA"
6149 echo "Xcursor support ........ $CFG_XCURSOR"
6150 echo "Xfixes support ......... $CFG_XFIXES"
6151 echo "Xrandr support ......... $CFG_XRANDR"
6152 echo "Xi support ............. $CFG_XINPUT"
6153 echo "Xi2 support ............ $CFG_XINPUT2"
6154 echo "MIT-SHM support ........ $CFG_MITSHM"
6155 echo "FontConfig support ..... $CFG_FONTCONFIG"
6156 echo "XKB Support ............ $CFG_XKB"
6157 echo "immodule support ....... $CFG_IM"
6158 echo "GTK theme support ...... $CFG_QGTKSTYLE"
6160 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
6161 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
6162 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
6163 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
6164 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
6165 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
6166 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
6167 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
6168 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
6171 if [ "$CFG_OPENSSL" = "yes" ]; then
6172 OPENSSL_LINKAGE="(run-time)"
6173 elif [ "$CFG_OPENSSL" = "linked" ]; then
6174 OPENSSL_LINKAGE="(linked)"
6176 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
6177 echo "Alsa support ........... $CFG_ALSA"
6178 if [ "$BUILD_ON_MAC" = "yes" ]; then
6179 echo "CoreWlan support ....... $CFG_COREWLAN"
6181 echo "libICU support ......... $CFG_ICU"
6182 echo "PCRE support ........... $CFG_PCRE"
6183 if [ "$CFG_XCB_LIMITED" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6184 echo "Xcb support ............ limited (old version)"
6186 echo "Xcb support ............ $CFG_XCB"
6188 echo "Xrender support ........ $CFG_XRENDER"
6189 if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6190 echo "XInput2 support ........ $CFG_XINPUT2"
6192 echo "EGLFS support .......... $CFG_EGLFS"
6193 echo "DirectFB support ....... $CFG_DIRECTFB"
6194 echo "LinuxFB support ........ $CFG_LINUXFB"
6195 echo "KMS support ............ $CFG_KMS"
6198 # complain about not being able to use dynamic plugins if we are using a static build
6199 if [ "$CFG_SHARED" = "no" ]; then
6201 echo "WARNING: Using static linking will disable the use of dynamically"
6202 echo "loaded plugins. Make sure to import all needed static plugins,"
6203 echo "or compile needed modules into the library."
6206 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
6208 echo "NOTE: When linking against OpenSSL, you can override the default"
6209 echo "library names through OPENSSL_LIBS."
6211 echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
6215 exec 1>&3 3>&- # restore stdout
6216 cat $outpath/config.summary # display config feedback to user
6218 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
6220 echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
6221 echo "if you want a pure debug build."
6226 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
6231 #-------------------------------------------------------------------------------
6232 # build makefiles based on the configuration
6233 #-------------------------------------------------------------------------------
6235 if [ "$CFG_NOPROCESS" != "yes" ]; then
6236 echo "Creating makefiles. Please wait..."
6237 "$outpath/bin/qmake" -r ${OPT_FAST+CONFIG+=fast} "$relpath"
6240 if [ "$OPT_FAST" = "yes" ]; then
6242 for part in $CFG_BUILD_PARTS; do
6244 examples|tests) PART_ROOTS="$PART_ROOTS $part" ;;
6247 if [ "x$PART_ROOTS" != "x" ]; then
6249 echo "Creating stub makefiles. Please wait..."
6250 QMAKE="$outpath/bin/qmake"
6251 [ "$CFG_DEBUG_RELEASE" = "no" ] && first_tgt="first_target: first" || first_tgt=
6252 (cd "$relpath" && find $PART_ROOTS -name '*.pro') | grep -v /testdata/ | while read p; do
6254 test -f "$outpath/$d/Makefile" && continue
6255 echo " for $relpath/$p"
6257 mkdir -p "$outpath/$d" || exit
6258 cat > "$outpath/$d/Makefile" <<EOF || exit
6259 # $outpath/$d/Makefile: generated by configure
6261 # WARNING: This makefile will be replaced with a real makefile.
6262 # All changes made to this file will be lost.
6267 all clean install qmake first Makefile: FORCE
6268 \$(QMAKE) $QMAKE_SWITCHES "$relpath/$p"
6278 #-------------------------------------------------------------------------------
6279 # check for platforms that we don't yet know about
6280 #-------------------------------------------------------------------------------
6281 if [ "$CFG_ARCH" = "unknown" ]; then
6284 NOTICE: configure was unable to determine the architecture
6285 for the $XQMAKESPEC target.
6287 Qt will not use a specialized implementation for any atomic
6288 operations. Instead a generic implemention based on either GCC
6289 intrinsics or C++11 std::atomic<T> will be used (when
6290 available). The generic implementations are generally as fast
6291 as and always as safe as a specialized implementation.
6293 If no generic implementation is available, Qt will use a
6294 fallback UNIX implementation which uses a single
6295 pthread_mutex_t to protect all atomic operations. This
6296 implementation is the slow (but safe) fallback implementation
6297 for architectures Qt does not yet support.
6301 #-------------------------------------------------------------------------------
6302 # check if the user passed the -no-zlib option, which is no longer supported
6303 #-------------------------------------------------------------------------------
6304 if [ -n "$ZLIB_FORCED" ]; then
6305 which_zlib="supplied"
6306 if [ "$CFG_ZLIB" = "system" ]; then
6312 NOTICE: The -no-zlib option was supplied but is no longer
6315 Qt now requires zlib support in all builds, so the -no-zlib
6316 option was ignored. Qt will be built using the $which_zlib
6321 #-------------------------------------------------------------------------------
6322 # check if the user passed the obsoleted -wayland or -no-wayland flag
6323 #-------------------------------------------------------------------------------
6324 if [ "$CFG_OBSOLETE_WAYLAND" = "yes" ]; then
6327 NOTICE: The -wayland and -no-wayland flags are now obsolete
6329 All configuring of QtWayland plugin and QtCompositor happens in the module
6333 #-------------------------------------------------------------------------------
6334 # check if the user passed the obsoleted -arch or -host-arch options
6335 #-------------------------------------------------------------------------------
6336 if [ "$OPT_OBSOLETE_HOST_ARG" = "yes" ]; then
6339 NOTICE: The -arch and -host-arch options are obsolete.
6341 Qt now detects the target and host architectures based on compiler
6342 output. Qt will be built using $CFG_ARCH for the target architecture
6343 and $CFG_HOST_ARCH for the host architecture (note that these two
6344 will be the same unless you are cross-compiling).
6348 #-------------------------------------------------------------------------------
6349 # finally save the executed command to another script
6350 #-------------------------------------------------------------------------------
6351 if [ `basename $0` != "config.status" ]; then
6352 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
6354 # add the system variables
6355 for varname in $SYSTEM_VARIABLES; do
6357 'if [ -n "\$'${varname}'" ]; then
6358 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
6363 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
6365 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
6366 echo "#!/bin/sh" > "$outpath/config.status"
6367 [ -n "$PKG_CONFIG_SYSROOT_DIR" ] && \
6368 echo "export PKG_CONFIG_SYSROOT_DIR=$PKG_CONFIG_SYSROOT_DIR" >> "$outpath/config.status"
6369 [ -n "$PKG_CONFIG_LIBDIR" ] && \
6370 echo "export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR" >> "$outpath/config.status"
6371 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
6372 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
6373 echo "else" >> "$outpath/config.status"
6374 echo " $CONFIG_STATUS" >> "$outpath/config.status"
6375 echo "fi" >> "$outpath/config.status"
6376 chmod +x "$outpath/config.status"
6379 if [ -n "$RPATH_MESSAGE" ]; then
6381 echo "$RPATH_MESSAGE"
6384 MAKE=`basename "$MAKE"`
6386 echo Qt is now configured for building. Just run \'$MAKE\'.
6387 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
6388 echo Once everything is built, Qt is installed.
6389 echo You should not run \'$MAKE install\'.
6391 echo Once everything is built, you must run \'$MAKE install\'.
6392 echo Qt will be installed into $QT_INSTALL_PREFIX
6395 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.