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
778 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
779 XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
783 OPT_CONFIRM_LICENSE=no
796 QPA_PLATFORM_GUARD=yes
798 # initalize variables used for installation
807 QT_INSTALL_TRANSLATIONS=
816 #flags for SQL drivers
824 QT_LFLAGS_ODBC="-lodbc"
827 # flags for libdbus-1
831 # flags for Glib (X11 only)
835 # flags for GStreamer (X11 only)
839 # default qpa platform
840 QT_QPA_DEFAULT_PLATFORM=
842 #-------------------------------------------------------------------------------
843 # check SQL drivers available in this package
844 #-------------------------------------------------------------------------------
846 # opensource version removes some drivers, so force them to be off
852 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
853 for a in "$relpath/src/plugins/sqldrivers/"*; do
855 base_a=`basename "$a"`
856 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
857 eval "CFG_SQL_${base_a}=auto"
862 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
863 if [ -d "$relpath/src/plugins/imageformats" ]; then
864 for a in "$relpath/src/plugins/imageformats/"*; do
866 base_a=`basename "$a"`
867 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
872 #-------------------------------------------------------------------------------
873 # parse command line arguments
874 #-------------------------------------------------------------------------------
876 # parse the arguments, setting things to "yes" or "no"
877 while [ "$#" -gt 0 ]; do
881 #Autoconf style options
883 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
887 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
891 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
892 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
895 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
899 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
903 -no-*-*|-plugin-*-*|-qt-*-*)
904 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
905 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
909 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
912 #Qt style yes options
913 -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)
914 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
917 #Qt style options that pass an argument
920 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
924 -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)
925 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
929 #Qt style complex options in one command
930 -enable-*|-disable-*)
931 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
932 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
934 #Qt Builtin/System style options
935 -no-*|-system-*|-qt-*)
936 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
937 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
939 #Options that cannot be generalized
946 # this option may or may not be followed by an argument
947 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
956 # this option may or may not be followed by an argument
957 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
965 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
966 # this option may or may not be followed by an argument
967 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
986 if [ "$1" = "-D" ]; then
990 VAL=`echo $1 | sed 's,-D,,'`
995 # this option may or may not be followed by an argument
996 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1005 if [ "$1" = "-I" ]; then
1009 VAL=`echo $1 | sed 's,-I,,'`
1014 if [ "$1" = "-L" ]; then
1018 VAL=`echo $1 | sed 's,-L,,'`
1023 if [ "$1" = "-R" ]; then
1027 VAL=`echo $1 | sed 's,-R,,'`
1032 if [ "$1" = "-l" ]; then
1036 VAL=`echo $1 | sed 's,-l,,'`
1041 if [ "$1" = "-F" ]; then
1045 VAL=`echo $1 | sed 's,-F,,'`
1050 if [ "$1" = "-fw" ]; then
1054 VAL=`echo $1 | sed 's,-fw,,'`
1062 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1069 if [ "$UNKNOWN_ARG" = "yes" ]; then
1070 echo "$1: unknown argument"
1081 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1082 CFG_ACCESSIBILITY="$VAL"
1091 CFG_USE_GNUMAKE="$VAL"
1094 CFG_MYSQL_CONFIG="$VAL"
1097 QT_INSTALL_PREFIX="$VAL"
1100 QT_HOST_PREFIX="$VAL"
1109 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1110 CFG_PKGCONFIG="$VAL"
1116 CFG_PKGCONFIG="force"
1119 QT_INSTALL_DOCS="$VAL"
1122 QT_INSTALL_HEADERS="$VAL"
1125 QT_INSTALL_PLUGINS="$VAL"
1128 QT_INSTALL_IMPORTS="$VAL"
1131 QT_INSTALL_DATA="$VAL"
1134 QT_INSTALL_LIBS="$VAL"
1143 QT_INSTALL_TRANSLATIONS="$VAL"
1145 sysconfdir|settingsdir)
1146 QT_INSTALL_SETTINGS="$VAL"
1149 QT_INSTALL_EXAMPLES="$VAL"
1152 QT_INSTALL_TESTS="$VAL"
1161 QT_INSTALL_BINS="$VAL"
1167 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1174 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1175 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1176 [ "$VAL" = "es2" ]; then
1183 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1190 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1193 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1196 if [ "$BUILD_ON_MAC" = "yes" ]; then
1203 OPT_OBSOLETE_HOST_ARG=yes
1206 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1207 CFG_MAC_HARFBUZZ="$VAL"
1214 if [ "$BUILD_ON_MAC" = "yes" ]; then
1215 CFG_FRAMEWORK="$VAL"
1221 if [ "$VAL" = "yes" ]; then
1223 QMakeVar add QMAKE_CFLAGS -pg
1224 QMakeVar add QMAKE_CXXFLAGS -pg
1225 QMakeVar add QMAKE_LFLAGS -pg
1226 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1232 if [ "$VAL" = "yes" ]; then
1233 QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon"
1238 # keep compatibility with old platform names
1244 PLATFORM=hpux-acc-o64
1247 PLATFORM=hpux-acc-64
1250 PLATFORM=hpux-acc-64
1262 PLATFORM=reliant-cds-64
1265 PLATFORM=solaris-cc-64
1268 PLATFORM=unixware-cc
1271 PLATFORM=unixware-g++
1274 PLATFORM=unixware-cc
1277 PLATFORM=unixware-g++
1283 i386) NATIVE_64_ARCH="x86_64" ;;
1284 powerpc) NATIVE_64_ARCH="ppc64" ;;
1285 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1287 if [ ! -z "$NATIVE_64_ARCH" ]; then
1288 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1295 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1298 XPLATFORM=`resolveDeviceMkspec $VAL`
1299 [ "$XPLATFORM" = "undefined" ] && exit 101
1302 DEV_VAR=`echo $VAL | sed "s,^\(.*\)=.*,\1,"`
1303 DEV_VAL=`echo $VAL | sed "s,^.*=\(.*\),\1,"`
1304 DeviceVar set $DEV_VAR $DEV_VAL
1307 QT_QPA_DEFAULT_PLATFORM="$VAL"
1310 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1311 CFG_DEBUG_RELEASE="$VAL"
1317 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1318 CFG_RELEASE_QMAKE="$VAL"
1324 if [ "$VAL" = "yes" ]; then
1326 elif [ "$VAL" = "no" ]; then
1333 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1334 CFG_PREFIX_INSTALL="$VAL"
1342 developer-build|commercial|opensource)
1343 # These switches have been dealt with already
1346 if [ "$VAL" = "yes" ]; then
1348 elif [ "$VAL" = "no" ]; then
1355 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1356 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1362 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1363 if [ "$VAL" = "no" ]; then
1364 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1365 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1366 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1372 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1379 if [ "$VAL" = "no" ]; then
1386 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1394 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1401 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1408 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1415 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1422 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1429 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1436 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1443 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1444 CFG_PRECOMPILE="$VAL"
1449 separate-debug-info)
1450 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1451 CFG_SEPARATE_DEBUG_INFO="$VAL"
1452 elif [ "$VAL" = "nocopy" ] ; then
1453 CFG_SEPARATE_DEBUG_INFO="yes"
1454 CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1460 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1461 CFG_REDUCE_EXPORTS="$VAL"
1467 if [ "$VAL" = "no" ]; then
1474 if [ "$VAL" = "no" ]; then
1481 if [ "$VAL" = "no" ]; then
1488 if [ "$VAL" = "no" ]; then
1495 if [ "$VAL" = "no" ]; then
1502 if [ "$VAL" = "no" ]; then
1509 if [ "$VAL" = "no" ]; then
1519 if [ "$VAL" = "no" ]; then
1526 if [ "$VAL" = "no" ]; then
1533 if [ "$VAL" = "no" ]; then
1534 CFG_MIPS_DSPR2="$VAL"
1540 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1541 CFG_REDUCE_RELOCATIONS="$VAL"
1547 [ "$VAL" = "qt" ] && VAL=yes
1548 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1553 # No longer supported:
1554 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1557 if [ "$VAL" = "system" ]; then
1564 [ "$VAL" = "yes" ] && VAL=qt
1565 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1572 [ "$VAL" = "yes" ] && VAL=qt
1573 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1580 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1587 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1594 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1601 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1608 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1615 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1616 CFG_FONTCONFIG="$VAL"
1622 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1629 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1636 CFG_OBSOLETE_WAYLAND=yes
1639 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1646 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1653 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1660 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1667 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1674 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1681 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1688 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1689 CFG_GSTREAMER="$VAL"
1695 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1696 CFG_QGTKSTYLE="$VAL"
1702 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1705 if [ "$VAL" = "no" ]; then
1713 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1715 elif [ "$VAL" = "no" ]; then
1722 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1723 QPA_PLATFORM_GUARD="$VAL"
1729 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1731 elif [ "$VAL" = "runtime" ]; then
1738 if [ "$VAL" = "yes" ]; then
1745 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1752 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1753 CFG_LARGEFILE="$VAL"
1759 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1766 if [ "$VAL" = "yes" ]; then
1767 CFG_OPENSSL="linked"
1773 if [ "$VAL" = "yes" ]; then
1776 if [ "$VAL" = "no" ]; then
1784 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1785 CFG_JAVASCRIPTCORE_JIT="$VAL"
1791 if [ "$VAL" = "yes" ]; then
1792 OPT_CONFIRM_LICENSE="$VAL"
1798 if [ "$VAL" = "yes" ]; then
1804 sql-*|imageformat-*)
1805 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1806 # if autoconf style options were used, $VAL can be "yes" or "no"
1807 [ "$VAL" = "yes" ] && VAL=qt
1808 # now $VAL should be "no", "qt", or "plugin"... double-check
1809 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1812 # now $VAL is "no", "qt", or "plugin"
1814 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1815 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1817 # Grab the available values
1820 avail="$CFG_SQL_AVAILABLE"
1823 avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
1824 if [ "$OPT" != "plugin" ]; then
1825 # png is always built in
1831 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1835 # Check that that user's value is available.
1838 if [ "$VAL" = "$d" ]; then
1843 [ "$found" = yes ] || ERROR=yes
1845 if [ "$VAR" = "sql" ]; then
1846 # set the CFG_SQL_driver
1847 eval "CFG_SQL_$VAL=\$OPT"
1849 elif [ "$VAR" = "imageformat" ]; then
1850 [ "$OPT" = "qt" ] && OPT=yes
1851 VAL="`echo $VAL |tr a-z A-Z`"
1852 eval "CFG_$VAL=$OPT"
1856 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
1857 if [ "$OPT" = "plugin" ]; then
1860 QMakeVar add "${VAR}s" "${VAL}"
1861 elif [ "$OPT" = "no" ]; then
1862 PLUG_VAR="${VAR}-plugin"
1864 QMakeVar del "${IN_VAR}s" "$VAL"
1865 QMakeVar del "${PLUG_VAR}s" "$VAL"
1867 if [ "$ERROR" = "yes" ]; then
1868 echo "$CURRENT_OPT: unknown argument"
1873 if [ "$VAL" = "yes" ]; then
1874 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
1875 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
1879 elif [ "$VAL" = "no" ]; then
1880 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
1881 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
1890 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1897 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1904 DEFINES="$DEFINES \"$VAL\""
1905 D_FLAGS="$D_FLAGS -D\"$VAL\""
1908 I_FLAGS="$I_FLAGS -I\"${VAL}\""
1911 L_FLAGS="$L_FLAGS -L\"${VAL}\""
1914 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
1917 l_FLAGS="$l_FLAGS -l\"${VAL}\""
1920 if [ "$BUILD_ON_MAC" = "yes" ]; then
1921 L_FLAGS="$L_FLAGS -F\"${VAL}\""
1922 I_FLAGS="$I_FLAGS -F\"${VAL}\""
1928 if [ "$BUILD_ON_MAC" = "yes" ]; then
1929 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
1935 W_FLAGS="$W_FLAGS \"${VAL}\""
1941 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1942 CFG_PHONON_BACKEND="$VAL"
1954 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1955 CFG_AUDIO_BACKEND="$VAL"
1961 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1968 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1969 CFG_FORCE_ASSERTS="$VAL"
1975 if [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
1985 if [ "$UNKNOWN_OPT" = "yes" ]; then
1986 echo "${CURRENT_OPT}: invalid command-line switch"
1992 # update QT_CONFIG to show our current predefined configuration
1993 case "$CFG_QCONFIG" in
1994 minimal|small|medium|large|full)
1995 # these are a sequence of increasing functionality
1996 for c in minimal small medium large full; do
1997 QT_CONFIG="$QT_CONFIG $c-config"
1998 [ "$CFG_QCONFIG" = $c ] && break
2002 # not known to be sufficient for anything
2003 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
2004 echo >&2 "Error: configuration file not found:"
2005 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2007 echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2012 #-------------------------------------------------------------------------------
2013 # build tree initialization
2014 #-------------------------------------------------------------------------------
2016 # where to find which..
2017 unixtests="$relpath/config.tests/unix"
2018 mactests="$relpath/config.tests/mac"
2019 WHICH="$unixtests/which.test"
2021 PERL=`$WHICH perl 2>/dev/null`
2023 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2025 for e in gawk nawk awk; do
2026 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2033 PERL="/usr/bin/perl"
2034 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2038 ### skip this if the user just needs help...
2039 if [ "$OPT_HELP" != "yes" ]; then
2041 # is this a shadow build?
2042 if [ "$OPT_SHADOW" = "maybe" ]; then
2044 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2045 if [ -h "$outpath" ]; then
2046 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2052 if [ "$OPT_SHADOW" = "yes" ]; then
2053 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2054 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2055 echo >&2 "Cannot proceed."
2058 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2061 if [ "$PLATFORM_MAC" = "no" -a "$CFG_DEBUG_RELEASE" = "yes" ]; then
2063 echo "WARNING: -debug-and-release is not supported outside of Mac OS X."
2064 echo "Qt can be built in release mode with separate debug information, so"
2065 echo "-debug-and-release is not necessary anymore"
2069 if [ "$CFG_SILENT" = "yes" ]; then
2070 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2073 # if the source tree is different from the build tree,
2074 # symlink or copy part of the sources
2075 if [ "$OPT_SHADOW" = "yes" ]; then
2076 echo "Preparing build tree..."
2078 if [ -z "$PERL" ]; then
2080 echo "You need perl in your PATH to make a shadow build."
2081 echo "Cannot proceed."
2085 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2087 # make a syncqt script that can be used in the shadow
2088 rm -f "$outpath/bin/syncqt"
2089 if [ -x "$relpath/bin/syncqt" ]; then
2090 mkdir -p "$outpath/bin"
2091 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2092 echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2093 chmod 755 "$outpath/bin/syncqt"
2096 for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
2097 rm -f "$outpath/bin/$i"
2098 if [ -x "$relpath/bin/$i" ]; then
2099 mkdir -p "$outpath/bin"
2100 echo "#!/bin/sh" >"$outpath/bin/$i"
2101 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2102 echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2103 chmod 755 "$outpath/bin/$i"
2107 # save a pre-existing mkspecs/modules dir
2108 test -d "$outpath/mkspecs/modules" && \
2109 mv "$outpath/mkspecs/modules" "$outpath/mkspecs-modules"
2111 # symlink the mkspecs directory
2112 mkdir -p "$outpath/mkspecs"
2113 rm -rf "$outpath"/mkspecs/*
2114 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2115 rm -f "$outpath/mkspecs/default"
2119 rm -rf "$outpath/mkspecs/$1"
2120 find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2121 find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2124 # Special case for mkspecs/features directory.
2125 # To be able to place .prf files into a shadow build directory,
2126 # we're creating links for files only. The directory structure is reproduced.
2127 ShadowMkspecs features
2129 # The modules dir is special, too.
2130 if test -d "$outpath/mkspecs-modules"; then
2131 rm -rf "$outpath/mkspecs/modules"
2132 mv "$outpath/mkspecs-modules" "$outpath/mkspecs/modules"
2134 ShadowMkspecs modules
2137 # symlink the doc directory
2138 rm -rf "$outpath/doc"
2139 ln -s "$relpath/doc" "$outpath/doc"
2142 # symlink fonts to be able to run application from build directory
2143 if [ ! -d "${outpath}/lib/fonts" ]; then
2144 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2145 mkdir -p "${outpath}/lib"
2146 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2150 if [ "$OPT_FAST" = "auto" ]; then
2151 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2158 # find a make command
2159 if [ -z "$MAKE" ]; then
2161 for mk in gmake make; do
2162 if "$WHICH" $mk >/dev/null 2>&1; then
2167 if [ -z "$MAKE" ]; then
2168 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2169 echo >&2 "Cannot proceed."
2172 # export MAKE, we need it later in the config.tests
2178 #-------------------------------------------------------------------------------
2179 # auto-detect all that hasn't been specified in the arguments
2180 #-------------------------------------------------------------------------------
2182 if [ -z "$PLATFORM" ]; then
2184 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2186 OSX_VERSION=`uname -r | cut -d. -f1`
2187 # Select compiler. Use g++ unless we find a usable Clang version
2189 if [ "$OSX_VERSION" -ge 12 ]; then
2190 # We're on Mountain Lion or above. Use Clang. Don't advertise gcc.
2192 elif [ "$OSX_VERSION" -eq 11 ]; then
2193 # We're on Lion. Check if we have a supported Clang version
2194 case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
2197 PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
2204 #PLATFORM=aix-g++-64
2206 #PLATFORM=aix-xlc-64
2208 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2218 # PLATFORM=dynix-g++
2224 PLATFORM=freebsd-g++
2226 - Also available for FreeBSD: freebsd-icc
2230 PLATFORM=openbsd-g++
2241 #PLATFORM=irix-cc-64
2243 - Also available for IRIX: irix-g++ irix-cc-64
2247 case "$UNAME_MACHINE" in
2249 #PLATFORM=hpuxi-acc-32
2250 PLATFORM=hpuxi-acc-64
2252 - Also available for HP-UXi: hpuxi-acc-32
2258 #PLATFORM=hpux-acc-64
2260 #PLATFORM=hpux-acc-o64
2262 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2271 - Also available for Tru64: tru64-g++
2275 case "$UNAME_MACHINE" in
2277 PLATFORM=linux-g++-64
2284 - Also available for Linux: linux-kcc linux-icc linux-cxx
2288 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2289 PLATFORM="solaris-g++"
2291 #PLATFORM=solaris-g++
2293 #PLATFORM=solaris-cc64
2296 - Also available for Solaris: solaris-g++ solaris-cc-64
2299 ReliantUNIX-*:*|SINIX-*:*)
2300 PLATFORM=reliant-cds
2301 #PLATFORM=reliant-cds-64
2303 - Also available for Reliant UNIX: reliant-cds-64
2313 #PLATFORM=unixware-g++
2314 PLATFORM=unixware-cc
2316 - Also available for OpenUNIX: unixware-g++
2320 #PLATFORM=unixware-g++
2321 PLATFORM=unixware-cc
2323 - Also available for UnixWare: unixware-g++
2330 - Also available for SCO OpenServer: sco-g++
2334 PLATFORM=unixware-g++
2337 PLATFORM=unsupported/qnx-g++
2340 if [ "$OPT_HELP" != "yes" ]; then
2342 for p in $PLATFORMS; do
2343 echo " $relconf $* -platform $p"
2346 echo " The build script does not currently recognize all" >&2
2347 echo " platforms supported by Qt." >&2
2348 echo " Rerun this script with a -platform option listed to" >&2
2349 echo " set the system/compiler combination you use." >&2
2356 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2358 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2360 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2361 case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
2362 case "$XPLATFORM" in qnx-*) XPLATFORM_QNX=yes;; esac
2364 if [ -d "$PLATFORM" ]; then
2365 QMAKESPEC="$PLATFORM"
2367 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2369 if [ -d "$XPLATFORM" ]; then
2370 XQMAKESPEC="$XPLATFORM"
2372 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2374 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2375 QT_CROSS_COMPILE=yes
2376 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2377 QTCONFIG_CONFIG="$QTCONFIG_CONFIG cross_compile"
2380 if [ "$BUILD_ON_MAC" = "yes" ]; then
2381 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2383 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2384 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2385 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2386 echo " built with 'macx-g++'" >&2
2392 # check specified platforms are supported
2393 if [ '!' -d "$QMAKESPEC" ]; then
2395 echo " The specified system/compiler is not supported:"
2399 echo " Please see the README file for a complete list."
2403 if [ '!' -d "$XQMAKESPEC" ]; then
2405 echo " The specified system/compiler is not supported:"
2409 echo " Please see the README file for a complete list."
2413 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2415 echo " The specified system/compiler port is not complete:"
2417 echo " $XQMAKESPEC/qplatformdefs.h"
2419 echo " Please contact qt-info@nokia.com."
2424 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2425 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2426 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2427 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2428 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2432 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2433 case `basename "$XPLATFORM"` in
2436 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2438 echo "Please contact qt-info@nokia.com to upgrade your license to"
2439 echo "include this platform, or install the Qt Open Source Edition"
2440 echo "if you intend to develop free software."
2446 #-------------------------------------------------------------------------------
2447 # tests that don't need qmake (must be run before displaying help)
2448 #-------------------------------------------------------------------------------
2450 # detect build style
2451 if [ "$CFG_DEBUG" = "auto" ]; then
2452 if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2453 CFG_DEBUG_RELEASE=yes
2455 elif [ "$CFG_DEV" = "yes" ]; then
2456 CFG_DEBUG_RELEASE=no
2459 CFG_DEBUG_RELEASE=no
2463 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2464 QT_CONFIG="$QT_CONFIG build_all"
2467 # pass on $CFG_SDK to the configure tests.
2468 if [ '!' -z "$CFG_SDK" ]; then
2469 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
2472 # find the default framework value
2473 if [ "$BUILD_ON_MAC" = "yes" ]; then
2474 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2475 CFG_FRAMEWORK="$CFG_SHARED"
2476 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2478 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2486 QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
2488 TEST_COMPILER=$QMAKE_CONF_COMPILER
2489 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
2490 if [ -z "$TEST_COMPILER" ]; then
2491 echo "ERROR: Cannot set the compiler for the configuration tests"
2496 if [ -n "$CFG_SYSROOT" ]; then
2497 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
2501 export SYSROOT_FLAG # used by config.tests/unix/compile.test
2503 # auto-detect precompiled header support
2504 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2505 if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2512 # auto-detect support for separate debug info in objcopy
2513 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
2514 TEST_COMPILER_CFLAGS=`getXQMakeConf QMAKE_CFLAGS`
2515 TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
2516 TEST_OBJCOPY=`getXQMakeConf QMAKE_OBJCOPY`
2517 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
2518 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
2519 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
2520 CFG_SEPARATE_DEBUG_INFO=no
2524 # binutils on HP-UX is buggy; default to no.
2525 CFG_SEPARATE_DEBUG_INFO=no
2528 CFG_SEPARATE_DEBUG_INFO=yes
2534 # auto-detect -fvisibility support
2535 if [ "$CFG_REDUCE_EXPORTS" != "no" ]; then
2536 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2537 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
2538 echo "-reduce-exports was requested but this compiler does not support it"
2539 echo "Re-run configure with -v for more information"
2542 CFG_REDUCE_EXPORTS=no
2544 CFG_REDUCE_EXPORTS=yes
2548 # detect the availability of the -Bsymbolic-functions linker optimization
2549 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
2550 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2551 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
2552 echo "-reduce-relocations was requested but this compiler does not support it"
2553 echo "Re-run configure with -v for more information"
2556 CFG_REDUCE_RELOCATIONS=no
2558 CFG_REDUCE_RELOCATIONS=yes
2562 # auto-detect GNU make support
2563 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
2567 # find the default framework value
2568 if [ "$BUILD_ON_MAC" = "yes" ]; then
2569 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2570 CFG_FRAMEWORK="$CFG_SHARED"
2571 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2573 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2581 #setup the build parts
2582 if [ -z "$CFG_BUILD_PARTS" ]; then
2583 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
2585 # build tests by default, if a developer build
2586 if [ "$CFG_DEV" = "yes" ]; then
2587 CFG_BUILD_PARTS="$CFG_BUILD_PARTS tests"
2590 # don't build tools by default when cross-compiling
2591 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2592 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
2595 for nobuild in $CFG_NOBUILD_PARTS; do
2596 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
2598 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
2600 # echo "WARNING: libs is a required part of the build."
2602 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
2605 #-------------------------------------------------------------------------------
2606 # post process QT_INSTALL_* variables
2607 #-------------------------------------------------------------------------------
2609 if [ -z "$QT_INSTALL_PREFIX" ]; then
2610 if [ "$CFG_DEV" = "yes" ]; then
2611 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
2613 QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION
2616 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
2618 if [ -z "$QT_INSTALL_DOCS" ]; then #default
2619 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2620 if [ "$BUILD_ON_MAC" = "yes" ]; then
2621 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
2624 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
2627 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
2629 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
2630 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2631 if [ "$BUILD_ON_MAC" = "yes" ]; then
2632 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2637 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
2640 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
2642 if [ -z "$QT_INSTALL_LIBS" ]; then #default
2643 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2644 if [ "$BUILD_ON_MAC" = "yes" ]; then
2645 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2646 QT_INSTALL_LIBS="/Libraries/Frameworks"
2650 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
2652 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
2654 if [ -z "$QT_INSTALL_BINS" ]; then #default
2655 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2656 if [ "$BUILD_ON_MAC" = "yes" ]; then
2657 QT_INSTALL_BINS="/Developer/Applications/Qt"
2660 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
2662 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
2664 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
2665 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2666 if [ "$BUILD_ON_MAC" = "yes" ]; then
2667 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
2670 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
2672 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
2674 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
2675 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2676 if [ "$BUILD_ON_MAC" = "yes" ]; then
2677 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
2680 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
2682 QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
2684 if [ -z "$QT_INSTALL_DATA" ]; then #default
2685 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
2687 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
2689 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
2690 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
2692 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
2694 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
2695 if [ "$BUILD_ON_MAC" = "yes" ]; then
2696 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
2698 QT_INSTALL_SETTINGS=/etc/xdg
2701 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
2703 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
2704 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2705 if [ "$BUILD_ON_MAC" = "yes" ]; then
2706 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
2709 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
2711 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
2714 if [ -z "$QT_INSTALL_TESTS" ]; then #default
2715 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2716 if [ "$BUILD_ON_MAC" = "yes" ]; then
2717 QT_INSTALL_TESTS="/Developer/Tests/Qt"
2720 [ -z "$QT_INSTALL_TESTS" ] && QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback
2722 QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
2724 #------- host paths --------
2726 if [ -z "$QT_HOST_PREFIX" ]; then
2727 QT_HOST_PREFIX=$QT_INSTALL_PREFIX
2730 QT_HOST_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_PREFIX"`
2734 if [ -z "$QT_HOST_BINS" ]; then #default
2736 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2737 if [ "$BUILD_ON_MAC" = "yes" ]; then
2738 QT_HOST_BINS="/Developer/Applications/Qt"
2741 [ -z "$QT_HOST_BINS" ] && QT_HOST_BINS="$QT_HOST_PREFIX/bin" #fallback
2743 QT_HOST_BINS="$QT_INSTALL_BINS"
2746 QT_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_BINS"`
2748 if [ -z "$QT_HOST_DATA" ]; then #default
2750 QT_HOST_DATA="$QT_HOST_PREFIX"
2752 QT_HOST_DATA="$QT_INSTALL_DATA"
2755 QT_HOST_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_DATA"`
2758 #-------------------------------------------------------------------------------
2759 # help - interactive parts of the script _after_ this section please
2760 #-------------------------------------------------------------------------------
2762 # next, emit a usage message if something failed.
2763 if [ "$OPT_HELP" = "yes" ]; then
2764 [ "x$ERROR" = "xyes" ] && echo
2765 if [ "$CFG_NIS" = "no" ]; then
2772 if [ "$CFG_CUPS" = "no" ]; then
2779 if [ "$CFG_ICONV" = "no" ]; then
2786 if [ "$CFG_LARGEFILE" = "no" ]; then
2793 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
2801 if [ "$CFG_XCB" = "no" ]; then
2809 if [ "$CFG_EGLFS" = "no" ]; then
2817 if [ "$CFG_DIRECTFB" = "no" ]; then
2824 if [ "$CFG_XINPUT2" = "no" ]; then
2832 if [ "$CFG_DBUS" = "no" ]; then
2840 if [ "$CFG_SEPARATE_DEBUG_INFO" = "no" ]; then
2848 if [ "$CFG_GLIB" = "no" ]; then
2857 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
2858 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
2859 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-testsdir <dir>]
2860 [-release] [-debug] [-debug-and-release]
2861 [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
2862 [-largefile] [-no-accessibility] [-accessibility] [-no-sql-<driver>] [-sql-<driver>]
2863 [-plugin-sql-<driver>] [-system-sqlite]
2864 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
2865 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
2866 [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
2867 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
2868 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
2869 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
2870 [-no-separate-debug-info] [-no-sse2]
2871 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
2872 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info]
2873 [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
2874 [-no-audio-backend] [-audio-backend]
2875 [-no-javascript-jit] [-javascript-jit] [-no-qml-debug] [-qml-debug]
2876 [-no-optimized-qmake] [-optimized-qmake]
2877 [-no-openssl] [-openssl] [-openssl-linked]
2878 [-no-gtkstyle] [-gtkstyle]
2879 [-qt-pcre] [-system-pcre]
2880 [-device <name>] [-device-option <key=value>]
2881 [additional platform specific options (see below)]
2884 Installation options:
2886 These are optional, but you may specify install directories.
2888 -prefix <dir> ...... This will install everything relative to <dir>
2889 (default $QT_INSTALL_PREFIX)
2891 -hostprefix [dir] .. Tools and libraries needed when developing
2892 applications are installed in [dir]. If [dir] is
2893 not given, the current build directory will be used.
2896 * -prefix-install .... Force a sandboxed "local" installation of
2897 Qt. This will install into
2898 $QT_INSTALL_PREFIX, if this option is
2899 disabled then some platforms will attempt a
2900 "system" install by placing default values to
2901 be placed in a system location other than
2904 You may use these to separate different parts of the install:
2906 -bindir <dir> ......... Executables will be installed to <dir>
2907 (default PREFIX/bin)
2908 -libdir <dir> ......... Libraries will be installed to <dir>
2909 (default PREFIX/lib)
2910 -docdir <dir> ......... Documentation will be installed to <dir>
2911 (default PREFIX/doc)
2912 -headerdir <dir> ...... Headers will be installed to <dir>
2913 (default PREFIX/include)
2914 -plugindir <dir> ...... Plugins will be installed to <dir>
2915 (default PREFIX/plugins)
2916 -importdir <dir> ...... Imports for QML will be installed to <dir>
2917 (default PREFIX/imports)
2918 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
2920 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
2921 (default PREFIX/translations)
2922 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
2923 (default PREFIX/etc/settings)
2924 -examplesdir <dir> .... Examples will be installed to <dir>
2925 (default PREFIX/examples)
2926 -testsdir <dir> ....... Tests will be installed to <dir>
2927 (default PREFIX/tests)
2929 -hostbindir <dir> .. Host executables will be installed to <dir>
2930 (default HOSTPREFIX/bin)
2931 -hostdatadir <dir> . Data used by qmake will be installed to <dir>
2932 (default HOSTPREFIX)
2936 The defaults (*) are usually acceptable. A plus (+) denotes a default value
2937 that needs to be evaluated. If the evaluation succeeds, the feature is
2938 included. Here is a short explanation of each option:
2940 * -release ........... Compile and link Qt with debugging turned off.
2941 -debug ............. Compile and link Qt with debugging turned on.
2942 -debug-and-release . Compile and link two versions of Qt, with and without
2943 debugging turned on (Mac only).
2945 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
2947 -opensource ........ Compile and link the Open-Source Edition of Qt.
2948 -commercial ........ Compile and link the Commercial Edition of Qt.
2951 * -shared ............ Create and use shared Qt libraries.
2952 -static ............ Create and use static Qt libraries.
2954 * -no-fast ........... Configure Qt normally by generating Makefiles for all
2956 -fast .............. Configure Qt quickly by generating Makefiles only for
2957 library and subdirectory targets. All other Makefiles
2958 are created as wrappers, which will in turn run qmake.
2960 -no-largefile ...... Disables large file support.
2961 + -largefile ......... Enables Qt to access files larger than 4 GB.
2963 -no-accessibility .. Do not compile Accessibility support.
2964 * -accessibility ..... Compile Accessibility support.
2966 -no-sql-<driver> ... Disable SQL <driver> entirely.
2967 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
2969 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
2972 Possible values for <driver>:
2973 [ $CFG_SQL_AVAILABLE ]
2975 -system-sqlite ..... Use sqlite from the operating system.
2977 -no-phonon-backend.. Do not build the platform phonon plugin.
2978 + -phonon-backend..... Build the platform phonon plugin.
2980 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
2981 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
2983 -no-qml-debug ...... Do not build the in-process QML debugging support.
2984 + -qml-debug ......... Build the QML debugging support.
2986 -platform target ... The operating system and compiler you are building
2989 See the README file for a list of supported
2990 operating systems and compilers.
2992 -no-sse2 ........... Do not compile with use of SSE2 instructions.
2993 -no-sse3 ........... Do not compile with use of SSE3 instructions.
2994 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
2995 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
2996 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
2997 -no-avx ............ Do not compile with use of AVX instructions.
2998 -no-avx2 ........... Do not compile with use of AVX2 instructions.
2999 -no-neon ........... Do not compile with use of NEON instructions.
3000 -no-mips_dsp ....... Do not compile with use of MIPS DSP instructions.
3001 -no-mips_dspr2 ..... Do not compile with use of MIPS DSP rev2 instructions.
3003 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3004 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3006 -testcocoon Instrument Qt with the TestCocoon code coverage tool.
3008 -D <string> ........ Add an explicit define to the preprocessor.
3009 -I <string> ........ Add an explicit include path.
3010 -L <string> ........ Add an explicit library path.
3012 + -pkg-config ........ Use pkg-config to detect include and library paths. By default,
3013 configure determines whether to use pkg-config or not with
3014 some heuristics such as checking the environment variables.
3015 -no-pkg-config ..... Disable use of pkg-config.
3016 -force-pkg-config .. Force usage of pkg-config (skips pkg-config usability
3017 detection heuristic).
3019 -help, -h .......... Display this information.
3021 Third Party Libraries:
3023 -qt-zlib ........... Use the zlib bundled with Qt.
3024 + -system-zlib ....... Use zlib from the operating system.
3025 See http://www.gzip.org/zlib
3027 -no-gif ............ Do not compile GIF reading support.
3029 -no-libpng ......... Do not compile PNG support.
3030 -qt-libpng ......... Use the libpng bundled with Qt.
3031 + -system-libpng ..... Use libpng from the operating system.
3032 See http://www.libpng.org/pub/png
3034 -no-libjpeg ........ Do not compile JPEG support.
3035 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3036 + -system-libjpeg .... Use libjpeg from the operating system.
3037 See http://www.ijg.org
3039 -no-openssl ........ Do not compile support for OpenSSL.
3040 + -openssl ........... Enable run-time OpenSSL support.
3041 -openssl-linked .... Enabled linked OpenSSL support.
3043 -qt-pcre ........... Use the PCRE library bundled with Qt.
3044 + -system-pcre ....... Use the PCRE library from the operating system.
3048 -make <part> ....... Add part to the list of parts to be built at make time.
3049 ($QT_DEFAULT_BUILD_PARTS)
3050 -nomake <part> ..... Exclude part from the list of parts to be built.
3052 -R <string> ........ Add an explicit runtime library path to the Qt
3054 -l <string> ........ Add an explicit library.
3056 -no-rpath .......... Do not use the library install path as a runtime
3058 + -rpath ............. Link Qt libraries and executables using the library
3059 install path as a runtime library path. Equivalent
3060 to -R install_libpath
3062 -continue .......... Continue as far as possible if an error occurs.
3064 -verbose, -v ....... Print verbose information about each step of the
3067 -silent ............ Reduce the build output so that warnings and errors
3068 can be seen more easily.
3070 * -no-optimized-qmake ... Do not build qmake optimized.
3071 -optimized-qmake ...... Build qmake optimized.
3073 -no-gui ............ Don't build the Qt GUI library
3075 $NSN -no-nis ............ Do not compile NIS support.
3076 $NSY -nis ............... Compile NIS support.
3078 $CUN -no-cups ........... Do not compile CUPS support.
3079 $CUY -cups .............. Compile CUPS support.
3080 Requires cups/cups.h and libcups.so.2.
3082 $CIN -no-iconv .......... Do not compile support for iconv(3).
3083 $CIY -iconv ............. Compile support for iconv(3).
3085 $PHN -no-pch ............ Do not use precompiled header support.
3086 $PHY -pch ............... Use precompiled header support.
3088 $DBN -no-dbus ........... Do not compile the QtDBus module.
3089 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3090 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3092 -reduce-relocations ..... Reduce relocations in the libraries through extra
3093 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3094 experimental; needs GNU ld >= 2.18).
3096 -force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
3098 -device <name> ............... Cross-compile for device <name> (experimental)
3099 -device-option <key=value> ... Add device specific options for the device mkspec
3102 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3103 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3105 $XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
3106 $XCBY -xcb ............... Compile Xcb support.
3108 $EGLFSN -no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support.
3109 $EGLFSY -eglfs ............. Compile EGLFS support (Requires OpenGL ES 2 support).
3111 $DFBN -no-directfb ....... Do not compile DirectFB support.
3112 $DFBY -directfb .......... Compile DirectFB support.
3114 -qpa <name> ......... Sets the default QPA platform (e.g xcb, cocoa, windows).
3116 -xplatform target ... The target platform when cross-compiling.
3118 -sysroot <dir> ...... Sets <dir> as the target compiler's and qmake's sysroot.
3120 -no-feature-<feature> Do not compile in <feature>.
3121 -feature-<feature> .. Compile in <feature>. The available features
3122 are described in src/corelib/global/qfeatures.txt
3124 -no-freetype ........ Do not compile in Freetype2 support.
3125 -qt-freetype ........ Use the libfreetype bundled with Qt.
3126 * -system-freetype .... Use libfreetype from the operating system.
3127 See http://www.freetype.org/
3129 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3130 default ($CFG_QCONFIG).
3132 -no-opengl .......... Do not support OpenGL.
3133 -opengl <api> ....... Enable OpenGL support
3134 With no parameter, this will attempt to auto-detect
3135 OpenGL ES 2, or regular desktop OpenGL.
3136 Use es2 for <api> to override auto-detection.
3138 $GBN -no-glib ........... Do not compile Glib support.
3139 $GBY -glib .............. Compile Glib support.
3142 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
3145 $X2N -no-xinput2......... Do not compile XInput2 support.
3146 $X2Y -xinput2............ Compile XInput2 support.
3152 if [ "$BUILD_ON_MAC" = "yes" ]; then
3157 -Fstring ........... Add an explicit framework path.
3158 -fw string ......... Add an explicit framework.
3160 * -framework ......... Build Qt as a series of frameworks and
3161 link tools against those frameworks.
3162 -no-framework ...... Do not build Qt as a series of frameworks.
3164 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3165 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3167 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
3168 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
3169 QT_ENABLE_HARFBUZZ environment variable.
3174 [ "x$ERROR" = "xyes" ] && exit 1
3179 # -----------------------------------------------------------------------------
3180 # LICENSING, INTERACTIVE PART
3181 # -----------------------------------------------------------------------------
3184 echo "This is the Qt ${EditionString} Edition."
3187 if [ "$Edition" = "OpenSource" ]; then
3189 echo "You are licensed to use this software under the terms of"
3190 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
3191 if [ -f "$relpath/LICENSE.GPL3" ]; then
3192 echo "You are also licensed to use this software under the terms of"
3193 echo "the GNU General Public License (GPL) versions 3."
3199 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3200 echo "You have already accepted the terms of the $LicenseType license."
3203 if [ -f "$relpath/LICENSE.GPL3" ]; then
3204 echo "Type '3' to view the GNU General Public License version 3."
3206 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
3207 echo "Type 'yes' to accept this license offer."
3208 echo "Type 'no' to decline this license offer."
3210 echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
3214 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
3216 elif [ "$acceptance" = "no" ]; then
3217 echo "You are not licensed to use this software."
3220 elif [ "$acceptance" = "3" ]; then
3221 more "$relpath/LICENSE.GPL3"
3222 elif [ "$acceptance" = "L" ]; then
3223 more "$relpath/LICENSE.LGPL"
3226 elif [ "$Edition" = "Preview" ]; then
3227 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
3230 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3231 echo "You have already accepted the terms of the $LicenseType license."
3234 echo "You are licensed to use this software under the terms of"
3235 echo "the $TheLicense"
3237 echo "Type '?' to read the Preview License."
3238 echo "Type 'yes' to accept this license offer."
3239 echo "Type 'no' to decline this license offer."
3241 echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
3245 if [ "$acceptance" = "yes" ]; then
3247 elif [ "$acceptance" = "no" ] ;then
3248 echo "You are not licensed to use this software."
3251 elif [ "$acceptance" = "?" ]; then
3252 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
3255 elif [ "$Edition" != "OpenSource" ]; then
3256 if [ -n "$ExpiryDate" ]; then
3257 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
3258 [ -z "$ExpiryDate" ] && ExpiryDate="0"
3259 Today=`date +%Y%m%d`
3260 if [ "$Today" -gt "$ExpiryDate" ]; then
3261 case "$LicenseType" in
3262 Commercial|Academic|Educational)
3263 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
3265 echo "NOTICE NOTICE NOTICE NOTICE"
3267 echo " Your support and upgrade period has expired."
3269 echo " You are no longer licensed to use this version of Qt."
3270 echo " Please contact qt-info@nokia.com to renew your support"
3271 echo " and upgrades for this license."
3273 echo "NOTICE NOTICE NOTICE NOTICE"
3278 echo "WARNING WARNING WARNING WARNING"
3280 echo " Your support and upgrade period has expired."
3282 echo " You may continue to use your last licensed release"
3283 echo " of Qt under the terms of your existing license"
3284 echo " agreement. But you are not entitled to technical"
3285 echo " support, nor are you entitled to use any more recent"
3286 echo " Qt releases."
3288 echo " Please contact qt-info@nokia.com to renew your"
3289 echo " support and upgrades for this license."
3291 echo "WARNING WARNING WARNING WARNING"
3298 echo "NOTICE NOTICE NOTICE NOTICE"
3300 echo " Your Evaluation license has expired."
3302 echo " You are no longer licensed to use this software. Please"
3303 echo " contact qt-info@nokia.com to purchase license, or install"
3304 echo " the Qt Open Source Edition if you intend to develop free"
3307 echo "NOTICE NOTICE NOTICE NOTICE"
3314 TheLicense=`head -n 1 "$outpath/LICENSE"`
3316 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3317 echo "You have already accepted the terms of the $TheLicense."
3320 echo "You are licensed to use this software under the terms of"
3321 echo "the $TheLicense."
3323 echo "Type '?' to view the $TheLicense."
3324 echo "Type 'yes' to accept this license offer."
3325 echo "Type 'no' to decline this license offer."
3327 echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
3331 if [ "$acceptance" = "yes" ]; then
3333 elif [ "$acceptance" = "no" ]; then
3334 echo "You are not licensed to use this software."
3337 else [ "$acceptance" = "?" ]
3338 more "$outpath/LICENSE"
3343 # this should be moved somewhere else
3346 AIX_VERSION=`uname -v`
3347 if [ "$AIX_VERSION" -lt "5" ]; then
3348 QMakeVar add QMAKE_LIBS_X11 -lbind
3355 #-------------------------------------------------------------------------------
3356 # generate qconfig.cpp
3357 #-------------------------------------------------------------------------------
3358 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
3360 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3362 static const char qt_configure_licensee_str [256 + 12] = "qt_lcnsuser=$Licensee";
3363 static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$Edition";
3365 /* Installation date */
3366 static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`";
3368 /* Installation Info */
3369 static const char qt_configure_prefix_path_strs[][256 + 12] = {
3370 "qt_prfxpath=$QT_INSTALL_PREFIX",
3371 "qt_docspath=$QT_INSTALL_DOCS",
3372 "qt_hdrspath=$QT_INSTALL_HEADERS",
3373 "qt_libspath=$QT_INSTALL_LIBS",
3374 "qt_binspath=$QT_INSTALL_BINS",
3375 "qt_plugpath=$QT_INSTALL_PLUGINS",
3376 "qt_impspath=$QT_INSTALL_IMPORTS",
3377 "qt_datapath=$QT_INSTALL_DATA",
3378 "qt_trnspath=$QT_INSTALL_TRANSLATIONS",
3379 "qt_xmplpath=$QT_INSTALL_EXAMPLES",
3380 "qt_tstspath=$QT_INSTALL_TESTS",
3381 #ifdef QT_BUILD_QMAKE
3382 "qt_ssrtpath=$CFG_SYSROOT",
3383 "qt_hpfxpath=$QT_HOST_PREFIX",
3384 "qt_hbinpath=$QT_HOST_BINS",
3385 "qt_hdatpath=$QT_HOST_DATA",
3388 static const char qt_configure_settings_path_str[256 + 12] = "qt_stngpath=$QT_INSTALL_SETTINGS";
3391 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3393 /* strlen( "qt_lcnsxxxx" ) == 12 */
3394 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
3395 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
3397 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
3400 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
3401 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
3402 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
3404 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
3405 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
3406 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
3409 # -----------------------------------------------------------------------------
3410 if [ "$LicenseType" = "Evaluation" ]; then
3411 EVALKEY=qt_qevalkey=$LicenseKeyExt
3412 elif echo "$DEFINES" | grep QT_EVAL >/dev/null 2>&1; then
3413 EVALKEY=qt_qevalkey=
3416 if [ -n "$EVALKEY" ]; then
3417 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
3418 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
3419 /* Evaluation license key */
3420 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
3422 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
3426 # -----------------------------------------------------------------------------
3428 # -----------------------------------------------------------------------------
3431 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
3433 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
3434 if [ "$OPT_SHADOW" = "yes" ]; then
3435 "$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
3436 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
3437 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
3441 # $1: input variable name (awk regexp)
3442 # $2: optional output variable name
3443 # $3: optional value transformation (sed command)
3444 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
3445 # is where the resulting variable is written to
3446 setBootstrapVariable()
3448 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
3452 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
3453 echo "Creating qmake. Please wait..."
3456 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
3457 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
3458 if [ -f "$QCONFIG_H" ]; then
3459 OLD_QCONFIG_H=$QCONFIG_H
3460 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
3463 # create temporary qconfig.h for compiling qmake, if it doesn't exist
3464 # when building qmake, we use #defines for the install paths,
3465 # however they are real functions in the library
3466 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
3467 mkdir -p "$outpath/src/corelib/global"
3468 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
3469 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
3472 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
3474 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
3475 rm -rf mkspecs/default
3476 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
3477 mkdir -p "$outpath/qmake" || exit
3479 for mkfile in GNUmakefile Makefile; do
3482 in_mkfile="${mkfile}.in"
3483 if [ "$mkfile" = "Makefile" ]; then
3484 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
3485 # (cd qmake && qmake) >/dev/null 2>&1 && continue
3487 in_mkfile="${mkfile}.unix"
3489 in_mkfile="$relpath/qmake/$in_mkfile"
3490 mkfile="$outpath/qmake/$mkfile"
3491 if [ -f "$mkfile" ]; then
3492 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
3495 [ -f "$in_mkfile" ] || continue
3497 echo "########################################################################" > "$mkfile"
3498 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
3499 echo "########################################################################" >> "$mkfile"
3502 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
3503 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
3504 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
3506 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
3507 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
3510 [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
3511 setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
3512 setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
3513 setBootstrapVariable QMAKE_CFLAGS
3514 setBootstrapVariable QMAKE_CXXFLAGS
3515 setBootstrapVariable QMAKE_LFLAGS
3517 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
3518 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
3519 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
3521 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
3522 setBootstrapVariable QMAKE_CFLAGS_RELEASE
3523 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
3524 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
3525 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
3526 elif [ "$CFG_DEBUG" = "yes" ]; then
3527 setBootstrapVariable QMAKE_CFLAGS_DEBUG
3528 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
3529 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
3530 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
3533 if [ -n "$RPATH_FLAGS" ] && [ -n "`getQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
3534 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" QMAKE_LFLAGS_RPATH
3535 for rpath in $RPATH_FLAGS; do
3536 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
3539 if [ "$BUILD_ON_MAC" = "yes" ]; then
3540 echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
3541 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
3542 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
3543 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
3544 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
3545 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
3546 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
3547 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
3548 if [ '!' -z "$CFG_SDK" ]; then
3549 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
3550 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
3551 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
3552 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
3553 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
3556 if [ '!' -z "$D_FLAGS" ]; then
3557 EXTRA_CFLAGS="$EXTRA_CFLAGS $D_FLAGS"
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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 $D_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 "$DEFINES" ] && QMakeVar add DEFINES "$DEFINES"
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 += $QMAKE_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 += 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\'.