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 #-------------------------------------------------------------------------------
246 # operating system detection
247 #-------------------------------------------------------------------------------
249 # need that throughout the script
250 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
251 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
252 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
253 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
255 # detect the "echo without newline" style. usage: echo $ECHO_N "<string>$ECHO_C"
256 if echo '\c' | grep '\c' >/dev/null; then
262 #-------------------------------------------------------------------------------
263 # window system detection
264 #-------------------------------------------------------------------------------
268 if [ -d /System/Library/Frameworks/Carbon.framework ]; then
273 #-----------------------------------------------------------------------------
274 # Qt version detection
275 #-----------------------------------------------------------------------------
276 QT_VERSION=`grep '^# *define *QT_VERSION_STR' "$relpath"/src/corelib/global/qglobal.h`
280 if [ -n "$QT_VERSION" ]; then
281 QT_VERSION=`echo $QT_VERSION | sed 's,^# *define *QT_VERSION_STR *"*\([^ ]*\)"$,\1,'`
282 MAJOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
283 if [ -n "$MAJOR" ]; then
284 MINOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
285 PATCH=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
286 QT_MAJOR_VERSION="$MAJOR"
287 [ -z "$MINOR" ] || QT_MINOR_VERSION="$MINOR"
288 [ -z "$PATCH" ] || QT_PATCH_VERSION="$PATCH"
291 if [ -z "$QT_MAJOR_VERSION" ]; then
292 echo "Cannot process version from qglobal.h: $QT_VERSION"
293 echo "Cannot proceed."
297 QT_PACKAGEDATE=`grep '^# *define *QT_PACKAGEDATE_STR' "$relpath"/src/corelib/global/qglobal.h | sed -e 's,^# *define *QT_PACKAGEDATE_STR *"\([^ ]*\)"$,\1,' -e s,-,,g`
298 if [ -z "$QT_PACKAGEDATE" ]; then
299 echo "Unable to determine package date from qglobal.h: '$QT_PACKAGEDATE'"
300 echo "Cannot proceed"
304 #-------------------------------------------------------------------------------
306 #-------------------------------------------------------------------------------
310 EditionString=Commercial
314 # parse the arguments, setting things to "yes" or "no"
315 while [ "$#" -gt 0 ]; do
319 #Autoconf style options
321 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
325 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
329 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
330 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
333 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
336 -h|help|--help|-help)
337 if [ "$VAL" = "yes" ]; then
339 COMMERCIAL_USER="no" #doesn't matter we will display the help
342 COMMERCIAL_USER="no" #doesn't matter we will display the help
346 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
350 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
357 if [ "$UNKNOWN_ARG" = "yes" ]; then
369 COMMERCIAL_USER="yes"
383 if [ "$COMMERCIAL_USER" = "ask" ]; then
385 echo "Which edition of Qt do you want to use ?"
387 echo "Type 'c' if you want to use the Commercial Edition."
388 echo "Type 'o' if you want to use the Open Source Edition."
392 if [ "$commercial" = "c" ]; then
393 COMMERCIAL_USER="yes"
395 elif [ "$commercial" = "o" ]; then
402 if [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes" ]; then
403 # Commercial preview release
404 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
407 QT_EDITION="QT_EDITION_DESKTOP"
408 LicenseType="Technology Preview"
409 elif [ $COMMERCIAL_USER = "yes" ]; then
410 # one of commercial editions
411 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
413 # read in the license file
414 if [ -f "$LICENSE_FILE" ]; then
415 . "$LICENSE_FILE" >/dev/null 2>&1
416 if [ -z "$LicenseKeyExt" ]; then
418 echo "You are using an old license file."
420 echo "Please install the license file supplied by Nokia,"
421 echo "or install the Qt Open Source Edition if you intend to"
422 echo "develop free software."
425 if [ -z "$Licensee" ]; then
427 echo "Invalid license key. Please check the license key."
431 if [ -z "$LicenseKeyExt" ]; then
433 echo $ECHO_N "Please enter your license key: $ECHO_C"
435 Licensee="Unknown user"
440 echo "$LicenseKeyExt" | grep ".....*-....*-....*-....*-.....*-.....*-...." >/dev/null 2>&1 \
441 && LicenseValid="yes" \
443 if [ "$LicenseValid" != "yes" ]; then
445 echo "Invalid license key. Please check the license key."
448 ProductCode=`echo $LicenseKeyExt | cut -f 1 -d - | cut -b 1`
449 PlatformCode=`echo $LicenseKeyExt | cut -f 2 -d -`
450 LicenseTypeCode=`echo $LicenseKeyExt | cut -f 3 -d -`
451 LicenseFeatureCode=`echo $LicenseKeyExt | cut -f 4 -d - | cut -b 1`
453 # determine which edition we are licensed to use
454 case "$LicenseTypeCode" in
456 LicenseType="Commercial"
460 QT_EDITION="QT_EDITION_UNIVERSAL"
463 Edition="FullFramework"
464 EditionString="Full Framework"
465 QT_EDITION="QT_EDITION_DESKTOP"
468 Edition="GUIFramework"
469 EditionString="GUI Framework"
470 QT_EDITION="QT_EDITION_DESKTOPLIGHT"
475 LicenseType="Evaluation"
476 QMakeVar add DEFINES QT_EVAL
480 QT_EDITION="QT_EDITION_EVALUATION"
485 if [ -z "$LicenseType" -o -z "$Edition" -o -z "$QT_EDITION" ]; then
487 echo "Invalid license key. Please check the license key."
491 # verify that we are licensed to use Qt on this platform
493 case "$PlatformCode" in
496 PlatformCode=`echo "$PlatformCode" | sed 'h;y/8NPQRTZ/UCWX9M7/;x;G;s/\(.\)....\(.\)./\1\2/'`
500 PlatformCode=`echo "$PlatformCode" | sed 's/.$//'`
503 ### EMBEDDED_QPA logic missing ###
504 case "$PlatformCode,$PLATFORM_MAC" in
505 X9,* | XC,* | XU,* | XW,* | XM,*)
507 LICENSE_EXTENSION="-ALLOS"
509 8M,* | KM,* | S9,* | SC,* | SM,* | SU,* | SW,* | X9,* | XC,* | XU,* | XW,*)
510 # Qt for Embedded Linux
511 LICENSE_EXTENSION="-EMBEDDED"
513 6M,* | N7,* | N9,* | NX,*)
515 LICENSE_EXTENSION="-EMBEDDED"
517 FM,* | LM,yes | ZM,no)
519 LICENSE_EXTENSION="-DESKTOP"
523 [ "$PLATFORM_MAC" = "yes" ] && Platform='Mac OS X'
525 echo "You are not licensed for the $Platform platform."
527 echo "Please contact qt-info@nokia.com to upgrade your license to"
528 echo "include the $Platform platform, or install the Qt Open Source Edition"
529 echo "if you intend to develop free software."
534 if test -r "$relpath/.LICENSE"; then
535 # Generic, non-final license
537 line=`sed 'y/a-z/A-Z/;q' "$relpath"/.LICENSE`
542 *TECHNOLOGY?PREVIEW*)
549 echo >&2 "Invalid license files; cannot continue"
554 EditionString="$Edition"
555 QT_EDITION="QT_EDITION_DESKTOP"
558 case "$LicenseFeatureCode" in
561 case "$LicenseType" in
563 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}-US" "$outpath/LICENSE"
566 cp -f "$relpath/.LICENSE-EVALUATION-US" "$outpath/LICENSE"
572 case "$LicenseType" in
574 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}" "$outpath/LICENSE"
577 cp -f "$relpath/.LICENSE-EVALUATION" "$outpath/LICENSE"
583 echo "Invalid license key. Please check the license key."
587 case "$LicenseFeatureCode" in
595 if [ '!' -f "$outpath/LICENSE" ]; then
596 echo "The LICENSE, LICENSE.GPL3 LICENSE.LGPL file shipped with"
597 echo "this software has disappeared."
599 echo "Sorry, you are not licensed to use this software."
600 echo "Try re-installing."
604 elif [ $COMMERCIAL_USER = "no" ]; then
605 # Open Source edition - may only be used under the terms of the GPL or LGPL.
606 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
607 Licensee="Open Source"
609 EditionString="Open Source"
610 QT_EDITION="QT_EDITION_OPENSOURCE"
613 #-------------------------------------------------------------------------------
614 # initalize variables
615 #-------------------------------------------------------------------------------
617 SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
618 for varname in $SYSTEM_VARIABLES; do
619 qmakevarname="${varname}"
620 # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
621 if [ "${varname}" = "LDFLAGS" ]; then
622 qmakevarname="LFLAGS"
623 elif [ "${varname}" = "LD" ]; then
627 'if [ -n "\$'${varname}'" ]; then
628 QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'"
632 # Use CC/CXX to run config.tests
633 mkdir -p "$outpath/config.tests"
634 rm -f "$outpath/config.tests/.qmake.cache"
635 cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
637 QMakeVar add styles "cde mac motif plastique cleanlooks windows"
639 # QTDIR may be set and point to an old or system-wide Qt installation
642 # the minimum version of libdbus-1 that we require:
643 MIN_DBUS_1_VERSION=0.93
645 # initalize internal variables
646 CFG_CONFIGURE_EXIT_ON_ERROR=yes
648 CFG_EXCEPTIONS=unspecified
649 CFG_GUI=auto # (yes|no|auto)
675 CFG_OPENVG_LC_INCLUDES=no
676 CFG_OPENVG_SHIVA=auto
677 CFG_OPENVG_ON_OPENGL=auto
683 QT_DEFAULT_BUILD_PARTS="libs examples"
687 CFG_AUDIO_BACKEND=auto
690 CFG_JAVASCRIPTCORE_JIT=auto
693 # Target architecture
695 # Host architecture, same as CFG_ARCH when not cross-compiling
697 # Set when the -arch or -host-arch arguments are used
698 OPT_OBSOLETE_HOST_ARG=no
710 CFG_OBSOLETE_WAYLAND=no
722 CFG_SEPARATE_DEBUG_INFO=no
723 CFG_SEPARATE_DEBUG_INFO_NOCOPY=no
724 CFG_REDUCE_EXPORTS=auto
732 CFG_REDUCE_RELOCATIONS=auto
733 CFG_ACCESSIBILITY=auto
738 CFG_CLOCK_GETTIME=auto
739 CFG_CLOCK_MONOTONIC=auto
747 MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
751 CFG_PREFIX_INSTALL=yes
760 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
761 XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
765 OPT_CONFIRM_LICENSE=no
778 QPA_PLATFORM_GUARD=yes
780 # initalize variables used for installation
789 QT_INSTALL_TRANSLATIONS=
798 #flags for SQL drivers
806 QT_LFLAGS_ODBC="-lodbc"
809 # flags for libdbus-1
813 # flags for Glib (X11 only)
817 # flags for GStreamer (X11 only)
821 # default qpa platform
822 QT_QPA_DEFAULT_PLATFORM=
824 #-------------------------------------------------------------------------------
825 # check SQL drivers available in this package
826 #-------------------------------------------------------------------------------
828 # opensource version removes some drivers, so force them to be off
834 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
835 for a in "$relpath/src/plugins/sqldrivers/"*; do
837 base_a=`basename "$a"`
838 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
839 eval "CFG_SQL_${base_a}=auto"
844 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
845 if [ -d "$relpath/src/plugins/imageformats" ]; then
846 for a in "$relpath/src/plugins/imageformats/"*; do
848 base_a=`basename "$a"`
849 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
854 #-------------------------------------------------------------------------------
855 # parse command line arguments
856 #-------------------------------------------------------------------------------
858 # parse the arguments, setting things to "yes" or "no"
859 while [ "$#" -gt 0 ]; do
863 #Autoconf style options
865 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
869 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
873 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
874 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
877 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
881 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
885 -no-*-*|-plugin-*-*|-qt-*-*)
886 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
887 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
891 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
894 #Qt style yes options
895 -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|-exceptions|-harfbuzz|-prefix-install|-silent|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-phonon-backend|-audio-backend|-qml-debug|-javascript-jit|-rpath|-pkg-config|-force-pkg-config|-icu|-force-asserts|-testcocoon)
896 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
899 #Qt style options that pass an argument
902 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
906 -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)
907 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
911 #Qt style complex options in one command
912 -enable-*|-disable-*)
913 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
914 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
916 #Qt Builtin/System style options
917 -no-*|-system-*|-qt-*)
918 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
919 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
921 #Options that cannot be generalized
928 # this option may or may not be followed by an argument
929 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
938 # this option may or may not be followed by an argument
939 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
947 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
948 # this option may or may not be followed by an argument
949 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
968 if [ "$1" = "-D" ]; then
972 VAL=`echo $1 | sed 's,-D,,'`
977 # this option may or may not be followed by an argument
978 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
987 if [ "$1" = "-I" ]; then
991 VAL=`echo $1 | sed 's,-I,,'`
996 if [ "$1" = "-L" ]; then
1000 VAL=`echo $1 | sed 's,-L,,'`
1005 if [ "$1" = "-R" ]; then
1009 VAL=`echo $1 | sed 's,-R,,'`
1014 VAL=`echo $1 | sed 's,-l,,'`
1018 if [ "$1" = "-F" ]; then
1022 VAL=`echo $1 | sed 's,-F,,'`
1027 if [ "$1" = "-fw" ]; then
1031 VAL=`echo $1 | sed 's,-fw,,'`
1039 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1046 if [ "$UNKNOWN_ARG" = "yes" ]; then
1047 echo "$1: unknown argument"
1058 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1059 CFG_ACCESSIBILITY="$VAL"
1068 CFG_USE_GNUMAKE="$VAL"
1071 CFG_MYSQL_CONFIG="$VAL"
1074 QT_INSTALL_PREFIX="$VAL"
1077 QT_HOST_PREFIX="$VAL"
1086 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1087 CFG_PKGCONFIG="$VAL"
1093 CFG_PKGCONFIG="force"
1096 QT_INSTALL_DOCS="$VAL"
1099 QT_INSTALL_HEADERS="$VAL"
1102 QT_INSTALL_PLUGINS="$VAL"
1105 QT_INSTALL_IMPORTS="$VAL"
1108 QT_INSTALL_DATA="$VAL"
1111 QT_INSTALL_LIBS="$VAL"
1120 QT_INSTALL_TRANSLATIONS="$VAL"
1122 sysconfdir|settingsdir)
1123 QT_INSTALL_SETTINGS="$VAL"
1126 QT_INSTALL_EXAMPLES="$VAL"
1129 QT_INSTALL_TESTS="$VAL"
1138 QT_INSTALL_BINS="$VAL"
1144 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1151 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1152 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1153 [ "$VAL" = "es2" ]; then
1160 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1167 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1170 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1173 if [ "$BUILD_ON_MAC" = "yes" ]; then
1180 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1181 CFG_MAC_DWARF2="$VAL"
1187 OPT_OBSOLETE_HOST_ARG=yes
1190 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1191 CFG_MAC_HARFBUZZ="$VAL"
1198 if [ "$BUILD_ON_MAC" = "yes" ]; then
1199 CFG_FRAMEWORK="$VAL"
1205 if [ "$VAL" = "yes" ]; then
1207 QMakeVar add QMAKE_CFLAGS -pg
1208 QMakeVar add QMAKE_CXXFLAGS -pg
1209 QMakeVar add QMAKE_LFLAGS -pg
1210 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1216 if [ "$VAL" = "yes" ]; then
1217 QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon"
1220 exceptions|g++-exceptions)
1221 if [ "$VAL" = "no" ]; then
1223 elif [ "$VAL" = "yes" ]; then
1231 # keep compatibility with old platform names
1237 PLATFORM=hpux-acc-o64
1240 PLATFORM=hpux-acc-64
1243 PLATFORM=hpux-acc-64
1255 PLATFORM=reliant-cds-64
1258 PLATFORM=solaris-cc-64
1261 PLATFORM=unixware-cc
1264 PLATFORM=unixware-g++
1267 PLATFORM=unixware-cc
1270 PLATFORM=unixware-g++
1276 i386) NATIVE_64_ARCH="x86_64" ;;
1277 powerpc) NATIVE_64_ARCH="ppc64" ;;
1278 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1280 if [ ! -z "$NATIVE_64_ARCH" ]; then
1281 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1288 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1291 XPLATFORM="devices/$VAL"
1294 DEV_VAR=`echo $VAL | sed "s,^\(.*\)=.*,\1,"`
1295 DEV_VAL=`echo $VAL | sed "s,^.*=\(.*\),\1,"`
1296 DeviceVar set $DEV_VAR $DEV_VAL
1299 QT_QPA_DEFAULT_PLATFORM="$VAL"
1302 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1303 CFG_DEBUG_RELEASE="$VAL"
1309 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1310 CFG_RELEASE_QMAKE="$VAL"
1316 if [ "$VAL" = "yes" ]; then
1318 elif [ "$VAL" = "no" ]; then
1325 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1326 CFG_PREFIX_INSTALL="$VAL"
1334 developer-build|commercial|opensource)
1335 # These switches have been dealt with already
1338 if [ "$VAL" = "yes" ]; then
1340 elif [ "$VAL" = "no" ]; then
1347 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1348 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1354 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1355 if [ "$VAL" = "no" ]; then
1356 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1357 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1358 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1364 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1371 if [ "$VAL" = "no" ]; then
1378 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1386 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1393 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1400 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1407 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1414 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1421 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1428 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1435 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1436 CFG_PRECOMPILE="$VAL"
1441 separate-debug-info)
1442 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1443 CFG_SEPARATE_DEBUG_INFO="$VAL"
1444 elif [ "$VAL" = "nocopy" ] ; then
1445 CFG_SEPARATE_DEBUG_INFO="yes"
1446 CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1452 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1453 CFG_REDUCE_EXPORTS="$VAL"
1459 if [ "$VAL" = "no" ]; then
1466 if [ "$VAL" = "no" ]; then
1473 if [ "$VAL" = "no" ]; then
1480 if [ "$VAL" = "no" ]; then
1487 if [ "$VAL" = "no" ]; then
1494 if [ "$VAL" = "no" ]; then
1501 if [ "$VAL" = "no" ]; then
1511 if [ "$VAL" = "no" ]; then
1518 if [ "$VAL" = "no" ]; then
1525 if [ "$VAL" = "no" ]; then
1526 CFG_MIPS_DSPR2="$VAL"
1532 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1533 CFG_REDUCE_RELOCATIONS="$VAL"
1539 [ "$VAL" = "qt" ] && VAL=yes
1540 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1545 # No longer supported:
1546 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1549 if [ "$VAL" = "system" ]; then
1556 [ "$VAL" = "yes" ] && VAL=qt
1557 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1564 [ "$VAL" = "yes" ] && VAL=qt
1565 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1572 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1579 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1586 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1593 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1600 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1607 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1608 CFG_FONTCONFIG="$VAL"
1614 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1621 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1628 CFG_OBSOLETE_WAYLAND=yes
1631 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1638 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1645 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1652 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1659 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1666 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1673 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1680 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1681 CFG_GSTREAMER="$VAL"
1687 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1688 CFG_QGTKSTYLE="$VAL"
1694 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1697 if [ "$VAL" = "no" ]; then
1705 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1707 elif [ "$VAL" = "no" ]; then
1714 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1715 QPA_PLATFORM_GUARD="$VAL"
1721 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1723 elif [ "$VAL" = "runtime" ]; then
1730 if [ "$VAL" = "yes" ]; then
1737 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1744 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1745 CFG_LARGEFILE="$VAL"
1751 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1758 if [ "$VAL" = "yes" ]; then
1759 CFG_OPENSSL="linked"
1765 if [ "$VAL" = "yes" ]; then
1768 if [ "$VAL" = "no" ]; then
1776 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1777 CFG_JAVASCRIPTCORE_JIT="$VAL"
1783 if [ "$VAL" = "yes" ]; then
1784 OPT_CONFIRM_LICENSE="$VAL"
1790 if [ "$VAL" = "yes" ]; then
1796 sql-*|imageformat-*)
1797 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1798 # if autoconf style options were used, $VAL can be "yes" or "no"
1799 [ "$VAL" = "yes" ] && VAL=qt
1800 # now $VAL should be "no", "qt", or "plugin"... double-check
1801 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1804 # now $VAL is "no", "qt", or "plugin"
1806 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1807 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1809 # Grab the available values
1812 avail="$CFG_SQL_AVAILABLE"
1815 avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
1816 if [ "$OPT" != "plugin" ]; then
1817 # png is always built in
1823 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1827 # Check that that user's value is available.
1830 if [ "$VAL" = "$d" ]; then
1835 [ "$found" = yes ] || ERROR=yes
1837 if [ "$VAR" = "sql" ]; then
1838 # set the CFG_SQL_driver
1839 eval "CFG_SQL_$VAL=\$OPT"
1841 elif [ "$VAR" = "imageformat" ]; then
1842 [ "$OPT" = "qt" ] && OPT=yes
1843 VAL="`echo $VAL |tr a-z A-Z`"
1844 eval "CFG_$VAL=$OPT"
1848 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
1849 if [ "$OPT" = "plugin" ]; then
1852 QMakeVar add "${VAR}s" "${VAL}"
1853 elif [ "$OPT" = "no" ]; then
1854 PLUG_VAR="${VAR}-plugin"
1856 QMakeVar del "${IN_VAR}s" "$VAL"
1857 QMakeVar del "${PLUG_VAR}s" "$VAL"
1859 if [ "$ERROR" = "yes" ]; then
1860 echo "$CURRENT_OPT: unknown argument"
1865 if [ "$VAL" = "yes" ]; then
1866 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
1867 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
1871 elif [ "$VAL" = "no" ]; then
1872 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
1873 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
1882 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1889 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1896 D_FLAGS="$D_FLAGS \"$VAL\""
1899 I_FLAGS="$I_FLAGS -I\"${VAL}\""
1902 L_FLAGS="$L_FLAGS -L\"${VAL}\""
1905 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
1908 l_FLAGS="$l_FLAGS -l\"${VAL}\""
1911 if [ "$BUILD_ON_MAC" = "yes" ]; then
1912 L_FLAGS="$L_FLAGS -F\"${VAL}\""
1913 I_FLAGS="$I_FLAGS -F\"${VAL}\""
1919 if [ "$BUILD_ON_MAC" = "yes" ]; then
1920 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
1926 W_FLAGS="$W_FLAGS \"${VAL}\""
1932 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1933 CFG_PHONON_BACKEND="$VAL"
1945 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1946 CFG_AUDIO_BACKEND="$VAL"
1952 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1959 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1960 CFG_FORCE_ASSERTS="$VAL"
1966 if [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
1976 if [ "$UNKNOWN_OPT" = "yes" ]; then
1977 echo "${CURRENT_OPT}: invalid command-line switch"
1983 # update QT_CONFIG to show our current predefined configuration
1984 case "$CFG_QCONFIG" in
1985 minimal|small|medium|large|full)
1986 # these are a sequence of increasing functionality
1987 for c in minimal small medium large full; do
1988 QT_CONFIG="$QT_CONFIG $c-config"
1989 [ "$CFG_QCONFIG" = $c ] && break
1993 # not known to be sufficient for anything
1994 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
1995 echo >&2 "Error: configuration file not found:"
1996 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
1998 echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2003 #-------------------------------------------------------------------------------
2004 # build tree initialization
2005 #-------------------------------------------------------------------------------
2007 # where to find which..
2008 unixtests="$relpath/config.tests/unix"
2009 mactests="$relpath/config.tests/mac"
2010 WHICH="$unixtests/which.test"
2012 PERL=`$WHICH perl 2>/dev/null`
2014 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2016 for e in gawk nawk awk; do
2017 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2024 PERL="/usr/bin/perl"
2025 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2029 ### skip this if the user just needs help...
2030 if [ "$OPT_HELP" != "yes" ]; then
2032 # is this a shadow build?
2033 if [ "$OPT_SHADOW" = "maybe" ]; then
2035 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2036 if [ -h "$outpath" ]; then
2037 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2043 if [ "$OPT_SHADOW" = "yes" ]; then
2044 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2045 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2046 echo >&2 "Cannot proceed."
2049 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2052 if [ "$PLATFORM_MAC" = "no" -a "$CFG_DEBUG_RELEASE" = "yes" ]; then
2054 echo "WARNING: -debug-and-release is not supported outside of Mac OS X."
2055 echo "Qt can be built in release mode with separate debug information, so"
2056 echo "-debug-and-release is not necessary anymore"
2060 if [ "$CFG_SILENT" = "yes" ]; then
2061 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2064 # if the source tree is different from the build tree,
2065 # symlink or copy part of the sources
2066 if [ "$OPT_SHADOW" = "yes" ]; then
2067 echo "Preparing build tree..."
2069 if [ -z "$PERL" ]; then
2071 echo "You need perl in your PATH to make a shadow build."
2072 echo "Cannot proceed."
2076 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2078 # make a syncqt script that can be used in the shadow
2079 rm -f "$outpath/bin/syncqt"
2080 if [ -x "$relpath/bin/syncqt" ]; then
2081 mkdir -p "$outpath/bin"
2082 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2083 echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2084 chmod 755 "$outpath/bin/syncqt"
2087 for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
2088 rm -f "$outpath/bin/$i"
2089 if [ -x "$relpath/bin/$i" ]; then
2090 mkdir -p "$outpath/bin"
2091 echo "#!/bin/sh" >"$outpath/bin/$i"
2092 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2093 echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2094 chmod 755 "$outpath/bin/$i"
2098 # save a pre-existing mkspecs/modules dir
2099 test -d "$outpath/mkspecs/modules" && \
2100 mv "$outpath/mkspecs/modules" "$outpath/mkspecs-modules"
2102 # symlink the mkspecs directory
2103 mkdir -p "$outpath/mkspecs"
2104 rm -rf "$outpath"/mkspecs/*
2105 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2106 rm -f "$outpath/mkspecs/default"
2110 rm -rf "$outpath/mkspecs/$1"
2111 find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2112 find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2115 # Special case for mkspecs/features directory.
2116 # To be able to place .prf files into a shadow build directory,
2117 # we're creating links for files only. The directory structure is reproduced.
2118 ShadowMkspecs features
2120 # The modules dir is special, too.
2121 if test -d "$outpath/mkspecs-modules"; then
2122 rm -rf "$outpath/mkspecs/modules"
2123 mv "$outpath/mkspecs-modules" "$outpath/mkspecs/modules"
2125 ShadowMkspecs modules
2128 # symlink the doc directory
2129 rm -rf "$outpath/doc"
2130 ln -s "$relpath/doc" "$outpath/doc"
2133 # symlink fonts to be able to run application from build directory
2134 if [ ! -d "${outpath}/lib/fonts" ]; then
2135 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2136 mkdir -p "${outpath}/lib"
2137 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2141 if [ "$OPT_FAST" = "auto" ]; then
2142 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2149 # find a make command
2150 if [ -z "$MAKE" ]; then
2152 for mk in gmake make; do
2153 if "$WHICH" $mk >/dev/null 2>&1; then
2158 if [ -z "$MAKE" ]; then
2159 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2160 echo >&2 "Cannot proceed."
2163 # export MAKE, we need it later in the config.tests
2169 #-------------------------------------------------------------------------------
2170 # auto-detect all that hasn't been specified in the arguments
2171 #-------------------------------------------------------------------------------
2173 if [ -z "$PLATFORM" ]; then
2175 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2177 OSX_VERSION=`uname -r | cut -d. -f1`
2178 # Select compiler. Use g++ unless we find a usable Clang version
2180 if [ "$OSX_VERSION" -ge 12 ]; then
2181 # We're on Mountain Lion or above. Use Clang. Don't advertise gcc.
2183 elif [ "$OSX_VERSION" -eq 11 ]; then
2184 # We're on Lion. Check if we have a supported Clang version
2185 case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
2188 PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
2195 #PLATFORM=aix-g++-64
2197 #PLATFORM=aix-xlc-64
2199 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2209 # PLATFORM=dynix-g++
2215 PLATFORM=freebsd-g++
2217 - Also available for FreeBSD: freebsd-icc
2221 PLATFORM=openbsd-g++
2232 #PLATFORM=irix-cc-64
2234 - Also available for IRIX: irix-g++ irix-cc-64
2238 case "$UNAME_MACHINE" in
2240 #PLATFORM=hpuxi-acc-32
2241 PLATFORM=hpuxi-acc-64
2243 - Also available for HP-UXi: hpuxi-acc-32
2249 #PLATFORM=hpux-acc-64
2251 #PLATFORM=hpux-acc-o64
2253 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2262 - Also available for Tru64: tru64-g++
2266 case "$UNAME_MACHINE" in
2268 PLATFORM=linux-g++-64
2275 - Also available for Linux: linux-kcc linux-icc linux-cxx
2279 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2280 PLATFORM="solaris-g++"
2282 #PLATFORM=solaris-g++
2284 #PLATFORM=solaris-cc64
2287 - Also available for Solaris: solaris-g++ solaris-cc-64
2290 ReliantUNIX-*:*|SINIX-*:*)
2291 PLATFORM=reliant-cds
2292 #PLATFORM=reliant-cds-64
2294 - Also available for Reliant UNIX: reliant-cds-64
2304 #PLATFORM=unixware-g++
2305 PLATFORM=unixware-cc
2307 - Also available for OpenUNIX: unixware-g++
2311 #PLATFORM=unixware-g++
2312 PLATFORM=unixware-cc
2314 - Also available for UnixWare: unixware-g++
2321 - Also available for SCO OpenServer: sco-g++
2325 PLATFORM=unixware-g++
2328 PLATFORM=unsupported/qnx-g++
2331 if [ "$OPT_HELP" != "yes" ]; then
2333 for p in $PLATFORMS; do
2334 echo " $relconf $* -platform $p"
2337 echo " The build script does not currently recognize all" >&2
2338 echo " platforms supported by Qt." >&2
2339 echo " Rerun this script with a -platform option listed to" >&2
2340 echo " set the system/compiler combination you use." >&2
2347 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2349 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2351 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2352 case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
2353 case "$XPLATFORM" in qnx-*) XPLATFORM_QNX=yes;; esac
2355 if [ -d "$PLATFORM" ]; then
2356 QMAKESPEC="$PLATFORM"
2358 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2360 if [ -d "$XPLATFORM" ]; then
2361 XQMAKESPEC="$XPLATFORM"
2363 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2365 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2366 QT_CROSS_COMPILE=yes
2367 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2368 QTCONFIG_CONFIG="$QTCONFIG_CONFIG cross_compile"
2371 if [ "$BUILD_ON_MAC" = "yes" ]; then
2372 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2374 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2375 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2376 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2377 echo " built with 'macx-g++'" >&2
2383 # check specified platforms are supported
2384 if [ '!' -d "$QMAKESPEC" ]; then
2386 echo " The specified system/compiler is not supported:"
2390 echo " Please see the README file for a complete list."
2394 if [ '!' -d "$XQMAKESPEC" ]; then
2396 echo " The specified system/compiler is not supported:"
2400 echo " Please see the README file for a complete list."
2404 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2406 echo " The specified system/compiler port is not complete:"
2408 echo " $XQMAKESPEC/qplatformdefs.h"
2410 echo " Please contact qt-info@nokia.com."
2415 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2416 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2417 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2418 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2419 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2423 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2424 case `basename "$XPLATFORM"` in
2427 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2429 echo "Please contact qt-info@nokia.com to upgrade your license to"
2430 echo "include this platform, or install the Qt Open Source Edition"
2431 echo "if you intend to develop free software."
2437 #-------------------------------------------------------------------------------
2438 # tests that don't need qmake (must be run before displaying help)
2439 #-------------------------------------------------------------------------------
2441 # detect build style
2442 if [ "$CFG_DEBUG" = "auto" ]; then
2443 if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2444 CFG_DEBUG_RELEASE=yes
2446 elif [ "$CFG_DEV" = "yes" ]; then
2447 CFG_DEBUG_RELEASE=no
2450 CFG_DEBUG_RELEASE=no
2454 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2455 QT_CONFIG="$QT_CONFIG build_all"
2458 # pass on $CFG_SDK to the configure tests.
2459 if [ '!' -z "$CFG_SDK" ]; then
2460 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
2463 # find the default framework value
2464 if [ "$BUILD_ON_MAC" = "yes" ]; then
2465 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2466 CFG_FRAMEWORK="$CFG_SHARED"
2467 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2469 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2477 QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
2479 TEST_COMPILER=$QMAKE_CONF_COMPILER
2480 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
2481 if [ -z "$TEST_COMPILER" ]; then
2482 echo "ERROR: Cannot set the compiler for the configuration tests"
2487 if [ -n "$CFG_SYSROOT" ]; then
2488 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
2492 export SYSROOT_FLAG # used by config.tests/unix/compile.test
2494 # auto-detect precompiled header support
2495 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2496 if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2503 #auto-detect DWARF2 on the mac
2504 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
2505 if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; 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-exceptions] [-exceptions] [-no-accessibility]
2863 [-accessibility] [-no-sql-<driver>] [-sql-<driver>]
2864 [-plugin-sql-<driver>] [-system-sqlite]
2865 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
2866 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
2867 [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
2868 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
2869 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
2870 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
2871 [-no-separate-debug-info] [-no-sse2]
2872 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
2873 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info]
2874 [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
2875 [-no-audio-backend] [-audio-backend]
2876 [-no-javascript-jit] [-javascript-jit] [-no-qml-debug] [-qml-debug]
2877 [-no-optimized-qmake] [-optimized-qmake]
2878 [-no-openssl] [-openssl] [-openssl-linked]
2879 [-no-gtkstyle] [-gtkstyle]
2880 [-qt-pcre] [-system-pcre]
2881 [-device <name>] [-device-option <key=value>]
2882 [additional platform specific options (see below)]
2885 Installation options:
2887 These are optional, but you may specify install directories.
2889 -prefix <dir> ...... This will install everything relative to <dir>
2890 (default $QT_INSTALL_PREFIX)
2892 -hostprefix [dir] .. Tools and libraries needed when developing
2893 applications are installed in [dir]. If [dir] is
2894 not given, the current build directory will be used.
2897 * -prefix-install .... Force a sandboxed "local" installation of
2898 Qt. This will install into
2899 $QT_INSTALL_PREFIX, if this option is
2900 disabled then some platforms will attempt a
2901 "system" install by placing default values to
2902 be placed in a system location other than
2905 You may use these to separate different parts of the install:
2907 -bindir <dir> ......... Executables will be installed to <dir>
2908 (default PREFIX/bin)
2909 -libdir <dir> ......... Libraries will be installed to <dir>
2910 (default PREFIX/lib)
2911 -docdir <dir> ......... Documentation will be installed to <dir>
2912 (default PREFIX/doc)
2913 -headerdir <dir> ...... Headers will be installed to <dir>
2914 (default PREFIX/include)
2915 -plugindir <dir> ...... Plugins will be installed to <dir>
2916 (default PREFIX/plugins)
2917 -importdir <dir> ...... Imports for QML will be installed to <dir>
2918 (default PREFIX/imports)
2919 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
2921 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
2922 (default PREFIX/translations)
2923 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
2924 (default PREFIX/etc/settings)
2925 -examplesdir <dir> .... Examples will be installed to <dir>
2926 (default PREFIX/examples)
2927 -testsdir <dir> ....... Tests will be installed to <dir>
2928 (default PREFIX/tests)
2930 -hostbindir <dir> .. Host executables will be installed to <dir>
2931 (default HOSTPREFIX/bin)
2932 -hostdatadir <dir> . Data used by qmake will be installed to <dir>
2933 (default HOSTPREFIX)
2937 The defaults (*) are usually acceptable. A plus (+) denotes a default value
2938 that needs to be evaluated. If the evaluation succeeds, the feature is
2939 included. Here is a short explanation of each option:
2941 * -release ........... Compile and link Qt with debugging turned off.
2942 -debug ............. Compile and link Qt with debugging turned on.
2943 -debug-and-release . Compile and link two versions of Qt, with and without
2944 debugging turned on (Mac only).
2946 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
2948 -opensource ........ Compile and link the Open-Source Edition of Qt.
2949 -commercial ........ Compile and link the Commercial Edition of Qt.
2952 * -shared ............ Create and use shared Qt libraries.
2953 -static ............ Create and use static Qt libraries.
2955 * -no-fast ........... Configure Qt normally by generating Makefiles for all
2957 -fast .............. Configure Qt quickly by generating Makefiles only for
2958 library and subdirectory targets. All other Makefiles
2959 are created as wrappers, which will in turn run qmake.
2961 -no-largefile ...... Disables large file support.
2962 + -largefile ......... Enables Qt to access files larger than 4 GB.
2964 -no-exceptions ..... Disable exceptions on compilers that support it.
2965 * -exceptions ........ Enable exceptions on compilers that support it.
2967 -no-accessibility .. Do not compile Accessibility support.
2968 * -accessibility ..... Compile Accessibility support.
2970 -no-sql-<driver> ... Disable SQL <driver> entirely.
2971 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
2973 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
2976 Possible values for <driver>:
2977 [ $CFG_SQL_AVAILABLE ]
2979 -system-sqlite ..... Use sqlite from the operating system.
2981 -no-phonon-backend.. Do not build the platform phonon plugin.
2982 + -phonon-backend..... Build the platform phonon plugin.
2984 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
2985 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
2987 -no-qml-debug ...... Do not build the in-process QML debugging support.
2988 + -qml-debug ......... Build the QML debugging support.
2990 -platform target ... The operating system and compiler you are building
2993 See the README file for a list of supported
2994 operating systems and compilers.
2996 -no-sse2 ........... Do not compile with use of SSE2 instructions.
2997 -no-sse3 ........... Do not compile with use of SSE3 instructions.
2998 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
2999 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
3000 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
3001 -no-avx ............ Do not compile with use of AVX instructions.
3002 -no-avx2 ........... Do not compile with use of AVX2 instructions.
3003 -no-neon ........... Do not compile with use of NEON instructions.
3004 -no-mips_dsp ....... Do not compile with use of MIPS DSP instructions.
3005 -no-mips_dspr2 ..... Do not compile with use of MIPS DSP rev2 instructions.
3007 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3008 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3010 -testcocoon Instrument Qt with the TestCocoon code coverage tool.
3012 -D <string> ........ Add an explicit define to the preprocessor.
3013 -I <string> ........ Add an explicit include path.
3014 -L <string> ........ Add an explicit library path.
3016 + -pkg-config ........ Use pkg-config to detect include and library paths. By default,
3017 configure determines whether to use pkg-config or not with
3018 some heuristics such as checking the environment variables.
3019 -no-pkg-config ..... Disable use of pkg-config.
3020 -force-pkg-config .. Force usage of pkg-config (skips pkg-config usability
3021 detection heuristic).
3023 -help, -h .......... Display this information.
3025 Third Party Libraries:
3027 -qt-zlib ........... Use the zlib bundled with Qt.
3028 + -system-zlib ....... Use zlib from the operating system.
3029 See http://www.gzip.org/zlib
3031 -no-gif ............ Do not compile GIF reading support.
3033 -no-libpng ......... Do not compile PNG support.
3034 -qt-libpng ......... Use the libpng bundled with Qt.
3035 + -system-libpng ..... Use libpng from the operating system.
3036 See http://www.libpng.org/pub/png
3038 -no-libjpeg ........ Do not compile JPEG support.
3039 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3040 + -system-libjpeg .... Use libjpeg from the operating system.
3041 See http://www.ijg.org
3043 -no-openssl ........ Do not compile support for OpenSSL.
3044 + -openssl ........... Enable run-time OpenSSL support.
3045 -openssl-linked .... Enabled linked OpenSSL support.
3047 -qt-pcre ........... Use the PCRE library bundled with Qt.
3048 + -system-pcre ....... Use the PCRE library from the operating system.
3052 -make <part> ....... Add part to the list of parts to be built at make time.
3053 ($QT_DEFAULT_BUILD_PARTS)
3054 -nomake <part> ..... Exclude part from the list of parts to be built.
3056 -R <string> ........ Add an explicit runtime library path to the Qt
3058 -l <string> ........ Add an explicit library.
3060 -no-rpath .......... Do not use the library install path as a runtime
3062 + -rpath ............. Link Qt libraries and executables using the library
3063 install path as a runtime library path. Equivalent
3064 to -R install_libpath
3066 -continue .......... Continue as far as possible if an error occurs.
3068 -verbose, -v ....... Print verbose information about each step of the
3071 -silent ............ Reduce the build output so that warnings and errors
3072 can be seen more easily.
3074 * -no-optimized-qmake ... Do not build qmake optimized.
3075 -optimized-qmake ...... Build qmake optimized.
3077 -no-gui ............ Don't build the Qt GUI library
3079 $NSN -no-nis ............ Do not compile NIS support.
3080 $NSY -nis ............... Compile NIS support.
3082 $CUN -no-cups ........... Do not compile CUPS support.
3083 $CUY -cups .............. Compile CUPS support.
3084 Requires cups/cups.h and libcups.so.2.
3086 $CIN -no-iconv .......... Do not compile support for iconv(3).
3087 $CIY -iconv ............. Compile support for iconv(3).
3089 $PHN -no-pch ............ Do not use precompiled header support.
3090 $PHY -pch ............... Use precompiled header support.
3092 $DBN -no-dbus ........... Do not compile the QtDBus module.
3093 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3094 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3096 -reduce-relocations ..... Reduce relocations in the libraries through extra
3097 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3098 experimental; needs GNU ld >= 2.18).
3100 -force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
3102 -device <name> ............... Cross-compile for device <name> (experimental)
3103 -device-option <key=value> ... Add device specific options for the device mkspec
3106 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3107 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3109 $XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
3110 $XCBY -xcb ............... Compile Xcb support.
3112 $EGLFSN -no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support.
3113 $EGLFSY -eglfs ............. Compile EGLFS support (Requires OpenGL ES 2 support).
3115 $DFBN -no-directfb ....... Do not compile DirectFB support.
3116 $DFBY -directfb .......... Compile DirectFB support.
3118 -qpa <name> ......... Sets the default QPA platform (e.g xcb, cocoa, windows).
3120 -xplatform target ... The target platform when cross-compiling.
3122 -sysroot <dir> ...... Sets <dir> as the target compiler's and qmake's sysroot.
3124 -no-feature-<feature> Do not compile in <feature>.
3125 -feature-<feature> .. Compile in <feature>. The available features
3126 are described in src/corelib/global/qfeatures.txt
3128 -no-freetype ........ Do not compile in Freetype2 support.
3129 -qt-freetype ........ Use the libfreetype bundled with Qt.
3130 * -system-freetype .... Use libfreetype from the operating system.
3131 See http://www.freetype.org/
3133 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3134 default ($CFG_QCONFIG).
3136 -no-opengl .......... Do not support OpenGL.
3137 -opengl <api> ....... Enable OpenGL support
3138 With no parameter, this will attempt to auto-detect
3139 OpenGL ES 2, or regular desktop OpenGL.
3140 Use es2 for <api> to override auto-detection.
3142 $GBN -no-glib ........... Do not compile Glib support.
3143 $GBY -glib .............. Compile Glib support.
3146 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
3149 $X2N -no-xinput2......... Do not compile XInput2 support.
3150 $X2Y -xinput2............ Compile XInput2 support.
3156 if [ "$BUILD_ON_MAC" = "yes" ]; then
3161 -Fstring ........... Add an explicit framework path.
3162 -fw string ......... Add an explicit framework.
3164 * -framework ......... Build Qt as a series of frameworks and
3165 link tools against those frameworks.
3166 -no-framework ...... Do not build Qt as a series of frameworks.
3168 * -dwarf2 ............ Enable dwarf2 debugging symbols.
3169 -no-dwarf2 ......... Disable dwarf2 debugging symbols.
3171 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3172 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3174 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
3175 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
3176 QT_ENABLE_HARFBUZZ environment variable.
3181 [ "x$ERROR" = "xyes" ] && exit 1
3186 # -----------------------------------------------------------------------------
3187 # LICENSING, INTERACTIVE PART
3188 # -----------------------------------------------------------------------------
3191 echo "This is the Qt ${EditionString} Edition."
3194 if [ "$Edition" = "OpenSource" ]; then
3196 echo "You are licensed to use this software under the terms of"
3197 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
3198 if [ -f "$relpath/LICENSE.GPL3" ]; then
3199 echo "You are also licensed to use this software under the terms of"
3200 echo "the GNU General Public License (GPL) versions 3."
3206 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3207 echo "You have already accepted the terms of the $LicenseType license."
3210 if [ -f "$relpath/LICENSE.GPL3" ]; then
3211 echo "Type '3' to view the GNU General Public License version 3."
3213 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
3214 echo "Type 'yes' to accept this license offer."
3215 echo "Type 'no' to decline this license offer."
3217 echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
3221 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
3223 elif [ "$acceptance" = "no" ]; then
3224 echo "You are not licensed to use this software."
3227 elif [ "$acceptance" = "3" ]; then
3228 more "$relpath/LICENSE.GPL3"
3229 elif [ "$acceptance" = "L" ]; then
3230 more "$relpath/LICENSE.LGPL"
3233 elif [ "$Edition" = "Preview" ]; then
3234 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
3237 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3238 echo "You have already accepted the terms of the $LicenseType license."
3241 echo "You are licensed to use this software under the terms of"
3242 echo "the $TheLicense"
3244 echo "Type '?' to read the Preview License."
3245 echo "Type 'yes' to accept this license offer."
3246 echo "Type 'no' to decline this license offer."
3248 echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
3252 if [ "$acceptance" = "yes" ]; then
3254 elif [ "$acceptance" = "no" ] ;then
3255 echo "You are not licensed to use this software."
3258 elif [ "$acceptance" = "?" ]; then
3259 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
3262 elif [ "$Edition" != "OpenSource" ]; then
3263 if [ -n "$ExpiryDate" ]; then
3264 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
3265 [ -z "$ExpiryDate" ] && ExpiryDate="0"
3266 Today=`date +%Y%m%d`
3267 if [ "$Today" -gt "$ExpiryDate" ]; then
3268 case "$LicenseType" in
3269 Commercial|Academic|Educational)
3270 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
3272 echo "NOTICE NOTICE NOTICE NOTICE"
3274 echo " Your support and upgrade period has expired."
3276 echo " You are no longer licensed to use this version of Qt."
3277 echo " Please contact qt-info@nokia.com to renew your support"
3278 echo " and upgrades for this license."
3280 echo "NOTICE NOTICE NOTICE NOTICE"
3285 echo "WARNING WARNING WARNING WARNING"
3287 echo " Your support and upgrade period has expired."
3289 echo " You may continue to use your last licensed release"
3290 echo " of Qt under the terms of your existing license"
3291 echo " agreement. But you are not entitled to technical"
3292 echo " support, nor are you entitled to use any more recent"
3293 echo " Qt releases."
3295 echo " Please contact qt-info@nokia.com to renew your"
3296 echo " support and upgrades for this license."
3298 echo "WARNING WARNING WARNING WARNING"
3305 echo "NOTICE NOTICE NOTICE NOTICE"
3307 echo " Your Evaluation license has expired."
3309 echo " You are no longer licensed to use this software. Please"
3310 echo " contact qt-info@nokia.com to purchase license, or install"
3311 echo " the Qt Open Source Edition if you intend to develop free"
3314 echo "NOTICE NOTICE NOTICE NOTICE"
3321 TheLicense=`head -n 1 "$outpath/LICENSE"`
3323 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3324 echo "You have already accepted the terms of the $TheLicense."
3327 echo "You are licensed to use this software under the terms of"
3328 echo "the $TheLicense."
3330 echo "Type '?' to view the $TheLicense."
3331 echo "Type 'yes' to accept this license offer."
3332 echo "Type 'no' to decline this license offer."
3334 echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
3338 if [ "$acceptance" = "yes" ]; then
3340 elif [ "$acceptance" = "no" ]; then
3341 echo "You are not licensed to use this software."
3344 else [ "$acceptance" = "?" ]
3345 more "$outpath/LICENSE"
3350 # this should be moved somewhere else
3353 AIX_VERSION=`uname -v`
3354 if [ "$AIX_VERSION" -lt "5" ]; then
3355 QMakeVar add QMAKE_LIBS_X11 -lbind
3362 #-------------------------------------------------------------------------------
3363 # generate qconfig.cpp
3364 #-------------------------------------------------------------------------------
3365 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
3367 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3369 static const char qt_configure_licensee_str [256 + 12] = "qt_lcnsuser=$Licensee";
3370 static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$Edition";
3372 /* Installation date */
3373 static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`";
3375 /* Installation Info */
3376 static const char qt_configure_prefix_path_strs[][256 + 12] = {
3377 "qt_prfxpath=$QT_INSTALL_PREFIX",
3378 "qt_docspath=$QT_INSTALL_DOCS",
3379 "qt_hdrspath=$QT_INSTALL_HEADERS",
3380 "qt_libspath=$QT_INSTALL_LIBS",
3381 "qt_binspath=$QT_INSTALL_BINS",
3382 "qt_plugpath=$QT_INSTALL_PLUGINS",
3383 "qt_impspath=$QT_INSTALL_IMPORTS",
3384 "qt_datapath=$QT_INSTALL_DATA",
3385 "qt_trnspath=$QT_INSTALL_TRANSLATIONS",
3386 "qt_xmplpath=$QT_INSTALL_EXAMPLES",
3387 "qt_tstspath=$QT_INSTALL_TESTS",
3388 #ifdef QT_BUILD_QMAKE
3389 "qt_ssrtpath=$CFG_SYSROOT",
3390 "qt_hpfxpath=$QT_HOST_PREFIX",
3391 "qt_hbinpath=$QT_HOST_BINS",
3392 "qt_hdatpath=$QT_HOST_DATA",
3395 static const char qt_configure_settings_path_str[256 + 12] = "qt_stngpath=$QT_INSTALL_SETTINGS";
3398 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3400 /* strlen( "qt_lcnsxxxx" ) == 12 */
3401 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
3402 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
3404 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
3407 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
3408 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
3409 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
3411 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
3412 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
3413 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
3416 # -----------------------------------------------------------------------------
3417 if [ "$LicenseType" = "Evaluation" ]; then
3418 EVALKEY=qt_qevalkey=$LicenseKeyExt
3419 elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then
3420 EVALKEY=qt_qevalkey=
3423 if [ -n "$EVALKEY" ]; then
3424 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
3425 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
3426 /* Evaluation license key */
3427 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
3429 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
3433 # -----------------------------------------------------------------------------
3435 # -----------------------------------------------------------------------------
3438 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
3440 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
3441 if [ "$OPT_SHADOW" = "yes" ]; then
3442 "$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
3443 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
3444 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
3448 # $1: input variable name (awk regexp)
3449 # $2: optional output variable name
3450 # $3: optional value transformation (sed command)
3451 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
3452 # is where the resulting variable is written to
3453 setBootstrapVariable()
3455 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
3459 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
3460 echo "Creating qmake. Please wait..."
3463 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
3464 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
3465 if [ -f "$QCONFIG_H" ]; then
3466 OLD_QCONFIG_H=$QCONFIG_H
3467 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
3470 # create temporary qconfig.h for compiling qmake, if it doesn't exist
3471 # when building qmake, we use #defines for the install paths,
3472 # however they are real functions in the library
3473 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
3474 mkdir -p "$outpath/src/corelib/global"
3475 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
3476 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
3479 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
3481 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
3482 rm -rf mkspecs/default
3483 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
3484 mkdir -p "$outpath/qmake" || exit
3486 for mkfile in GNUmakefile Makefile; do
3489 in_mkfile="${mkfile}.in"
3490 if [ "$mkfile" = "Makefile" ]; then
3491 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
3492 # (cd qmake && qmake) >/dev/null 2>&1 && continue
3494 in_mkfile="${mkfile}.unix"
3496 in_mkfile="$relpath/qmake/$in_mkfile"
3497 mkfile="$outpath/qmake/$mkfile"
3498 if [ -f "$mkfile" ]; then
3499 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
3502 [ -f "$in_mkfile" ] || continue
3504 echo "########################################################################" > "$mkfile"
3505 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
3506 echo "########################################################################" >> "$mkfile"
3509 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
3510 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
3511 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
3513 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
3514 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
3517 [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
3518 setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
3519 setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
3520 setBootstrapVariable QMAKE_CFLAGS
3521 setBootstrapVariable QMAKE_CXXFLAGS
3522 setBootstrapVariable QMAKE_LFLAGS
3524 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
3525 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
3526 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
3528 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
3529 setBootstrapVariable QMAKE_CFLAGS_RELEASE
3530 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
3531 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
3532 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
3533 elif [ "$CFG_DEBUG" = "yes" ]; then
3534 setBootstrapVariable QMAKE_CFLAGS_DEBUG
3535 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
3536 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
3537 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
3540 if [ -n "$RPATH_FLAGS" ] && [ -n "`getQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
3541 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" QMAKE_LFLAGS_RPATH
3542 for rpath in $RPATH_FLAGS; do
3543 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
3546 if [ "$BUILD_ON_MAC" = "yes" ]; then
3547 echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
3548 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
3549 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
3550 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
3551 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
3552 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
3553 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
3554 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
3555 if [ '!' -z "$CFG_SDK" ]; then
3556 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
3557 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
3558 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
3559 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
3560 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
3563 if [ '!' -z "$D_FLAGS" ]; then
3564 for DEF in $D_FLAGS; do
3565 EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
3568 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
3569 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
3570 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
3571 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
3573 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
3574 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
3575 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
3576 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
3577 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
3578 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
3579 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
3580 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
3581 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
3582 -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
3584 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
3585 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
3586 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
3587 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
3592 QMAKE_BUILD_ERROR=no
3593 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
3594 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
3595 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
3596 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
3599 #-------------------------------------------------------------------------------
3601 #-------------------------------------------------------------------------------
3602 if [ -z "$PKG_CONFIG" ]; then
3603 # See if PKG_CONFIG is set in the mkspec:
3604 PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
3606 if [ -z "$PKG_CONFIG" ]; then
3607 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
3610 if [ "$CFG_PKGCONFIG" = "no" ]; then
3612 elif [ "$CFG_PKGCONFIG" = "force" ]; then
3614 echo >&2 "You have asked to use pkg-config. Please make sure you have"
3615 echo >&2 "a correctly setup pkg-config environment!"
3617 elif [ -n "$PKG_CONFIG" ]; then
3618 # found a pkg-config
3619 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3620 # when xcompiling, check environment to see if it's actually usable
3621 if [ -z "$PKG_CONFIG_LIBDIR" ]; then
3622 if [ -n "$CFG_SYSROOT" ] && [ -d "$CFG_SYSROOT/usr/lib/pkgconfig" ]; then
3623 PKG_CONFIG_LIBDIR=$CFG_SYSROOT/usr/lib/pkgconfig:$CFG_SYSROOT/usr/share/pkgconfig
3624 export PKG_CONFIG_LIBDIR
3625 echo >&2 "Note: PKG_CONFIG_LIBDIR automatically set to $PKG_CONFIG_LIBDIR"
3626 elif [ "$CFG_PKGCONFIG" = "yes" ]; then
3627 echo >&2 "Error: PKG_CONFIG_LIBDIR has not been set. This could mean"
3628 echo >&2 "the host's .pc files will be used (even if you set PKG_CONFIG_PATH)."
3629 echo >&2 "Set this variable to the directory that contains target .pc files"
3630 echo >&2 "for pkg-config to function correctly when cross-compiling or"
3631 echo >&2 "use -force-pkg-config to override this test."
3635 echo >&2 "Warning: Disabling pkg-config since PKG_CONFIG_LIBDIR is not set."
3638 if [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
3639 if [ -n "$CFG_SYSROOT" ]; then
3640 PKG_CONFIG_SYSROOT_DIR=$CFG_SYSROOT
3641 export PKG_CONFIG_SYSROOT_DIR
3642 echo >&2 "Note: PKG_CONFIG_SYSROOT_DIR automatically set to $PKG_CONFIG_SYSROOT_DIR"
3643 elif [ "$CFG_PKGCONFIG" = "yes" ]; then
3644 echo >&2 "Error: PKG_CONFIG_SYSROOT_DIR has not been set. Set this variable"
3645 echo >&2 "to your sysroot for pkg-config to function correctly when cross-compiling"
3646 echo >&2 "or use -force-pkg-config to override this test."
3650 echo >&2 "Warning: Disabling pkg-config since PKG_CONFIG_SYSROOT_DIR is not set."
3654 elif [ "$CFG_PKGCONFIG" = "yes" ]; then
3655 echo >&2 "Could not detect pkg-config from mkspec or PATH."
3659 if [ -z "$PKG_CONFIG" ]; then
3660 QT_CONFIG="$QT_CONFIG no-pkg-config"
3663 #-------------------------------------------------------------------------------
3664 # write out device config before we run the test.
3665 #-------------------------------------------------------------------------------
3666 if cmp -s "$DEVICE_VARS_FILE" "$outpath/mkspecs/qdevice.pri"; then
3667 rm -f "$DEVICE_VARS_FILE"
3669 mv -f $DEVICE_VARS_FILE "$outpath/mkspecs/qdevice.pri"
3672 #-------------------------------------------------------------------------------
3673 # tests that need qmake
3674 #-------------------------------------------------------------------------------
3676 #-------------------------------------------------------------------------------
3677 # determine the target and host architectures
3678 #-------------------------------------------------------------------------------
3680 # Use config.tests/arch/arch.pro to has the compiler tell us what the target architecture is
3681 CFG_ARCH=`OUTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" -o /dev/null "$relpath/config.tests/arch/arch.pro" 2>&1 | sed -n -e 's,^Project MESSAGE:.*Architecture: \([a-zA-Z0-9_]*\).*,\1,p'`
3683 [ -z "$CFG_ARCH" ] && CFG_ARCH="unknown"
3684 if [ "$QMAKESPEC" != "$XQMAKESPEC" ]; then
3685 # Do the same test again, using the host compiler
3686 CFG_HOST_ARCH=`OUTDIR="$outpath" "$outpath/bin/qmake" -spec "$QMAKESPEC" -o /dev/null "$relpath/config.tests/arch/arch.pro" 2>&1 | sed -n -e 's,^Project MESSAGE:.*Architecture: \([a-zA-Z0-9_]*\).*,\1,p'`
3687 [ -z "$CFG_HOST_ARCH" ] && CFG_HOST_ARCH="unknown"
3689 # not cross compiling, host == target
3690 CFG_HOST_ARCH="$CFG_ARCH"
3693 if [ "$OPT_VERBOSE" = "yes" ]; then
3694 echo "System architecture: '$CFG_ARCH'"
3695 echo "Host architecture: '$CFG_HOST_ARCH'"
3698 #-------------------------------------------------------------------------------
3699 # functionality tests
3700 #-------------------------------------------------------------------------------
3702 # detect availability of float math.h functions
3703 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
3704 CFG_USE_FLOATMATH=yes
3706 CFG_USE_FLOATMATH=no
3709 # detect sse2 support
3710 if [ "${CFG_SSE2}" = "auto" ]; then
3711 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
3718 # detect sse3 support
3719 if [ "${CFG_SSE3}" = "auto" ]; then
3720 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse3 "sse3" $L_FLAGS $I_FLAGS $l_FLAGS "-msse3"; then
3727 # detect ssse3 support
3728 if [ "${CFG_SSSE3}" = "auto" ]; then
3729 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ssse3 "ssse3" $L_FLAGS $I_FLAGS $l_FLAGS "-mssse3"; then
3736 # detect sse4.1 support
3737 if [ "${CFG_SSE4_1}" = "auto" ]; then
3738 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse4_1 "sse4_1" $L_FLAGS $I_FLAGS $l_FLAGS "-msse4.1"; then
3745 # detect sse4.2 support
3746 if [ "${CFG_SSE4_2}" = "auto" ]; then
3747 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse4_2 "sse4_2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse4.2"; then
3754 # detect avx support
3755 if [ "${CFG_AVX}" = "auto" ]; then
3756 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx "avx" $L_FLAGS $I_FLAGS $l_FLAGS "-mavx"; then
3763 # detect avx2 support
3764 if [ "${CFG_AVX2}" = "auto" ]; then
3765 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx2 "avx2" $L_FLAGS $I_FLAGS $l_FLAGS "-march=core-avx2"; then
3772 # check iWMMXt support
3773 if [ "$CFG_IWMMXT" = "yes" ]; then
3774 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
3775 if [ $? != "0" ]; then
3776 echo "The iWMMXt functionality test failed!"
3777 echo " Please make sure your compiler supports iWMMXt intrinsics!"
3782 # detect neon support
3783 if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
3784 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/neon "neon" $L_FLAGS $I_FLAGS $l_FLAGS "-mfpu=neon"; then
3789 elif [ "$CFG_ARCH" != "arm" ]; then
3793 # detect mips_dsp support
3794 if [ "${CFG_ARCH}" = "mips" ] && [ "${CFG_MIPS_DSP}" = "yes" ]; then
3800 # detect mips_dspr2 support
3801 if [ "${CFG_ARCH}" = "mips" ] && [ "${CFG_MIPS_DSPR2}" = "yes" ]; then
3807 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
3810 if [ "$CFG_ZLIB" = "no" ]; then
3811 # Note: Qt no longer support builds without zlib
3812 # So we force a "no" to be "auto" here.
3813 # If you REALLY really need no zlib support, you can still disable
3814 # it by doing the following:
3815 # add "no-zlib" to mkspecs/qconfig.pri
3816 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
3818 # There's no guarantee that Qt will build under those conditions
3823 if [ "$CFG_ZLIB" = "auto" ]; then
3824 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/zlib "zlib" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
3831 if [ "$CFG_LARGEFILE" = "auto" ]; then
3832 #Large files should be enabled for all Linux systems
3836 if [ "$CFG_GUI" = "no" ]; then
3837 QPA_PLATFORM_GUARD=no
3840 # detect how jpeg should be built
3841 if [ "$CFG_JPEG" = "auto" ]; then
3842 if [ "$CFG_SHARED" = "yes" ]; then
3849 if [ "$CFG_LIBJPEG" = "auto" ]; then
3850 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libjpeg "libjpeg" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
3857 # detect how gif should be built
3858 if [ "$CFG_GIF" = "auto" ]; then
3859 if [ "$CFG_SHARED" = "yes" ]; then
3867 if [ "$CFG_LIBPNG" = "auto" ]; then
3868 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libpng "libpng" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
3875 # detect accessibility
3876 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
3877 CFG_ACCESSIBILITY=yes
3880 if [ "$CFG_EGLFS" = "yes" ]; then
3881 if [ "$CFG_EGL" = "no" ]; then
3882 echo "The EGLFS plugin requires EGL support and cannot be built"
3885 if [ "$CFG_OPENGL" != "es2" ]; then
3886 echo "The EGLFS plugin requires OpenGL ES 2 support and cannot be built"
3893 # auto-detect SQL-modules support
3894 for _SQLDR in $CFG_SQL_AVAILABLE; do
3897 if [ "$CFG_SQL_mysql" != "no" ]; then
3898 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
3899 if [ -x "$CFG_MYSQL_CONFIG" ]; then
3900 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
3901 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
3902 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
3903 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
3904 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
3906 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
3907 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
3908 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
3909 echo " You need MySql 4 or higher."
3910 echo " If you believe this message is in error you may use the continue"
3911 echo " switch (-continue) to $0 to continue."
3916 QT_LFLAGS_MYSQL_R=""
3920 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mysql_r "MySQL (thread-safe)" $QT_LFLAGS_MYSQL_R $L_FLAGS $QT_CFLAGS_MYSQL $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
3921 QMakeVar add CONFIG use_libmysqlclient_r
3922 if [ "$CFG_SQL_mysql" = "auto" ]; then
3923 CFG_SQL_mysql=plugin
3925 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
3926 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mysql "MySQL (thread-unsafe)" $QT_LFLAGS_MYSQL $L_FLAGS $QT_CFLAGS_MYSQL $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
3927 if [ "$CFG_SQL_mysql" = "auto" ]; then
3928 CFG_SQL_mysql=plugin
3931 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
3932 echo "MySQL support cannot be enabled due to functionality tests!"
3933 echo " Turn on verbose messaging (-v) to $0 to see the final report."
3934 echo " If you believe this message is in error you may use the continue"
3935 echo " switch (-continue) to $0 to continue."
3940 QT_LFLAGS_MYSQL_R=""
3948 if [ "$CFG_SQL_psql" != "no" ]; then
3949 # Be careful not to use native pg_config when cross building.
3950 if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
3951 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
3952 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
3954 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
3955 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
3956 # But, respect PSQL_LIBS if set
3957 [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
3958 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/psql "PostgreSQL" $QT_LFLAGS_PSQL $L_FLAGS $QT_CFLAGS_PSQL $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
3959 if [ "$CFG_SQL_psql" = "auto" ]; then
3963 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
3964 echo "PostgreSQL support cannot be enabled due to functionality tests!"
3965 echo " Turn on verbose messaging (-v) to $0 to see the final report."
3966 echo " If you believe this message is in error you may use the continue"
3967 echo " switch (-continue) to $0 to continue."
3978 if [ "$CFG_SQL_odbc" != "no" ]; then
3979 if ( [ "$BUILD_ON_MAC" != "yes" ] || [ "$XPLATFORM_MINGW" = "yes" ] ) && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
3980 if [ "$CFG_SQL_odbc" = "auto" ]; then
3984 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iodbc "iODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
3985 QT_LFLAGS_ODBC="-liodbc"
3986 if [ "$CFG_SQL_odbc" = "auto" ]; then
3990 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
3991 echo "ODBC support cannot be enabled due to functionality tests!"
3992 echo " Turn on verbose messaging (-v) to $0 to see the final report."
3993 echo " If you believe this message is in error you may use the continue"
3994 echo " switch (-continue) to $0 to continue."
4004 if [ "$CFG_SQL_oci" != "no" ]; then
4005 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/oci "OCI" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4006 if [ "$CFG_SQL_oci" = "auto" ]; then
4010 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4011 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4012 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4013 echo " If you believe this message is in error you may use the continue"
4014 echo " switch (-continue) to $0 to continue."
4023 if [ "$CFG_SQL_tds" != "no" ]; then
4024 [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
4025 [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
4026 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tds "TDS" $QT_LFLAGS_TDS $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4027 if [ "$CFG_SQL_tds" = "auto" ]; then
4031 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4032 echo "TDS support cannot be enabled due to functionality tests!"
4033 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4034 echo " If you believe this message is in error you may use the continue"
4035 echo " switch (-continue) to $0 to continue."
4044 if [ "$CFG_SQL_db2" != "no" ]; then
4045 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/db2 "DB2" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4046 if [ "$CFG_SQL_db2" = "auto" ]; then
4050 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4051 echo "ODBC support cannot be enabled due to functionality tests!"
4052 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4053 echo " If you believe this message is in error you may use the continue"
4054 echo " switch (-continue) to $0 to continue."
4063 if [ "$CFG_SQL_ibase" != "no" ]; then
4064 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ibase "InterBase" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4065 if [ "$CFG_SQL_ibase" = "auto" ]; then
4066 CFG_SQL_ibase=plugin
4069 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4070 echo "InterBase support cannot be enabled due to functionality tests!"
4071 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4072 echo " If you believe this message is in error you may use the continue"
4073 echo " switch (-continue) to $0 to continue."
4082 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4083 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite2 "SQLite2" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4084 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4085 CFG_SQL_sqlite2=plugin
4088 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4089 echo "SQLite2 support cannot be enabled due to functionality tests!"
4090 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4091 echo " If you believe this message is in error you may use the continue"
4092 echo " switch (-continue) to $0 to continue."
4101 if [ "$CFG_SQL_sqlite" != "no" ]; then
4102 SQLITE_AUTODETECT_FAILED="no"
4103 if [ "$CFG_SQLITE" = "system" ]; then
4104 if [ -n "$PKG_CONFIG" ]; then
4105 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4106 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4108 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite "SQLite" $QT_LFLAGS_SQLITE $L_FLAGS $QT_CFLAGS_SQLITE $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4109 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4110 CFG_SQL_sqlite=plugin
4112 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4114 SQLITE_AUTODETECT_FAILED="yes"
4117 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4118 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4119 CFG_SQL_sqlite=plugin
4122 SQLITE_AUTODETECT_FAILED="yes"
4126 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4127 echo "SQLite support cannot be enabled due to functionality tests!"
4128 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4129 echo " If you believe this message is in error you may use the continue"
4130 echo " switch (-continue) to $0 to continue."
4136 if [ "$OPT_VERBOSE" = "yes" ]; then
4137 echo "unknown SQL driver: $_SQLDR"
4143 # auto-detect NIS support
4144 if [ "$CFG_NIS" != "no" ]; then
4145 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/nis "NIS" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4148 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4149 echo "NIS support cannot be enabled due to functionality tests!"
4150 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4151 echo " If you believe this message is in error you may use the continue"
4152 echo " switch (-continue) to $0 to continue."
4160 # auto-detect CUPS support
4161 if [ "$CFG_CUPS" != "no" ]; then
4162 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/cups "Cups" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4165 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4166 echo "Cups support cannot be enabled due to functionality tests!"
4167 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4168 echo " If you believe this message is in error you may use the continue"
4169 echo " switch (-continue) to $0 to continue."
4177 # auto-detect iconv(3) support
4178 if [ "$CFG_ICONV" != "no" ]; then
4179 if [ "$XPLATFORM_MINGW" = "yes" ]; then
4181 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4183 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/sun-libiconv" "SUN libiconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4185 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/gnu-libiconv" "GNU libiconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4188 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4189 echo "Iconv support cannot be enabled due to functionality tests!"
4190 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4191 echo " If you believe this message is in error you may use the continue"
4192 echo " switch (-continue) to $0 to continue."
4200 # auto-detect libdbus-1 support
4201 if [ "$CFG_DBUS" != "no" ]; then
4202 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
4203 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4204 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4206 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/dbus "D-Bus" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_DBUS $QT_LIBS_DBUS $MAC_CONFIG_TEST_COMMANDLINE; then
4207 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
4208 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
4209 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
4211 if [ "$CFG_DBUS" = "auto" ]; then
4213 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4214 # CFG_DBUS is "yes" or "linked" here
4216 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4217 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4218 echo " If you believe this message is in error you may use the continue"
4219 echo " switch (-continue) to $0 to continue."
4225 # auto-detect Glib support
4226 if [ "$CFG_GLIB" != "no" ]; then
4227 if [ -n "$PKG_CONFIG" ]; then
4228 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4229 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4231 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/glib "Glib" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_GLIB $QT_LIBS_GLIB; then
4233 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
4234 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
4236 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4237 echo "Glib support cannot be enabled due to functionality tests!"
4238 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4239 echo " If you believe this message is in error you may use the continue"
4240 echo " switch (-continue) to $0 to continue."
4248 # auto-detect GTK style support
4249 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
4250 if [ -n "$PKG_CONFIG" ]; then
4251 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
4252 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
4254 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
4256 QT_CONFIG="$QT_CONFIG gtkstyle"
4257 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
4258 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
4260 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4261 echo "Gtk theme support cannot be enabled due to functionality tests!"
4262 echo " Turn on verbose messaging (-v) to $0 to see the fin al report."
4263 echo " If you believe this message is in error you may use the continue"
4264 echo " switch (-continue) to $0 to continue."
4270 elif [ "$CFG_GLIB" = "no" ]; then
4275 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4276 if [ -n "$PKG_CONFIG" ]; then
4277 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4278 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4280 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/gstreamer "GStreamer" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_GSTREAMER $QT_LIBS_GSTREAMER; then
4282 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
4283 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
4285 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4286 echo "Gstreamer support cannot be enabled due to functionality tests!"
4287 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4288 echo " If you believe this message is in error you may use the continue"
4289 echo " switch (-continue) to $0 to continue."
4295 elif [ "$CFG_GLIB" = "no" ]; then
4299 # auto-detect libicu support
4300 if [ "$CFG_ICU" != "no" ]; then
4301 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $l_FLAGS; then
4302 [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
4304 if [ "$CFG_ICU" = "auto" ]; then
4306 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4309 echo "The ICU library support cannot be enabled."
4310 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4311 echo " If you believe this message is in error you may use the continue"
4312 echo " switch (-continue) to $0 to continue."
4318 # Auto-detect PulseAudio support
4319 if [ "$CFG_PULSEAUDIO" != "no" ]; then
4320 if [ -n "$PKG_CONFIG" ]; then
4321 QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4322 QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4324 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pulseaudio "PulseAudio" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_PULSEAUDIO $QT_LIBS_PULSEAUDIO; then
4326 QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
4327 QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
4329 if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4330 echo "PulseAudio support cannot be enabled due to functionality tests!"
4331 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4332 echo " If you believe this message is in error you may use the continue"
4333 echo " switch (-continue) to $0 to continue."
4342 if [ "$XPLATFORM_MINGW" = "yes" ]; then
4343 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4344 if [ "$CFG_GUI" = "no" ]; then
4345 if [ "$CFG_OPENGL" = "auto" ]; then
4348 if [ "$CFG_OPENGL" != "no" ]; then
4349 echo "OpenGL enabled, but GUI disabled."
4350 echo " You might need to either enable the GUI or disable OpenGL"
4354 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4355 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS; then
4357 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
4360 if [ "$CFG_OPENGL" = "yes" ]; then
4361 echo "All the OpenGL functionality tests failed!"
4362 echo " You might need to modify the include and library search paths by editing"
4363 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4364 echo " ${XQMAKESPEC}."
4371 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4372 if [ "$CFG_OPENGL" = "desktop" ]; then
4373 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS
4374 if [ $? != "0" ]; then
4375 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4382 elif [ "$CFG_OPENGL" = "es2" ]; then
4384 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
4385 if [ $? != "0" ]; then
4386 echo "The OpenGL ES 2.0 functionality test failed!"
4387 echo " You might need to modify the include and library search paths by editing"
4388 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4389 echo " ${XQMAKESPEC}."
4392 elif [ "$CFG_OPENGL" = "desktop" ]; then
4393 # Desktop OpenGL support
4394 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS
4395 if [ $? != "0" ]; then
4396 echo "The OpenGL functionality test failed!"
4397 echo " You might need to modify the include and library search paths by editing"
4398 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4399 echo " ${XQMAKESPEC}."
4404 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4405 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS
4406 if [ $? != "0" ]; then
4407 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4414 fi # X11/MINGW OpenGL
4416 if [ "$BUILD_ON_MAC" = "yes" ]; then
4417 if [ "$CFG_PHONON" != "no" ]; then
4418 # Always enable Phonon (unless it was explicitly disabled)
4422 if [ "$CFG_COREWLAN" = "auto" ]; then
4423 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/corewlan "CoreWlan" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4431 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4432 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4433 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS; then
4435 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
4438 if [ "$CFG_OPENGL" = "yes" ]; then
4439 echo "All the OpenGL functionality tests failed!"
4440 echo " You might need to modify the include and library search paths by editing"
4441 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4442 echo " ${XQMAKESPEC}."
4447 elif [ "$CFG_OPENGL" = "es2" ]; then
4449 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
4450 QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4451 QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
4452 QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
4453 QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
4454 QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
4455 QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2"
4456 QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2"
4459 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_LIBS_OPENGL_ES2 $QMAKE_CFLAGS_OPENGL_ES2
4460 if [ $? != "0" ]; then
4461 echo "The OpenGL ES 2.0 functionality test failed!"
4462 echo " You might need to modify the include and library search paths by editing"
4463 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4464 echo " ${XQMAKESPEC}."
4467 elif [ "$CFG_OPENGL" = "desktop" ]; then
4468 # Desktop OpenGL support
4469 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS
4470 if [ $? != "0" ]; then
4471 echo "The OpenGL functionality test failed!"
4472 echo " You might need to modify the include and library search paths by editing"
4473 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4474 echo " ${XQMAKESPEC}."
4479 # auto-detect FontConfig support
4480 if [ "$CFG_FONTCONFIG" != "no" ]; then
4481 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
4482 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
4483 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
4485 QT_CFLAGS_FONTCONFIG=
4486 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
4488 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/fontconfig "FontConfig" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_FONTCONFIG $QT_LIBS_FONTCONFIG; then
4489 QT_CONFIG="$QT_CONFIG fontconfig"
4490 QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
4491 QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
4492 CFG_LIBFREETYPE=system
4497 # Save these for a check later
4498 ORIG_CFG_XCB="$CFG_XCB"
4499 ORIG_CFG_EGLFS="$CFG_EGLFS"
4500 ORIG_CFG_DIRECTFB="$CFG_DIRECTFB"
4502 if [ "$CFG_LIBUDEV" != "no" ]; then
4503 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libudev 2>/dev/null; then
4504 QMAKE_INCDIR_LIBUDEV=`$PKG_CONFIG --cflags-only-I libudev 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4505 QMAKE_LIBS_LIBUDEV=`$PKG_CONFIG --libs libudev 2>/dev/null`
4506 QMakeVar set QMAKE_INCDIR_LIBUDEV "$QMAKE_INCDIR_LIBUDEV"
4507 QMakeVar set QMAKE_LIBS_LIBUDEV "$QMAKE_LIBS_LIBUDEV"
4509 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libudev "libudev" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_INCDIR_LIBUDEV $QMAKE_LIBS_LIBUDEV; then
4511 QT_CONFIG="$QT_CONFIG libudev"
4512 elif [ "$CFG_LIBUDEV" = "yes" ]; then
4513 echo "The libudev functionality test failed!"
4517 QMakeVar add DEFINES QT_NO_LIBUDEV
4521 if [ "$CFG_EVDEV" != "no" ]; then
4522 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/evdev "evdev" $L_FLAGS $I_FLAGS $l_FLAGS; then
4524 QT_CONFIG="$QT_CONFIG evdev"
4525 elif [ "$CFG_EVDEV" = "yes" ]; then
4526 echo "The evdev functionality test failed!"
4530 QMakeVar add DEFINES QT_NO_EVDEV
4534 # Check we actually have X11 :-)
4535 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS; then
4536 QT_CONFIG="$QT_CONFIG xlib"
4539 # auto-detect Xrender support
4540 if [ "$CFG_XRENDER" != "no" ]; then
4541 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xrender "Xrender" $L_FLAGS $I_FLAGS $l_FLAGS; then
4543 QT_CONFIG="$QT_CONFIG xrender"
4545 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4546 echo "Xrender support cannot be enabled due to functionality tests!"
4547 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4548 echo " If you believe this message is in error you may use the continue"
4549 echo " switch (-continue) to $0 to continue."
4557 if [ "$CFG_XCB" != "no" ]; then
4558 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xcb >= 1.5" 2>/dev/null; then
4559 QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`"
4560 QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`"
4562 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb "xcb" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
4564 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-render "xcb-render" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
4565 QT_CONFIG="$QT_CONFIG xcb-render"
4568 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-poll-for-queued-event "xcb-poll-for-queued-event" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
4570 QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
4573 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-xlib "xcb-xlib" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
4574 QT_CONFIG="$QT_CONFIG xcb-xlib"
4577 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
4578 # auto-detect XInput2/Xinput support
4579 if [ "$CFG_XINPUT2" != "no" ]; then
4580 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinput2 "XInput2" $L_FLAGS $I_FLAGS $l_FLAGS; then
4584 if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4585 echo "XInput2 support cannot be enabled due to functionality tests!"
4586 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4587 echo " If you believe this message is in error you may use the continue"
4588 echo " switch (-continue) to $0 to continue."
4597 if [ "$CFG_XCB" = "yes" ]; then
4598 echo "The XCB test failed!"
4599 echo " You might need to install dependency packages."
4600 echo " See src/plugins/platforms/xcb/README."
4604 QMakeVar add DEFINES QT_NO_XCB
4608 if [ "$CFG_DIRECTFB" != "no" ]; then
4609 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists directfb 2>/dev/null; then
4610 QMAKE_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
4611 QMAKE_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
4612 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/directfb" "DirectFB" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_DIRECTFB $QMAKE_LIBS_DIRECTFB; then
4614 elif [ "$CFG_DIRECTFB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4615 echo " DirectFB support cannot be enabled due to functionality tests!"
4616 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4617 echo " If you believe this message is in error you may use the continue"
4618 echo " switch (-continue) to $0 to continue."
4628 # Detect libxkbcommon
4629 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
4630 QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
4631 QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
4632 QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
4633 QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
4635 QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
4639 if [ "$CFG_EGL" != "no" ] && [ "$CFG_OPENGL" != "desktop" ]; then
4640 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then
4641 QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4642 QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null`
4643 QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null`
4644 QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
4645 QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
4646 fi # detect EGL support
4647 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/qpa/egl" "EGL" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then
4649 elif [ "$CFG_EGL" = "yes" ]; then
4650 echo " The EGL functionality test failed; EGL is required by some QPA plugins to manage contexts & surfaces."
4651 echo " You might need to modify the include and library search paths by editing"
4652 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in ${XQMAKESPEC}."
4657 elif [ "$CFG_OPENGL" = "desktop" ]; then
4658 if [ "$CFG_EGL" = "yes" ]; then
4659 echo "EGL support was requested but Qt is being configured for desktop OpenGL."
4660 echo "Either disable EGL support or enable OpenGL ES support."
4666 if [ "$CFG_EGLFS" != "no" ]; then
4667 if [ "$CFG_OPENGL" = "es2" ]; then
4668 CFG_EGLFS="$CFG_EGL"
4674 # Determine the default QPA platform
4675 if [ -z "$QT_QPA_DEFAULT_PLATFORM" ]; then
4677 QT_QPA_DEFAULT_PLATFORM=`getXQMakeConf QT_QPA_DEFAULT_PLATFORM`
4678 if [ -z "$QT_QPA_DEFAULT_PLATFORM" ]; then
4679 if [ "$BUILD_ON_MAC" = "yes" ]; then
4680 QT_QPA_DEFAULT_PLATFORM="cocoa"
4681 elif [ "$UNAME_SYSTEM" = "QNX" ]; then
4682 QT_QPA_DEFAULT_PLATFORM="qnx"
4684 QT_QPA_DEFAULT_PLATFORM="xcb"
4689 if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
4690 QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
4691 QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
4692 QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
4694 if [ "$CFG_DIRECTFB" = "yes" ]; then
4695 QT_CONFIG="$QT_CONFIG directfb"
4696 QMakeVar set QMAKE_CFLAGS_DIRECTFB "$QMAKE_CFLAGS_DIRECTFB"
4697 QMakeVar set QMAKE_LIBS_DIRECTFB "$QMAKE_LIBS_DIRECTFB"
4700 if [ "$BUILD_ON_MAC" = "yes" ]; then
4701 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/coreservices "CoreServices" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4702 QT_CONFIG="$QT_CONFIG coreservices"
4704 QMakeVar add DEFINES QT_NO_CORESERVICES
4708 if [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ] && [ "$XPLATFORM_QNX" = "no" ]; then
4709 if [ "$CFG_XCB" = "no" ] && [ "$CFG_EGLFS" = "no" ] && [ "$CFG_DIRECTFB" = "no" ]; then
4710 if [ "$QPA_PLATFORM_GUARD" = "yes" ] &&
4711 ( [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_EGLFS" = "auto" ] || [ "$ORIG_CFG_DIRECTFB" = "auto" ] ); then
4712 echo "No QPA platform plugin enabled!"
4713 echo " If you really want to build without a QPA platform plugin you must pass"
4714 echo " -no-qpa-platform-guard to configure. Doing this will"
4715 echo " produce a Qt that can not run GUI applications."
4716 echo " The dependencies needed for xcb to build are listed in"
4717 echo " src/plugins/platforms/xcb/README"
4723 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
4726 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
4727 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
4728 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/freetype "FreeType" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4729 CFG_LIBFREETYPE=system
4735 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS &&
4736 [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4737 echo "STL functionality check failed! Cannot build Qt with this STL library."
4738 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4743 # detect POSIX clock_gettime()
4744 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
4745 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/clock-gettime "POSIX clock_gettime()" $L_FLAGS $I_FLAGS $l_FLAGS; then
4746 CFG_CLOCK_GETTIME=yes
4748 CFG_CLOCK_GETTIME=no
4752 # detect POSIX monotonic clocks
4753 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
4754 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/clock-monotonic "POSIX Monotonic Clock" $L_FLAGS $I_FLAGS $l_FLAGS; then
4755 CFG_CLOCK_MONOTONIC=yes
4757 CFG_CLOCK_MONOTONIC=no
4759 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
4760 CFG_CLOCK_MONOTONIC=no
4764 if [ "$CFG_MREMAP" = "auto" ]; then
4765 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
4772 # find if the platform provides getaddrinfo (ipv6 dns lookups)
4773 if [ "$CFG_GETADDRINFO" != "no" ]; then
4774 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
4777 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4778 echo "getaddrinfo support cannot be enabled due to functionality tests!"
4779 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4780 echo " If you believe this message is in error you may use the continue"
4781 echo " switch (-continue) to $0 to continue."
4789 # find if the platform provides inotify
4790 if [ "$CFG_INOTIFY" != "no" ]; then
4791 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
4794 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4795 echo "inotify support cannot be enabled due to functionality tests!"
4796 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4797 echo " If you believe this message is in error you may use the continue"
4798 echo " switch (-continue) to $0 to continue."
4806 # find if the platform provides if_nametoindex (ipv6 interface name support)
4807 if [ "$CFG_IPV6IFNAME" != "no" ]; then
4808 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ipv6ifname "IPv6 interface name" $L_FLAGS $I_FLAGS $l_FLAGS; then
4811 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4812 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
4813 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4814 echo " If you believe this message is in error you may use the continue"
4815 echo " switch (-continue) to $0 to continue."
4823 # find if the platform provides getifaddrs (network interface enumeration)
4824 if [ "$CFG_GETIFADDRS" != "no" ]; then
4825 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
4828 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4829 echo "getifaddrs support cannot be enabled due to functionality tests!"
4830 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4831 echo " If you believe this message is in error you may use the continue"
4832 echo " switch (-continue) to $0 to continue."
4841 if [ "$CFG_OPENSSL" != "no" ]; then
4842 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/openssl "OpenSSL" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4843 if [ "$CFG_OPENSSL" = "auto" ]; then
4847 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4848 echo "OpenSSL support cannot be enabled due to functionality tests!"
4849 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4850 echo " If you believe this message is in error you may use the continue"
4851 echo " switch (-continue) to $0 to continue."
4860 if [ "$CFG_PCRE" != "qt" ]; then
4861 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pcre "PCRE" $L_FLAGS $I_FLAGS $l_FLAGS; then
4864 if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4865 echo "PCRE support cannot be enabled due to functionality tests!"
4866 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4867 echo " If you believe this message is in error you may use the continue"
4868 echo " switch (-continue) to $0 to continue."
4876 # detect OpenVG support
4877 if [ "$CFG_OPENVG" != "no" ]; then
4878 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
4879 if [ "$CFG_OPENVG" = "auto" ]; then
4882 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG openvg_on_opengl" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
4883 if [ "$CFG_OPENVG" = "auto" ]; then
4886 CFG_OPENVG_ON_OPENGL=yes
4887 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG lower_case_includes" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG (lc includes)" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
4888 if [ "$CFG_OPENVG" = "auto" ]; then
4891 CFG_OPENVG_LC_INCLUDES=yes
4892 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG openvg_on_opengl lower_case_includes" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG (lc includes)" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
4893 if [ "$CFG_OPENVG" = "auto" ]; then
4896 CFG_OPENVG_LC_INCLUDES=yes
4897 CFG_OPENVG_ON_OPENGL=yes
4899 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4900 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
4901 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4902 echo " If you believe this message is in error you may use the continue"
4903 echo " switch (-continue) to $0 to continue."
4909 if [ "$CFG_OPENVG" = "yes" ] && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/shivavg" "ShivaVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
4910 CFG_OPENVG_SHIVA=yes
4914 if [ "$CFG_ALSA" = "auto" ]; then
4915 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
4922 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
4923 if [ "$CFG_ARCH" = "arm" ]; then
4924 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
4925 if [ $? != "0" ]; then
4926 CFG_JAVASCRIPTCORE_JIT=no
4929 case "$XPLATFORM" in
4931 CFG_JAVASCRIPTCORE_JIT=no
4937 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
4938 QMakeVar set JAVASCRIPTCORE_JIT yes
4939 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
4940 QMakeVar set JAVASCRIPTCORE_JIT no
4943 if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
4944 CFG_AUDIO_BACKEND=yes
4947 if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
4948 echo "Warning: largefile support cannot be disabled for win32."
4952 #-------------------------------------------------------------------------------
4953 # ask for all that hasn't been auto-detected or specified in the arguments
4954 #-------------------------------------------------------------------------------
4956 # enable dwarf2 support on Mac
4957 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
4958 QT_CONFIG="$QT_CONFIG dwarf2"
4961 # Detect the default arch (x86 or x86_64) on Mac OS X
4962 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$QT_CROSS_COMPILE" = "no" ]; then
4964 case `file "${outpath}/bin/qmake"` in
4972 # unsupported/unknown
4976 if [ -n "$DEFAULT_ARCH" ]; then
4977 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting default Mac OS X architechture to $DEFAULT_ARCH."
4978 QT_CONFIG="$QT_CONFIG $DEFAULT_ARCH"
4979 QMAKE_CONFIG="$QMAKE_CONFIG $DEFAULT_ARCH"
4980 # Make the application arch follow the Qt arch
4981 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $DEFAULT_ARCH"
4986 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
4987 QT_CONFIG="$QT_CONFIG phonon-backend"
4990 # disable accessibility
4991 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
4992 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
4994 QT_CONFIG="$QT_CONFIG accessibility"
4998 if [ "$CFG_EGL" = "yes" ]; then
4999 QT_CONFIG="$QT_CONFIG egl"
5001 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
5005 if [ "$CFG_EGLFS" = "yes" ]; then
5006 QT_CONFIG="$QT_CONFIG eglfs"
5008 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGLFS"
5012 if [ "$CFG_OPENVG" = "no" ]; then
5013 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
5015 QT_CONFIG="$QT_CONFIG openvg"
5016 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
5017 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
5019 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
5020 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
5022 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
5023 QT_CONFIG="$QT_CONFIG shivavg"
5024 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
5029 if [ "$CFG_OPENGL" = "no" ]; then
5030 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
5032 QT_CONFIG="$QT_CONFIG opengl"
5035 if [ "$CFG_OPENGL" = "es2" ]; then
5036 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
5039 if [ "$CFG_OPENGL" = "es2" ]; then
5040 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5041 QT_CONFIG="$QT_CONFIG opengles2"
5044 # safe execution environment
5045 if [ "$CFG_SXE" != "no" ]; then
5046 QT_CONFIG="$QT_CONFIG sxe"
5049 # build up the variables for output
5050 if [ "$CFG_DEBUG" = "yes" ]; then
5051 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
5052 QMAKE_CONFIG="$QMAKE_CONFIG debug"
5053 elif [ "$CFG_DEBUG" = "no" ]; then
5054 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
5055 QMAKE_CONFIG="$QMAKE_CONFIG release"
5057 if [ "$CFG_SHARED" = "yes" ]; then
5058 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
5059 QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
5060 elif [ "$CFG_SHARED" = "no" ]; then
5061 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
5062 QMAKE_CONFIG="$QMAKE_CONFIG static"
5065 #FIXME: qpa is implicit this should all be removed
5066 QMAKE_CONFIG="$QMAKE_CONFIG qpa"
5067 QT_CONFIG="$QT_CONFIG qpa"
5068 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
5069 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5071 if [ "$XPLATFORM_MINGW" != "yes" ]; then
5072 # Do not set this here for Windows. Let qmake do it so
5073 # debug and release precompiled headers are kept separate.
5074 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
5076 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
5077 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
5078 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
5079 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
5080 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5081 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
5083 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
5084 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
5086 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
5087 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
5088 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
5089 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
5090 QMakeVar add QMAKE_CFLAGS -g
5091 QMakeVar add QMAKE_CXXFLAGS -g
5092 QT_CONFIG="$QT_CONFIG separate_debug_info"
5094 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
5095 QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
5097 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
5098 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
5099 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
5100 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
5101 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
5102 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
5103 [ "$CFG_AVX2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx2"
5104 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
5105 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
5106 if [ "$CFG_ARCH" = "mips" ]; then
5107 [ "$CFG_MIPS_DSP" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dsp"
5108 [ "$CFG_MIPS_DSPR2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dspr2"
5110 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
5111 QT_CONFIG="$QT_CONFIG clock-gettime"
5113 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
5114 QT_CONFIG="$QT_CONFIG clock-monotonic"
5116 if [ "$CFG_MREMAP" = "yes" ]; then
5117 QT_CONFIG="$QT_CONFIG mremap"
5119 if [ "$CFG_GETADDRINFO" = "yes" ]; then
5120 QT_CONFIG="$QT_CONFIG getaddrinfo"
5122 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
5123 QT_CONFIG="$QT_CONFIG ipv6ifname"
5125 if [ "$CFG_GETIFADDRS" = "yes" ]; then
5126 QT_CONFIG="$QT_CONFIG getifaddrs"
5128 if [ "$CFG_INOTIFY" = "yes" ]; then
5129 QT_CONFIG="$QT_CONFIG inotify"
5131 if [ "$CFG_LIBJPEG" = "no" ]; then
5133 elif [ "$CFG_LIBJPEG" = "system" ]; then
5134 QT_CONFIG="$QT_CONFIG system-jpeg"
5136 if [ "$CFG_JPEG" = "no" ]; then
5137 QT_CONFIG="$QT_CONFIG no-jpeg"
5138 elif [ "$CFG_JPEG" = "yes" ]; then
5139 QT_CONFIG="$QT_CONFIG jpeg"
5141 if [ "$CFG_LIBPNG" = "no" ]; then
5144 if [ "$CFG_LIBPNG" = "system" ]; then
5145 QT_CONFIG="$QT_CONFIG system-png"
5147 if [ "$CFG_PNG" = "no" ]; then
5148 QT_CONFIG="$QT_CONFIG no-png"
5149 elif [ "$CFG_PNG" = "yes" ]; then
5150 QT_CONFIG="$QT_CONFIG png"
5152 if [ "$CFG_GIF" = "no" ]; then
5153 QT_CONFIG="$QT_CONFIG no-gif"
5154 elif [ "$CFG_GIF" = "yes" ]; then
5155 QT_CONFIG="$QT_CONFIG gif"
5157 if [ "$CFG_LIBFREETYPE" = "no" ]; then
5158 QT_CONFIG="$QT_CONFIG no-freetype"
5159 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
5160 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
5161 QT_CONFIG="$QT_CONFIG system-freetype"
5163 QT_CONFIG="$QT_CONFIG freetype"
5165 if [ "$CFG_GUI" = "auto" ]; then
5168 if [ "$CFG_GUI" = "no" ]; then
5169 QT_CONFIG="$QT_CONFIG no-gui"
5172 if [ "$CFG_WIDGETS" = "no" ]; then
5173 QT_CONFIG="$QT_CONFIG no-widgets"
5174 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_WIDGETS"
5177 if [ "x$BUILD_ON_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5178 #On Mac we implicitly link against libz, so we
5179 #never use the 3rdparty stuff.
5180 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
5182 if [ "$CFG_ZLIB" = "yes" ]; then
5183 QT_CONFIG="$QT_CONFIG zlib"
5184 elif [ "$CFG_ZLIB" = "system" ]; then
5185 QT_CONFIG="$QT_CONFIG system-zlib"
5188 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
5189 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
5190 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
5191 [ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
5192 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
5193 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
5194 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
5195 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
5196 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
5197 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
5198 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
5199 [ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
5200 [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
5201 [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
5203 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS"
5204 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
5205 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
5207 if [ "$PLATFORM_MAC" = "yes" ] && [ "$QT_CROSS_COMPILE" = "no" ]; then
5208 if [ "$CFG_RPATH" = "yes" ]; then
5209 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
5210 # set the default rpath to the library installation directory
5211 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5213 elif [ -z "`getXQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
5214 if [ -n "$RPATH_FLAGS" ]; then
5216 echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
5220 elif [ "$CFG_RPATH" = "yes" ]; then
5221 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
5225 if [ "$CFG_RPATH" = "yes" ]; then
5226 # set the default rpath to the library installation directory
5227 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5229 if [ -n "$RPATH_FLAGS" ]; then
5230 # add the user defined rpaths
5231 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
5235 if [ '!' -z "$I_FLAGS" ]; then
5236 # add the user define include paths
5237 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
5238 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
5241 if [ '!' -z "$W_FLAGS" ]; then
5242 # add the user defined warning flags
5243 QMakeVar add QMAKE_CFLAGS_WARN_ON "$W_FLAGS"
5244 QMakeVar add QMAKE_CXXFLAGS_WARN_ON "$W_FLAGS"
5245 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS"
5248 # turn off exceptions for the compilers that support it
5249 if [ "$XPLATFORM" != "$PLATFORM" ]; then
5250 COMPILER=`echo $XPLATFORM | cut -f 2- -d-`
5252 COMPILER=`echo $PLATFORM | cut -f 2- -d-`
5255 if [ "$CFG_EXCEPTIONS" != "no" ]; then
5256 QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
5259 if [ "$XPLATFORM_MINGW" = "yes" ]; then
5260 # mkspecs/features/win32/default_pre.prf sets "no-rtti".
5261 # Follow default behavior of configure.exe by overriding with "rtti".
5262 QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
5265 if [ "$CFG_ALSA" = "yes" ]; then
5266 QT_CONFIG="$QT_CONFIG alsa"
5269 if [ "$CFG_PULSEAUDIO" = "yes" ]; then
5270 QT_CONFIG="$QT_CONFIG pulseaudio"
5273 if [ "$CFG_COREWLAN" = "yes" ]; then
5274 QT_CONFIG="$QT_CONFIG corewlan"
5277 if [ "$CFG_ICU" = "yes" ]; then
5278 QT_CONFIG="$QT_CONFIG icu"
5281 if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
5282 QT_CONFIG="$QT_CONFIG force_asserts"
5285 if [ "$CFG_PCRE" = "qt" ]; then
5286 QMAKE_CONFIG="$QMAKE_CONFIG pcre"
5290 # Some Qt modules are too advanced in C++ for some old compilers
5291 # Detect here the platforms where they are known to work.
5293 # See Qt documentation for more information on which features are
5294 # supported and on which compilers.
5296 canBuildQtConcurrent="yes"
5297 canUseV8Snapshot="yes"
5299 case "$XPLATFORM" in
5301 # PA-RISC's assembly is too limited
5302 # gcc 3.4 on that platform can't build QtXmlPatterns
5303 # the assembly it generates cannot be compiled
5305 # Check gcc's version
5306 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5310 canBuildQtXmlPatterns="no"
5314 canBuildQtXmlPatterns="no"
5318 unsupported/vxworks-*-g++*)
5321 unsupported/vxworks-*-dcc*)
5323 canBuildQtXmlPatterns="no"
5326 # Check gcc's version
5327 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5335 canBuildQtXmlPatterns="no"
5340 # Check the compiler version
5341 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
5344 canBuildQtXmlPatterns="no"
5345 canBuildQtConcurrent="no"
5349 canBuildQtConcurrent="no"
5355 canBuildQtXmlPatterns="no"
5356 canBuildQtConcurrent="no"
5362 # Get the xlC version
5363 cat > xlcver.c <<EOF
5367 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
5372 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
5373 xlcver=`./xlcver 2>/dev/null`
5376 if [ "$OPT_VERBOSE" = "yes" ]; then
5377 if [ -n "$xlcver" ]; then
5378 echo Found IBM xlC version: $xlcver.
5380 echo Could not determine IBM xlC version, assuming oldest supported.
5387 canBuildQtXmlPatterns="no"
5388 canBuildQtConcurrent="no"
5392 canBuildQtConcurrent="no"
5398 canBuildQtConcurrent="no"
5402 if [ "$CFG_GUI" = "no" ]; then
5403 # WebKit requires QtGui
5407 if [ "$CFG_SHARED" = "no" ]; then
5409 echo "WARNING: Using static linking will disable the WebKit module."
5414 CFG_CONCURRENT="yes"
5415 if [ "$canBuildQtConcurrent" = "no" ]; then
5416 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
5419 QT_CONFIG="$QT_CONFIG concurrent"
5423 if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
5424 QT_CONFIG="$QT_CONFIG audio-backend"
5428 if [ "$CFG_WEBKIT" = "debug" ]; then
5429 QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
5433 QT_CONFIG="$QT_CONFIG v8"
5434 # Detect snapshot support
5435 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
5436 case "$CFG_HOST_ARCH,$CFG_ARCH" in
5439 *) canUseV8Snapshot="no"
5443 if [ -n "$_SBOX_DIR" -a "$CFG_ARCH" = "arm" ]; then
5444 # QEMU crashes when building inside Scratchbox with an ARM target
5445 canUseV8Snapshot="no"
5448 if [ "$CFG_V8SNAPSHOT" = "auto" ]; then
5449 CFG_V8SNAPSHOT="$canUseV8Snapshot"
5451 if [ "$CFG_V8SNAPSHOT" = "yes" -a "$canUseV8Snapshot" = "no" ]; then
5452 echo "Error: V8 snapshot was requested, but is not supported on this platform."
5455 if [ "$CFG_V8SNAPSHOT" = "yes" ]; then
5456 QT_CONFIG="$QT_CONFIG v8snapshot"
5460 if [ "$CFG_QML_DEBUG" = "no" ]; then
5461 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QML_NO_DEBUGGER"
5464 if [ "$CFG_EXCEPTIONS" = "no" ]; then
5467 QMakeVar add QMAKE_CFLAGS -fno-exceptions
5468 QMakeVar add QMAKE_CXXFLAGS -fno-exceptions
5469 QMakeVar add QMAKE_LFLAGS -fno-exceptions
5474 QMakeVar add QMAKE_CFLAGS -LANG:exceptions=off
5475 QMakeVar add QMAKE_CXXFLAGS -LANG:exceptions=off
5476 QMakeVar add QMAKE_LFLAGS -LANG:exceptions=off
5483 QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off"
5489 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
5491 case "$COMPILER_VERSION" in
5493 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
5494 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
5495 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
5498 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
5499 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
5500 QT_GCC_PATCH_VERSION=0
5510 #-------------------------------------------------------------------------------
5511 # part of configuration information goes into qconfig.h
5512 #-------------------------------------------------------------------------------
5514 case "$CFG_QCONFIG" in
5516 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
5519 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
5520 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
5521 if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
5522 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
5523 elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
5524 cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
5526 echo "#endif" >>"$tmpconfig"
5530 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
5534 # define QT_EDITION $QT_EDITION
5538 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
5539 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
5541 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5542 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
5545 if [ "$CFG_FRAMEWORK" = "yes" ]; then
5546 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
5549 if [ "$BUILD_ON_MAC" = "yes" ]; then
5550 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
5551 #if defined(__LP64__)
5552 # define QT_POINTER_SIZE 8
5554 # define QT_POINTER_SIZE 4
5558 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5559 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
5562 #REDUCE_RELOCATIONS is a elf/unix only thing, so not in windows configure.exe
5563 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
5564 echo "#define QT_REDUCE_RELOCATIONS" >>"$outpath/src/corelib/global/qconfig.h.new"
5568 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
5570 if [ "$CFG_DEV" = "yes" ]; then
5571 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
5574 # Add QPA to config.h
5575 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
5577 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
5578 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
5581 # Add turned on SQL drivers
5582 for DRIVER in $CFG_SQL_AVAILABLE; do
5583 eval "VAL=\$CFG_SQL_$DRIVER"
5586 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
5587 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
5588 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
5591 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
5597 QMakeVar set sql-drivers "$SQL_DRIVERS"
5598 QMakeVar set sql-plugins "$SQL_PLUGINS"
5600 # Add other configuration options to the qconfig.h file
5601 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
5602 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
5603 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
5604 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
5605 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
5606 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
5607 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
5609 # X11/Unix/Mac only configs
5610 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
5611 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
5612 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
5613 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
5614 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
5615 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
5616 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
5617 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
5618 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
5619 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
5620 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
5621 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
5622 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
5623 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
5625 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
5626 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
5627 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
5628 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
5629 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
5630 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
5631 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
5632 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
5633 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
5634 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
5635 [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
5636 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
5637 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
5639 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
5640 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
5641 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
5642 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
5643 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
5644 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
5645 [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
5646 [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
5648 # sort QCONFIG_FLAGS for neatness if we can
5649 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
5650 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
5652 if [ -n "$QCONFIG_FLAGS" ]; then
5653 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5654 #ifndef QT_BOOTSTRAPPED
5657 for cfg in $QCONFIG_FLAGS; do
5658 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
5659 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
5660 # figure out define logic, so we can output the correct
5661 # ifdefs to override the global defines in a project
5663 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
5664 # QT_NO_option can be forcefully turned on by QT_option
5665 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
5666 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
5667 # QT_option can be forcefully turned off by QT_NO_option
5668 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
5671 if [ -z $cfgdNeg ]; then
5672 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5679 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5680 #if defined($cfgd) && defined($cfgdNeg)
5682 #elif !defined($cfgd) && !defined($cfgdNeg)
5689 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5690 #endif // QT_BOOTSTRAPPED
5695 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
5696 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5697 #define QT_VISIBILITY_AVAILABLE
5702 if [ -n "$QT_LIBINFIX" ]; then
5703 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
5704 #define QT_LIBINFIX "$QT_LIBINFIX"
5709 echo "#define QT_QPA_DEFAULT_PLATFORM_NAME \"$QT_QPA_DEFAULT_PLATFORM\"" >>"$outpath/src/corelib/global/qconfig.h.new"
5711 # avoid unecessary rebuilds by copying only if qconfig.h has changed
5712 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
5713 rm -f "$outpath/src/corelib/global/qconfig.h.new"
5715 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
5716 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
5717 chmod -w "$outpath/src/corelib/global/qconfig.h"
5718 if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then
5719 ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h"
5723 #-------------------------------------------------------------------------------
5724 # save configuration into qconfig.pri
5725 #-------------------------------------------------------------------------------
5726 QTCONFIG="$outpath/mkspecs/qconfig.pri"
5727 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
5728 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
5729 if [ "$CFG_DEBUG" = "yes" ]; then
5730 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
5731 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
5732 QT_CONFIG="$QT_CONFIG release"
5734 QT_CONFIG="$QT_CONFIG debug"
5735 elif [ "$CFG_DEBUG" = "no" ]; then
5736 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
5737 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
5738 QT_CONFIG="$QT_CONFIG debug"
5740 QT_CONFIG="$QT_CONFIG release"
5742 if [ "$CFG_FRAMEWORK" = "no" ]; then
5743 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
5745 QT_CONFIG="$QT_CONFIG qt_framework"
5746 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
5748 if [ "$CFG_DEV" = "yes" ]; then
5749 QT_CONFIG="$QT_CONFIG private_tests"
5752 cat >>"$QTCONFIG.tmp" <<EOF
5754 CONFIG += $QTCONFIG_CONFIG
5756 QT_HOST_ARCH = $CFG_HOST_ARCH
5757 QT_EDITION = $Edition
5758 QT_CONFIG += $QT_CONFIG
5761 QT_VERSION = $QT_VERSION
5762 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
5763 QT_MINOR_VERSION = $QT_MINOR_VERSION
5764 QT_PATCH_VERSION = $QT_PATCH_VERSION
5767 QT_LIBINFIX = $QT_LIBINFIX
5768 QT_NAMESPACE = $QT_NAMESPACE
5771 if [ -n "$CFG_SYSROOT" ]; then
5772 echo "# sysroot" >>"$QTCONFIG.tmp"
5773 echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
5774 echo " QMAKE_CFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
5775 echo " QMAKE_CXXFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
5776 echo " QMAKE_LFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
5777 echo "}" >> "$QTCONFIG.tmp"
5778 echo >> "$QTCONFIG.tmp"
5780 if [ -n "$RPATH_FLAGS" ]; then
5781 echo "QMAKE_RPATHDIR += $RPATH_FLAGS" >> "$QTCONFIG.tmp"
5783 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
5784 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
5785 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
5786 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
5789 if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
5790 echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
5791 echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp"
5794 # replace qconfig.pri if it differs from the newly created temp file
5795 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
5796 rm -f "$QTCONFIG.tmp"
5798 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
5801 #-------------------------------------------------------------------------------
5802 # save configuration into qmodule.pri
5803 #-------------------------------------------------------------------------------
5804 QTMODULE="$outpath/mkspecs/qmodule.pri"
5806 echo "CONFIG += create_prl link_prl" >> "$QTMODULE.tmp"
5808 # Ensure we can link to uninistalled libraries
5809 if [ "$BUILD_ON_MAC" != "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
5810 echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
5812 if [ -n "$QT_CFLAGS_PSQL" ]; then
5813 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
5815 if [ -n "$QT_LFLAGS_PSQL" ]; then
5816 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
5818 if [ -n "$QT_CFLAGS_MYSQL" ]; then
5819 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
5821 if [ -n "$QT_LFLAGS_MYSQL" ]; then
5822 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
5824 if [ -n "$QT_CFLAGS_SQLITE" ]; then
5825 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
5827 if [ -n "$QT_LFLAGS_SQLITE" ]; then
5828 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
5830 if [ -n "$QT_LFLAGS_ODBC" ]; then
5831 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
5833 if [ -n "$QT_LFLAGS_TDS" ]; then
5834 echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
5837 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
5838 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
5841 #dump in the OPENSSL_LIBS info
5842 if [ '!' -z "$OPENSSL_LIBS" ]; then
5843 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
5844 elif [ "$CFG_OPENSSL" = "linked" ]; then
5845 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
5848 #dump in the SDK info
5849 if [ '!' -z "$CFG_SDK" ]; then
5850 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
5854 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
5855 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
5857 # replace qmodule.pri if it differs from the newly created temp file
5858 if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
5859 rm -f "$QTMODULE.tmp"
5861 mv -f "$QTMODULE.tmp" "$QTMODULE"
5864 #-------------------------------------------------------------------------------
5865 # save configuration into .qmake.cache
5866 #-------------------------------------------------------------------------------
5868 CACHEFILE="$outpath/.qmake.cache"
5869 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
5870 cat >>"$CACHEFILE.tmp" <<EOF
5872 QT_SOURCE_TREE = \$\$quote($relpath)
5873 QT_BUILD_TREE = \$\$quote($outpath)
5874 QT_BUILD_PARTS = $CFG_BUILD_PARTS
5876 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
5877 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
5878 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
5880 include(\$\$PWD/mkspecs/qmodule.pri)
5881 CONFIG += $QMAKE_CONFIG dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
5885 #dump the qmake spec
5886 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
5887 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
5889 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
5892 # replace .qmake.cache if it differs from the newly created temp file
5893 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
5894 rm -f "$CACHEFILE.tmp"
5896 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
5899 #-------------------------------------------------------------------------------
5900 # give feedback on configuration
5901 #-------------------------------------------------------------------------------
5902 exec 3>&1 1>$outpath/config.summary # redirect output temporarily to config.summary
5906 if [ "$CFG_EXCEPTIONS" != "no" ]; then
5909 This target is using the GNU C++ compiler ($PLATFORM).
5911 Recent versions of this compiler automatically include code for
5912 exceptions, which increase both the size of the Qt libraries and
5913 the amount of memory taken by your applications.
5915 You may choose to re-run `basename $0` with the -no-exceptions
5916 option to compile Qt without exceptions. This is completely binary
5917 compatible, and existing applications will continue to work.
5925 if [ "$CFG_EXCEPTIONS" != "no" ]; then
5928 This target is using the MIPSpro C++ compiler ($PLATFORM).
5930 You may choose to re-run `basename $0` with the -no-exceptions
5931 option to compile Qt without exceptions. This will make the
5932 size of the Qt library smaller and reduce the amount of memory
5933 taken by your applications.
5945 if [ "$XPLATFORM" = "$PLATFORM" ]; then
5946 echo "Build type: $PLATFORM"
5948 echo "Building on: $PLATFORM"
5949 echo "Building for: $XPLATFORM"
5952 echo "Architecture: $CFG_ARCH"
5953 echo "Host architecture: $CFG_HOST_ARCH"
5955 if [ -n "$PLATFORM_NOTES" ]; then
5956 echo "Platform notes:"
5957 echo "$PLATFORM_NOTES"
5962 if [ "$OPT_VERBOSE" = "yes" ]; then
5963 echo $ECHO_N "qmake vars .......... $ECHO_C"
5964 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
5965 echo "qmake switches ......... $QMAKE_SWITCHES"
5968 echo "Build .................. $CFG_BUILD_PARTS"
5969 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
5970 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
5971 echo "Debug .................. yes (combined)"
5972 if [ "$CFG_DEBUG" = "yes" ]; then
5973 echo "Default Link ........... debug"
5975 echo "Default Link ........... release"
5978 echo "Debug .................. $CFG_DEBUG"
5980 if [ -n "$PKG_CONFIG" ]; then
5981 echo "pkg-config ............. yes"
5983 echo "pkg-config ............. no"
5985 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
5986 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
5987 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
5988 echo "QtConcurrent code ...... $CFG_CONCURRENT"
5989 echo "QtGui module ........... $CFG_GUI"
5990 echo "QtWidgets module ....... $CFG_WIDGETS"
5991 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
5992 echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
5994 echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
5996 echo "QML debugging .......... $CFG_QML_DEBUG"
5997 echo "PCH support ............ $CFG_PRECOMPILE"
5998 if [ "$CFG_ARCH" = "i386" -o "$CFG_ARCH" = "x86_64" ]; then
5999 echo "SSE2/SSE3/SSSE3......... ${CFG_SSE2}/${CFG_SSE3}/${CFG_SSSE3}"
6000 echo "SSE4.1/SSE4.2........... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
6001 echo "AVX/AVX2................ ${CFG_AVX}/${CFG_AVX2}"
6002 elif [ "$CFG_ARCH" = "arm" ]; then
6003 echo "iWMMXt support ......... ${CFG_IWMMXT}"
6004 echo "NEON support ........... ${CFG_NEON}"
6006 if [ "$CFG_ARCH" = "mips" ]; then
6007 echo "MIPS_DSP/MIPS_DSPR2..... ${CFG_MIPS_DSP}/${CFG_MIPS_DSPR2}"
6009 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
6010 echo "getaddrinfo support .... $CFG_GETADDRINFO"
6011 echo "getifaddrs support ..... $CFG_GETIFADDRS"
6012 echo "Accessibility .......... $CFG_ACCESSIBILITY"
6013 echo "NIS support ............ $CFG_NIS"
6014 echo "CUPS support ........... $CFG_CUPS"
6015 echo "Iconv support .......... $CFG_ICONV"
6016 echo "Glib support ........... $CFG_GLIB"
6017 echo "GStreamer support ...... $CFG_GSTREAMER"
6018 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
6019 echo "Large File support ..... $CFG_LARGEFILE"
6020 echo "GIF support ............ $CFG_GIF"
6021 if [ "$CFG_JPEG" = "no" ]; then
6022 echo "JPEG support ........... $CFG_JPEG"
6024 echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
6026 if [ "$CFG_PNG" = "no" ]; then
6027 echo "PNG support ............ $CFG_PNG"
6029 echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
6031 echo "zlib support ........... $CFG_ZLIB"
6032 echo "Session management ..... $CFG_SM"
6033 echo "libudev support ........ $CFG_LIBUDEV"
6035 if [ "$CFG_OPENGL" = "desktop" ]; then
6036 echo "OpenGL support ......... yes (Desktop OpenGL)"
6037 elif [ "$CFG_OPENGL" = "es2" ]; then
6038 echo "OpenGL support ......... yes (OpenGL ES 2.x)"
6040 echo "OpenGL support ......... no"
6043 if [ "$CFG_OPENVG" ]; then
6044 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
6045 echo "OpenVG support ......... ShivaVG"
6047 echo "OpenVG support ......... $CFG_OPENVG"
6051 echo "XShape support ......... $CFG_XSHAPE"
6052 echo "XVideo support ......... $CFG_XVIDEO"
6053 echo "XSync support .......... $CFG_XSYNC"
6054 echo "Xinerama support ....... $CFG_XINERAMA"
6055 echo "Xcursor support ........ $CFG_XCURSOR"
6056 echo "Xfixes support ......... $CFG_XFIXES"
6057 echo "Xrandr support ......... $CFG_XRANDR"
6058 echo "Xi support ............. $CFG_XINPUT"
6059 echo "MIT-SHM support ........ $CFG_MITSHM"
6060 echo "FontConfig support ..... $CFG_FONTCONFIG"
6061 echo "XKB Support ............ $CFG_XKB"
6062 echo "immodule support ....... $CFG_IM"
6063 echo "GTK theme support ...... $CFG_QGTKSTYLE"
6065 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
6066 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
6067 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
6068 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
6069 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
6070 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
6071 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
6072 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
6073 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
6076 if [ "$CFG_OPENSSL" = "yes" ]; then
6077 OPENSSL_LINKAGE="(run-time)"
6078 elif [ "$CFG_OPENSSL" = "linked" ]; then
6079 OPENSSL_LINKAGE="(linked)"
6081 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
6082 echo "Alsa support ........... $CFG_ALSA"
6083 if [ "$BUILD_ON_MAC" = "yes" ]; then
6084 echo "CoreWlan support ....... $CFG_COREWLAN"
6086 echo "libICU support ......... $CFG_ICU"
6087 echo "PCRE support ........... $CFG_PCRE"
6088 if [ "$CFG_XCB_LIMITED" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6089 echo "Xcb support ............ limited (old version)"
6091 echo "Xcb support ............ $CFG_XCB"
6093 echo "Xrender support ........ $CFG_XRENDER"
6094 if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6095 echo "XInput2 support ........ $CFG_XINPUT2"
6097 echo "EGLFS support .......... $CFG_EGLFS"
6098 echo "DirectFB support ....... $CFG_DIRECTFB"
6101 # complain about not being able to use dynamic plugins if we are using a static build
6102 if [ "$CFG_SHARED" = "no" ]; then
6104 echo "WARNING: Using static linking will disable the use of dynamically"
6105 echo "loaded plugins. Make sure to import all needed static plugins,"
6106 echo "or compile needed modules into the library."
6109 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
6111 echo "NOTE: When linking against OpenSSL, you can override the default"
6112 echo "library names through OPENSSL_LIBS."
6114 echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
6118 exec 1>&3 3>&- # restore stdout
6119 cat $outpath/config.summary # display config feedback to user
6121 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
6123 echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
6124 echo "if you want a pure debug build."
6129 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
6134 #-------------------------------------------------------------------------------
6135 # build makefiles based on the configuration
6136 #-------------------------------------------------------------------------------
6138 echo "Finding project files. Please wait..."
6139 if [ "$CFG_NOPROCESS" != "yes" ]; then
6140 "$outpath/bin/qmake" -prl -r "${relpath}/qtbase.pro"
6141 if [ -f "${relpath}/qtbase.pro" ]; then
6142 mkfile="${outpath}/Makefile"
6143 [ -f "$mkfile" ] && chmod +w "$mkfile"
6144 QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/qtbase.pro" -o "$mkfile"
6148 # .projects -> projects to process
6149 # .projects.1 -> qt and moc
6150 # .projects.2 -> subdirs and libs
6151 # .projects.3 -> the rest
6152 rm -f .projects .projects.1 .projects.2 .projects.3
6154 QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
6155 if [ -z "$AWK" ]; then
6156 for p in `echo $QMAKE_PROJECTS`; do
6157 echo "$p" >> .projects
6160 cat >projects.awk <<EOF
6166 first = "./.projects.1.tmp"
6167 second = "./.projects.2.tmp"
6168 third = "./.projects.3.tmp"
6173 if ( ! target_file )
6175 print input_file >target_file
6180 input_file = FILENAME
6185 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
6188 } else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) {
6189 target_file = second
6194 matched_target == 0 && /^(TEMPLATE.*=)/ {
6195 if ( \$3 == "subdirs" )
6196 target_file = second
6197 else if ( \$3 == "lib" )
6203 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
6204 if ( \$0 ~ /plugin/ )
6207 target_file = second
6212 if ( ! target_file )
6214 print input_file >>target_file
6221 for p in `echo $QMAKE_PROJECTS`; do
6222 echo "$p" >> .projects.all
6225 # if you get errors about the length of the command line to awk, change the -l arg
6227 split -l 100 .projects.all .projects.all.
6228 for p in .projects.all.*; do
6229 "$AWK" -f projects.awk `cat $p`
6230 [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
6231 [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
6232 [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
6233 rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
6235 rm -f .projects.all* projects.awk
6237 [ -f .projects.1 ] && cat .projects.1 >>.projects
6238 [ -f .projects.2 ] && cat .projects.2 >>.projects
6239 rm -f .projects.1 .projects.2
6240 if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
6241 cat .projects.3 >>.projects
6245 # don't sort Qt and MOC in with the other project files
6246 # also work around a segfaulting uniq(1)
6247 if [ -f .sorted.projects.2 ]; then
6248 sort .sorted.projects.2 > .sorted.projects.2.new
6249 mv -f .sorted.projects.2.new .sorted.projects.2
6250 cat .sorted.projects.2 >> .sorted.projects.1
6252 [ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
6253 rm -f .sorted.projects.2 .sorted.projects.1
6257 if [ -f .projects ]; then
6258 uniq .projects >.tmp
6259 mv -f .tmp .projects
6260 NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
6262 if [ -f .projects.3 ]; then
6263 uniq .projects.3 >.tmp
6264 mv -f .tmp .projects.3
6265 FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
6267 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
6271 for part in $CFG_BUILD_PARTS; do
6273 tools) PART_ROOTS="$PART_ROOTS tools" ;;
6274 libs) PART_ROOTS="$PART_ROOTS src" ;;
6275 translations) PART_ROOTS="$PART_ROOTS translations" ;;
6276 examples) PART_ROOTS="$PART_ROOTS examples" ;;
6281 if [ "$CFG_DEV" = "yes" ]; then
6282 PART_ROOTS="$PART_ROOTS tests"
6285 echo "Creating makefiles. Please wait..."
6286 for file in .projects .projects.3; do
6287 [ '!' -f "$file" ] && continue
6288 for a in `cat $file`; do
6290 for r in $PART_ROOTS; do
6291 if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
6296 [ "$IN_ROOT" = "no" ] && continue
6299 *winmain/winmain.pro)
6300 if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_MINGW" != "yes" ]; then
6304 */qmake/qmake.pro) continue ;;
6305 *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*|*tools/qdoc*|*tools/qdbusxml2cpp*|*tools/qdbuscpp2xml*) SPEC=$QMAKESPEC ;;
6306 *) if [ "$CFG_NOPROCESS" = "yes" ]; then
6312 dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
6313 test -d "$dir" || mkdir -p "$dir"
6314 OUTDIR="$outpath/$dir"
6315 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
6316 # fast configure - the makefile exists, skip it
6317 # since the makefile exists, it was generated by qmake, which means we
6318 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
6320 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
6323 QMAKE_SPEC_ARGS="-spec $SPEC"
6324 echo $ECHO_N " for $a$ECHO_C"
6326 QMAKE="$outpath/bin/qmake"
6327 QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
6328 if [ "$file" = ".projects.3" ]; then
6331 cat >"${OUTDIR}/Makefile" <<EOF
6332 # ${OUTDIR}/Makefile: generated by configure
6334 # WARNING: This makefile will be replaced with a real makefile.
6335 # All changes made to this file will be lost.
6337 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
6339 cat >>"${OUTDIR}/Makefile" <<EOF
6341 all clean install qmake first Makefile: FORCE
6342 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
6350 if [ "$OPT_VERBOSE" = "yes" ]; then
6351 echo " (`basename $SPEC`)"
6352 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
6357 [ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
6358 QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
6362 rm -f .projects .projects.3
6364 #-------------------------------------------------------------------------------
6365 # check for platforms that we don't yet know about
6366 #-------------------------------------------------------------------------------
6367 if [ "$CFG_ARCH" = "unknown" ]; then
6370 NOTICE: configure was unable to determine the architecture
6371 for the $XQMAKESPEC target.
6373 Qt will not use a specialized implementation for any atomic
6374 operations. Instead a generic implemention based on either GCC
6375 intrinsics or C++11 std::atomic<T> will be used (when
6376 available). The generic implementations are generally as fast
6377 as and always as safe as a specialized implementation.
6379 If no generic implementation is available, Qt will use a
6380 fallback UNIX implementation which uses a single
6381 pthread_mutex_t to protect all atomic operations. This
6382 implementation is the slow (but safe) fallback implementation
6383 for architectures Qt does not yet support.
6387 #-------------------------------------------------------------------------------
6388 # check if the user passed the -no-zlib option, which is no longer supported
6389 #-------------------------------------------------------------------------------
6390 if [ -n "$ZLIB_FORCED" ]; then
6391 which_zlib="supplied"
6392 if [ "$CFG_ZLIB" = "system" ]; then
6398 NOTICE: The -no-zlib option was supplied but is no longer
6401 Qt now requires zlib support in all builds, so the -no-zlib
6402 option was ignored. Qt will be built using the $which_zlib
6407 #-------------------------------------------------------------------------------
6408 # check if the user passed the obsoleted -wayland or -no-wayland flag
6409 #-------------------------------------------------------------------------------
6410 if [ "$CFG_OBSOLETE_WAYLAND" = "yes" ]; then
6413 NOTICE: The -wayland and -no-wayland flags are now obsolete
6415 All configuring of QtWayland plugin and QtCompositor happens in the module
6419 #-------------------------------------------------------------------------------
6420 # check if the user passed the obsoleted -arch or -host-arch options
6421 #-------------------------------------------------------------------------------
6422 if [ "$OPT_OBSOLETE_HOST_ARG" = "yes" ]; then
6425 NOTICE: The -arch and -host-arch options are obsolete.
6427 Qt now detects the target and host architectures based on compiler
6428 output. Qt will be built using $CFG_ARCH for the target architecture
6429 and $CFG_HOST_ARCH for the host architecture (note that these two
6430 will be the same unless you are cross-compiling).
6434 #-------------------------------------------------------------------------------
6435 # finally save the executed command to another script
6436 #-------------------------------------------------------------------------------
6437 if [ `basename $0` != "config.status" ]; then
6438 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
6440 # add the system variables
6441 for varname in $SYSTEM_VARIABLES; do
6443 'if [ -n "\$'${varname}'" ]; then
6444 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
6449 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
6451 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
6452 echo "#!/bin/sh" > "$outpath/config.status"
6453 [ -n "$PKG_CONFIG_SYSROOT_DIR" ] && \
6454 echo "export PKG_CONFIG_SYSROOT_DIR=$PKG_CONFIG_SYSROOT_DIR" >> "$outpath/config.status"
6455 [ -n "$PKG_CONFIG_LIBDIR" ] && \
6456 echo "export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR" >> "$outpath/config.status"
6457 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
6458 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
6459 echo "else" >> "$outpath/config.status"
6460 echo " $CONFIG_STATUS" >> "$outpath/config.status"
6461 echo "fi" >> "$outpath/config.status"
6462 chmod +x "$outpath/config.status"
6465 if [ -n "$RPATH_MESSAGE" ]; then
6467 echo "$RPATH_MESSAGE"
6470 MAKE=`basename "$MAKE"`
6472 echo Qt is now configured for building. Just run \'$MAKE\'.
6473 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
6474 echo Once everything is built, Qt is installed.
6475 echo You should not run \'$MAKE install\'.
6477 echo Once everything is built, you must run \'$MAKE install\'.
6478 echo Qt will be installed into $QT_INSTALL_PREFIX
6481 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.