2 #############################################################################
4 ## Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
5 ## Contact: http://www.qt-project.org/
7 ## This file is the build configuration utility of the Qt Toolkit.
9 ## $QT_BEGIN_LICENSE:LGPL$
10 ## GNU Lesser General Public License Usage
11 ## This file may be used under the terms of the GNU Lesser General Public
12 ## License version 2.1 as published by the Free Software Foundation and
13 ## appearing in the file LICENSE.LGPL included in the packaging of this
14 ## file. Please review the following information to ensure the GNU Lesser
15 ## General Public License version 2.1 requirements will be met:
16 ## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
18 ## In addition, as a special exception, Nokia gives you certain additional
19 ## rights. These rights are described in the Nokia Qt LGPL Exception
20 ## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
22 ## GNU General Public License Usage
23 ## Alternatively, this file may be used under the terms of the GNU General
24 ## Public License version 3.0 as published by the Free Software Foundation
25 ## and appearing in the file LICENSE.GPL included in the packaging of this
26 ## file. Please review the following information to ensure the GNU General
27 ## Public License version 3.0 requirements will be met:
28 ## http://www.gnu.org/copyleft/gpl.html.
31 ## Alternatively, this file may be used in accordance with the terms and
32 ## conditions contained in a signed written agreement between you and Nokia.
41 #############################################################################
43 #-------------------------------------------------------------------------------
44 # script initialization
45 #-------------------------------------------------------------------------------
47 # the name of this script
49 # the directory of this script is the "source tree"
51 relpath=`(cd "$relpath"; /bin/pwd)`
52 # the current directory is the "build tree" or "object tree"
55 #license file location
56 LICENSE_FILE="$QT_LICENSE_FILE"
57 [ -z "$LICENSE_FILE" ] && LICENSE_FILE="$HOME/.qt-license"
58 if [ -f "$LICENSE_FILE" ]; then
59 tr -d '\r' <"$LICENSE_FILE" >"${LICENSE_FILE}.tmp"
60 diff "${LICENSE_FILE}.tmp" "${LICENSE_FILE}" >/dev/null 2>&1 || LICENSE_FILE="${LICENSE_FILE}.tmp"
63 # later cache the command line in config.status
64 OPT_CMDLINE=`echo $@ | sed "s,-v ,,g; s,-v$,,g"`
66 # initialize global variables
73 QMAKE_VARS_FILE=.qmake.vars
74 DEVICE_VARS_FILE=.device.vars
77 :> "$DEVICE_VARS_FILE"
79 #-------------------------------------------------------------------------------
81 #-------------------------------------------------------------------------------
85 echo "$@" | sed 's/ /\ /g'
88 # Adds a new qmake variable to the cache
89 # Usage: QMakeVar mode varname contents
90 # where mode is one of: set, add, del
104 echo >&2 "BUG: wrong command to QMakeVar: $1"
108 echo "$2" "$eq" "$3" >> "$QMAKE_VARS_FILE"
111 # Helper function for getQMakeConf. It parses include statements in
112 # qmake.conf and prints out the expanded file
115 while read line; do case "$line" in
117 inc_file=`echo "$line" | sed -n -e "/^include.*(.*)/s/include.*(\(.*\)).*$/\1/p"`
118 current_dir=`dirname "$1"`
119 conf_file="$current_dir/$inc_file"
120 if [ ! -f "$conf_file" ]; then
121 echo "WARNING: Unable to find file $conf_file" >&2
124 getQMakeConf1 "$conf_file"
136 values["LITERAL_WHITESPACE"] = " "
137 values["LITERAL_DOLLAR"] = "$"
139 /^[_A-Z0-9.]+[ \t]*\+?=/ {
140 valStart = index($0, "=") + 1
143 if (substr($0, valStart - 2, 1) == "+") {
147 variable = substr($0, 0, valStart - 2 - append)
148 value = substr($0, valStart)
149 gsub("[ \t]+", "", variable)
150 gsub("^[ \t]+", "", value)
151 gsub("[ \t]+$", "", value)
154 while (match(value, /\$\$(\{[_A-Z0-9.]+\}|[_A-Z0-9.]+)/)) {
155 ovalue = ovalue substr(value, 1, RSTART - 1)
156 var = substr(value, RSTART + 2, RLENGTH - 2)
157 value = substr(value, RSTART + RLENGTH)
159 var = substr(var, 2, length(var) - 2)
161 ovalue = ovalue values[var]
163 ovalue = ovalue value
165 combinedValue = values[variable]
166 if (append == 1 && length(combinedValue) > 0) {
167 combinedValue = combinedValue " " ovalue
169 combinedValue = ovalue
171 values[variable] = combinedValue
174 for (var in values) {
175 print var "=" values[var]
183 echo "$2" | $AWK "/^($1)=/ { print substr(\$0, index(\$0, \"=\") + 1) }"
186 # relies on $QMAKESPEC being set correctly. parses include statements in
187 # qmake.conf and prints out the expanded file
190 if [ -z "$specvals" ]; then
191 specvals=`getQMakeConf1 "$QMAKESPEC/qmake.conf" | getQMakeConf2`
193 getQMakeConf3 "$1" "$specvals"
198 if [ -z "$xspecvals" ]; then
199 xspecvals=`getQMakeConf1 "$XQMAKESPEC/qmake.conf" | getQMakeConf2`
201 getQMakeConf3 "$1" "$xspecvals"
204 # relies on $TEST_COMPILER being set correctly
205 compilerSupportsFlag()
207 cat >conftest.cpp <<EOF
208 int main() { return 0; }
210 "$TEST_COMPILER" "$@" -o conftest.o conftest.cpp
212 rm -f conftest.cpp conftest.o
216 # relies on $TEST_COMPILER being set correctly
222 safe_flag=`shellEscape "$flag"`
223 lflags=$lflags,$safe_flag
225 compilerSupportsFlag "$lflags" >/dev/null 2>&1
228 #-------------------------------------------------------------------------------
230 #-------------------------------------------------------------------------------
238 echo >&2 "BUG: wrong command to QMakeVar: $1"
242 echo "$2" "$eq" "$3" >> "$DEVICE_VARS_FILE"
245 resolveDeviceMkspec()
247 result=$(find "$relpath/mkspecs/devices/" -type d -name "*$VAL*" | sed "s,^$relpath/mkspecs/,,")
248 match_count=$(echo "$result" | wc -w)
249 if [ "$match_count" -gt 1 ]; then
250 echo >&2 "Error: Multiple matches for device '$VAL'. Candidates are:"
251 tabbed_result=$(echo "$result" | sed "s,^, ,")
252 echo >&2 "$tabbed_result"
254 elif [ "$match_count" -eq 0 ]; then
255 echo >&2 "Error: No device matching '$VAL'"
262 #-------------------------------------------------------------------------------
263 # operating system detection
264 #-------------------------------------------------------------------------------
266 # need that throughout the script
267 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
268 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
269 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
270 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
272 # detect the "echo without newline" style. usage: echo $ECHO_N "<string>$ECHO_C"
273 if echo '\c' | grep '\c' >/dev/null; then
279 #-------------------------------------------------------------------------------
280 # window system detection
281 #-------------------------------------------------------------------------------
285 if [ -d /System/Library/Frameworks/Carbon.framework ]; then
290 #-----------------------------------------------------------------------------
291 # Qt version detection
292 #-----------------------------------------------------------------------------
293 QT_VERSION=`grep '^# *define *QT_VERSION_STR' "$relpath"/src/corelib/global/qglobal.h`
297 if [ -n "$QT_VERSION" ]; then
298 QT_VERSION=`echo $QT_VERSION | sed 's,^# *define *QT_VERSION_STR *"*\([^ ]*\)"$,\1,'`
299 MAJOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
300 if [ -n "$MAJOR" ]; then
301 MINOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
302 PATCH=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
303 QT_MAJOR_VERSION="$MAJOR"
304 [ -z "$MINOR" ] || QT_MINOR_VERSION="$MINOR"
305 [ -z "$PATCH" ] || QT_PATCH_VERSION="$PATCH"
308 if [ -z "$QT_MAJOR_VERSION" ]; then
309 echo "Cannot process version from qglobal.h: $QT_VERSION"
310 echo "Cannot proceed."
314 QT_PACKAGEDATE=`grep '^# *define *QT_PACKAGEDATE_STR' "$relpath"/src/corelib/global/qglobal.h | sed -e 's,^# *define *QT_PACKAGEDATE_STR *"\([^ ]*\)"$,\1,' -e s,-,,g`
315 if [ -z "$QT_PACKAGEDATE" ]; then
316 echo "Unable to determine package date from qglobal.h: '$QT_PACKAGEDATE'"
317 echo "Cannot proceed"
321 #-------------------------------------------------------------------------------
323 #-------------------------------------------------------------------------------
327 EditionString=Commercial
331 # parse the arguments, setting things to "yes" or "no"
332 while [ "$#" -gt 0 ]; do
336 #Autoconf style options
338 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
342 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
346 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
347 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
350 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
353 -h|help|--help|-help)
354 if [ "$VAL" = "yes" ]; then
356 COMMERCIAL_USER="no" #doesn't matter we will display the help
359 COMMERCIAL_USER="no" #doesn't matter we will display the help
363 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
367 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
374 if [ "$UNKNOWN_ARG" = "yes" ]; then
386 COMMERCIAL_USER="yes"
400 if [ "$COMMERCIAL_USER" = "ask" ]; then
402 echo "Which edition of Qt do you want to use ?"
404 echo "Type 'c' if you want to use the Commercial Edition."
405 echo "Type 'o' if you want to use the Open Source Edition."
409 if [ "$commercial" = "c" ]; then
410 COMMERCIAL_USER="yes"
412 elif [ "$commercial" = "o" ]; then
419 if [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes" ]; then
420 # Commercial preview release
421 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
424 QT_EDITION="QT_EDITION_DESKTOP"
425 LicenseType="Technology Preview"
426 elif [ $COMMERCIAL_USER = "yes" ]; then
427 # one of commercial editions
428 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
430 # read in the license file
431 if [ -f "$LICENSE_FILE" ]; then
432 . "$LICENSE_FILE" >/dev/null 2>&1
433 if [ -z "$LicenseKeyExt" ]; then
435 echo "You are using an old license file."
437 echo "Please install the license file supplied by Nokia,"
438 echo "or install the Qt Open Source Edition if you intend to"
439 echo "develop free software."
442 if [ -z "$Licensee" ]; then
444 echo "Invalid license key. Please check the license key."
448 if [ -z "$LicenseKeyExt" ]; then
450 echo $ECHO_N "Please enter your license key: $ECHO_C"
452 Licensee="Unknown user"
457 echo "$LicenseKeyExt" | grep ".....*-....*-....*-....*-.....*-.....*-...." >/dev/null 2>&1 \
458 && LicenseValid="yes" \
460 if [ "$LicenseValid" != "yes" ]; then
462 echo "Invalid license key. Please check the license key."
465 ProductCode=`echo $LicenseKeyExt | cut -f 1 -d - | cut -b 1`
466 PlatformCode=`echo $LicenseKeyExt | cut -f 2 -d -`
467 LicenseTypeCode=`echo $LicenseKeyExt | cut -f 3 -d -`
468 LicenseFeatureCode=`echo $LicenseKeyExt | cut -f 4 -d - | cut -b 1`
470 # determine which edition we are licensed to use
471 case "$LicenseTypeCode" in
473 LicenseType="Commercial"
477 QT_EDITION="QT_EDITION_UNIVERSAL"
480 Edition="FullFramework"
481 EditionString="Full Framework"
482 QT_EDITION="QT_EDITION_DESKTOP"
485 Edition="GUIFramework"
486 EditionString="GUI Framework"
487 QT_EDITION="QT_EDITION_DESKTOPLIGHT"
492 LicenseType="Evaluation"
493 QMakeVar add DEFINES QT_EVAL
497 QT_EDITION="QT_EDITION_EVALUATION"
502 if [ -z "$LicenseType" -o -z "$Edition" -o -z "$QT_EDITION" ]; then
504 echo "Invalid license key. Please check the license key."
508 # verify that we are licensed to use Qt on this platform
510 case "$PlatformCode" in
513 PlatformCode=`echo "$PlatformCode" | sed 'h;y/8NPQRTZ/UCWX9M7/;x;G;s/\(.\)....\(.\)./\1\2/'`
517 PlatformCode=`echo "$PlatformCode" | sed 's/.$//'`
520 ### EMBEDDED_QPA logic missing ###
521 case "$PlatformCode,$PLATFORM_MAC" in
522 X9,* | XC,* | XU,* | XW,* | XM,*)
524 LICENSE_EXTENSION="-ALLOS"
526 8M,* | KM,* | S9,* | SC,* | SM,* | SU,* | SW,* | X9,* | XC,* | XU,* | XW,*)
527 # Qt for Embedded Linux
528 LICENSE_EXTENSION="-EMBEDDED"
530 6M,* | N7,* | N9,* | NX,*)
532 LICENSE_EXTENSION="-EMBEDDED"
534 FM,* | LM,yes | ZM,no)
536 LICENSE_EXTENSION="-DESKTOP"
540 [ "$PLATFORM_MAC" = "yes" ] && Platform='Mac OS X'
542 echo "You are not licensed for the $Platform platform."
544 echo "Please contact qt-info@nokia.com to upgrade your license to"
545 echo "include the $Platform platform, or install the Qt Open Source Edition"
546 echo "if you intend to develop free software."
551 if test -r "$relpath/.LICENSE"; then
552 # Generic, non-final license
554 line=`sed 'y/a-z/A-Z/;q' "$relpath"/.LICENSE`
559 *TECHNOLOGY?PREVIEW*)
566 echo >&2 "Invalid license files; cannot continue"
571 EditionString="$Edition"
572 QT_EDITION="QT_EDITION_DESKTOP"
575 case "$LicenseFeatureCode" in
578 case "$LicenseType" in
580 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}-US" "$outpath/LICENSE"
583 cp -f "$relpath/.LICENSE-EVALUATION-US" "$outpath/LICENSE"
589 case "$LicenseType" in
591 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}" "$outpath/LICENSE"
594 cp -f "$relpath/.LICENSE-EVALUATION" "$outpath/LICENSE"
600 echo "Invalid license key. Please check the license key."
604 case "$LicenseFeatureCode" in
612 if [ '!' -f "$outpath/LICENSE" ]; then
613 echo "The LICENSE, LICENSE.GPL3 LICENSE.LGPL file shipped with"
614 echo "this software has disappeared."
616 echo "Sorry, you are not licensed to use this software."
617 echo "Try re-installing."
621 elif [ $COMMERCIAL_USER = "no" ]; then
622 # Open Source edition - may only be used under the terms of the GPL or LGPL.
623 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
624 Licensee="Open Source"
626 EditionString="Open Source"
627 QT_EDITION="QT_EDITION_OPENSOURCE"
630 #-------------------------------------------------------------------------------
631 # initalize variables
632 #-------------------------------------------------------------------------------
634 SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
635 for varname in $SYSTEM_VARIABLES; do
636 qmakevarname="${varname}"
637 # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
638 if [ "${varname}" = "LDFLAGS" ]; then
639 qmakevarname="LFLAGS"
640 elif [ "${varname}" = "LD" ]; then
644 'if [ -n "\$'${varname}'" ]; then
645 QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'"
649 # Use CC/CXX to run config.tests
650 mkdir -p "$outpath/config.tests"
651 rm -f "$outpath/config.tests/.qmake.cache"
652 cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
654 QMakeVar add styles "cde mac motif plastique cleanlooks windows"
656 # QTDIR may be set and point to an old or system-wide Qt installation
659 # the minimum version of libdbus-1 that we require:
660 MIN_DBUS_1_VERSION=0.93
662 # initalize internal variables
663 CFG_CONFIGURE_EXIT_ON_ERROR=yes
665 CFG_GUI=auto # (yes|no|auto)
691 CFG_OPENVG_LC_INCLUDES=no
692 CFG_OPENVG_SHIVA=auto
693 CFG_OPENVG_ON_OPENGL=auto
699 QT_DEFAULT_BUILD_PARTS="libs examples"
703 CFG_AUDIO_BACKEND=auto
706 CFG_JAVASCRIPTCORE_JIT=auto
709 # Target architecture
712 # Host architecture, same as CFG_ARCH when not cross-compiling
714 CFG_HOST_CPUFEATURES=
715 # Set when the -arch or -host-arch arguments are used
716 OPT_OBSOLETE_HOST_ARG=no
728 CFG_OBSOLETE_WAYLAND=no
740 CFG_SEPARATE_DEBUG_INFO=no
741 CFG_SEPARATE_DEBUG_INFO_NOCOPY=no
742 CFG_REDUCE_EXPORTS=auto
750 CFG_REDUCE_RELOCATIONS=auto
751 CFG_ACCESSIBILITY=auto
756 CFG_CLOCK_GETTIME=auto
757 CFG_CLOCK_MONOTONIC=auto
765 MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
768 CFG_PREFIX_INSTALL=yes
777 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
778 XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
782 OPT_CONFIRM_LICENSE=no
795 QPA_PLATFORM_GUARD=yes
797 # initalize variables used for installation
806 QT_INSTALL_TRANSLATIONS=
815 #flags for SQL drivers
823 QT_LFLAGS_ODBC="-lodbc"
826 # flags for libdbus-1
830 # flags for Glib (X11 only)
834 # flags for GStreamer (X11 only)
838 # default qpa platform
839 QT_QPA_DEFAULT_PLATFORM=
841 #-------------------------------------------------------------------------------
842 # check SQL drivers available in this package
843 #-------------------------------------------------------------------------------
845 # opensource version removes some drivers, so force them to be off
851 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
852 for a in "$relpath/src/plugins/sqldrivers/"*; do
854 base_a=`basename "$a"`
855 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
856 eval "CFG_SQL_${base_a}=auto"
861 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
862 if [ -d "$relpath/src/plugins/imageformats" ]; then
863 for a in "$relpath/src/plugins/imageformats/"*; do
865 base_a=`basename "$a"`
866 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
871 #-------------------------------------------------------------------------------
872 # parse command line arguments
873 #-------------------------------------------------------------------------------
875 # parse the arguments, setting things to "yes" or "no"
876 while [ "$#" -gt 0 ]; do
880 #Autoconf style options
882 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
886 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
890 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
891 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
894 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
898 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
902 -no-*-*|-plugin-*-*|-qt-*-*)
903 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
904 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
908 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
911 #Qt style yes options
912 -profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-xcb|-eglfs|-directfb|-nis|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-debug-and-release|-harfbuzz|-prefix-install|-silent|-optimized-qmake|-reduce-relocations|-sse|-openssl|-openssl-linked|-phonon-backend|-audio-backend|-qml-debug|-javascript-jit|-rpath|-pkg-config|-force-pkg-config|-icu|-force-asserts|-testcocoon)
913 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
916 #Qt style options that pass an argument
919 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
923 -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)
924 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
928 #Qt style complex options in one command
929 -enable-*|-disable-*)
930 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
931 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
933 #Qt Builtin/System style options
934 -no-*|-system-*|-qt-*)
935 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
936 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
938 #Options that cannot be generalized
945 # this option may or may not be followed by an argument
946 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
955 # this option may or may not be followed by an argument
956 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
964 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
965 # this option may or may not be followed by an argument
966 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
985 if [ "$1" = "-D" ]; then
989 VAL=`echo $1 | sed 's,-D,,'`
994 # this option may or may not be followed by an argument
995 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1004 if [ "$1" = "-I" ]; then
1008 VAL=`echo $1 | sed 's,-I,,'`
1013 if [ "$1" = "-L" ]; then
1017 VAL=`echo $1 | sed 's,-L,,'`
1022 if [ "$1" = "-R" ]; then
1026 VAL=`echo $1 | sed 's,-R,,'`
1031 if [ "$1" = "-l" ]; then
1035 VAL=`echo $1 | sed 's,-l,,'`
1040 if [ "$1" = "-F" ]; then
1044 VAL=`echo $1 | sed 's,-F,,'`
1049 if [ "$1" = "-fw" ]; then
1053 VAL=`echo $1 | sed 's,-fw,,'`
1061 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1068 if [ "$UNKNOWN_ARG" = "yes" ]; then
1069 echo "$1: unknown argument"
1080 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1081 CFG_ACCESSIBILITY="$VAL"
1090 CFG_USE_GNUMAKE="$VAL"
1093 CFG_MYSQL_CONFIG="$VAL"
1096 QT_INSTALL_PREFIX="$VAL"
1099 QT_HOST_PREFIX="$VAL"
1108 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1109 CFG_PKGCONFIG="$VAL"
1115 CFG_PKGCONFIG="force"
1118 QT_INSTALL_DOCS="$VAL"
1121 QT_INSTALL_HEADERS="$VAL"
1124 QT_INSTALL_PLUGINS="$VAL"
1127 QT_INSTALL_IMPORTS="$VAL"
1130 QT_INSTALL_DATA="$VAL"
1133 QT_INSTALL_LIBS="$VAL"
1142 QT_INSTALL_TRANSLATIONS="$VAL"
1144 sysconfdir|settingsdir)
1145 QT_INSTALL_SETTINGS="$VAL"
1148 QT_INSTALL_EXAMPLES="$VAL"
1151 QT_INSTALL_TESTS="$VAL"
1160 QT_INSTALL_BINS="$VAL"
1166 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1173 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1174 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1175 [ "$VAL" = "es2" ]; then
1182 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1189 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1192 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1195 if [ "$BUILD_ON_MAC" = "yes" ]; then
1202 OPT_OBSOLETE_HOST_ARG=yes
1205 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1206 CFG_MAC_HARFBUZZ="$VAL"
1213 if [ "$BUILD_ON_MAC" = "yes" ]; then
1214 CFG_FRAMEWORK="$VAL"
1220 if [ "$VAL" = "yes" ]; then
1222 QMakeVar add QMAKE_CFLAGS -pg
1223 QMakeVar add QMAKE_CXXFLAGS -pg
1224 QMakeVar add QMAKE_LFLAGS -pg
1225 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1231 if [ "$VAL" = "yes" ]; then
1232 QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon"
1237 # keep compatibility with old platform names
1243 PLATFORM=hpux-acc-o64
1246 PLATFORM=hpux-acc-64
1249 PLATFORM=hpux-acc-64
1261 PLATFORM=reliant-cds-64
1264 PLATFORM=solaris-cc-64
1267 PLATFORM=unixware-cc
1270 PLATFORM=unixware-g++
1273 PLATFORM=unixware-cc
1276 PLATFORM=unixware-g++
1282 i386) NATIVE_64_ARCH="x86_64" ;;
1283 powerpc) NATIVE_64_ARCH="ppc64" ;;
1284 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1286 if [ ! -z "$NATIVE_64_ARCH" ]; then
1287 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1294 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1297 XPLATFORM=`resolveDeviceMkspec $VAL`
1298 [ "$XPLATFORM" = "undefined" ] && exit 101
1301 DEV_VAR=`echo $VAL | sed "s,^\(.*\)=.*,\1,"`
1302 DEV_VAL=`echo $VAL | sed "s,^.*=\(.*\),\1,"`
1303 DeviceVar set $DEV_VAR $DEV_VAL
1306 QT_QPA_DEFAULT_PLATFORM="$VAL"
1309 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1310 CFG_DEBUG_RELEASE="$VAL"
1316 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1317 CFG_RELEASE_QMAKE="$VAL"
1323 if [ "$VAL" = "yes" ]; then
1325 elif [ "$VAL" = "no" ]; then
1332 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1333 CFG_PREFIX_INSTALL="$VAL"
1341 developer-build|commercial|opensource)
1342 # These switches have been dealt with already
1345 if [ "$VAL" = "yes" ]; then
1347 elif [ "$VAL" = "no" ]; then
1354 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1355 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1361 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1362 if [ "$VAL" = "no" ]; then
1363 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1364 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1365 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1371 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1378 if [ "$VAL" = "no" ]; then
1385 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1393 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1400 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1407 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1414 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1421 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1428 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1435 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1442 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1443 CFG_PRECOMPILE="$VAL"
1448 separate-debug-info)
1449 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1450 CFG_SEPARATE_DEBUG_INFO="$VAL"
1451 elif [ "$VAL" = "nocopy" ] ; then
1452 CFG_SEPARATE_DEBUG_INFO="yes"
1453 CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1459 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1460 CFG_REDUCE_EXPORTS="$VAL"
1466 if [ "$VAL" = "no" ]; then
1473 if [ "$VAL" = "no" ]; then
1480 if [ "$VAL" = "no" ]; then
1487 if [ "$VAL" = "no" ]; then
1494 if [ "$VAL" = "no" ]; then
1501 if [ "$VAL" = "no" ]; then
1508 if [ "$VAL" = "no" ]; then
1518 if [ "$VAL" = "no" ]; then
1525 if [ "$VAL" = "no" ]; then
1532 if [ "$VAL" = "no" ]; then
1533 CFG_MIPS_DSPR2="$VAL"
1539 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1540 CFG_REDUCE_RELOCATIONS="$VAL"
1546 [ "$VAL" = "qt" ] && VAL=yes
1547 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1552 # No longer supported:
1553 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1556 if [ "$VAL" = "system" ]; then
1563 [ "$VAL" = "yes" ] && VAL=qt
1564 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1571 [ "$VAL" = "yes" ] && VAL=qt
1572 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1579 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1586 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1593 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1600 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1607 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1614 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1615 CFG_FONTCONFIG="$VAL"
1621 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1628 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1635 CFG_OBSOLETE_WAYLAND=yes
1638 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1645 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1652 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1659 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1666 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1673 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1680 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1687 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1688 CFG_GSTREAMER="$VAL"
1694 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1695 CFG_QGTKSTYLE="$VAL"
1701 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1704 if [ "$VAL" = "no" ]; then
1712 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1714 elif [ "$VAL" = "no" ]; then
1721 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1722 QPA_PLATFORM_GUARD="$VAL"
1728 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1730 elif [ "$VAL" = "runtime" ]; then
1737 if [ "$VAL" = "yes" ]; then
1744 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1751 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1752 CFG_LARGEFILE="$VAL"
1758 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1765 if [ "$VAL" = "yes" ]; then
1766 CFG_OPENSSL="linked"
1772 if [ "$VAL" = "yes" ]; then
1775 if [ "$VAL" = "no" ]; then
1783 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1784 CFG_JAVASCRIPTCORE_JIT="$VAL"
1790 if [ "$VAL" = "yes" ]; then
1791 OPT_CONFIRM_LICENSE="$VAL"
1797 if [ "$VAL" = "yes" ]; then
1803 sql-*|imageformat-*)
1804 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1805 # if autoconf style options were used, $VAL can be "yes" or "no"
1806 [ "$VAL" = "yes" ] && VAL=qt
1807 # now $VAL should be "no", "qt", or "plugin"... double-check
1808 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1811 # now $VAL is "no", "qt", or "plugin"
1813 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1814 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1816 # Grab the available values
1819 avail="$CFG_SQL_AVAILABLE"
1822 avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
1823 if [ "$OPT" != "plugin" ]; then
1824 # png is always built in
1830 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1834 # Check that that user's value is available.
1837 if [ "$VAL" = "$d" ]; then
1842 [ "$found" = yes ] || ERROR=yes
1844 if [ "$VAR" = "sql" ]; then
1845 # set the CFG_SQL_driver
1846 eval "CFG_SQL_$VAL=\$OPT"
1848 elif [ "$VAR" = "imageformat" ]; then
1849 [ "$OPT" = "qt" ] && OPT=yes
1850 VAL="`echo $VAL |tr a-z A-Z`"
1851 eval "CFG_$VAL=$OPT"
1855 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
1856 if [ "$OPT" = "plugin" ]; then
1859 QMakeVar add "${VAR}s" "${VAL}"
1860 elif [ "$OPT" = "no" ]; then
1861 PLUG_VAR="${VAR}-plugin"
1863 QMakeVar del "${IN_VAR}s" "$VAL"
1864 QMakeVar del "${PLUG_VAR}s" "$VAL"
1866 if [ "$ERROR" = "yes" ]; then
1867 echo "$CURRENT_OPT: unknown argument"
1872 if [ "$VAL" = "yes" ]; then
1873 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
1874 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
1878 elif [ "$VAL" = "no" ]; then
1879 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
1880 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
1889 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1896 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1903 D_FLAGS="$D_FLAGS \"$VAL\""
1906 I_FLAGS="$I_FLAGS -I\"${VAL}\""
1909 L_FLAGS="$L_FLAGS -L\"${VAL}\""
1912 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
1915 l_FLAGS="$l_FLAGS -l\"${VAL}\""
1918 if [ "$BUILD_ON_MAC" = "yes" ]; then
1919 L_FLAGS="$L_FLAGS -F\"${VAL}\""
1920 I_FLAGS="$I_FLAGS -F\"${VAL}\""
1926 if [ "$BUILD_ON_MAC" = "yes" ]; then
1927 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
1933 W_FLAGS="$W_FLAGS \"${VAL}\""
1939 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1940 CFG_PHONON_BACKEND="$VAL"
1952 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1953 CFG_AUDIO_BACKEND="$VAL"
1959 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1966 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1967 CFG_FORCE_ASSERTS="$VAL"
1973 if [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
1983 if [ "$UNKNOWN_OPT" = "yes" ]; then
1984 echo "${CURRENT_OPT}: invalid command-line switch"
1990 # update QT_CONFIG to show our current predefined configuration
1991 case "$CFG_QCONFIG" in
1992 minimal|small|medium|large|full)
1993 # these are a sequence of increasing functionality
1994 for c in minimal small medium large full; do
1995 QT_CONFIG="$QT_CONFIG $c-config"
1996 [ "$CFG_QCONFIG" = $c ] && break
2000 # not known to be sufficient for anything
2001 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
2002 echo >&2 "Error: configuration file not found:"
2003 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2005 echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2010 #-------------------------------------------------------------------------------
2011 # build tree initialization
2012 #-------------------------------------------------------------------------------
2014 # where to find which..
2015 unixtests="$relpath/config.tests/unix"
2016 mactests="$relpath/config.tests/mac"
2017 WHICH="$unixtests/which.test"
2019 PERL=`$WHICH perl 2>/dev/null`
2021 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2023 for e in gawk nawk awk; do
2024 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2031 PERL="/usr/bin/perl"
2032 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2036 ### skip this if the user just needs help...
2037 if [ "$OPT_HELP" != "yes" ]; then
2039 # is this a shadow build?
2040 if [ "$OPT_SHADOW" = "maybe" ]; then
2042 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2043 if [ -h "$outpath" ]; then
2044 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2050 if [ "$OPT_SHADOW" = "yes" ]; then
2051 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2052 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2053 echo >&2 "Cannot proceed."
2056 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2059 if [ "$PLATFORM_MAC" = "no" -a "$CFG_DEBUG_RELEASE" = "yes" ]; then
2061 echo "WARNING: -debug-and-release is not supported outside of Mac OS X."
2062 echo "Qt can be built in release mode with separate debug information, so"
2063 echo "-debug-and-release is not necessary anymore"
2067 if [ "$CFG_SILENT" = "yes" ]; then
2068 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2071 # if the source tree is different from the build tree,
2072 # symlink or copy part of the sources
2073 if [ "$OPT_SHADOW" = "yes" ]; then
2074 echo "Preparing build tree..."
2076 if [ -z "$PERL" ]; then
2078 echo "You need perl in your PATH to make a shadow build."
2079 echo "Cannot proceed."
2083 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2085 # make a syncqt script that can be used in the shadow
2086 rm -f "$outpath/bin/syncqt"
2087 if [ -x "$relpath/bin/syncqt" ]; then
2088 mkdir -p "$outpath/bin"
2089 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2090 echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2091 chmod 755 "$outpath/bin/syncqt"
2094 for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
2095 rm -f "$outpath/bin/$i"
2096 if [ -x "$relpath/bin/$i" ]; then
2097 mkdir -p "$outpath/bin"
2098 echo "#!/bin/sh" >"$outpath/bin/$i"
2099 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2100 echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2101 chmod 755 "$outpath/bin/$i"
2105 # save a pre-existing mkspecs/modules dir
2106 test -d "$outpath/mkspecs/modules" && \
2107 mv "$outpath/mkspecs/modules" "$outpath/mkspecs-modules"
2109 # symlink the mkspecs directory
2110 mkdir -p "$outpath/mkspecs"
2111 rm -rf "$outpath"/mkspecs/*
2112 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2113 rm -f "$outpath/mkspecs/default"
2117 rm -rf "$outpath/mkspecs/$1"
2118 find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2119 find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2122 # Special case for mkspecs/features directory.
2123 # To be able to place .prf files into a shadow build directory,
2124 # we're creating links for files only. The directory structure is reproduced.
2125 ShadowMkspecs features
2127 # The modules dir is special, too.
2128 if test -d "$outpath/mkspecs-modules"; then
2129 rm -rf "$outpath/mkspecs/modules"
2130 mv "$outpath/mkspecs-modules" "$outpath/mkspecs/modules"
2132 ShadowMkspecs modules
2135 # symlink the doc directory
2136 rm -rf "$outpath/doc"
2137 ln -s "$relpath/doc" "$outpath/doc"
2140 # symlink fonts to be able to run application from build directory
2141 if [ ! -d "${outpath}/lib/fonts" ]; then
2142 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2143 mkdir -p "${outpath}/lib"
2144 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2148 if [ "$OPT_FAST" = "auto" ]; then
2149 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2156 # find a make command
2157 if [ -z "$MAKE" ]; then
2159 for mk in gmake make; do
2160 if "$WHICH" $mk >/dev/null 2>&1; then
2165 if [ -z "$MAKE" ]; then
2166 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2167 echo >&2 "Cannot proceed."
2170 # export MAKE, we need it later in the config.tests
2176 #-------------------------------------------------------------------------------
2177 # auto-detect all that hasn't been specified in the arguments
2178 #-------------------------------------------------------------------------------
2180 if [ -z "$PLATFORM" ]; then
2182 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2184 OSX_VERSION=`uname -r | cut -d. -f1`
2185 # Select compiler. Use g++ unless we find a usable Clang version
2187 if [ "$OSX_VERSION" -ge 12 ]; then
2188 # We're on Mountain Lion or above. Use Clang. Don't advertise gcc.
2190 elif [ "$OSX_VERSION" -eq 11 ]; then
2191 # We're on Lion. Check if we have a supported Clang version
2192 case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
2195 PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
2202 #PLATFORM=aix-g++-64
2204 #PLATFORM=aix-xlc-64
2206 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2216 # PLATFORM=dynix-g++
2222 PLATFORM=freebsd-g++
2224 - Also available for FreeBSD: freebsd-icc
2228 PLATFORM=openbsd-g++
2239 #PLATFORM=irix-cc-64
2241 - Also available for IRIX: irix-g++ irix-cc-64
2245 case "$UNAME_MACHINE" in
2247 #PLATFORM=hpuxi-acc-32
2248 PLATFORM=hpuxi-acc-64
2250 - Also available for HP-UXi: hpuxi-acc-32
2256 #PLATFORM=hpux-acc-64
2258 #PLATFORM=hpux-acc-o64
2260 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2269 - Also available for Tru64: tru64-g++
2273 case "$UNAME_MACHINE" in
2275 PLATFORM=linux-g++-64
2282 - Also available for Linux: linux-kcc linux-icc linux-cxx
2286 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2287 PLATFORM="solaris-g++"
2289 #PLATFORM=solaris-g++
2291 #PLATFORM=solaris-cc64
2294 - Also available for Solaris: solaris-g++ solaris-cc-64
2297 ReliantUNIX-*:*|SINIX-*:*)
2298 PLATFORM=reliant-cds
2299 #PLATFORM=reliant-cds-64
2301 - Also available for Reliant UNIX: reliant-cds-64
2311 #PLATFORM=unixware-g++
2312 PLATFORM=unixware-cc
2314 - Also available for OpenUNIX: unixware-g++
2318 #PLATFORM=unixware-g++
2319 PLATFORM=unixware-cc
2321 - Also available for UnixWare: unixware-g++
2328 - Also available for SCO OpenServer: sco-g++
2332 PLATFORM=unixware-g++
2335 PLATFORM=unsupported/qnx-g++
2338 if [ "$OPT_HELP" != "yes" ]; then
2340 for p in $PLATFORMS; do
2341 echo " $relconf $* -platform $p"
2344 echo " The build script does not currently recognize all" >&2
2345 echo " platforms supported by Qt." >&2
2346 echo " Rerun this script with a -platform option listed to" >&2
2347 echo " set the system/compiler combination you use." >&2
2354 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2356 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2358 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2359 case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
2360 case "$XPLATFORM" in qnx-*) XPLATFORM_QNX=yes;; esac
2362 if [ -d "$PLATFORM" ]; then
2363 QMAKESPEC="$PLATFORM"
2365 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2367 if [ -d "$XPLATFORM" ]; then
2368 XQMAKESPEC="$XPLATFORM"
2370 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2372 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2373 QT_CROSS_COMPILE=yes
2374 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2375 QTCONFIG_CONFIG="$QTCONFIG_CONFIG cross_compile"
2378 if [ "$BUILD_ON_MAC" = "yes" ]; then
2379 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2381 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2382 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2383 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2384 echo " built with 'macx-g++'" >&2
2390 # check specified platforms are supported
2391 if [ '!' -d "$QMAKESPEC" ]; then
2393 echo " The specified system/compiler is not supported:"
2397 echo " Please see the README file for a complete list."
2401 if [ '!' -d "$XQMAKESPEC" ]; then
2403 echo " The specified system/compiler is not supported:"
2407 echo " Please see the README file for a complete list."
2411 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2413 echo " The specified system/compiler port is not complete:"
2415 echo " $XQMAKESPEC/qplatformdefs.h"
2417 echo " Please contact qt-info@nokia.com."
2422 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2423 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2424 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2425 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2426 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2430 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2431 case `basename "$XPLATFORM"` in
2434 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2436 echo "Please contact qt-info@nokia.com to upgrade your license to"
2437 echo "include this platform, or install the Qt Open Source Edition"
2438 echo "if you intend to develop free software."
2444 #-------------------------------------------------------------------------------
2445 # tests that don't need qmake (must be run before displaying help)
2446 #-------------------------------------------------------------------------------
2448 # detect build style
2449 if [ "$CFG_DEBUG" = "auto" ]; then
2450 if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2451 CFG_DEBUG_RELEASE=yes
2453 elif [ "$CFG_DEV" = "yes" ]; then
2454 CFG_DEBUG_RELEASE=no
2457 CFG_DEBUG_RELEASE=no
2461 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2462 QT_CONFIG="$QT_CONFIG build_all"
2465 # pass on $CFG_SDK to the configure tests.
2466 if [ '!' -z "$CFG_SDK" ]; then
2467 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
2470 # find the default framework value
2471 if [ "$BUILD_ON_MAC" = "yes" ]; then
2472 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2473 CFG_FRAMEWORK="$CFG_SHARED"
2474 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2476 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2484 QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
2486 TEST_COMPILER=$QMAKE_CONF_COMPILER
2487 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
2488 if [ -z "$TEST_COMPILER" ]; then
2489 echo "ERROR: Cannot set the compiler for the configuration tests"
2494 if [ -n "$CFG_SYSROOT" ]; then
2495 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
2499 export SYSROOT_FLAG # used by config.tests/unix/compile.test
2501 # auto-detect precompiled header support
2502 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2503 if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2510 # auto-detect support for separate debug info in objcopy
2511 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
2512 TEST_COMPILER_CFLAGS=`getXQMakeConf QMAKE_CFLAGS`
2513 TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
2514 TEST_OBJCOPY=`getXQMakeConf QMAKE_OBJCOPY`
2515 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
2516 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
2517 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
2518 CFG_SEPARATE_DEBUG_INFO=no
2522 # binutils on HP-UX is buggy; default to no.
2523 CFG_SEPARATE_DEBUG_INFO=no
2526 CFG_SEPARATE_DEBUG_INFO=yes
2532 # auto-detect -fvisibility support
2533 if [ "$CFG_REDUCE_EXPORTS" != "no" ]; then
2534 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2535 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
2536 echo "-reduce-exports was requested but this compiler does not support it"
2537 echo "Re-run configure with -v for more information"
2540 CFG_REDUCE_EXPORTS=no
2542 CFG_REDUCE_EXPORTS=yes
2546 # detect the availability of the -Bsymbolic-functions linker optimization
2547 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
2548 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2549 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
2550 echo "-reduce-relocations was requested but this compiler does not support it"
2551 echo "Re-run configure with -v for more information"
2554 CFG_REDUCE_RELOCATIONS=no
2556 CFG_REDUCE_RELOCATIONS=yes
2560 # auto-detect GNU make support
2561 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
2565 # find the default framework value
2566 if [ "$BUILD_ON_MAC" = "yes" ]; then
2567 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2568 CFG_FRAMEWORK="$CFG_SHARED"
2569 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2571 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2579 #setup the build parts
2580 if [ -z "$CFG_BUILD_PARTS" ]; then
2581 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
2583 # build tests by default, if a developer build
2584 if [ "$CFG_DEV" = "yes" ]; then
2585 CFG_BUILD_PARTS="$CFG_BUILD_PARTS tests"
2588 # don't build tools by default when cross-compiling
2589 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2590 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
2593 for nobuild in $CFG_NOBUILD_PARTS; do
2594 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
2596 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
2598 # echo "WARNING: libs is a required part of the build."
2600 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
2603 #-------------------------------------------------------------------------------
2604 # post process QT_INSTALL_* variables
2605 #-------------------------------------------------------------------------------
2607 if [ -z "$QT_INSTALL_PREFIX" ]; then
2608 if [ "$CFG_DEV" = "yes" ]; then
2609 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
2611 QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION
2614 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
2616 if [ -z "$QT_INSTALL_DOCS" ]; then #default
2617 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2618 if [ "$BUILD_ON_MAC" = "yes" ]; then
2619 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
2622 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
2625 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
2627 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
2628 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2629 if [ "$BUILD_ON_MAC" = "yes" ]; then
2630 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2635 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
2638 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
2640 if [ -z "$QT_INSTALL_LIBS" ]; then #default
2641 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2642 if [ "$BUILD_ON_MAC" = "yes" ]; then
2643 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2644 QT_INSTALL_LIBS="/Libraries/Frameworks"
2648 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
2650 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
2652 if [ -z "$QT_INSTALL_BINS" ]; then #default
2653 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2654 if [ "$BUILD_ON_MAC" = "yes" ]; then
2655 QT_INSTALL_BINS="/Developer/Applications/Qt"
2658 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
2660 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
2662 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
2663 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2664 if [ "$BUILD_ON_MAC" = "yes" ]; then
2665 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
2668 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
2670 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
2672 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
2673 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2674 if [ "$BUILD_ON_MAC" = "yes" ]; then
2675 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
2678 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
2680 QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
2682 if [ -z "$QT_INSTALL_DATA" ]; then #default
2683 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
2685 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
2687 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
2688 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
2690 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
2692 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
2693 if [ "$BUILD_ON_MAC" = "yes" ]; then
2694 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
2696 QT_INSTALL_SETTINGS=/etc/xdg
2699 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
2701 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
2702 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2703 if [ "$BUILD_ON_MAC" = "yes" ]; then
2704 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
2707 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
2709 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
2712 if [ -z "$QT_INSTALL_TESTS" ]; then #default
2713 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2714 if [ "$BUILD_ON_MAC" = "yes" ]; then
2715 QT_INSTALL_TESTS="/Developer/Tests/Qt"
2718 [ -z "$QT_INSTALL_TESTS" ] && QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback
2720 QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
2722 #------- host paths --------
2724 if [ -z "$QT_HOST_PREFIX" ]; then
2725 QT_HOST_PREFIX=$QT_INSTALL_PREFIX
2728 QT_HOST_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_PREFIX"`
2732 if [ -z "$QT_HOST_BINS" ]; then #default
2734 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2735 if [ "$BUILD_ON_MAC" = "yes" ]; then
2736 QT_HOST_BINS="/Developer/Applications/Qt"
2739 [ -z "$QT_HOST_BINS" ] && QT_HOST_BINS="$QT_HOST_PREFIX/bin" #fallback
2741 QT_HOST_BINS="$QT_INSTALL_BINS"
2744 QT_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_BINS"`
2746 if [ -z "$QT_HOST_DATA" ]; then #default
2748 QT_HOST_DATA="$QT_HOST_PREFIX"
2750 QT_HOST_DATA="$QT_INSTALL_DATA"
2753 QT_HOST_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_DATA"`
2756 #-------------------------------------------------------------------------------
2757 # help - interactive parts of the script _after_ this section please
2758 #-------------------------------------------------------------------------------
2760 # next, emit a usage message if something failed.
2761 if [ "$OPT_HELP" = "yes" ]; then
2762 [ "x$ERROR" = "xyes" ] && echo
2763 if [ "$CFG_NIS" = "no" ]; then
2770 if [ "$CFG_CUPS" = "no" ]; then
2777 if [ "$CFG_ICONV" = "no" ]; then
2784 if [ "$CFG_LARGEFILE" = "no" ]; then
2791 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
2799 if [ "$CFG_XCB" = "no" ]; then
2807 if [ "$CFG_EGLFS" = "no" ]; then
2815 if [ "$CFG_DIRECTFB" = "no" ]; then
2822 if [ "$CFG_XINPUT2" = "no" ]; then
2830 if [ "$CFG_DBUS" = "no" ]; then
2838 if [ "$CFG_SEPARATE_DEBUG_INFO" = "no" ]; then
2846 if [ "$CFG_GLIB" = "no" ]; then
2855 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
2856 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
2857 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-testsdir <dir>]
2858 [-release] [-debug] [-debug-and-release]
2859 [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
2860 [-largefile] [-no-accessibility] [-accessibility] [-no-sql-<driver>] [-sql-<driver>]
2861 [-plugin-sql-<driver>] [-system-sqlite]
2862 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
2863 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
2864 [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
2865 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
2866 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
2867 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
2868 [-no-separate-debug-info] [-no-sse2]
2869 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
2870 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info]
2871 [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
2872 [-no-audio-backend] [-audio-backend]
2873 [-no-javascript-jit] [-javascript-jit] [-no-qml-debug] [-qml-debug]
2874 [-no-optimized-qmake] [-optimized-qmake]
2875 [-no-openssl] [-openssl] [-openssl-linked]
2876 [-no-gtkstyle] [-gtkstyle]
2877 [-qt-pcre] [-system-pcre]
2878 [-device <name>] [-device-option <key=value>]
2879 [additional platform specific options (see below)]
2882 Installation options:
2884 These are optional, but you may specify install directories.
2886 -prefix <dir> ...... This will install everything relative to <dir>
2887 (default $QT_INSTALL_PREFIX)
2889 -hostprefix [dir] .. Tools and libraries needed when developing
2890 applications are installed in [dir]. If [dir] is
2891 not given, the current build directory will be used.
2894 * -prefix-install .... Force a sandboxed "local" installation of
2895 Qt. This will install into
2896 $QT_INSTALL_PREFIX, if this option is
2897 disabled then some platforms will attempt a
2898 "system" install by placing default values to
2899 be placed in a system location other than
2902 You may use these to separate different parts of the install:
2904 -bindir <dir> ......... Executables will be installed to <dir>
2905 (default PREFIX/bin)
2906 -libdir <dir> ......... Libraries will be installed to <dir>
2907 (default PREFIX/lib)
2908 -docdir <dir> ......... Documentation will be installed to <dir>
2909 (default PREFIX/doc)
2910 -headerdir <dir> ...... Headers will be installed to <dir>
2911 (default PREFIX/include)
2912 -plugindir <dir> ...... Plugins will be installed to <dir>
2913 (default PREFIX/plugins)
2914 -importdir <dir> ...... Imports for QML will be installed to <dir>
2915 (default PREFIX/imports)
2916 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
2918 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
2919 (default PREFIX/translations)
2920 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
2921 (default PREFIX/etc/settings)
2922 -examplesdir <dir> .... Examples will be installed to <dir>
2923 (default PREFIX/examples)
2924 -testsdir <dir> ....... Tests will be installed to <dir>
2925 (default PREFIX/tests)
2927 -hostbindir <dir> .. Host executables will be installed to <dir>
2928 (default HOSTPREFIX/bin)
2929 -hostdatadir <dir> . Data used by qmake will be installed to <dir>
2930 (default HOSTPREFIX)
2934 The defaults (*) are usually acceptable. A plus (+) denotes a default value
2935 that needs to be evaluated. If the evaluation succeeds, the feature is
2936 included. Here is a short explanation of each option:
2938 * -release ........... Compile and link Qt with debugging turned off.
2939 -debug ............. Compile and link Qt with debugging turned on.
2940 -debug-and-release . Compile and link two versions of Qt, with and without
2941 debugging turned on (Mac only).
2943 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
2945 -opensource ........ Compile and link the Open-Source Edition of Qt.
2946 -commercial ........ Compile and link the Commercial Edition of Qt.
2949 * -shared ............ Create and use shared Qt libraries.
2950 -static ............ Create and use static Qt libraries.
2952 * -no-fast ........... Configure Qt normally by generating Makefiles for all
2954 -fast .............. Configure Qt quickly by generating Makefiles only for
2955 library and subdirectory targets. All other Makefiles
2956 are created as wrappers, which will in turn run qmake.
2958 -no-largefile ...... Disables large file support.
2959 + -largefile ......... Enables Qt to access files larger than 4 GB.
2961 -no-accessibility .. Do not compile Accessibility support.
2962 * -accessibility ..... Compile Accessibility support.
2964 -no-sql-<driver> ... Disable SQL <driver> entirely.
2965 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
2967 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
2970 Possible values for <driver>:
2971 [ $CFG_SQL_AVAILABLE ]
2973 -system-sqlite ..... Use sqlite from the operating system.
2975 -no-phonon-backend.. Do not build the platform phonon plugin.
2976 + -phonon-backend..... Build the platform phonon plugin.
2978 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
2979 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
2981 -no-qml-debug ...... Do not build the in-process QML debugging support.
2982 + -qml-debug ......... Build the QML debugging support.
2984 -platform target ... The operating system and compiler you are building
2987 See the README file for a list of supported
2988 operating systems and compilers.
2990 -no-sse2 ........... Do not compile with use of SSE2 instructions.
2991 -no-sse3 ........... Do not compile with use of SSE3 instructions.
2992 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
2993 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
2994 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
2995 -no-avx ............ Do not compile with use of AVX instructions.
2996 -no-avx2 ........... Do not compile with use of AVX2 instructions.
2997 -no-neon ........... Do not compile with use of NEON instructions.
2998 -no-mips_dsp ....... Do not compile with use of MIPS DSP instructions.
2999 -no-mips_dspr2 ..... Do not compile with use of MIPS DSP rev2 instructions.
3001 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3002 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3004 -testcocoon Instrument Qt with the TestCocoon code coverage tool.
3006 -D <string> ........ Add an explicit define to the preprocessor.
3007 -I <string> ........ Add an explicit include path.
3008 -L <string> ........ Add an explicit library path.
3010 + -pkg-config ........ Use pkg-config to detect include and library paths. By default,
3011 configure determines whether to use pkg-config or not with
3012 some heuristics such as checking the environment variables.
3013 -no-pkg-config ..... Disable use of pkg-config.
3014 -force-pkg-config .. Force usage of pkg-config (skips pkg-config usability
3015 detection heuristic).
3017 -help, -h .......... Display this information.
3019 Third Party Libraries:
3021 -qt-zlib ........... Use the zlib bundled with Qt.
3022 + -system-zlib ....... Use zlib from the operating system.
3023 See http://www.gzip.org/zlib
3025 -no-gif ............ Do not compile GIF reading support.
3027 -no-libpng ......... Do not compile PNG support.
3028 -qt-libpng ......... Use the libpng bundled with Qt.
3029 + -system-libpng ..... Use libpng from the operating system.
3030 See http://www.libpng.org/pub/png
3032 -no-libjpeg ........ Do not compile JPEG support.
3033 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3034 + -system-libjpeg .... Use libjpeg from the operating system.
3035 See http://www.ijg.org
3037 -no-openssl ........ Do not compile support for OpenSSL.
3038 + -openssl ........... Enable run-time OpenSSL support.
3039 -openssl-linked .... Enabled linked OpenSSL support.
3041 -qt-pcre ........... Use the PCRE library bundled with Qt.
3042 + -system-pcre ....... Use the PCRE library from the operating system.
3046 -make <part> ....... Add part to the list of parts to be built at make time.
3047 ($QT_DEFAULT_BUILD_PARTS)
3048 -nomake <part> ..... Exclude part from the list of parts to be built.
3050 -R <string> ........ Add an explicit runtime library path to the Qt
3052 -l <string> ........ Add an explicit library.
3054 -no-rpath .......... Do not use the library install path as a runtime
3056 + -rpath ............. Link Qt libraries and executables using the library
3057 install path as a runtime library path. Equivalent
3058 to -R install_libpath
3060 -continue .......... Continue as far as possible if an error occurs.
3062 -verbose, -v ....... Print verbose information about each step of the
3065 -silent ............ Reduce the build output so that warnings and errors
3066 can be seen more easily.
3068 * -no-optimized-qmake ... Do not build qmake optimized.
3069 -optimized-qmake ...... Build qmake optimized.
3071 -no-gui ............ Don't build the Qt GUI library
3073 $NSN -no-nis ............ Do not compile NIS support.
3074 $NSY -nis ............... Compile NIS support.
3076 $CUN -no-cups ........... Do not compile CUPS support.
3077 $CUY -cups .............. Compile CUPS support.
3078 Requires cups/cups.h and libcups.so.2.
3080 $CIN -no-iconv .......... Do not compile support for iconv(3).
3081 $CIY -iconv ............. Compile support for iconv(3).
3083 $PHN -no-pch ............ Do not use precompiled header support.
3084 $PHY -pch ............... Use precompiled header support.
3086 $DBN -no-dbus ........... Do not compile the QtDBus module.
3087 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3088 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3090 -reduce-relocations ..... Reduce relocations in the libraries through extra
3091 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3092 experimental; needs GNU ld >= 2.18).
3094 -force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
3096 -device <name> ............... Cross-compile for device <name> (experimental)
3097 -device-option <key=value> ... Add device specific options for the device mkspec
3100 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3101 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3103 $XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
3104 $XCBY -xcb ............... Compile Xcb support.
3106 $EGLFSN -no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support.
3107 $EGLFSY -eglfs ............. Compile EGLFS support (Requires OpenGL ES 2 support).
3109 $DFBN -no-directfb ....... Do not compile DirectFB support.
3110 $DFBY -directfb .......... Compile DirectFB support.
3112 -qpa <name> ......... Sets the default QPA platform (e.g xcb, cocoa, windows).
3114 -xplatform target ... The target platform when cross-compiling.
3116 -sysroot <dir> ...... Sets <dir> as the target compiler's and qmake's sysroot.
3118 -no-feature-<feature> Do not compile in <feature>.
3119 -feature-<feature> .. Compile in <feature>. The available features
3120 are described in src/corelib/global/qfeatures.txt
3122 -no-freetype ........ Do not compile in Freetype2 support.
3123 -qt-freetype ........ Use the libfreetype bundled with Qt.
3124 * -system-freetype .... Use libfreetype from the operating system.
3125 See http://www.freetype.org/
3127 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3128 default ($CFG_QCONFIG).
3130 -no-opengl .......... Do not support OpenGL.
3131 -opengl <api> ....... Enable OpenGL support
3132 With no parameter, this will attempt to auto-detect
3133 OpenGL ES 2, or regular desktop OpenGL.
3134 Use es2 for <api> to override auto-detection.
3136 $GBN -no-glib ........... Do not compile Glib support.
3137 $GBY -glib .............. Compile Glib support.
3140 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
3143 $X2N -no-xinput2......... Do not compile XInput2 support.
3144 $X2Y -xinput2............ Compile XInput2 support.
3150 if [ "$BUILD_ON_MAC" = "yes" ]; then
3155 -Fstring ........... Add an explicit framework path.
3156 -fw string ......... Add an explicit framework.
3158 * -framework ......... Build Qt as a series of frameworks and
3159 link tools against those frameworks.
3160 -no-framework ...... Do not build Qt as a series of frameworks.
3162 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3163 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3165 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
3166 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
3167 QT_ENABLE_HARFBUZZ environment variable.
3172 [ "x$ERROR" = "xyes" ] && exit 1
3177 # -----------------------------------------------------------------------------
3178 # LICENSING, INTERACTIVE PART
3179 # -----------------------------------------------------------------------------
3182 echo "This is the Qt ${EditionString} Edition."
3185 if [ "$Edition" = "OpenSource" ]; then
3187 echo "You are licensed to use this software under the terms of"
3188 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
3189 if [ -f "$relpath/LICENSE.GPL3" ]; then
3190 echo "You are also licensed to use this software under the terms of"
3191 echo "the GNU General Public License (GPL) versions 3."
3197 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3198 echo "You have already accepted the terms of the $LicenseType license."
3201 if [ -f "$relpath/LICENSE.GPL3" ]; then
3202 echo "Type '3' to view the GNU General Public License version 3."
3204 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
3205 echo "Type 'yes' to accept this license offer."
3206 echo "Type 'no' to decline this license offer."
3208 echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
3212 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
3214 elif [ "$acceptance" = "no" ]; then
3215 echo "You are not licensed to use this software."
3218 elif [ "$acceptance" = "3" ]; then
3219 more "$relpath/LICENSE.GPL3"
3220 elif [ "$acceptance" = "L" ]; then
3221 more "$relpath/LICENSE.LGPL"
3224 elif [ "$Edition" = "Preview" ]; then
3225 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
3228 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3229 echo "You have already accepted the terms of the $LicenseType license."
3232 echo "You are licensed to use this software under the terms of"
3233 echo "the $TheLicense"
3235 echo "Type '?' to read the Preview License."
3236 echo "Type 'yes' to accept this license offer."
3237 echo "Type 'no' to decline this license offer."
3239 echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
3243 if [ "$acceptance" = "yes" ]; then
3245 elif [ "$acceptance" = "no" ] ;then
3246 echo "You are not licensed to use this software."
3249 elif [ "$acceptance" = "?" ]; then
3250 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
3253 elif [ "$Edition" != "OpenSource" ]; then
3254 if [ -n "$ExpiryDate" ]; then
3255 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
3256 [ -z "$ExpiryDate" ] && ExpiryDate="0"
3257 Today=`date +%Y%m%d`
3258 if [ "$Today" -gt "$ExpiryDate" ]; then
3259 case "$LicenseType" in
3260 Commercial|Academic|Educational)
3261 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
3263 echo "NOTICE NOTICE NOTICE NOTICE"
3265 echo " Your support and upgrade period has expired."
3267 echo " You are no longer licensed to use this version of Qt."
3268 echo " Please contact qt-info@nokia.com to renew your support"
3269 echo " and upgrades for this license."
3271 echo "NOTICE NOTICE NOTICE NOTICE"
3276 echo "WARNING WARNING WARNING WARNING"
3278 echo " Your support and upgrade period has expired."
3280 echo " You may continue to use your last licensed release"
3281 echo " of Qt under the terms of your existing license"
3282 echo " agreement. But you are not entitled to technical"
3283 echo " support, nor are you entitled to use any more recent"
3284 echo " Qt releases."
3286 echo " Please contact qt-info@nokia.com to renew your"
3287 echo " support and upgrades for this license."
3289 echo "WARNING WARNING WARNING WARNING"
3296 echo "NOTICE NOTICE NOTICE NOTICE"
3298 echo " Your Evaluation license has expired."
3300 echo " You are no longer licensed to use this software. Please"
3301 echo " contact qt-info@nokia.com to purchase license, or install"
3302 echo " the Qt Open Source Edition if you intend to develop free"
3305 echo "NOTICE NOTICE NOTICE NOTICE"
3312 TheLicense=`head -n 1 "$outpath/LICENSE"`
3314 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3315 echo "You have already accepted the terms of the $TheLicense."
3318 echo "You are licensed to use this software under the terms of"
3319 echo "the $TheLicense."
3321 echo "Type '?' to view the $TheLicense."
3322 echo "Type 'yes' to accept this license offer."
3323 echo "Type 'no' to decline this license offer."
3325 echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
3329 if [ "$acceptance" = "yes" ]; then
3331 elif [ "$acceptance" = "no" ]; then
3332 echo "You are not licensed to use this software."
3335 else [ "$acceptance" = "?" ]
3336 more "$outpath/LICENSE"
3341 # this should be moved somewhere else
3344 AIX_VERSION=`uname -v`
3345 if [ "$AIX_VERSION" -lt "5" ]; then
3346 QMakeVar add QMAKE_LIBS_X11 -lbind
3353 #-------------------------------------------------------------------------------
3354 # generate qconfig.cpp
3355 #-------------------------------------------------------------------------------
3356 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
3358 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3360 static const char qt_configure_licensee_str [256 + 12] = "qt_lcnsuser=$Licensee";
3361 static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$Edition";
3363 /* Installation date */
3364 static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`";
3366 /* Installation Info */
3367 static const char qt_configure_prefix_path_strs[][256 + 12] = {
3368 "qt_prfxpath=$QT_INSTALL_PREFIX",
3369 "qt_docspath=$QT_INSTALL_DOCS",
3370 "qt_hdrspath=$QT_INSTALL_HEADERS",
3371 "qt_libspath=$QT_INSTALL_LIBS",
3372 "qt_binspath=$QT_INSTALL_BINS",
3373 "qt_plugpath=$QT_INSTALL_PLUGINS",
3374 "qt_impspath=$QT_INSTALL_IMPORTS",
3375 "qt_datapath=$QT_INSTALL_DATA",
3376 "qt_trnspath=$QT_INSTALL_TRANSLATIONS",
3377 "qt_xmplpath=$QT_INSTALL_EXAMPLES",
3378 "qt_tstspath=$QT_INSTALL_TESTS",
3379 #ifdef QT_BUILD_QMAKE
3380 "qt_ssrtpath=$CFG_SYSROOT",
3381 "qt_hpfxpath=$QT_HOST_PREFIX",
3382 "qt_hbinpath=$QT_HOST_BINS",
3383 "qt_hdatpath=$QT_HOST_DATA",
3386 static const char qt_configure_settings_path_str[256 + 12] = "qt_stngpath=$QT_INSTALL_SETTINGS";
3389 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3391 /* strlen( "qt_lcnsxxxx" ) == 12 */
3392 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
3393 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
3395 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
3398 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
3399 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
3400 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
3402 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
3403 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
3404 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
3407 # -----------------------------------------------------------------------------
3408 if [ "$LicenseType" = "Evaluation" ]; then
3409 EVALKEY=qt_qevalkey=$LicenseKeyExt
3410 elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then
3411 EVALKEY=qt_qevalkey=
3414 if [ -n "$EVALKEY" ]; then
3415 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
3416 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
3417 /* Evaluation license key */
3418 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
3420 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
3424 # -----------------------------------------------------------------------------
3426 # -----------------------------------------------------------------------------
3429 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
3431 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
3432 if [ "$OPT_SHADOW" = "yes" ]; then
3433 "$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
3434 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
3435 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
3439 # $1: input variable name (awk regexp)
3440 # $2: optional output variable name
3441 # $3: optional value transformation (sed command)
3442 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
3443 # is where the resulting variable is written to
3444 setBootstrapVariable()
3446 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
3450 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
3451 echo "Creating qmake. Please wait..."
3454 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
3455 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
3456 if [ -f "$QCONFIG_H" ]; then
3457 OLD_QCONFIG_H=$QCONFIG_H
3458 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
3461 # create temporary qconfig.h for compiling qmake, if it doesn't exist
3462 # when building qmake, we use #defines for the install paths,
3463 # however they are real functions in the library
3464 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
3465 mkdir -p "$outpath/src/corelib/global"
3466 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
3467 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
3470 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
3472 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
3473 rm -rf mkspecs/default
3474 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
3475 mkdir -p "$outpath/qmake" || exit
3477 for mkfile in GNUmakefile Makefile; do
3480 in_mkfile="${mkfile}.in"
3481 if [ "$mkfile" = "Makefile" ]; then
3482 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
3483 # (cd qmake && qmake) >/dev/null 2>&1 && continue
3485 in_mkfile="${mkfile}.unix"
3487 in_mkfile="$relpath/qmake/$in_mkfile"
3488 mkfile="$outpath/qmake/$mkfile"
3489 if [ -f "$mkfile" ]; then
3490 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
3493 [ -f "$in_mkfile" ] || continue
3495 echo "########################################################################" > "$mkfile"
3496 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
3497 echo "########################################################################" >> "$mkfile"
3500 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
3501 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
3502 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
3504 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
3505 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
3508 [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
3509 setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
3510 setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
3511 setBootstrapVariable QMAKE_CFLAGS
3512 setBootstrapVariable QMAKE_CXXFLAGS
3513 setBootstrapVariable QMAKE_LFLAGS
3515 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
3516 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
3517 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
3519 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
3520 setBootstrapVariable QMAKE_CFLAGS_RELEASE
3521 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
3522 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
3523 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
3524 elif [ "$CFG_DEBUG" = "yes" ]; then
3525 setBootstrapVariable QMAKE_CFLAGS_DEBUG
3526 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
3527 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
3528 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
3531 if [ -n "$RPATH_FLAGS" ] && [ -n "`getQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
3532 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" QMAKE_LFLAGS_RPATH
3533 for rpath in $RPATH_FLAGS; do
3534 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
3537 if [ "$BUILD_ON_MAC" = "yes" ]; then
3538 echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
3539 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
3540 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
3541 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
3542 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
3543 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
3544 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
3545 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
3546 if [ '!' -z "$CFG_SDK" ]; then
3547 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
3548 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
3549 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
3550 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
3551 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
3554 if [ '!' -z "$D_FLAGS" ]; then
3555 for DEF in $D_FLAGS; do
3556 EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
3559 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
3560 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
3561 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
3562 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
3564 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
3565 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
3566 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
3567 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
3568 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
3569 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
3570 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
3571 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
3572 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
3573 -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
3575 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
3576 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
3577 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
3578 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
3583 QMAKE_BUILD_ERROR=no
3584 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
3585 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
3586 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
3587 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
3590 #-------------------------------------------------------------------------------
3592 #-------------------------------------------------------------------------------
3593 if [ -z "$PKG_CONFIG" ]; then
3594 # See if PKG_CONFIG is set in the mkspec:
3595 PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
3597 if [ -z "$PKG_CONFIG" ]; then
3598 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
3601 if [ "$CFG_PKGCONFIG" = "no" ]; then
3603 elif [ "$CFG_PKGCONFIG" = "force" ]; then
3605 echo >&2 "You have asked to use pkg-config. Please make sure you have"
3606 echo >&2 "a correctly setup pkg-config environment!"
3608 elif [ -n "$PKG_CONFIG" ]; then
3609 # found a pkg-config
3610 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3611 # when xcompiling, check environment to see if it's actually usable
3612 if [ -z "$PKG_CONFIG_LIBDIR" ]; then
3613 if [ -n "$CFG_SYSROOT" ] && [ -d "$CFG_SYSROOT/usr/lib/pkgconfig" ]; then
3614 PKG_CONFIG_LIBDIR=$CFG_SYSROOT/usr/lib/pkgconfig:$CFG_SYSROOT/usr/share/pkgconfig
3615 export PKG_CONFIG_LIBDIR
3616 echo >&2 "Note: PKG_CONFIG_LIBDIR automatically set to $PKG_CONFIG_LIBDIR"
3617 elif [ "$CFG_PKGCONFIG" = "yes" ]; then
3618 echo >&2 "Error: PKG_CONFIG_LIBDIR has not been set. This could mean"
3619 echo >&2 "the host's .pc files will be used (even if you set PKG_CONFIG_PATH)."
3620 echo >&2 "Set this variable to the directory that contains target .pc files"
3621 echo >&2 "for pkg-config to function correctly when cross-compiling or"
3622 echo >&2 "use -force-pkg-config to override this test."
3626 echo >&2 "Warning: Disabling pkg-config since PKG_CONFIG_LIBDIR is not set."
3629 if [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
3630 if [ -n "$CFG_SYSROOT" ]; then
3631 PKG_CONFIG_SYSROOT_DIR=$CFG_SYSROOT
3632 export PKG_CONFIG_SYSROOT_DIR
3633 echo >&2 "Note: PKG_CONFIG_SYSROOT_DIR automatically set to $PKG_CONFIG_SYSROOT_DIR"
3634 elif [ "$CFG_PKGCONFIG" = "yes" ]; then
3635 echo >&2 "Error: PKG_CONFIG_SYSROOT_DIR has not been set. Set this variable"
3636 echo >&2 "to your sysroot for pkg-config to function correctly when cross-compiling"
3637 echo >&2 "or use -force-pkg-config to override this test."
3641 echo >&2 "Warning: Disabling pkg-config since PKG_CONFIG_SYSROOT_DIR is not set."
3645 elif [ "$CFG_PKGCONFIG" = "yes" ]; then
3646 echo >&2 "Could not detect pkg-config from mkspec or PATH."
3650 if [ -z "$PKG_CONFIG" ]; then
3651 QT_CONFIG="$QT_CONFIG no-pkg-config"
3654 #-------------------------------------------------------------------------------
3655 # write out device config before we run the test.
3656 #-------------------------------------------------------------------------------
3657 if cmp -s "$DEVICE_VARS_FILE" "$outpath/mkspecs/qdevice.pri"; then
3658 rm -f "$DEVICE_VARS_FILE"
3660 mv -f $DEVICE_VARS_FILE "$outpath/mkspecs/qdevice.pri"
3663 #-------------------------------------------------------------------------------
3664 # tests that need qmake
3665 #-------------------------------------------------------------------------------
3667 #-------------------------------------------------------------------------------
3668 # determine the target and host architectures
3669 #-------------------------------------------------------------------------------
3671 # Use config.tests/arch/arch.pro to has the compiler tell us what the target architecture is
3672 OUTFILE=$outpath/arch.result
3673 "$unixtests/arch.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "CFG"
3674 if [ $? -eq 0 ]; then
3675 eval `cat "$OUTFILE"`
3678 echo "Could not determine the target architecture!"
3679 echo "Turn on verbose messaging (-v) to see the final report."
3681 rm -f "$OUTFILE" 2>/dev/null
3682 [ -z "$CFG_ARCH" ] && CFG_ARCH="unknown"
3684 if [ "$QMAKESPEC" != "$XQMAKESPEC" ]; then
3685 # Do the same test again, using the host compiler
3686 SYSROOT_FLAG= "$unixtests/arch.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "CFG_HOST"
3687 if [ $? -eq 0 ]; then
3688 eval `cat "$OUTFILE"`
3691 echo "Could not determine the host architecture!"
3692 echo "Turn on verbose messaging (-v) to see the final report."
3694 rm -f "$OUTFILE" 2>/dev/null
3695 [ -z "$CFG_HOST_ARCH" ] && CFG_HOST_ARCH="unknown"
3697 # not cross compiling, host == target
3698 CFG_HOST_ARCH="$CFG_ARCH"
3699 CFG_HOST_CPUFEATURES="$CFG_CPUFEATURES"
3703 if [ "$OPT_VERBOSE" = "yes" ]; then
3704 echo "System architecture: '$CFG_ARCH'"
3705 echo "Host architecture: '$CFG_HOST_ARCH'"
3708 #-------------------------------------------------------------------------------
3709 # functionality tests
3710 #-------------------------------------------------------------------------------
3712 # detect availability of float math.h functions
3713 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
3714 CFG_USE_FLOATMATH=yes
3716 CFG_USE_FLOATMATH=no
3719 # detect sse2 support
3720 if [ "${CFG_SSE2}" = "auto" ]; then
3721 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
3728 # detect sse3 support
3729 if [ "${CFG_SSE3}" = "auto" ]; then
3730 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse3 "sse3" $L_FLAGS $I_FLAGS $l_FLAGS "-msse3"; then
3737 # detect ssse3 support
3738 if [ "${CFG_SSSE3}" = "auto" ]; then
3739 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ssse3 "ssse3" $L_FLAGS $I_FLAGS $l_FLAGS "-mssse3"; then
3746 # detect sse4.1 support
3747 if [ "${CFG_SSE4_1}" = "auto" ]; then
3748 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse4_1 "sse4_1" $L_FLAGS $I_FLAGS $l_FLAGS "-msse4.1"; then
3755 # detect sse4.2 support
3756 if [ "${CFG_SSE4_2}" = "auto" ]; then
3757 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse4_2 "sse4_2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse4.2"; then
3764 # detect avx support
3765 if [ "${CFG_AVX}" = "auto" ]; then
3766 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx "avx" $L_FLAGS $I_FLAGS $l_FLAGS "-mavx"; then
3767 case "$XQMAKESPEC" in
3769 # Some clang versions produce internal compiler errors compiling Qt AVX code
3770 case `$TEST_COMPILER --version` in
3771 Apple\ clang\ version\ 2*|Apple\ clang\ version\ 3.0*)
3773 if [ "$OPT_VERBOSE" = "yes" ]; then
3774 echo 'AVX support disabled for blacklisted clang compiler'
3791 # detect avx2 support
3792 if [ "${CFG_AVX}" = "no" ]; then
3795 if [ "${CFG_AVX2}" = "auto" ]; then
3796 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx2 "avx2" $L_FLAGS $I_FLAGS $l_FLAGS "-march=core-avx2"; then
3803 # check iWMMXt support
3804 if [ "$CFG_IWMMXT" = "yes" ]; then
3805 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
3806 if [ $? != "0" ]; then
3807 echo "The iWMMXt functionality test failed!"
3808 echo " Please make sure your compiler supports iWMMXt intrinsics!"
3813 # detect neon support
3814 if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
3815 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/neon "neon" $L_FLAGS $I_FLAGS $l_FLAGS "-mfpu=neon"; then
3820 elif [ "$CFG_ARCH" != "arm" ]; then
3824 # detect mips_dsp support
3825 if [ "${CFG_ARCH}" = "mips" ] && [ "${CFG_MIPS_DSP}" = "yes" ]; then
3831 # detect mips_dspr2 support
3832 if [ "${CFG_ARCH}" = "mips" ] && [ "${CFG_MIPS_DSPR2}" = "yes" ]; then
3838 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
3841 if [ "$CFG_ZLIB" = "no" ]; then
3842 # Note: Qt no longer support builds without zlib
3843 # So we force a "no" to be "auto" here.
3844 # If you REALLY really need no zlib support, you can still disable
3845 # it by doing the following:
3846 # add "no-zlib" to mkspecs/qconfig.pri
3847 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
3849 # There's no guarantee that Qt will build under those conditions
3854 if [ "$CFG_ZLIB" = "auto" ]; then
3855 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/zlib "zlib" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
3862 if [ "$CFG_LARGEFILE" = "auto" ]; then
3863 #Large files should be enabled for all Linux systems
3867 if [ "$CFG_GUI" = "no" ]; then
3868 QPA_PLATFORM_GUARD=no
3871 # detect how jpeg should be built
3872 if [ "$CFG_JPEG" = "auto" ]; then
3873 if [ "$CFG_SHARED" = "yes" ]; then
3880 if [ "$CFG_LIBJPEG" = "auto" ]; then
3881 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libjpeg "libjpeg" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
3888 # detect how gif should be built
3889 if [ "$CFG_GIF" = "auto" ]; then
3890 if [ "$CFG_SHARED" = "yes" ]; then
3898 if [ "$CFG_LIBPNG" = "auto" ]; then
3899 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libpng "libpng" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
3906 # detect accessibility
3907 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
3908 CFG_ACCESSIBILITY=yes
3911 if [ "$CFG_EGLFS" = "yes" ]; then
3912 if [ "$CFG_EGL" = "no" ]; then
3913 echo "The EGLFS plugin requires EGL support and cannot be built"
3916 if [ "$CFG_OPENGL" != "es2" ]; then
3917 echo "The EGLFS plugin requires OpenGL ES 2 support and cannot be built"
3924 # auto-detect SQL-modules support
3925 for _SQLDR in $CFG_SQL_AVAILABLE; do
3928 if [ "$CFG_SQL_mysql" != "no" ]; then
3929 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
3930 if [ -x "$CFG_MYSQL_CONFIG" ]; then
3931 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
3932 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
3933 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
3934 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
3935 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
3937 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
3938 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
3939 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
3940 echo " You need MySql 4 or higher."
3941 echo " If you believe this message is in error you may use the continue"
3942 echo " switch (-continue) to $0 to continue."
3947 QT_LFLAGS_MYSQL_R=""
3951 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 $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
3952 QMakeVar add CONFIG use_libmysqlclient_r
3953 if [ "$CFG_SQL_mysql" = "auto" ]; then
3954 CFG_SQL_mysql=plugin
3956 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
3957 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 $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
3958 if [ "$CFG_SQL_mysql" = "auto" ]; then
3959 CFG_SQL_mysql=plugin
3962 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
3963 echo "MySQL support cannot be enabled due to functionality tests!"
3964 echo " Turn on verbose messaging (-v) to $0 to see the final report."
3965 echo " If you believe this message is in error you may use the continue"
3966 echo " switch (-continue) to $0 to continue."
3971 QT_LFLAGS_MYSQL_R=""
3979 if [ "$CFG_SQL_psql" != "no" ]; then
3980 # Be careful not to use native pg_config when cross building.
3981 if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
3982 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
3983 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
3985 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
3986 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
3987 # But, respect PSQL_LIBS if set
3988 [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
3989 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 $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
3990 if [ "$CFG_SQL_psql" = "auto" ]; then
3994 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
3995 echo "PostgreSQL support cannot be enabled due to functionality tests!"
3996 echo " Turn on verbose messaging (-v) to $0 to see the final report."
3997 echo " If you believe this message is in error you may use the continue"
3998 echo " switch (-continue) to $0 to continue."
4009 if [ "$CFG_SQL_odbc" != "no" ]; then
4010 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 $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4011 if [ "$CFG_SQL_odbc" = "auto" ]; then
4015 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iodbc "iODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4016 QT_LFLAGS_ODBC="-liodbc"
4017 if [ "$CFG_SQL_odbc" = "auto" ]; then
4021 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4022 echo "ODBC support cannot be enabled due to functionality tests!"
4023 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4024 echo " If you believe this message is in error you may use the continue"
4025 echo " switch (-continue) to $0 to continue."
4035 if [ "$CFG_SQL_oci" != "no" ]; then
4036 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/oci "OCI" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4037 if [ "$CFG_SQL_oci" = "auto" ]; then
4041 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4042 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4043 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4044 echo " If you believe this message is in error you may use the continue"
4045 echo " switch (-continue) to $0 to continue."
4054 if [ "$CFG_SQL_tds" != "no" ]; then
4055 [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
4056 [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
4057 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tds "TDS" $QT_LFLAGS_TDS $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4058 if [ "$CFG_SQL_tds" = "auto" ]; then
4062 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4063 echo "TDS support cannot be enabled due to functionality tests!"
4064 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4065 echo " If you believe this message is in error you may use the continue"
4066 echo " switch (-continue) to $0 to continue."
4075 if [ "$CFG_SQL_db2" != "no" ]; then
4076 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/db2 "DB2" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4077 if [ "$CFG_SQL_db2" = "auto" ]; then
4081 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4082 echo "ODBC support cannot be enabled due to functionality tests!"
4083 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4084 echo " If you believe this message is in error you may use the continue"
4085 echo " switch (-continue) to $0 to continue."
4094 if [ "$CFG_SQL_ibase" != "no" ]; then
4095 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ibase "InterBase" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4096 if [ "$CFG_SQL_ibase" = "auto" ]; then
4097 CFG_SQL_ibase=plugin
4100 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4101 echo "InterBase support cannot be enabled due to functionality tests!"
4102 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4103 echo " If you believe this message is in error you may use the continue"
4104 echo " switch (-continue) to $0 to continue."
4113 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4114 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite2 "SQLite2" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4115 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4116 CFG_SQL_sqlite2=plugin
4119 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4120 echo "SQLite2 support cannot be enabled due to functionality tests!"
4121 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4122 echo " If you believe this message is in error you may use the continue"
4123 echo " switch (-continue) to $0 to continue."
4132 if [ "$CFG_SQL_sqlite" != "no" ]; then
4133 SQLITE_AUTODETECT_FAILED="no"
4134 if [ "$CFG_SQLITE" = "system" ]; then
4135 if [ -n "$PKG_CONFIG" ]; then
4136 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4137 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4139 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 $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4140 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4141 CFG_SQL_sqlite=plugin
4143 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4145 SQLITE_AUTODETECT_FAILED="yes"
4148 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4149 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4150 CFG_SQL_sqlite=plugin
4153 SQLITE_AUTODETECT_FAILED="yes"
4157 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4158 echo "SQLite support cannot be enabled due to functionality tests!"
4159 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4160 echo " If you believe this message is in error you may use the continue"
4161 echo " switch (-continue) to $0 to continue."
4167 if [ "$OPT_VERBOSE" = "yes" ]; then
4168 echo "unknown SQL driver: $_SQLDR"
4174 # auto-detect NIS support
4175 if [ "$CFG_NIS" != "no" ]; then
4176 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/nis "NIS" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4179 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4180 echo "NIS support cannot be enabled due to functionality tests!"
4181 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4182 echo " If you believe this message is in error you may use the continue"
4183 echo " switch (-continue) to $0 to continue."
4191 # auto-detect CUPS support
4192 if [ "$CFG_CUPS" != "no" ]; then
4193 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/cups "Cups" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4196 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4197 echo "Cups 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."
4208 # auto-detect iconv(3) support
4209 if [ "$CFG_ICONV" != "no" ]; then
4210 if [ "$XPLATFORM_MINGW" = "yes" ]; then
4212 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4214 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/sun-libiconv" "SUN libiconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4216 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/gnu-libiconv" "GNU libiconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4219 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4220 echo "Iconv support cannot be enabled due to functionality tests!"
4221 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4222 echo " If you believe this message is in error you may use the continue"
4223 echo " switch (-continue) to $0 to continue."
4231 # auto-detect libdbus-1 support
4232 if [ "$CFG_DBUS" != "no" ]; then
4233 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
4234 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4235 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4237 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/dbus "D-Bus" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_DBUS $QT_LIBS_DBUS $MAC_CONFIG_TEST_COMMANDLINE; then
4238 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
4239 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
4240 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
4242 if [ "$CFG_DBUS" = "auto" ]; then
4244 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4245 # CFG_DBUS is "yes" or "linked" here
4247 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4248 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4249 echo " If you believe this message is in error you may use the continue"
4250 echo " switch (-continue) to $0 to continue."
4256 # auto-detect Glib support
4257 if [ "$CFG_GLIB" != "no" ]; then
4258 if [ -n "$PKG_CONFIG" ]; then
4259 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4260 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4262 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/glib "Glib" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_GLIB $QT_LIBS_GLIB; then
4264 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
4265 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
4267 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4268 echo "Glib support cannot be enabled due to functionality tests!"
4269 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4270 echo " If you believe this message is in error you may use the continue"
4271 echo " switch (-continue) to $0 to continue."
4279 # auto-detect GTK style support
4280 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
4281 if [ -n "$PKG_CONFIG" ]; then
4282 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
4283 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
4285 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
4287 QT_CONFIG="$QT_CONFIG gtkstyle"
4288 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
4289 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
4291 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4292 echo "Gtk theme support cannot be enabled due to functionality tests!"
4293 echo " Turn on verbose messaging (-v) to $0 to see the fin al report."
4294 echo " If you believe this message is in error you may use the continue"
4295 echo " switch (-continue) to $0 to continue."
4301 elif [ "$CFG_GLIB" = "no" ]; then
4306 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4307 if [ -n "$PKG_CONFIG" ]; then
4308 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4309 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4311 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/gstreamer "GStreamer" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_GSTREAMER $QT_LIBS_GSTREAMER; then
4313 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
4314 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
4316 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4317 echo "Gstreamer support cannot be enabled due to functionality tests!"
4318 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4319 echo " If you believe this message is in error you may use the continue"
4320 echo " switch (-continue) to $0 to continue."
4326 elif [ "$CFG_GLIB" = "no" ]; then
4330 # auto-detect libicu support
4331 if [ "$CFG_ICU" != "no" ]; then
4332 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $l_FLAGS; then
4333 [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
4335 if [ "$CFG_ICU" = "auto" ]; then
4337 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4340 echo "The ICU library support cannot be enabled."
4341 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4342 echo " If you believe this message is in error you may use the continue"
4343 echo " switch (-continue) to $0 to continue."
4349 # Auto-detect PulseAudio support
4350 if [ "$CFG_PULSEAUDIO" != "no" ]; then
4351 if [ -n "$PKG_CONFIG" ]; then
4352 QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4353 QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4355 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pulseaudio "PulseAudio" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_PULSEAUDIO $QT_LIBS_PULSEAUDIO; then
4357 QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
4358 QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
4360 if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4361 echo "PulseAudio support cannot be enabled due to functionality tests!"
4362 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4363 echo " If you believe this message is in error you may use the continue"
4364 echo " switch (-continue) to $0 to continue."
4373 if [ "$XPLATFORM_MINGW" = "yes" ]; then
4374 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4375 if [ "$CFG_GUI" = "no" ]; then
4376 if [ "$CFG_OPENGL" = "auto" ]; then
4379 if [ "$CFG_OPENGL" != "no" ]; then
4380 echo "OpenGL enabled, but GUI disabled."
4381 echo " You might need to either enable the GUI or disable OpenGL"
4385 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4386 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS; then
4388 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
4391 if [ "$CFG_OPENGL" = "yes" ]; then
4392 echo "All the OpenGL functionality tests failed!"
4393 echo " You might need to modify the include and library search paths by editing"
4394 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4395 echo " ${XQMAKESPEC}."
4402 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4403 if [ "$CFG_OPENGL" = "desktop" ]; then
4404 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS
4405 if [ $? != "0" ]; then
4406 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4413 elif [ "$CFG_OPENGL" = "es2" ]; then
4415 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
4416 if [ $? != "0" ]; then
4417 echo "The OpenGL ES 2.0 functionality test failed!"
4418 echo " You might need to modify the include and library search paths by editing"
4419 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4420 echo " ${XQMAKESPEC}."
4423 elif [ "$CFG_OPENGL" = "desktop" ]; then
4424 # Desktop OpenGL support
4425 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS
4426 if [ $? != "0" ]; then
4427 echo "The OpenGL functionality test failed!"
4428 echo " You might need to modify the include and library search paths by editing"
4429 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4430 echo " ${XQMAKESPEC}."
4435 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4436 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS
4437 if [ $? != "0" ]; then
4438 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4445 fi # X11/MINGW OpenGL
4447 if [ "$BUILD_ON_MAC" = "yes" ]; then
4448 if [ "$CFG_PHONON" != "no" ]; then
4449 # Always enable Phonon (unless it was explicitly disabled)
4453 if [ "$CFG_COREWLAN" = "auto" ]; then
4454 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/corewlan "CoreWlan" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4462 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4463 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4464 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS; then
4466 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
4469 if [ "$CFG_OPENGL" = "yes" ]; then
4470 echo "All the OpenGL functionality tests failed!"
4471 echo " You might need to modify the include and library search paths by editing"
4472 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4473 echo " ${XQMAKESPEC}."
4478 elif [ "$CFG_OPENGL" = "es2" ]; then
4480 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
4481 QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4482 QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
4483 QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
4484 QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
4485 QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
4486 QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2"
4487 QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2"
4490 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_LIBS_OPENGL_ES2 $QMAKE_CFLAGS_OPENGL_ES2
4491 if [ $? != "0" ]; then
4492 echo "The OpenGL ES 2.0 functionality test failed!"
4493 echo " You might need to modify the include and library search paths by editing"
4494 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4495 echo " ${XQMAKESPEC}."
4498 elif [ "$CFG_OPENGL" = "desktop" ]; then
4499 # Desktop OpenGL support
4500 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS
4501 if [ $? != "0" ]; then
4502 echo "The OpenGL functionality test failed!"
4503 echo " You might need to modify the include and library search paths by editing"
4504 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4505 echo " ${XQMAKESPEC}."
4510 # auto-detect FontConfig support
4511 if [ "$CFG_FONTCONFIG" != "no" ]; then
4512 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
4513 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
4514 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
4516 QT_CFLAGS_FONTCONFIG=
4517 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
4519 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/fontconfig "FontConfig" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_FONTCONFIG $QT_LIBS_FONTCONFIG; then
4520 QT_CONFIG="$QT_CONFIG fontconfig"
4521 QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
4522 QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
4523 CFG_LIBFREETYPE=system
4528 # Save these for a check later
4529 ORIG_CFG_XCB="$CFG_XCB"
4530 ORIG_CFG_EGLFS="$CFG_EGLFS"
4531 ORIG_CFG_DIRECTFB="$CFG_DIRECTFB"
4533 if [ "$CFG_LIBUDEV" != "no" ]; then
4534 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libudev 2>/dev/null; then
4535 QMAKE_INCDIR_LIBUDEV=`$PKG_CONFIG --cflags-only-I libudev 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4536 QMAKE_LIBS_LIBUDEV=`$PKG_CONFIG --libs libudev 2>/dev/null`
4537 QMakeVar set QMAKE_INCDIR_LIBUDEV "$QMAKE_INCDIR_LIBUDEV"
4538 QMakeVar set QMAKE_LIBS_LIBUDEV "$QMAKE_LIBS_LIBUDEV"
4540 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libudev "libudev" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_INCDIR_LIBUDEV $QMAKE_LIBS_LIBUDEV; then
4542 QT_CONFIG="$QT_CONFIG libudev"
4543 elif [ "$CFG_LIBUDEV" = "yes" ]; then
4544 echo "The libudev functionality test failed!"
4548 QMakeVar add DEFINES QT_NO_LIBUDEV
4552 if [ "$CFG_EVDEV" != "no" ]; then
4553 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/evdev "evdev" $L_FLAGS $I_FLAGS $l_FLAGS; then
4555 QT_CONFIG="$QT_CONFIG evdev"
4556 elif [ "$CFG_EVDEV" = "yes" ]; then
4557 echo "The evdev functionality test failed!"
4561 QMakeVar add DEFINES QT_NO_EVDEV
4565 # Check we actually have X11 :-)
4566 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS; then
4567 QT_CONFIG="$QT_CONFIG xlib"
4570 # auto-detect Xrender support
4571 if [ "$CFG_XRENDER" != "no" ]; then
4572 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xrender "Xrender" $L_FLAGS $I_FLAGS $l_FLAGS; then
4574 QT_CONFIG="$QT_CONFIG xrender"
4576 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4577 echo "Xrender support cannot be enabled due to functionality tests!"
4578 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4579 echo " If you believe this message is in error you may use the continue"
4580 echo " switch (-continue) to $0 to continue."
4588 if [ "$CFG_XCB" != "no" ]; then
4589 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xcb >= 1.5" 2>/dev/null; then
4590 QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`"
4591 QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`"
4593 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb "xcb" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
4595 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-render "xcb-render" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
4596 QT_CONFIG="$QT_CONFIG xcb-render"
4599 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 $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
4601 QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
4604 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-xlib "xcb-xlib" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
4605 QT_CONFIG="$QT_CONFIG xcb-xlib"
4608 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
4609 # auto-detect XInput2/Xinput support
4610 if [ "$CFG_XINPUT2" != "no" ]; then
4611 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinput2 "XInput2" $L_FLAGS $I_FLAGS $l_FLAGS; then
4615 if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4616 echo "XInput2 support cannot be enabled due to functionality tests!"
4617 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4618 echo " If you believe this message is in error you may use the continue"
4619 echo " switch (-continue) to $0 to continue."
4628 if [ "$CFG_XCB" = "yes" ]; then
4629 echo "The XCB test failed!"
4630 echo " You might need to install dependency packages."
4631 echo " See src/plugins/platforms/xcb/README."
4635 QMakeVar add DEFINES QT_NO_XCB
4639 if [ "$CFG_DIRECTFB" != "no" ]; then
4640 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists directfb 2>/dev/null; then
4641 QMAKE_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
4642 QMAKE_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
4643 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/directfb" "DirectFB" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_DIRECTFB $QMAKE_LIBS_DIRECTFB; then
4645 elif [ "$CFG_DIRECTFB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4646 echo " DirectFB support cannot be enabled due to functionality tests!"
4647 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4648 echo " If you believe this message is in error you may use the continue"
4649 echo " switch (-continue) to $0 to continue."
4659 # Detect libxkbcommon
4660 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
4661 QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
4662 QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
4663 QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
4664 QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
4666 QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
4670 if [ "$CFG_EGL" != "no" ] && [ "$CFG_OPENGL" != "desktop" ]; then
4671 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then
4672 QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4673 QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null`
4674 QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null`
4675 QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
4676 QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
4677 fi # detect EGL support
4678 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/qpa/egl" "EGL" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then
4680 elif [ "$CFG_EGL" = "yes" ]; then
4681 echo " The EGL functionality test failed; EGL is required by some QPA plugins to manage contexts & surfaces."
4682 echo " You might need to modify the include and library search paths by editing"
4683 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in ${XQMAKESPEC}."
4688 elif [ "$CFG_OPENGL" = "desktop" ]; then
4689 if [ "$CFG_EGL" = "yes" ]; then
4690 echo "EGL support was requested but Qt is being configured for desktop OpenGL."
4691 echo "Either disable EGL support or enable OpenGL ES support."
4697 if [ "$CFG_EGLFS" != "no" ]; then
4698 if [ "$CFG_OPENGL" = "es2" ]; then
4699 CFG_EGLFS="$CFG_EGL"
4705 # Determine the default QPA platform
4706 if [ -z "$QT_QPA_DEFAULT_PLATFORM" ]; then
4708 QT_QPA_DEFAULT_PLATFORM=`getXQMakeConf QT_QPA_DEFAULT_PLATFORM`
4709 if [ -z "$QT_QPA_DEFAULT_PLATFORM" ]; then
4710 if [ "$BUILD_ON_MAC" = "yes" ]; then
4711 QT_QPA_DEFAULT_PLATFORM="cocoa"
4712 elif [ "$UNAME_SYSTEM" = "QNX" ]; then
4713 QT_QPA_DEFAULT_PLATFORM="qnx"
4715 QT_QPA_DEFAULT_PLATFORM="xcb"
4720 if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
4721 QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
4722 QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
4723 QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
4725 if [ "$CFG_DIRECTFB" = "yes" ]; then
4726 QT_CONFIG="$QT_CONFIG directfb"
4727 QMakeVar set QMAKE_CFLAGS_DIRECTFB "$QMAKE_CFLAGS_DIRECTFB"
4728 QMakeVar set QMAKE_LIBS_DIRECTFB "$QMAKE_LIBS_DIRECTFB"
4731 if [ "$BUILD_ON_MAC" = "yes" ]; then
4732 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/coreservices "CoreServices" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4733 QT_CONFIG="$QT_CONFIG coreservices"
4735 QMakeVar add DEFINES QT_NO_CORESERVICES
4739 if [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ] && [ "$XPLATFORM_QNX" = "no" ]; then
4740 if [ "$CFG_XCB" = "no" ] && [ "$CFG_EGLFS" = "no" ] && [ "$CFG_DIRECTFB" = "no" ]; then
4741 if [ "$QPA_PLATFORM_GUARD" = "yes" ] &&
4742 ( [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_EGLFS" = "auto" ] || [ "$ORIG_CFG_DIRECTFB" = "auto" ] ); then
4743 echo "No QPA platform plugin enabled!"
4744 echo " If you really want to build without a QPA platform plugin you must pass"
4745 echo " -no-qpa-platform-guard to configure. Doing this will"
4746 echo " produce a Qt that can not run GUI applications."
4747 echo " The dependencies needed for xcb to build are listed in"
4748 echo " src/plugins/platforms/xcb/README"
4754 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
4757 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
4758 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
4759 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/freetype "FreeType" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4760 CFG_LIBFREETYPE=system
4766 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS &&
4767 [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4768 echo "STL functionality check failed! Cannot build Qt with this STL library."
4769 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4774 # detect POSIX clock_gettime()
4775 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
4776 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/clock-gettime "POSIX clock_gettime()" $L_FLAGS $I_FLAGS $l_FLAGS; then
4777 CFG_CLOCK_GETTIME=yes
4779 CFG_CLOCK_GETTIME=no
4783 # detect POSIX monotonic clocks
4784 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
4785 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/clock-monotonic "POSIX Monotonic Clock" $L_FLAGS $I_FLAGS $l_FLAGS; then
4786 CFG_CLOCK_MONOTONIC=yes
4788 CFG_CLOCK_MONOTONIC=no
4790 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
4791 CFG_CLOCK_MONOTONIC=no
4795 if [ "$CFG_MREMAP" = "auto" ]; then
4796 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
4803 # find if the platform provides getaddrinfo (ipv6 dns lookups)
4804 if [ "$CFG_GETADDRINFO" != "no" ]; then
4805 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
4808 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4809 echo "getaddrinfo support cannot be enabled due to functionality tests!"
4810 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4811 echo " If you believe this message is in error you may use the continue"
4812 echo " switch (-continue) to $0 to continue."
4820 # find if the platform provides inotify
4821 if [ "$CFG_INOTIFY" != "no" ]; then
4822 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
4825 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4826 echo "inotify support cannot be enabled due to functionality tests!"
4827 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4828 echo " If you believe this message is in error you may use the continue"
4829 echo " switch (-continue) to $0 to continue."
4837 # find if the platform provides if_nametoindex (ipv6 interface name support)
4838 if [ "$CFG_IPV6IFNAME" != "no" ]; then
4839 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ipv6ifname "IPv6 interface name" $L_FLAGS $I_FLAGS $l_FLAGS; then
4842 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4843 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
4844 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4845 echo " If you believe this message is in error you may use the continue"
4846 echo " switch (-continue) to $0 to continue."
4854 # find if the platform provides getifaddrs (network interface enumeration)
4855 if [ "$CFG_GETIFADDRS" != "no" ]; then
4856 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
4859 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4860 echo "getifaddrs support cannot be enabled due to functionality tests!"
4861 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4862 echo " If you believe this message is in error you may use the continue"
4863 echo " switch (-continue) to $0 to continue."
4872 if [ "$CFG_OPENSSL" != "no" ]; then
4873 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/openssl "OpenSSL" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4874 if [ "$CFG_OPENSSL" = "auto" ]; then
4878 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4879 echo "OpenSSL support cannot be enabled due to functionality tests!"
4880 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4881 echo " If you believe this message is in error you may use the continue"
4882 echo " switch (-continue) to $0 to continue."
4891 if [ "$CFG_PCRE" != "qt" ]; then
4892 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pcre "PCRE" $L_FLAGS $I_FLAGS $l_FLAGS; then
4895 if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4896 echo "PCRE support cannot be enabled due to functionality tests!"
4897 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4898 echo " If you believe this message is in error you may use the continue"
4899 echo " switch (-continue) to $0 to continue."
4907 # detect OpenVG support
4908 if [ "$CFG_OPENVG" != "no" ]; then
4909 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
4910 if [ "$CFG_OPENVG" = "auto" ]; then
4913 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG openvg_on_opengl" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
4914 if [ "$CFG_OPENVG" = "auto" ]; then
4917 CFG_OPENVG_ON_OPENGL=yes
4918 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 $l_FLAGS $CONFIG_ARG; then
4919 if [ "$CFG_OPENVG" = "auto" ]; then
4922 CFG_OPENVG_LC_INCLUDES=yes
4923 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 $l_FLAGS $CONFIG_ARG; then
4924 if [ "$CFG_OPENVG" = "auto" ]; then
4927 CFG_OPENVG_LC_INCLUDES=yes
4928 CFG_OPENVG_ON_OPENGL=yes
4930 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4931 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
4932 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4933 echo " If you believe this message is in error you may use the continue"
4934 echo " switch (-continue) to $0 to continue."
4940 if [ "$CFG_OPENVG" = "yes" ] && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/shivavg" "ShivaVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
4941 CFG_OPENVG_SHIVA=yes
4945 if [ "$CFG_ALSA" = "auto" ]; then
4946 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
4953 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
4954 if [ "$CFG_ARCH" = "arm" ]; then
4955 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
4956 if [ $? != "0" ]; then
4957 CFG_JAVASCRIPTCORE_JIT=no
4960 case "$XPLATFORM" in
4962 CFG_JAVASCRIPTCORE_JIT=no
4968 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
4969 QMakeVar set JAVASCRIPTCORE_JIT yes
4970 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
4971 QMakeVar set JAVASCRIPTCORE_JIT no
4974 if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
4975 CFG_AUDIO_BACKEND=yes
4978 if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
4979 echo "Warning: largefile support cannot be disabled for win32."
4983 #-------------------------------------------------------------------------------
4984 # ask for all that hasn't been auto-detected or specified in the arguments
4985 #-------------------------------------------------------------------------------
4988 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
4989 QT_CONFIG="$QT_CONFIG phonon-backend"
4992 # disable accessibility
4993 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
4994 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
4996 QT_CONFIG="$QT_CONFIG accessibility"
5000 if [ "$CFG_EGL" = "yes" ]; then
5001 QT_CONFIG="$QT_CONFIG egl"
5003 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
5007 if [ "$CFG_EGLFS" = "yes" ]; then
5008 QT_CONFIG="$QT_CONFIG eglfs"
5010 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGLFS"
5014 if [ "$CFG_OPENVG" = "no" ]; then
5015 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
5017 QT_CONFIG="$QT_CONFIG openvg"
5018 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
5019 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
5021 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
5022 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
5024 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
5025 QT_CONFIG="$QT_CONFIG shivavg"
5026 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
5031 if [ "$CFG_OPENGL" = "no" ]; then
5032 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
5034 QT_CONFIG="$QT_CONFIG opengl"
5037 if [ "$CFG_OPENGL" = "es2" ]; then
5038 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
5041 if [ "$CFG_OPENGL" = "es2" ]; then
5042 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5043 QT_CONFIG="$QT_CONFIG opengles2"
5046 # safe execution environment
5047 if [ "$CFG_SXE" != "no" ]; then
5048 QT_CONFIG="$QT_CONFIG sxe"
5051 # build up the variables for output
5052 if [ "$CFG_DEBUG" = "yes" ]; then
5053 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
5054 QMAKE_CONFIG="$QMAKE_CONFIG debug"
5055 elif [ "$CFG_DEBUG" = "no" ]; then
5056 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
5057 QMAKE_CONFIG="$QMAKE_CONFIG release"
5059 if [ "$CFG_SHARED" = "yes" ]; then
5060 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
5061 QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
5062 elif [ "$CFG_SHARED" = "no" ]; then
5063 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
5064 QMAKE_CONFIG="$QMAKE_CONFIG static"
5067 #FIXME: qpa is implicit this should all be removed
5068 QMAKE_CONFIG="$QMAKE_CONFIG qpa"
5069 QT_CONFIG="$QT_CONFIG qpa"
5070 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
5071 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5073 if [ "$XPLATFORM_MINGW" != "yes" ]; then
5074 # Do not set this here for Windows. Let qmake do it so
5075 # debug and release precompiled headers are kept separate.
5076 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
5078 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
5079 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
5080 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
5081 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
5082 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5083 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
5085 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
5086 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
5088 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
5089 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
5090 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
5091 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
5092 QMakeVar add QMAKE_CFLAGS -g
5093 QMakeVar add QMAKE_CXXFLAGS -g
5094 QT_CONFIG="$QT_CONFIG separate_debug_info"
5096 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
5097 QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
5099 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
5100 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
5101 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
5102 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
5103 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
5104 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
5105 [ "$CFG_AVX2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx2"
5106 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
5107 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
5108 if [ "$CFG_ARCH" = "mips" ]; then
5109 [ "$CFG_MIPS_DSP" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dsp"
5110 [ "$CFG_MIPS_DSPR2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dspr2"
5112 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
5113 QT_CONFIG="$QT_CONFIG clock-gettime"
5115 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
5116 QT_CONFIG="$QT_CONFIG clock-monotonic"
5118 if [ "$CFG_MREMAP" = "yes" ]; then
5119 QT_CONFIG="$QT_CONFIG mremap"
5121 if [ "$CFG_GETADDRINFO" = "yes" ]; then
5122 QT_CONFIG="$QT_CONFIG getaddrinfo"
5124 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
5125 QT_CONFIG="$QT_CONFIG ipv6ifname"
5127 if [ "$CFG_GETIFADDRS" = "yes" ]; then
5128 QT_CONFIG="$QT_CONFIG getifaddrs"
5130 if [ "$CFG_INOTIFY" = "yes" ]; then
5131 QT_CONFIG="$QT_CONFIG inotify"
5133 if [ "$CFG_LIBJPEG" = "no" ]; then
5135 elif [ "$CFG_LIBJPEG" = "system" ]; then
5136 QT_CONFIG="$QT_CONFIG system-jpeg"
5138 if [ "$CFG_JPEG" = "no" ]; then
5139 QT_CONFIG="$QT_CONFIG no-jpeg"
5140 elif [ "$CFG_JPEG" = "yes" ]; then
5141 QT_CONFIG="$QT_CONFIG jpeg"
5143 if [ "$CFG_LIBPNG" = "no" ]; then
5146 if [ "$CFG_LIBPNG" = "system" ]; then
5147 QT_CONFIG="$QT_CONFIG system-png"
5149 if [ "$CFG_PNG" = "no" ]; then
5150 QT_CONFIG="$QT_CONFIG no-png"
5151 elif [ "$CFG_PNG" = "yes" ]; then
5152 QT_CONFIG="$QT_CONFIG png"
5154 if [ "$CFG_GIF" = "no" ]; then
5155 QT_CONFIG="$QT_CONFIG no-gif"
5156 elif [ "$CFG_GIF" = "yes" ]; then
5157 QT_CONFIG="$QT_CONFIG gif"
5159 if [ "$CFG_LIBFREETYPE" = "no" ]; then
5160 QT_CONFIG="$QT_CONFIG no-freetype"
5161 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
5162 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
5163 QT_CONFIG="$QT_CONFIG system-freetype"
5165 QT_CONFIG="$QT_CONFIG freetype"
5167 if [ "$CFG_GUI" = "auto" ]; then
5170 if [ "$CFG_GUI" = "no" ]; then
5171 QT_CONFIG="$QT_CONFIG no-gui"
5174 if [ "$CFG_WIDGETS" = "no" ]; then
5175 QT_CONFIG="$QT_CONFIG no-widgets"
5176 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_WIDGETS"
5179 if [ "x$BUILD_ON_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5180 #On Mac we implicitly link against libz, so we
5181 #never use the 3rdparty stuff.
5182 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
5184 if [ "$CFG_ZLIB" = "yes" ]; then
5185 QT_CONFIG="$QT_CONFIG zlib"
5186 elif [ "$CFG_ZLIB" = "system" ]; then
5187 QT_CONFIG="$QT_CONFIG system-zlib"
5190 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
5191 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
5192 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
5193 [ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
5194 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
5195 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
5196 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
5197 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
5198 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
5199 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
5200 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
5201 [ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
5202 [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
5203 [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
5205 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS"
5206 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
5207 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
5209 if [ "$PLATFORM_MAC" = "yes" ] && [ "$QT_CROSS_COMPILE" = "no" ]; then
5210 if [ "$CFG_RPATH" = "yes" ]; then
5211 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
5212 # set the default rpath to the library installation directory
5213 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5215 elif [ -z "`getXQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
5216 if [ -n "$RPATH_FLAGS" ]; then
5218 echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
5222 elif [ "$CFG_RPATH" = "yes" ]; then
5223 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
5227 if [ "$CFG_RPATH" = "yes" ]; then
5228 # set the default rpath to the library installation directory
5229 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5231 if [ -n "$RPATH_FLAGS" ]; then
5232 # add the user defined rpaths
5233 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
5237 if [ '!' -z "$I_FLAGS" ]; then
5238 # add the user define include paths
5239 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
5240 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
5243 if [ '!' -z "$W_FLAGS" ]; then
5244 # add the user defined warning flags
5245 QMakeVar add QMAKE_CFLAGS_WARN_ON "$W_FLAGS"
5246 QMakeVar add QMAKE_CXXFLAGS_WARN_ON "$W_FLAGS"
5247 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS"
5250 if [ "$XPLATFORM_MINGW" = "yes" ]; then
5251 # mkspecs/features/win32/default_pre.prf sets "no-rtti".
5252 # Follow default behavior of configure.exe by overriding with "rtti".
5253 QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
5256 if [ "$CFG_ALSA" = "yes" ]; then
5257 QT_CONFIG="$QT_CONFIG alsa"
5260 if [ "$CFG_PULSEAUDIO" = "yes" ]; then
5261 QT_CONFIG="$QT_CONFIG pulseaudio"
5264 if [ "$CFG_COREWLAN" = "yes" ]; then
5265 QT_CONFIG="$QT_CONFIG corewlan"
5268 if [ "$CFG_ICU" = "yes" ]; then
5269 QT_CONFIG="$QT_CONFIG icu"
5272 if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
5273 QT_CONFIG="$QT_CONFIG force_asserts"
5276 if [ "$CFG_PCRE" = "qt" ]; then
5277 QMAKE_CONFIG="$QMAKE_CONFIG pcre"
5281 # Some Qt modules are too advanced in C++ for some old compilers
5282 # Detect here the platforms where they are known to work.
5284 # See Qt documentation for more information on which features are
5285 # supported and on which compilers.
5287 canBuildQtConcurrent="yes"
5288 canUseV8Snapshot="yes"
5290 case "$XPLATFORM" in
5292 # PA-RISC's assembly is too limited
5293 # gcc 3.4 on that platform can't build QtXmlPatterns
5294 # the assembly it generates cannot be compiled
5296 # Check gcc's version
5297 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5301 canBuildQtXmlPatterns="no"
5305 canBuildQtXmlPatterns="no"
5309 unsupported/vxworks-*-g++*)
5312 unsupported/vxworks-*-dcc*)
5314 canBuildQtXmlPatterns="no"
5317 # Check gcc's version
5318 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5326 canBuildQtXmlPatterns="no"
5331 # Check the compiler version
5332 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
5335 canBuildQtXmlPatterns="no"
5336 canBuildQtConcurrent="no"
5340 canBuildQtConcurrent="no"
5346 canBuildQtXmlPatterns="no"
5347 canBuildQtConcurrent="no"
5353 # Get the xlC version
5354 cat > xlcver.c <<EOF
5358 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
5363 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
5364 xlcver=`./xlcver 2>/dev/null`
5367 if [ "$OPT_VERBOSE" = "yes" ]; then
5368 if [ -n "$xlcver" ]; then
5369 echo Found IBM xlC version: $xlcver.
5371 echo Could not determine IBM xlC version, assuming oldest supported.
5378 canBuildQtXmlPatterns="no"
5379 canBuildQtConcurrent="no"
5383 canBuildQtConcurrent="no"
5389 canBuildQtConcurrent="no"
5393 if [ "$CFG_GUI" = "no" ]; then
5394 # WebKit requires QtGui
5398 if [ "$CFG_SHARED" = "no" ]; then
5400 echo "WARNING: Using static linking will disable the WebKit module."
5405 CFG_CONCURRENT="yes"
5406 if [ "$canBuildQtConcurrent" = "no" ]; then
5407 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
5410 QT_CONFIG="$QT_CONFIG concurrent"
5414 if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
5415 QT_CONFIG="$QT_CONFIG audio-backend"
5419 if [ "$CFG_WEBKIT" = "debug" ]; then
5420 QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
5424 QT_CONFIG="$QT_CONFIG v8"
5425 # Detect snapshot support
5426 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
5427 case "$CFG_HOST_ARCH,$CFG_ARCH" in
5430 *) canUseV8Snapshot="no"
5434 if [ -n "$_SBOX_DIR" -a "$CFG_ARCH" = "arm" ]; then
5435 # QEMU crashes when building inside Scratchbox with an ARM target
5436 canUseV8Snapshot="no"
5439 if [ "$CFG_V8SNAPSHOT" = "auto" ]; then
5440 CFG_V8SNAPSHOT="$canUseV8Snapshot"
5442 if [ "$CFG_V8SNAPSHOT" = "yes" -a "$canUseV8Snapshot" = "no" ]; then
5443 echo "Error: V8 snapshot was requested, but is not supported on this platform."
5446 if [ "$CFG_V8SNAPSHOT" = "yes" ]; then
5447 QT_CONFIG="$QT_CONFIG v8snapshot"
5451 if [ "$CFG_QML_DEBUG" = "no" ]; then
5452 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QML_NO_DEBUGGER"
5455 case "$QMAKE_CONF_COMPILER" in
5458 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
5460 case "$COMPILER_VERSION" in
5462 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
5463 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
5464 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
5467 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
5468 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
5469 QT_GCC_PATCH_VERSION=0
5479 #-------------------------------------------------------------------------------
5480 # part of configuration information goes into qconfig.h
5481 #-------------------------------------------------------------------------------
5483 case "$CFG_QCONFIG" in
5485 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
5488 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
5489 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
5490 if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
5491 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
5492 elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
5493 cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
5495 echo "#endif" >>"$tmpconfig"
5499 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
5503 # define QT_EDITION $QT_EDITION
5507 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
5508 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
5510 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5511 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
5514 if [ "$CFG_FRAMEWORK" = "yes" ]; then
5515 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
5518 if [ "$BUILD_ON_MAC" = "yes" ]; then
5519 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
5520 #if defined(__LP64__)
5521 # define QT_POINTER_SIZE 8
5523 # define QT_POINTER_SIZE 4
5527 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5528 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
5531 #REDUCE_RELOCATIONS is a elf/unix only thing, so not in windows configure.exe
5532 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
5533 echo "#define QT_REDUCE_RELOCATIONS" >>"$outpath/src/corelib/global/qconfig.h.new"
5537 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
5539 if [ "$CFG_DEV" = "yes" ]; then
5540 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
5543 # Add QPA to config.h
5544 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
5546 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
5547 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
5550 # Add turned on SQL drivers
5551 for DRIVER in $CFG_SQL_AVAILABLE; do
5552 eval "VAL=\$CFG_SQL_$DRIVER"
5555 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
5556 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
5557 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
5560 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
5566 QMakeVar set sql-drivers "$SQL_DRIVERS"
5567 QMakeVar set sql-plugins "$SQL_PLUGINS"
5569 # Add other configuration options to the qconfig.h file
5570 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
5571 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
5572 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
5573 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
5574 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
5575 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
5577 # X11/Unix/Mac only configs
5578 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
5579 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
5580 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
5581 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
5582 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
5583 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
5584 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
5585 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
5586 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
5587 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
5588 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
5589 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
5590 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
5591 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
5593 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
5594 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
5595 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
5596 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
5597 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
5598 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
5599 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
5600 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
5601 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
5602 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
5603 [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
5604 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
5605 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
5607 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
5608 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
5609 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
5610 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
5611 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
5612 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
5613 [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
5614 [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
5616 # sort QCONFIG_FLAGS for neatness if we can
5617 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
5618 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
5620 if [ -n "$QCONFIG_FLAGS" ]; then
5621 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5622 #ifndef QT_BOOTSTRAPPED
5625 for cfg in $QCONFIG_FLAGS; do
5626 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
5627 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
5628 # figure out define logic, so we can output the correct
5629 # ifdefs to override the global defines in a project
5631 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
5632 # QT_NO_option can be forcefully turned on by QT_option
5633 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
5634 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
5635 # QT_option can be forcefully turned off by QT_NO_option
5636 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
5639 if [ -z $cfgdNeg ]; then
5640 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5647 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5648 #if defined($cfgd) && defined($cfgdNeg)
5650 #elif !defined($cfgd) && !defined($cfgdNeg)
5657 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5658 #endif // QT_BOOTSTRAPPED
5663 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
5664 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5665 #define QT_VISIBILITY_AVAILABLE
5670 if [ -n "$QT_LIBINFIX" ]; then
5671 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5672 #define QT_LIBINFIX "$QT_LIBINFIX"
5677 echo "#define QT_QPA_DEFAULT_PLATFORM_NAME \"$QT_QPA_DEFAULT_PLATFORM\"" >>"$outpath/src/corelib/global/qconfig.h.new"
5679 # avoid unecessary rebuilds by copying only if qconfig.h has changed
5680 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
5681 rm -f "$outpath/src/corelib/global/qconfig.h.new"
5683 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
5684 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
5685 chmod -w "$outpath/src/corelib/global/qconfig.h"
5686 if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then
5687 ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h"
5691 #-------------------------------------------------------------------------------
5692 # save configuration into qconfig.pri
5693 #-------------------------------------------------------------------------------
5694 QTCONFIG="$outpath/mkspecs/qconfig.pri"
5695 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
5696 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
5697 if [ "$CFG_DEBUG" = "yes" ]; then
5698 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
5699 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
5700 QT_CONFIG="$QT_CONFIG release"
5702 QT_CONFIG="$QT_CONFIG debug"
5703 elif [ "$CFG_DEBUG" = "no" ]; then
5704 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
5705 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
5706 QT_CONFIG="$QT_CONFIG debug"
5708 QT_CONFIG="$QT_CONFIG release"
5710 if [ "$CFG_FRAMEWORK" = "no" ]; then
5711 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
5713 QT_CONFIG="$QT_CONFIG qt_framework"
5714 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
5716 if [ "$CFG_DEV" = "yes" ]; then
5717 QT_CONFIG="$QT_CONFIG private_tests"
5720 cat >>"$QTCONFIG.tmp" <<EOF
5722 CONFIG += $QTCONFIG_CONFIG
5724 QT_HOST_ARCH = $CFG_HOST_ARCH
5725 QT_CPU_FEATURES = $CFG_CPUFEATURES
5726 QT_HOST_CPU_FEATURES = $CFG_HOST_CPUFEATURES
5727 QT_EDITION = $Edition
5728 QT_CONFIG += $QT_CONFIG
5731 QT_VERSION = $QT_VERSION
5732 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
5733 QT_MINOR_VERSION = $QT_MINOR_VERSION
5734 QT_PATCH_VERSION = $QT_PATCH_VERSION
5737 QT_LIBINFIX = $QT_LIBINFIX
5738 QT_NAMESPACE = $QT_NAMESPACE
5742 if [ -n "$PKG_CONFIG_SYSROOT_DIR" ] || [ -n "$PKG_CONFIG_LIBDIR" ]; then
5743 echo "# pkgconfig" >> "$QTCONFIG.tmp"
5744 echo "PKG_CONFIG_SYSROOT_DIR = $PKG_CONFIG_SYSROOT_DIR" >> "$QTCONFIG.tmp"
5745 echo "PKG_CONFIG_LIBDIR = $PKG_CONFIG_LIBDIR" >> "$QTCONFIG.tmp"
5746 echo >> "$QTCONFIG.tmp"
5749 if [ -n "$CFG_SYSROOT" ]; then
5750 echo "# sysroot" >>"$QTCONFIG.tmp"
5751 echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
5752 echo " QMAKE_CFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
5753 echo " QMAKE_CXXFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
5754 echo " QMAKE_LFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
5755 echo "}" >> "$QTCONFIG.tmp"
5756 echo >> "$QTCONFIG.tmp"
5758 if [ -n "$RPATH_FLAGS" ]; then
5759 echo "QMAKE_RPATHDIR += $RPATH_FLAGS" >> "$QTCONFIG.tmp"
5761 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
5762 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
5763 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
5764 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
5767 if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
5768 echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
5769 echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp"
5772 # replace qconfig.pri if it differs from the newly created temp file
5773 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
5774 rm -f "$QTCONFIG.tmp"
5776 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
5779 #-------------------------------------------------------------------------------
5780 # save configuration into qmodule.pri
5781 #-------------------------------------------------------------------------------
5782 QTMODULE="$outpath/mkspecs/qmodule.pri"
5784 echo "CONFIG += create_prl link_prl" >> "$QTMODULE.tmp"
5786 # Ensure we can link to uninistalled libraries
5787 if [ "$BUILD_ON_MAC" != "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
5788 echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
5790 if [ -n "$QT_CFLAGS_PSQL" ]; then
5791 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
5793 if [ -n "$QT_LFLAGS_PSQL" ]; then
5794 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
5796 if [ -n "$QT_CFLAGS_MYSQL" ]; then
5797 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
5799 if [ -n "$QT_LFLAGS_MYSQL" ]; then
5800 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
5802 if [ -n "$QT_CFLAGS_SQLITE" ]; then
5803 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
5805 if [ -n "$QT_LFLAGS_SQLITE" ]; then
5806 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
5808 if [ -n "$QT_LFLAGS_ODBC" ]; then
5809 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
5811 if [ -n "$QT_LFLAGS_TDS" ]; then
5812 echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
5815 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
5816 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
5819 #dump in the OPENSSL_LIBS info
5820 if [ '!' -z "$OPENSSL_LIBS" ]; then
5821 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
5822 elif [ "$CFG_OPENSSL" = "linked" ]; then
5823 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
5826 #dump in the SDK info
5827 if [ '!' -z "$CFG_SDK" ]; then
5828 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
5832 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
5833 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
5835 # replace qmodule.pri if it differs from the newly created temp file
5836 if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
5837 rm -f "$QTMODULE.tmp"
5839 mv -f "$QTMODULE.tmp" "$QTMODULE"
5842 #-------------------------------------------------------------------------------
5843 # save configuration into .qmake.cache
5844 #-------------------------------------------------------------------------------
5846 CACHEFILE="$outpath/.qmake.cache"
5847 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
5848 cat >>"$CACHEFILE.tmp" <<EOF
5850 QT_SOURCE_TREE = \$\$quote($relpath)
5851 QT_BUILD_TREE = \$\$quote($outpath)
5852 QT_BUILD_PARTS = $CFG_BUILD_PARTS
5854 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
5855 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
5856 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
5858 include(\$\$PWD/mkspecs/qmodule.pri)
5859 CONFIG += $QMAKE_CONFIG dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
5863 #dump the qmake spec
5864 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
5865 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
5867 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
5870 # replace .qmake.cache if it differs from the newly created temp file
5871 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
5872 rm -f "$CACHEFILE.tmp"
5874 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
5877 #-------------------------------------------------------------------------------
5878 # give feedback on configuration
5879 #-------------------------------------------------------------------------------
5880 exec 3>&1 1>$outpath/config.summary # redirect output temporarily to config.summary
5883 if [ "$XPLATFORM" = "$PLATFORM" ]; then
5884 echo "Build type: $PLATFORM"
5886 echo "Building on: $PLATFORM"
5887 echo "Building for: $XPLATFORM"
5890 # the missing space before $CFG_FEATURES is intentional
5891 echo "Architecture: $CFG_ARCH, features:$CFG_CPUFEATURES"
5892 echo "Host architecture: $CFG_HOST_ARCH, features:$CFG_HOST_CPUFEATURES"
5894 if [ -n "$PLATFORM_NOTES" ]; then
5895 echo "Platform notes:"
5896 echo "$PLATFORM_NOTES"
5901 if [ "$OPT_VERBOSE" = "yes" ]; then
5902 echo $ECHO_N "qmake vars .......... $ECHO_C"
5903 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
5904 echo "qmake switches ......... $QMAKE_SWITCHES"
5907 echo "Build .................. $CFG_BUILD_PARTS"
5908 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
5909 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
5910 echo "Debug .................. yes (combined)"
5911 if [ "$CFG_DEBUG" = "yes" ]; then
5912 echo "Default Link ........... debug"
5914 echo "Default Link ........... release"
5917 echo "Debug .................. $CFG_DEBUG"
5919 if [ -n "$PKG_CONFIG" ]; then
5920 echo "pkg-config ............. yes"
5922 echo "pkg-config ............. no"
5924 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
5925 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
5926 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
5927 echo "QtConcurrent code ...... $CFG_CONCURRENT"
5928 echo "QtGui module ........... $CFG_GUI"
5929 echo "QtWidgets module ....... $CFG_WIDGETS"
5930 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
5931 echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
5933 echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
5935 echo "QML debugging .......... $CFG_QML_DEBUG"
5936 echo "PCH support ............ $CFG_PRECOMPILE"
5937 if [ "$CFG_ARCH" = "i386" -o "$CFG_ARCH" = "x86_64" ]; then
5938 echo "SSE2/SSE3/SSSE3......... ${CFG_SSE2}/${CFG_SSE3}/${CFG_SSSE3}"
5939 echo "SSE4.1/SSE4.2........... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
5940 echo "AVX/AVX2................ ${CFG_AVX}/${CFG_AVX2}"
5941 elif [ "$CFG_ARCH" = "arm" ]; then
5942 echo "iWMMXt support ......... ${CFG_IWMMXT}"
5943 echo "NEON support ........... ${CFG_NEON}"
5945 if [ "$CFG_ARCH" = "mips" ]; then
5946 echo "MIPS_DSP/MIPS_DSPR2..... ${CFG_MIPS_DSP}/${CFG_MIPS_DSPR2}"
5948 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
5949 echo "getaddrinfo support .... $CFG_GETADDRINFO"
5950 echo "getifaddrs support ..... $CFG_GETIFADDRS"
5951 echo "Accessibility .......... $CFG_ACCESSIBILITY"
5952 echo "NIS support ............ $CFG_NIS"
5953 echo "CUPS support ........... $CFG_CUPS"
5954 echo "Iconv support .......... $CFG_ICONV"
5955 echo "Glib support ........... $CFG_GLIB"
5956 echo "GStreamer support ...... $CFG_GSTREAMER"
5957 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
5958 echo "Large File support ..... $CFG_LARGEFILE"
5959 echo "GIF support ............ $CFG_GIF"
5960 if [ "$CFG_JPEG" = "no" ]; then
5961 echo "JPEG support ........... $CFG_JPEG"
5963 echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
5965 if [ "$CFG_PNG" = "no" ]; then
5966 echo "PNG support ............ $CFG_PNG"
5968 echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
5970 echo "zlib support ........... $CFG_ZLIB"
5971 echo "Session management ..... $CFG_SM"
5972 echo "libudev support ........ $CFG_LIBUDEV"
5974 if [ "$CFG_OPENGL" = "desktop" ]; then
5975 echo "OpenGL support ......... yes (Desktop OpenGL)"
5976 elif [ "$CFG_OPENGL" = "es2" ]; then
5977 echo "OpenGL support ......... yes (OpenGL ES 2.x)"
5979 echo "OpenGL support ......... no"
5982 if [ "$CFG_OPENVG" ]; then
5983 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
5984 echo "OpenVG support ......... ShivaVG"
5986 echo "OpenVG support ......... $CFG_OPENVG"
5990 echo "XShape support ......... $CFG_XSHAPE"
5991 echo "XVideo support ......... $CFG_XVIDEO"
5992 echo "XSync support .......... $CFG_XSYNC"
5993 echo "Xinerama support ....... $CFG_XINERAMA"
5994 echo "Xcursor support ........ $CFG_XCURSOR"
5995 echo "Xfixes support ......... $CFG_XFIXES"
5996 echo "Xrandr support ......... $CFG_XRANDR"
5997 echo "Xi support ............. $CFG_XINPUT"
5998 echo "MIT-SHM support ........ $CFG_MITSHM"
5999 echo "FontConfig support ..... $CFG_FONTCONFIG"
6000 echo "XKB Support ............ $CFG_XKB"
6001 echo "immodule support ....... $CFG_IM"
6002 echo "GTK theme support ...... $CFG_QGTKSTYLE"
6004 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
6005 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
6006 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
6007 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
6008 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
6009 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
6010 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
6011 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
6012 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
6015 if [ "$CFG_OPENSSL" = "yes" ]; then
6016 OPENSSL_LINKAGE="(run-time)"
6017 elif [ "$CFG_OPENSSL" = "linked" ]; then
6018 OPENSSL_LINKAGE="(linked)"
6020 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
6021 echo "Alsa support ........... $CFG_ALSA"
6022 if [ "$BUILD_ON_MAC" = "yes" ]; then
6023 echo "CoreWlan support ....... $CFG_COREWLAN"
6025 echo "libICU support ......... $CFG_ICU"
6026 echo "PCRE support ........... $CFG_PCRE"
6027 if [ "$CFG_XCB_LIMITED" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6028 echo "Xcb support ............ limited (old version)"
6030 echo "Xcb support ............ $CFG_XCB"
6032 echo "Xrender support ........ $CFG_XRENDER"
6033 if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6034 echo "XInput2 support ........ $CFG_XINPUT2"
6036 echo "EGLFS support .......... $CFG_EGLFS"
6037 echo "DirectFB support ....... $CFG_DIRECTFB"
6040 # complain about not being able to use dynamic plugins if we are using a static build
6041 if [ "$CFG_SHARED" = "no" ]; then
6043 echo "WARNING: Using static linking will disable the use of dynamically"
6044 echo "loaded plugins. Make sure to import all needed static plugins,"
6045 echo "or compile needed modules into the library."
6048 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
6050 echo "NOTE: When linking against OpenSSL, you can override the default"
6051 echo "library names through OPENSSL_LIBS."
6053 echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
6057 exec 1>&3 3>&- # restore stdout
6058 cat $outpath/config.summary # display config feedback to user
6060 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
6062 echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
6063 echo "if you want a pure debug build."
6068 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
6073 #-------------------------------------------------------------------------------
6074 # build makefiles based on the configuration
6075 #-------------------------------------------------------------------------------
6077 echo "Finding project files. Please wait..."
6078 if [ "$CFG_NOPROCESS" != "yes" ]; then
6079 "$outpath/bin/qmake" -prl -r "${relpath}/qtbase.pro"
6080 if [ -f "${relpath}/qtbase.pro" ]; then
6081 mkfile="${outpath}/Makefile"
6082 [ -f "$mkfile" ] && chmod +w "$mkfile"
6083 QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/qtbase.pro" -o "$mkfile"
6087 # .projects -> projects to process
6088 # .projects.1 -> qt and moc
6089 # .projects.2 -> subdirs and libs
6090 # .projects.3 -> the rest
6091 rm -f .projects .projects.1 .projects.2 .projects.3
6093 QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
6094 if [ -z "$AWK" ]; then
6095 for p in `echo $QMAKE_PROJECTS`; do
6096 echo "$p" >> .projects
6099 cat >projects.awk <<EOF
6105 first = "./.projects.1.tmp"
6106 second = "./.projects.2.tmp"
6107 third = "./.projects.3.tmp"
6112 if ( ! target_file )
6114 print input_file >target_file
6119 input_file = FILENAME
6124 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
6127 } else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) {
6128 target_file = second
6133 matched_target == 0 && /^(TEMPLATE.*=)/ {
6134 if ( \$3 == "subdirs" )
6135 target_file = second
6136 else if ( \$3 == "lib" )
6142 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
6143 if ( \$0 ~ /plugin/ )
6146 target_file = second
6151 if ( ! target_file )
6153 print input_file >>target_file
6160 for p in `echo $QMAKE_PROJECTS`; do
6161 echo "$p" >> .projects.all
6164 # if you get errors about the length of the command line to awk, change the -l arg
6166 split -l 100 .projects.all .projects.all.
6167 for p in .projects.all.*; do
6168 "$AWK" -f projects.awk `cat $p`
6169 [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
6170 [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
6171 [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
6172 rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
6174 rm -f .projects.all* projects.awk
6176 [ -f .projects.1 ] && cat .projects.1 >>.projects
6177 [ -f .projects.2 ] && cat .projects.2 >>.projects
6178 rm -f .projects.1 .projects.2
6179 if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
6180 cat .projects.3 >>.projects
6184 # don't sort Qt and MOC in with the other project files
6185 # also work around a segfaulting uniq(1)
6186 if [ -f .sorted.projects.2 ]; then
6187 sort .sorted.projects.2 > .sorted.projects.2.new
6188 mv -f .sorted.projects.2.new .sorted.projects.2
6189 cat .sorted.projects.2 >> .sorted.projects.1
6191 [ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
6192 rm -f .sorted.projects.2 .sorted.projects.1
6196 if [ -f .projects ]; then
6197 uniq .projects >.tmp
6198 mv -f .tmp .projects
6199 NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
6201 if [ -f .projects.3 ]; then
6202 uniq .projects.3 >.tmp
6203 mv -f .tmp .projects.3
6204 FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
6206 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
6210 for part in $CFG_BUILD_PARTS; do
6212 tools) PART_ROOTS="$PART_ROOTS tools" ;;
6213 libs) PART_ROOTS="$PART_ROOTS src" ;;
6214 translations) PART_ROOTS="$PART_ROOTS translations" ;;
6215 examples) PART_ROOTS="$PART_ROOTS examples" ;;
6220 if [ "$CFG_DEV" = "yes" ]; then
6221 PART_ROOTS="$PART_ROOTS tests"
6224 echo "Creating makefiles. Please wait..."
6225 for file in .projects .projects.3; do
6226 [ '!' -f "$file" ] && continue
6227 for a in `cat $file`; do
6229 for r in $PART_ROOTS; do
6230 if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
6235 [ "$IN_ROOT" = "no" ] && continue
6238 *winmain/winmain.pro)
6239 if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_MINGW" != "yes" ]; then
6243 */qmake/qmake.pro) continue ;;
6244 *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*|*tools/qdoc*|*tools/qdbusxml2cpp*|*tools/qdbuscpp2xml*) SPEC=$QMAKESPEC ;;
6245 *) if [ "$CFG_NOPROCESS" = "yes" ]; then
6251 dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
6252 test -d "$dir" || mkdir -p "$dir"
6253 OUTDIR="$outpath/$dir"
6254 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
6255 # fast configure - the makefile exists, skip it
6256 # since the makefile exists, it was generated by qmake, which means we
6257 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
6259 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
6262 QMAKE_SPEC_ARGS="-spec $SPEC"
6263 echo $ECHO_N " for $a$ECHO_C"
6265 QMAKE="$outpath/bin/qmake"
6266 QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
6267 if [ "$file" = ".projects.3" ]; then
6270 cat >"${OUTDIR}/Makefile" <<EOF
6271 # ${OUTDIR}/Makefile: generated by configure
6273 # WARNING: This makefile will be replaced with a real makefile.
6274 # All changes made to this file will be lost.
6276 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
6278 cat >>"${OUTDIR}/Makefile" <<EOF
6280 all clean install qmake first Makefile: FORCE
6281 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
6289 if [ "$OPT_VERBOSE" = "yes" ]; then
6290 echo " (`basename $SPEC`)"
6291 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
6296 [ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
6297 QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
6301 rm -f .projects .projects.3
6303 #-------------------------------------------------------------------------------
6304 # check for platforms that we don't yet know about
6305 #-------------------------------------------------------------------------------
6306 if [ "$CFG_ARCH" = "unknown" ]; then
6309 NOTICE: configure was unable to determine the architecture
6310 for the $XQMAKESPEC target.
6312 Qt will not use a specialized implementation for any atomic
6313 operations. Instead a generic implemention based on either GCC
6314 intrinsics or C++11 std::atomic<T> will be used (when
6315 available). The generic implementations are generally as fast
6316 as and always as safe as a specialized implementation.
6318 If no generic implementation is available, Qt will use a
6319 fallback UNIX implementation which uses a single
6320 pthread_mutex_t to protect all atomic operations. This
6321 implementation is the slow (but safe) fallback implementation
6322 for architectures Qt does not yet support.
6326 #-------------------------------------------------------------------------------
6327 # check if the user passed the -no-zlib option, which is no longer supported
6328 #-------------------------------------------------------------------------------
6329 if [ -n "$ZLIB_FORCED" ]; then
6330 which_zlib="supplied"
6331 if [ "$CFG_ZLIB" = "system" ]; then
6337 NOTICE: The -no-zlib option was supplied but is no longer
6340 Qt now requires zlib support in all builds, so the -no-zlib
6341 option was ignored. Qt will be built using the $which_zlib
6346 #-------------------------------------------------------------------------------
6347 # check if the user passed the obsoleted -wayland or -no-wayland flag
6348 #-------------------------------------------------------------------------------
6349 if [ "$CFG_OBSOLETE_WAYLAND" = "yes" ]; then
6352 NOTICE: The -wayland and -no-wayland flags are now obsolete
6354 All configuring of QtWayland plugin and QtCompositor happens in the module
6358 #-------------------------------------------------------------------------------
6359 # check if the user passed the obsoleted -arch or -host-arch options
6360 #-------------------------------------------------------------------------------
6361 if [ "$OPT_OBSOLETE_HOST_ARG" = "yes" ]; then
6364 NOTICE: The -arch and -host-arch options are obsolete.
6366 Qt now detects the target and host architectures based on compiler
6367 output. Qt will be built using $CFG_ARCH for the target architecture
6368 and $CFG_HOST_ARCH for the host architecture (note that these two
6369 will be the same unless you are cross-compiling).
6373 #-------------------------------------------------------------------------------
6374 # finally save the executed command to another script
6375 #-------------------------------------------------------------------------------
6376 if [ `basename $0` != "config.status" ]; then
6377 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
6379 # add the system variables
6380 for varname in $SYSTEM_VARIABLES; do
6382 'if [ -n "\$'${varname}'" ]; then
6383 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
6388 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
6390 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
6391 echo "#!/bin/sh" > "$outpath/config.status"
6392 [ -n "$PKG_CONFIG_SYSROOT_DIR" ] && \
6393 echo "export PKG_CONFIG_SYSROOT_DIR=$PKG_CONFIG_SYSROOT_DIR" >> "$outpath/config.status"
6394 [ -n "$PKG_CONFIG_LIBDIR" ] && \
6395 echo "export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR" >> "$outpath/config.status"
6396 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
6397 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
6398 echo "else" >> "$outpath/config.status"
6399 echo " $CONFIG_STATUS" >> "$outpath/config.status"
6400 echo "fi" >> "$outpath/config.status"
6401 chmod +x "$outpath/config.status"
6404 if [ -n "$RPATH_MESSAGE" ]; then
6406 echo "$RPATH_MESSAGE"
6409 MAKE=`basename "$MAKE"`
6411 echo Qt is now configured for building. Just run \'$MAKE\'.
6412 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
6413 echo Once everything is built, Qt is installed.
6414 echo You should not run \'$MAKE install\'.
6416 echo Once everything is built, you must run \'$MAKE install\'.
6417 echo Qt will be installed into $QT_INSTALL_PREFIX
6420 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.