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
77 #-------------------------------------------------------------------------------
79 #-------------------------------------------------------------------------------
83 echo "$@" | sed 's/ /\ /g'
86 # Adds a new qmake variable to the cache
87 # Usage: QMakeVar mode varname contents
88 # where mode is one of: set, add, del
102 echo >&2 "BUG: wrong command to QMakeVar: $1"
106 echo "$2" "$eq" "$3" >> "$QMAKE_VARS_FILE"
109 # Helper function for getQMakeConf. It parses include statements in
110 # qmake.conf and prints out the expanded file
113 while read line; do case "$line" in
115 inc_file=`echo "$line" | sed -n -e "/^include.*(.*)/s/include.*(\(.*\)).*$/\1/p"`
116 current_dir=`dirname "$1"`
117 conf_file="$current_dir/$inc_file"
118 if [ ! -f "$conf_file" ]; then
119 echo "WARNING: Unable to find file $conf_file" >&2
122 getQMakeConf1 "$conf_file"
134 values["LITERAL_WHITESPACE"] = " "
135 values["LITERAL_DOLLAR"] = "$"
137 /^[_A-Z0-9.]+[ \t]*\+?=/ {
138 valStart = index($0, "=") + 1
141 if (substr($0, valStart - 2, 1) == "+") {
145 variable = substr($0, 0, valStart - 2 - append)
146 value = substr($0, valStart)
147 gsub("[ \t]+", "", variable)
148 gsub("^[ \t]+", "", value)
149 gsub("[ \t]+$", "", value)
152 while (match(value, /\$\$(\{[_A-Z0-9.]+\}|[_A-Z0-9.]+)/)) {
153 ovalue = ovalue substr(value, 1, RSTART - 1)
154 var = substr(value, RSTART + 2, RLENGTH - 2)
155 value = substr(value, RSTART + RLENGTH)
157 var = substr(var, 2, length(var) - 2)
159 ovalue = ovalue values[var]
161 ovalue = ovalue value
163 combinedValue = values[variable]
164 if (append == 1 && length(combinedValue) > 0) {
165 combinedValue = combinedValue " " ovalue
167 combinedValue = ovalue
169 values[variable] = combinedValue
172 for (var in values) {
173 print var "=" values[var]
181 echo "$2" | $AWK "/^($1)=/ { print substr(\$0, index(\$0, \"=\") + 1) }"
184 # relies on $QMAKESPEC being set correctly. parses include statements in
185 # qmake.conf and prints out the expanded file
188 if [ -z "$specvals" ]; then
189 specvals=`getQMakeConf1 "$QMAKESPEC/qmake.conf" | getQMakeConf2`
191 getQMakeConf3 "$1" "$specvals"
196 if [ -z "$xspecvals" ]; then
197 xspecvals=`getQMakeConf1 "$XQMAKESPEC/qmake.conf" | getQMakeConf2`
199 getQMakeConf3 "$1" "$xspecvals"
202 # relies on $TEST_COMPILER being set correctly
203 compilerSupportsFlag()
205 cat >conftest.cpp <<EOF
206 int main() { return 0; }
208 "$TEST_COMPILER" "$@" -o conftest.o conftest.cpp
210 rm -f conftest.cpp conftest.o
214 # relies on $TEST_COMPILER being set correctly
220 safe_flag=`shellEscape "$flag"`
221 lflags=$lflags,$safe_flag
223 compilerSupportsFlag "$lflags" >/dev/null 2>&1
226 #-------------------------------------------------------------------------------
227 # operating system detection
228 #-------------------------------------------------------------------------------
230 # need that throughout the script
231 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
232 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
233 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
234 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
236 # detect the "echo without newline" style. usage: echo $ECHO_N "<string>$ECHO_C"
237 if echo '\c' | grep '\c' >/dev/null; then
243 #-------------------------------------------------------------------------------
244 # window system detection
245 #-------------------------------------------------------------------------------
251 if [ -d /System/Library/Frameworks/Carbon.framework ]; then
256 #-----------------------------------------------------------------------------
257 # Qt version detection
258 #-----------------------------------------------------------------------------
259 QT_VERSION=`grep '^# *define *QT_VERSION_STR' "$relpath"/src/corelib/global/qglobal.h`
263 if [ -n "$QT_VERSION" ]; then
264 QT_VERSION=`echo $QT_VERSION | sed 's,^# *define *QT_VERSION_STR *"*\([^ ]*\)"$,\1,'`
265 MAJOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
266 if [ -n "$MAJOR" ]; then
267 MINOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
268 PATCH=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
269 QT_MAJOR_VERSION="$MAJOR"
270 [ -z "$MINOR" ] || QT_MINOR_VERSION="$MINOR"
271 [ -z "$PATCH" ] || QT_PATCH_VERSION="$PATCH"
274 if [ -z "$QT_MAJOR_VERSION" ]; then
275 echo "Cannot process version from qglobal.h: $QT_VERSION"
276 echo "Cannot proceed."
280 QT_PACKAGEDATE=`grep '^# *define *QT_PACKAGEDATE_STR' "$relpath"/src/corelib/global/qglobal.h | sed -e 's,^# *define *QT_PACKAGEDATE_STR *"\([^ ]*\)"$,\1,' -e s,-,,g`
281 if [ -z "$QT_PACKAGEDATE" ]; then
282 echo "Unable to determine package date from qglobal.h: '$QT_PACKAGEDATE'"
283 echo "Cannot proceed"
287 #-------------------------------------------------------------------------------
289 #-------------------------------------------------------------------------------
293 EditionString=Commercial
297 # parse the arguments, setting things to "yes" or "no"
298 while [ "$#" -gt 0 ]; do
302 #Autoconf style options
304 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
308 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
312 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
313 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
316 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
321 # this option may or may not be followed by an argument
322 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
329 -h|help|--help|-help)
330 if [ "$VAL" = "yes" ]; then
332 COMMERCIAL_USER="no" #doesn't matter we will display the help
335 COMMERCIAL_USER="no" #doesn't matter we will display the help
339 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
343 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
350 if [ "$UNKNOWN_ARG" = "yes" ]; then
359 if [ "$PLATFORM_QPA" != "no" ]; then
360 if [ "$PLATFORM_QPA" = "maybe" ]; then
365 echo "No license exists to enable Qt QPA. Disabling."
372 COMMERCIAL_USER="yes"
386 if [ "$COMMERCIAL_USER" = "ask" ]; then
388 echo "Which edition of Qt do you want to use ?"
390 echo "Type 'c' if you want to use the Commercial Edition."
391 echo "Type 'o' if you want to use the Open Source Edition."
395 if [ "$commercial" = "c" ]; then
396 COMMERCIAL_USER="yes"
398 elif [ "$commercial" = "o" ]; then
405 if [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes" ]; then
406 # Commercial preview release
407 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
410 QT_EDITION="QT_EDITION_DESKTOP"
411 LicenseType="Technology Preview"
412 elif [ $COMMERCIAL_USER = "yes" ]; then
413 # one of commercial editions
414 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
415 [ "$PLATFORM_QPA" = "maybe" ] && PLATFORM_QPA=no
417 # read in the license file
418 if [ -f "$LICENSE_FILE" ]; then
419 . "$LICENSE_FILE" >/dev/null 2>&1
420 if [ -z "$LicenseKeyExt" ]; then
422 echo "You are using an old license file."
424 echo "Please install the license file supplied by Nokia,"
425 echo "or install the Qt Open Source Edition if you intend to"
426 echo "develop free software."
429 if [ -z "$Licensee" ]; then
431 echo "Invalid license key. Please check the license key."
435 if [ -z "$LicenseKeyExt" ]; then
437 echo $ECHO_N "Please enter your license key: $ECHO_C"
439 Licensee="Unknown user"
444 echo "$LicenseKeyExt" | grep ".....*-....*-....*-....*-.....*-.....*-...." >/dev/null 2>&1 \
445 && LicenseValid="yes" \
447 if [ "$LicenseValid" != "yes" ]; then
449 echo "Invalid license key. Please check the license key."
452 ProductCode=`echo $LicenseKeyExt | cut -f 1 -d - | cut -b 1`
453 PlatformCode=`echo $LicenseKeyExt | cut -f 2 -d -`
454 LicenseTypeCode=`echo $LicenseKeyExt | cut -f 3 -d -`
455 LicenseFeatureCode=`echo $LicenseKeyExt | cut -f 4 -d - | cut -b 1`
457 # determine which edition we are licensed to use
458 case "$LicenseTypeCode" in
460 LicenseType="Commercial"
464 QT_EDITION="QT_EDITION_UNIVERSAL"
467 Edition="FullFramework"
468 EditionString="Full Framework"
469 QT_EDITION="QT_EDITION_DESKTOP"
472 Edition="GUIFramework"
473 EditionString="GUI Framework"
474 QT_EDITION="QT_EDITION_DESKTOPLIGHT"
479 LicenseType="Evaluation"
480 QMakeVar add DEFINES QT_EVAL
484 QT_EDITION="QT_EDITION_EVALUATION"
489 if [ -z "$LicenseType" -o -z "$Edition" -o -z "$QT_EDITION" ]; then
491 echo "Invalid license key. Please check the license key."
495 # verify that we are licensed to use Qt on this platform
497 case "$PlatformCode" in
500 PlatformCode=`echo "$PlatformCode" | sed 'h;y/8NPQRTZ/UCWX9M7/;x;G;s/\(.\)....\(.\)./\1\2/'`
504 PlatformCode=`echo "$PlatformCode" | sed 's/.$//'`
507 ### EMBEDDED_QPA logic missing ###
508 case "$PlatformCode,$PLATFORM_MAC,$PLATFORM_QWS" in
509 X9,* | XC,* | XU,* | XW,* | XM,*)
511 LICENSE_EXTENSION="-ALLOS"
513 8M,* | KM,* | S9,* | SC,* | SM,* | SU,* | SW,* | X9,* | XC,* | XU,* | XW,*)
514 # Qt for Embedded Linux
515 LICENSE_EXTENSION="-EMBEDDED"
517 6M,*,no | N7,*,no | N9,*,no | NX,*,no)
519 LICENSE_EXTENSION="-EMBEDDED"
521 FM,*,no | LM,yes,* | ZM,no,no)
523 LICENSE_EXTENSION="-DESKTOP"
527 [ "$PLATFORM_MAC" = "yes" ] && Platform='Mac OS X'
529 echo "You are not licensed for the $Platform platform."
531 echo "Please contact qt-info@nokia.com to upgrade your license to"
532 echo "include the $Platform platform, or install the Qt Open Source Edition"
533 echo "if you intend to develop free software."
538 if test -r "$relpath/.LICENSE"; then
539 # Generic, non-final license
541 line=`sed 'y/a-z/A-Z/;q' "$relpath"/.LICENSE`
546 *TECHNOLOGY?PREVIEW*)
553 echo >&2 "Invalid license files; cannot continue"
558 EditionString="$Edition"
559 QT_EDITION="QT_EDITION_DESKTOP"
562 case "$LicenseFeatureCode" in
565 case "$LicenseType" in
567 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}-US" "$outpath/LICENSE"
570 cp -f "$relpath/.LICENSE-EVALUATION-US" "$outpath/LICENSE"
576 case "$LicenseType" in
578 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}" "$outpath/LICENSE"
581 cp -f "$relpath/.LICENSE-EVALUATION" "$outpath/LICENSE"
587 echo "Invalid license key. Please check the license key."
591 case "$LicenseFeatureCode" in
599 if [ '!' -f "$outpath/LICENSE" ]; then
600 echo "The LICENSE, LICENSE.GPL3 LICENSE.LGPL file shipped with"
601 echo "this software has disappeared."
603 echo "Sorry, you are not licensed to use this software."
604 echo "Try re-installing."
608 elif [ $COMMERCIAL_USER = "no" ]; then
609 # Open Source edition - may only be used under the terms of the GPL or LGPL.
610 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
611 Licensee="Open Source"
613 EditionString="Open Source"
614 QT_EDITION="QT_EDITION_OPENSOURCE"
617 #-------------------------------------------------------------------------------
618 # initalize variables
619 #-------------------------------------------------------------------------------
621 SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
622 for varname in $SYSTEM_VARIABLES; do
623 qmakevarname="${varname}"
624 # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
625 if [ "${varname}" = "LDFLAGS" ]; then
626 qmakevarname="LFLAGS"
627 elif [ "${varname}" = "LD" ]; then
631 'if [ -n "\$'${varname}'" ]; then
632 QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'"
636 # Use CC/CXX to run config.tests
637 mkdir -p "$outpath/config.tests"
638 rm -f "$outpath/config.tests/.qmake.cache"
639 cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
641 QMakeVar add styles "cde mac motif plastique cleanlooks windows"
643 # QTDIR may be set and point to an old or system-wide Qt installation
646 # the minimum version of libdbus-1 that we require:
647 MIN_DBUS_1_VERSION=0.93
649 # initalize internal variables
650 CFG_CONFIGURE_EXIT_ON_ERROR=yes
652 CFG_EXCEPTIONS=unspecified
653 CFG_GUI=auto # (yes|no|auto)
679 CFG_OPENVG_LC_INCLUDES=no
680 CFG_OPENVG_SHIVA=auto
681 CFG_OPENVG_ON_OPENGL=auto
687 QT_DEFAULT_BUILD_PARTS="libs examples tests"
691 CFG_AUDIO_BACKEND=auto
693 CFG_DECLARATIVE_DEBUG=yes
694 CFG_JAVASCRIPTCORE_JIT=auto
696 # Target architecture
698 # Host architecture, same as CFG_ARCH when not cross-compiling
700 # Set when the -arch or -host-arch arguments are used
701 OPT_OBSOLETE_HOST_ARG=no
712 CFG_OBSOLETE_WAYLAND=no
725 CFG_SEPARATE_DEBUG_INFO=no
726 CFG_SEPARATE_DEBUG_INFO_NOCOPY=no
727 CFG_REDUCE_EXPORTS=auto
737 CFG_REDUCE_RELOCATIONS=auto
739 CFG_ACCESSIBILITY=auto
742 CFG_CLOCK_GETTIME=auto
743 CFG_CLOCK_MONOTONIC=auto
751 MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
755 CFG_PREFIX_INSTALL=yes
764 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
765 XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
769 OPT_CONFIRM_LICENSE=no
782 QPA_PLATFORM_GUARD=yes
784 # initalize variables used for installation
793 QT_INSTALL_TRANSLATIONS=
802 #flags for SQL drivers
810 QT_LFLAGS_ODBC="-lodbc"
813 # flags for libdbus-1
817 # flags for Glib (X11 only)
821 # flags for GStreamer (X11 only)
825 #-------------------------------------------------------------------------------
826 # check SQL drivers available in this package
827 #-------------------------------------------------------------------------------
829 # opensource version removes some drivers, so force them to be off
835 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
836 for a in "$relpath/src/plugins/sqldrivers/"*; do
838 base_a=`basename "$a"`
839 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
840 eval "CFG_SQL_${base_a}=auto"
845 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
846 if [ -d "$relpath/src/plugins/imageformats" ]; then
847 for a in "$relpath/src/plugins/imageformats/"*; do
849 base_a=`basename "$a"`
850 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
855 #-------------------------------------------------------------------------------
856 # parse command line arguments
857 #-------------------------------------------------------------------------------
859 # parse the arguments, setting things to "yes" or "no"
860 while [ "$#" -gt 0 ]; do
864 #Autoconf style options
866 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
870 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
874 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
875 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
878 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
882 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
886 -no-*-*|-plugin-*-*|-qt-*-*)
887 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
888 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
892 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
895 #Qt style yes options
896 -profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-xcb|-eglfs|-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|-declarative-debug|-javascript-jit|-rpath|-force-pkg-config|-icu|-force-asserts|-testcocoon)
897 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
900 #Qt style options that pass an argument
902 if [ "$PLATFORM_QPA" != "yes" ]; then
904 echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
908 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
912 -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-testsdir|-depths|-make|-nomake|-platform|-xplatform|-sdk|-arch|-host-arch|-mysql_config|-sysroot|-hostdatadir|-hostbindir)
913 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
917 #Qt style complex options in one command
918 -enable-*|-disable-*)
919 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
920 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
922 #Qt Builtin/System style options
923 -no-*|-system-*|-qt-*)
924 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
925 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
927 #Options that cannot be generalized
934 # this option may or may not be followed by an argument
935 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
944 # this option may or may not be followed by an argument
945 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
954 # this option may or may not be followed by an argument
955 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
963 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
964 # this option may or may not be followed by an argument
965 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
984 if [ "$1" = "-D" ]; then
988 VAL=`echo $1 | sed 's,-D,,'`
993 # this option may or may not be followed by an argument
994 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1003 if [ "$1" = "-I" ]; then
1007 VAL=`echo $1 | sed 's,-I,,'`
1012 if [ "$1" = "-L" ]; then
1016 VAL=`echo $1 | sed 's,-L,,'`
1021 if [ "$1" = "-R" ]; then
1025 VAL=`echo $1 | sed 's,-R,,'`
1030 VAL=`echo $1 | sed 's,-l,,'`
1034 if [ "$1" = "-F" ]; then
1038 VAL=`echo $1 | sed 's,-F,,'`
1043 if [ "$1" = "-fw" ]; then
1047 VAL=`echo $1 | sed 's,-fw,,'`
1055 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1062 if [ "$UNKNOWN_ARG" = "yes" ]; then
1063 echo "$1: unknown argument"
1074 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1075 CFG_ACCESSIBILITY="$VAL"
1084 CFG_USE_GNUMAKE="$VAL"
1087 CFG_MYSQL_CONFIG="$VAL"
1090 QT_INSTALL_PREFIX="$VAL"
1093 QT_HOST_PREFIX="$VAL"
1102 QT_FORCE_PKGCONFIG=yes
1105 QT_INSTALL_DOCS="$VAL"
1108 QT_INSTALL_HEADERS="$VAL"
1111 QT_INSTALL_PLUGINS="$VAL"
1114 QT_INSTALL_IMPORTS="$VAL"
1117 QT_INSTALL_DATA="$VAL"
1120 QT_INSTALL_LIBS="$VAL"
1129 QT_INSTALL_TRANSLATIONS="$VAL"
1131 sysconfdir|settingsdir)
1132 QT_INSTALL_SETTINGS="$VAL"
1135 QT_INSTALL_EXAMPLES="$VAL"
1138 QT_INSTALL_TESTS="$VAL"
1147 QT_INSTALL_BINS="$VAL"
1157 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1164 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1165 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1166 [ "$VAL" = "es2" ]; then
1173 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1180 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1183 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1191 if [ "$BUILD_ON_MAC" = "yes" ]; then
1198 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1199 CFG_MAC_DWARF2="$VAL"
1205 OPT_OBSOLETE_HOST_ARG=yes
1208 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1209 CFG_MAC_HARFBUZZ="$VAL"
1216 if [ "$BUILD_ON_MAC" = "yes" ]; then
1217 CFG_FRAMEWORK="$VAL"
1223 if [ "$VAL" = "yes" ]; then
1225 QMakeVar add QMAKE_CFLAGS -pg
1226 QMakeVar add QMAKE_CXXFLAGS -pg
1227 QMakeVar add QMAKE_LFLAGS -pg
1228 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1234 if [ "$VAL" = "yes" ]; then
1235 QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon"
1238 exceptions|g++-exceptions)
1239 if [ "$VAL" = "no" ]; then
1241 elif [ "$VAL" = "yes" ]; then
1249 # keep compatibility with old platform names
1255 PLATFORM=hpux-acc-o64
1258 PLATFORM=hpux-acc-64
1261 PLATFORM=hpux-acc-64
1273 PLATFORM=reliant-cds-64
1276 PLATFORM=solaris-cc-64
1279 PLATFORM=unixware-cc
1282 PLATFORM=unixware-g++
1285 PLATFORM=unixware-cc
1288 PLATFORM=unixware-g++
1294 i386) NATIVE_64_ARCH="x86_64" ;;
1295 powerpc) NATIVE_64_ARCH="ppc64" ;;
1296 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1298 if [ ! -z "$NATIVE_64_ARCH" ]; then
1299 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1306 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1309 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1310 CFG_DEBUG_RELEASE="$VAL"
1316 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1317 CFG_RELEASE_QMAKE="$VAL"
1323 if [ "$VAL" = "yes" ]; then
1325 elif [ "$VAL" = "no" ]; then
1332 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1333 CFG_PREFIX_INSTALL="$VAL"
1341 developer-build|commercial|opensource)
1342 # These switches have been dealt with already
1345 if [ "$VAL" = "yes" ]; then
1347 elif [ "$VAL" = "no" ]; then
1354 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1355 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1361 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1362 if [ "$VAL" = "no" ]; then
1363 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1364 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1365 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1371 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1378 if [ "$VAL" = "no" ]; then
1385 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1393 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1400 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1407 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1414 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1421 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1428 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1435 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1442 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1449 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1450 CFG_PRECOMPILE="$VAL"
1455 separate-debug-info)
1456 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1457 CFG_SEPARATE_DEBUG_INFO="$VAL"
1458 elif [ "$VAL" = "nocopy" ] ; then
1459 CFG_SEPARATE_DEBUG_INFO="yes"
1460 CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1466 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1467 CFG_REDUCE_EXPORTS="$VAL"
1473 if [ "$VAL" = "no" ]; then
1480 if [ "$VAL" = "no" ]; then
1487 if [ "$VAL" = "no" ]; then
1494 if [ "$VAL" = "no" ]; then
1501 if [ "$VAL" = "no" ]; then
1508 if [ "$VAL" = "no" ]; then
1515 if [ "$VAL" = "no" ]; then
1522 if [ "$VAL" = "no" ]; then
1529 if [ "$VAL" = "no" ]; then
1539 if [ "$VAL" = "no" ]; then
1546 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1547 CFG_REDUCE_RELOCATIONS="$VAL"
1553 [ "$VAL" = "qt" ] && VAL=yes
1554 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1559 # No longer supported:
1560 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1563 if [ "$VAL" = "system" ]; then
1570 [ "$VAL" = "yes" ] && VAL=qt
1571 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1578 [ "$VAL" = "yes" ] && VAL=qt
1579 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1586 if [ "$VAL" = "system" ] || [ "$VAL" = "no" ]; then
1593 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1600 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1607 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1614 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1621 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1628 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1629 CFG_FONTCONFIG="$VAL"
1635 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1642 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1649 CFG_OBSOLETE_WAYLAND=yes
1652 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1659 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1666 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1673 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1680 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1687 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1694 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1695 CFG_GSTREAMER="$VAL"
1701 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1702 CFG_QGTKSTYLE="$VAL"
1708 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1711 if [ "$VAL" = "no" ]; then
1719 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1721 elif [ "$VAL" = "no" ]; then
1728 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1729 QPA_PLATFORM_GUARD="$VAL"
1735 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1737 elif [ "$VAL" = "runtime" ]; then
1744 if [ "$VAL" = "yes" ]; then
1751 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1758 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1759 CFG_LARGEFILE="$VAL"
1765 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1772 if [ "$VAL" = "yes" ]; then
1773 CFG_OPENSSL="linked"
1779 if [ "$VAL" = "yes" ]; then
1780 CFG_DECLARATIVE_DEBUG="yes"
1782 if [ "$VAL" = "no" ]; then
1783 CFG_DECLARATIVE_DEBUG="no"
1790 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1791 CFG_JAVASCRIPTCORE_JIT="$VAL"
1797 if [ "$VAL" = "yes" ]; then
1798 OPT_CONFIRM_LICENSE="$VAL"
1804 if [ "$VAL" = "yes" ]; then
1810 sql-*|imageformat-*)
1811 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1812 # if autoconf style options were used, $VAL can be "yes" or "no"
1813 [ "$VAL" = "yes" ] && VAL=qt
1814 # now $VAL should be "no", "qt", or "plugin"... double-check
1815 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1818 # now $VAL is "no", "qt", or "plugin"
1820 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1821 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1823 # Grab the available values
1826 avail="$CFG_SQL_AVAILABLE"
1829 avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
1830 if [ "$OPT" != "plugin" ]; then
1831 # png is always built in
1837 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1841 # Check that that user's value is available.
1844 if [ "$VAL" = "$d" ]; then
1849 [ "$found" = yes ] || ERROR=yes
1851 if [ "$VAR" = "sql" ]; then
1852 # set the CFG_SQL_driver
1853 eval "CFG_SQL_$VAL=\$OPT"
1855 elif [ "$VAR" = "imageformat" ]; then
1856 [ "$OPT" = "qt" ] && OPT=yes
1857 VAL="`echo $VAL |tr a-z A-Z`"
1858 eval "CFG_$VAL=$OPT"
1862 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
1863 if [ "$OPT" = "plugin" ]; then
1866 QMakeVar add "${VAR}s" "${VAL}"
1867 elif [ "$OPT" = "no" ]; then
1868 PLUG_VAR="${VAR}-plugin"
1870 QMakeVar del "${IN_VAR}s" "$VAL"
1871 QMakeVar del "${PLUG_VAR}s" "$VAL"
1873 if [ "$ERROR" = "yes" ]; then
1874 echo "$CURRENT_OPT: unknown argument"
1879 if [ "$VAL" = "yes" ]; then
1880 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
1881 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
1885 elif [ "$VAL" = "no" ]; then
1886 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
1887 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
1896 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1903 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1910 D_FLAGS="$D_FLAGS \"$VAL\""
1913 I_FLAGS="$I_FLAGS -I\"${VAL}\""
1916 L_FLAGS="$L_FLAGS -L\"${VAL}\""
1919 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
1922 l_FLAGS="$l_FLAGS -l\"${VAL}\""
1925 if [ "$BUILD_ON_MAC" = "yes" ]; then
1926 L_FLAGS="$L_FLAGS -F\"${VAL}\""
1927 I_FLAGS="$I_FLAGS -F\"${VAL}\""
1933 if [ "$BUILD_ON_MAC" = "yes" ]; then
1934 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
1940 W_FLAGS="$W_FLAGS \"${VAL}\""
1946 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1947 CFG_PHONON_BACKEND="$VAL"
1959 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1960 CFG_AUDIO_BACKEND="$VAL"
1966 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1973 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1974 CFG_FORCE_ASSERTS="$VAL"
1980 if [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
1990 if [ "$UNKNOWN_OPT" = "yes" ]; then
1991 echo "${CURRENT_OPT}: invalid command-line switch"
1997 # update QT_CONFIG to show our current predefined configuration
1998 case "$CFG_QCONFIG" in
1999 minimal|small|medium|large|full)
2000 # these are a sequence of increasing functionality
2001 for c in minimal small medium large full; do
2002 QT_CONFIG="$QT_CONFIG $c-config"
2003 [ "$CFG_QCONFIG" = $c ] && break
2007 # not known to be sufficient for anything
2008 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
2009 echo >&2 "Error: configuration file not found:"
2010 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2012 echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2017 #-------------------------------------------------------------------------------
2018 # build tree initialization
2019 #-------------------------------------------------------------------------------
2021 # where to find which..
2022 unixtests="$relpath/config.tests/unix"
2023 mactests="$relpath/config.tests/mac"
2024 WHICH="$unixtests/which.test"
2026 PERL=`$WHICH perl 2>/dev/null`
2028 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2030 for e in gawk nawk awk; do
2031 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2038 PERL="/usr/bin/perl"
2039 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2043 ### skip this if the user just needs help...
2044 if [ "$OPT_HELP" != "yes" ]; then
2046 # is this a shadow build?
2047 if [ "$OPT_SHADOW" = "maybe" ]; then
2049 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2050 if [ -h "$outpath" ]; then
2051 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2057 if [ "$OPT_SHADOW" = "yes" ]; then
2058 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2059 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2060 echo >&2 "Cannot proceed."
2063 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2066 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2068 echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
2069 echo "Qt can be built in release mode with separate debug information, so"
2070 echo "-debug-and-release is not necessary anymore"
2074 if [ "$CFG_SILENT" = "yes" ]; then
2075 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2078 # if the source tree is different from the build tree,
2079 # symlink or copy part of the sources
2080 if [ "$OPT_SHADOW" = "yes" ]; then
2081 echo "Preparing build tree..."
2083 if [ -z "$PERL" ]; then
2085 echo "You need perl in your PATH to make a shadow build."
2086 echo "Cannot proceed."
2090 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2092 # make a syncqt script that can be used in the shadow
2093 rm -f "$outpath/bin/syncqt"
2094 if [ -x "$relpath/bin/syncqt" ]; then
2095 mkdir -p "$outpath/bin"
2096 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2097 echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2098 chmod 755 "$outpath/bin/syncqt"
2101 for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
2102 rm -f "$outpath/bin/$i"
2103 if [ -x "$relpath/bin/$i" ]; then
2104 mkdir -p "$outpath/bin"
2105 echo "#!/bin/sh" >"$outpath/bin/$i"
2106 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2107 echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2108 chmod 755 "$outpath/bin/$i"
2112 # symlink the mkspecs directory
2113 mkdir -p "$outpath/mkspecs"
2114 rm -rf "$outpath"/mkspecs/*
2115 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2116 rm -f "$outpath/mkspecs/default"
2120 rm -rf "$outpath/mkspecs/$1"
2121 find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2122 find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2125 # Special case for mkspecs/features directory.
2126 # To be able to place .prf files into a shadow build directory,
2127 # we're creating links for files only. The directory structure is reproduced.
2128 ShadowMkspecs features
2130 # The modules dir is special, too.
2131 ShadowMkspecs modules
2133 # symlink the doc directory
2134 rm -rf "$outpath/doc"
2135 ln -s "$relpath/doc" "$outpath/doc"
2138 # symlink fonts to be able to run application from build directory
2139 if [ "$PLATFORM_QPA" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
2140 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2141 mkdir -p "${outpath}/lib"
2142 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2146 if [ "$OPT_FAST" = "auto" ]; then
2147 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2154 # find a make command
2155 if [ -z "$MAKE" ]; then
2157 for mk in gmake make; do
2158 if "$WHICH" $mk >/dev/null 2>&1; then
2163 if [ -z "$MAKE" ]; then
2164 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2165 echo >&2 "Cannot proceed."
2168 # export MAKE, we need it later in the config.tests
2174 #-------------------------------------------------------------------------------
2175 # auto-detect all that hasn't been specified in the arguments
2176 #-------------------------------------------------------------------------------
2178 if [ -z "$PLATFORM" ]; then
2180 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2182 if [ "$PLATFORM_QPA" = "yes" ]; then
2183 OSX_VERSION=`uname -r | cut -d. -f1`
2184 if [ "$OSX_VERSION" -ge 11 ]; then
2185 # We're on Lion or above. Check if we have a supported Clang version
2186 case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
2189 PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
2204 #PLATFORM=aix-g++-64
2206 #PLATFORM=aix-xlc-64
2208 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2218 # PLATFORM=dynix-g++
2224 PLATFORM=freebsd-g++
2226 - Also available for FreeBSD: freebsd-icc
2230 PLATFORM=openbsd-g++
2241 #PLATFORM=irix-cc-64
2243 - Also available for IRIX: irix-g++ irix-cc-64
2247 case "$UNAME_MACHINE" in
2249 #PLATFORM=hpuxi-acc-32
2250 PLATFORM=hpuxi-acc-64
2252 - Also available for HP-UXi: hpuxi-acc-32
2258 #PLATFORM=hpux-acc-64
2260 #PLATFORM=hpux-acc-o64
2262 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2271 - Also available for Tru64: tru64-g++
2275 case "$UNAME_MACHINE" in
2277 PLATFORM=linux-g++-64
2284 - Also available for Linux: linux-kcc linux-icc linux-cxx
2288 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2289 PLATFORM="solaris-g++"
2291 #PLATFORM=solaris-g++
2293 #PLATFORM=solaris-cc64
2296 - Also available for Solaris: solaris-g++ solaris-cc-64
2299 ReliantUNIX-*:*|SINIX-*:*)
2300 PLATFORM=reliant-cds
2301 #PLATFORM=reliant-cds-64
2303 - Also available for Reliant UNIX: reliant-cds-64
2313 #PLATFORM=unixware-g++
2314 PLATFORM=unixware-cc
2316 - Also available for OpenUNIX: unixware-g++
2320 #PLATFORM=unixware-g++
2321 PLATFORM=unixware-cc
2323 - Also available for UnixWare: unixware-g++
2330 - Also available for SCO OpenServer: sco-g++
2334 PLATFORM=unixware-g++
2337 PLATFORM=unsupported/qnx-g++
2340 if [ "$OPT_HELP" != "yes" ]; then
2342 for p in $PLATFORMS; do
2343 echo " $relconf $* -platform $p"
2346 echo " The build script does not currently recognize all" >&2
2347 echo " platforms supported by Qt." >&2
2348 echo " Rerun this script with a -platform option listed to" >&2
2349 echo " set the system/compiler combination you use." >&2
2356 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2358 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2360 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2361 case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
2363 if [ -d "$PLATFORM" ]; then
2364 QMAKESPEC="$PLATFORM"
2366 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2368 if [ -d "$XPLATFORM" ]; then
2369 XQMAKESPEC="$XPLATFORM"
2371 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2373 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2374 QT_CROSS_COMPILE=yes
2375 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2376 QTCONFIG_CONFIG="$QTCONFIG_CONFIG cross_compile"
2379 if [ "$BUILD_ON_MAC" = "yes" ]; then
2380 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2382 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2383 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2384 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2385 echo " built with 'macx-g++'" >&2
2391 # check specified platforms are supported
2392 if [ '!' -d "$QMAKESPEC" ]; then
2394 echo " The specified system/compiler is not supported:"
2398 echo " Please see the README file for a complete list."
2402 if [ '!' -d "$XQMAKESPEC" ]; then
2404 echo " The specified system/compiler is not supported:"
2408 echo " Please see the README file for a complete list."
2412 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2414 echo " The specified system/compiler port is not complete:"
2416 echo " $XQMAKESPEC/qplatformdefs.h"
2418 echo " Please contact qt-info@nokia.com."
2423 # now look at the configs and figure out what platform we are config'd for
2424 [ "$PLATFORM_QPA" != "yes" ] \
2425 && [ -n "`getXQMakeConf QMAKE_LIBS_X11`" ] \
2427 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2429 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2430 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2431 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2432 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2433 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2437 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2438 case `basename "$XPLATFORM"` in
2441 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2443 echo "Please contact qt-info@nokia.com to upgrade your license to"
2444 echo "include this platform, or install the Qt Open Source Edition"
2445 echo "if you intend to develop free software."
2451 #-------------------------------------------------------------------------------
2452 # tests that don't need qmake (must be run before displaying help)
2453 #-------------------------------------------------------------------------------
2455 # detect build style
2456 if [ "$CFG_DEBUG" = "auto" ]; then
2457 if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2458 CFG_DEBUG_RELEASE=yes
2460 elif [ "$CFG_DEV" = "yes" ]; then
2461 CFG_DEBUG_RELEASE=no
2464 CFG_DEBUG_RELEASE=no
2468 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2469 QT_CONFIG="$QT_CONFIG build_all"
2472 if [ -z "$PKG_CONFIG" ]; then
2473 # See if PKG_CONFIG is set in the mkspec:
2474 PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
2476 if [ -z "$PKG_CONFIG" ]; then
2477 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
2480 # Work out if we can use pkg-config
2481 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
2482 if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
2484 echo >&2 "You have asked to use pkg-config and are cross-compiling."
2485 echo >&2 "Please make sure you have a correctly set-up pkg-config"
2486 echo >&2 "environment!"
2488 if [ -z "$PKG_CONFIG_LIBDIR" ]; then
2490 echo >&2 "Warning: PKG_CONFIG_LIBDIR has not been set. This could mean"
2491 echo >&2 "the host's .pc files will be used (even if you set PKG_CONFIG_PATH)."
2492 echo >&2 "This is probably not what you want."
2494 elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
2496 echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
2497 echo >&2 "been set. This means your toolchain's .pc files must contain"
2498 echo >&2 "the paths to the toolchain's libraries & headers. If configure"
2499 echo >&2 "tests are failing, please check these files."
2504 echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
2505 echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
2506 echo >&2 "dependencies"
2512 if [ ! -n "$PKG_CONFIG" ]; then
2513 QT_CONFIG="$QT_CONFIG no-pkg-config"
2516 # pass on $CFG_SDK to the configure tests.
2517 if [ '!' -z "$CFG_SDK" ]; then
2518 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
2521 # find the default framework value
2522 if [ "$BUILD_ON_MAC" = "yes" ]; then
2523 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2524 CFG_FRAMEWORK="$CFG_SHARED"
2525 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2527 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2535 QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
2537 TEST_COMPILER=$QMAKE_CONF_COMPILER
2538 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
2539 if [ -z "$TEST_COMPILER" ]; then
2540 echo "ERROR: Cannot set the compiler for the configuration tests"
2546 if [ -n "$CFG_SYSROOT" ]; then
2547 if compilerSupportsFlag --sysroot="$CFG_SYSROOT"; then
2548 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting sysroot to: $CFG_SYSROOT"
2549 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
2551 echo >&2 "The compiler doesn't support the --sysroot flag, I can't set the sysroot"
2555 export SYSROOT_FLAG # used by config.tests/unix/compile.test
2557 # auto-detect precompiled header support
2558 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2559 if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2566 #auto-detect DWARF2 on the mac
2567 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
2568 if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
2575 # don't autodetect support for separate debug info on objcopy when
2576 # cross-compiling as lots of toolchains seems to have problems with this
2577 if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
2578 CFG_SEPARATE_DEBUG_INFO="no"
2581 # auto-detect support for separate debug info in objcopy
2582 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
2583 TEST_COMPILER_CFLAGS=`getXQMakeConf QMAKE_CFLAGS`
2584 TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
2585 TEST_OBJCOPY=`getXQMakeConf QMAKE_OBJCOPY`
2586 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
2587 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
2588 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
2589 CFG_SEPARATE_DEBUG_INFO=no
2593 # binutils on HP-UX is buggy; default to no.
2594 CFG_SEPARATE_DEBUG_INFO=no
2597 CFG_SEPARATE_DEBUG_INFO=yes
2603 # auto-detect -fvisibility support
2604 if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then
2605 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2606 CFG_REDUCE_EXPORTS=no
2608 CFG_REDUCE_EXPORTS=yes
2612 # detect the availability of the -Bsymbolic-functions linker optimization
2613 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
2614 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2615 CFG_REDUCE_RELOCATIONS=no
2617 CFG_REDUCE_RELOCATIONS=yes
2621 # auto-detect GNU make support
2622 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
2626 # find the default framework value
2627 if [ "$BUILD_ON_MAC" = "yes" ]; then
2628 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2629 CFG_FRAMEWORK="$CFG_SHARED"
2630 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2632 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2640 # x11 tests are done after qmake is built
2643 #setup the build parts
2644 if [ -z "$CFG_BUILD_PARTS" ]; then
2645 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
2647 # don't build tools by default when cross-compiling
2648 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2649 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
2652 for nobuild in $CFG_NOBUILD_PARTS; do
2653 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
2655 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
2657 # echo "WARNING: libs is a required part of the build."
2659 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
2662 #-------------------------------------------------------------------------------
2663 # post process QT_INSTALL_* variables
2664 #-------------------------------------------------------------------------------
2666 if [ -z "$QT_INSTALL_PREFIX" ]; then
2667 if [ "$CFG_DEV" = "yes" ]; then
2668 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
2670 QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION
2673 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
2675 if [ -z "$QT_INSTALL_DOCS" ]; then #default
2676 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2677 if [ "$BUILD_ON_MAC" = "yes" ]; then
2678 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
2681 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
2684 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
2686 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
2687 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2688 if [ "$BUILD_ON_MAC" = "yes" ]; then
2689 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2694 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
2697 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
2699 if [ -z "$QT_INSTALL_LIBS" ]; then #default
2700 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2701 if [ "$BUILD_ON_MAC" = "yes" ]; then
2702 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2703 QT_INSTALL_LIBS="/Libraries/Frameworks"
2707 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
2709 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
2711 if [ -z "$QT_INSTALL_BINS" ]; then #default
2712 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2713 if [ "$BUILD_ON_MAC" = "yes" ]; then
2714 QT_INSTALL_BINS="/Developer/Applications/Qt"
2717 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
2719 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
2721 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
2722 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2723 if [ "$BUILD_ON_MAC" = "yes" ]; then
2724 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
2727 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
2729 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
2731 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
2732 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2733 if [ "$BUILD_ON_MAC" = "yes" ]; then
2734 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
2737 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
2739 QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
2741 if [ -z "$QT_INSTALL_DATA" ]; then #default
2742 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
2744 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
2746 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
2747 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
2749 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
2751 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
2752 if [ "$BUILD_ON_MAC" = "yes" ]; then
2753 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
2755 QT_INSTALL_SETTINGS=/etc/xdg
2758 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
2760 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
2761 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2762 if [ "$BUILD_ON_MAC" = "yes" ]; then
2763 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
2766 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
2768 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
2771 if [ -z "$QT_INSTALL_TESTS" ]; then #default
2772 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2773 if [ "$BUILD_ON_MAC" = "yes" ]; then
2774 QT_INSTALL_TESTS="/Developer/Tests/Qt"
2777 [ -z "$QT_INSTALL_TESTS" ] && QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback
2779 QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
2781 #------- host paths --------
2783 if [ -z "$QT_HOST_PREFIX" ]; then
2784 QT_HOST_PREFIX=$QT_INSTALL_PREFIX
2787 QT_HOST_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_PREFIX"`
2791 if [ -z "$QT_HOST_BINS" ]; then #default
2793 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2794 if [ "$BUILD_ON_MAC" = "yes" ]; then
2795 QT_HOST_BINS="/Developer/Applications/Qt"
2798 [ -z "$QT_HOST_BINS" ] && QT_HOST_BINS="$QT_HOST_PREFIX/bin" #fallback
2800 QT_HOST_BINS="$QT_INSTALL_BINS"
2803 QT_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_BINS"`
2805 if [ -z "$QT_HOST_DATA" ]; then #default
2807 QT_HOST_DATA="$QT_HOST_PREFIX"
2809 QT_HOST_DATA="$QT_INSTALL_DATA"
2812 QT_HOST_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_DATA"`
2815 #-------------------------------------------------------------------------------
2816 # help - interactive parts of the script _after_ this section please
2817 #-------------------------------------------------------------------------------
2819 # next, emit a usage message if something failed.
2820 if [ "$OPT_HELP" = "yes" ]; then
2821 [ "x$ERROR" = "xyes" ] && echo
2822 if [ "$CFG_NIS" = "no" ]; then
2829 if [ "$CFG_CUPS" = "no" ]; then
2836 if [ "$CFG_ICONV" = "no" ]; then
2843 if [ "$CFG_LARGEFILE" = "no" ]; then
2850 if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then
2857 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
2865 if [ "$CFG_XCB" = "no" ]; then
2873 if [ "$CFG_EGLFS" = "no" ]; then
2881 if [ "$CFG_XINPUT2" = "no" ]; then
2890 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
2891 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
2892 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-testsdir <dir>]
2893 [-release] [-debug] [-debug-and-release]
2894 [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
2895 [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
2896 [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
2897 [-plugin-sql-<driver>] [-system-sqlite]
2898 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
2899 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
2900 [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
2901 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
2902 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
2903 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
2904 [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
2905 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
2906 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info]
2907 [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
2908 [-no-audio-backend] [-audio-backend]
2909 [-no-javascript-jit] [-javascript-jit] [-no-declarative-debug] [-declarative-debug]
2910 [-no-optimized-qmake] [-optimized-qmake]
2911 [-no-openssl] [-openssl] [-openssl-linked]
2912 [-no-gtkstyle] [-gtkstyle]
2913 [-qt-pcre] [-system-pcre]
2914 [additional platform specific options (see below)]
2917 Installation options:
2919 -qpa ................ This will enable the QPA build.
2920 QPA is a window system agnostic implementation of Qt.
2922 These are optional, but you may specify install directories.
2924 -prefix <dir> ...... This will install everything relative to <dir>
2925 (default $QT_INSTALL_PREFIX)
2927 if [ "$PLATFORM_QPA" = "yes" ]; then
2930 -hostprefix [dir] .. Tools and libraries needed when developing
2931 applications are installed in [dir]. If [dir] is
2932 not given, the current build directory will be used.
2938 * -prefix-install .... Force a sandboxed "local" installation of
2939 Qt. This will install into
2940 $QT_INSTALL_PREFIX, if this option is
2941 disabled then some platforms will attempt a
2942 "system" install by placing default values to
2943 be placed in a system location other than
2946 You may use these to separate different parts of the install:
2948 -bindir <dir> ......... Executables will be installed to <dir>
2949 (default PREFIX/bin)
2950 -libdir <dir> ......... Libraries will be installed to <dir>
2951 (default PREFIX/lib)
2952 -docdir <dir> ......... Documentation will be installed to <dir>
2953 (default PREFIX/doc)
2954 -headerdir <dir> ...... Headers will be installed to <dir>
2955 (default PREFIX/include)
2956 -plugindir <dir> ...... Plugins will be installed to <dir>
2957 (default PREFIX/plugins)
2958 -importdir <dir> ...... Imports for QML will be installed to <dir>
2959 (default PREFIX/imports)
2960 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
2962 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
2963 (default PREFIX/translations)
2964 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
2965 (default PREFIX/etc/settings)
2966 -examplesdir <dir> .... Examples will be installed to <dir>
2967 (default PREFIX/examples)
2968 -testsdir <dir> ....... Tests will be installed to <dir>
2969 (default PREFIX/tests)
2971 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
2974 -hostbindir <dir> .. Host executables will be installed to <dir>
2975 (default HOSTPREFIX/bin)
2976 -hostdatadir <dir> . Data used by qmake will be installed to <dir>
2977 (default HOSTPREFIX)
2984 The defaults (*) are usually acceptable. A plus (+) denotes a default value
2985 that needs to be evaluated. If the evaluation succeeds, the feature is
2986 included. Here is a short explanation of each option:
2988 * -release ........... Compile and link Qt with debugging turned off.
2989 -debug ............. Compile and link Qt with debugging turned on.
2990 -debug-and-release . Compile and link two versions of Qt, with and without
2991 debugging turned on (Mac only).
2993 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
2995 -opensource ........ Compile and link the Open-Source Edition of Qt.
2996 -commercial ........ Compile and link the Commercial Edition of Qt.
2999 * -shared ............ Create and use shared Qt libraries.
3000 -static ............ Create and use static Qt libraries.
3002 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3004 -fast .............. Configure Qt quickly by generating Makefiles only for
3005 library and subdirectory targets. All other Makefiles
3006 are created as wrappers, which will in turn run qmake.
3008 -no-largefile ...... Disables large file support.
3009 + -largefile ......... Enables Qt to access files larger than 4 GB.
3012 if [ "$PLATFORM_QPA" = "yes" ]; then
3019 if [ "$CFG_DBUS" = "no" ]; then
3028 $EXCN -no-exceptions ..... Disable exceptions on compilers that support it.
3029 $EXCY -exceptions ........ Enable exceptions on compilers that support it.
3031 -no-accessibility .. Do not compile Accessibility support.
3032 * -accessibility ..... Compile Accessibility support.
3034 $SHN -no-stl ............ Do not compile STL support.
3035 $SHY -stl ............... Compile STL support.
3037 -no-sql-<driver> ... Disable SQL <driver> entirely.
3038 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3040 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3043 Possible values for <driver>:
3044 [ $CFG_SQL_AVAILABLE ]
3046 -system-sqlite ..... Use sqlite from the operating system.
3048 -no-phonon-backend.. Do not build the platform phonon plugin.
3049 + -phonon-backend..... Build the platform phonon plugin.
3051 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
3052 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
3054 -no-declarative-debug ..... Do not build the declarative debugging support.
3055 + -declarative-debug ....... Build the declarative debugging support.
3057 -platform target ... The operating system and compiler you are building
3060 See the README file for a list of supported
3061 operating systems and compilers.
3064 if [ "${PLATFORM_QPA}" != "yes" ]; then
3066 -graphicssystem <sys> Sets an alternate graphics system. Available options are:
3067 raster - Software rasterizer
3068 opengl - Rendering via OpenGL, Experimental!
3069 openvg - Rendering via OpenVG, Experimental!
3076 -no-mmx ............ Do not compile with use of MMX instructions.
3077 -no-3dnow .......... Do not compile with use of 3DNOW instructions.
3078 -no-sse ............ Do not compile with use of SSE instructions.
3079 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3080 -no-sse3 ........... Do not compile with use of SSE3 instructions.
3081 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
3082 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
3083 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
3084 -no-avx ............ Do not compile with use of AVX instructions.
3085 -no-neon ........... Do not compile with use of NEON instructions.
3087 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3088 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3090 -testcocoon Instrument Qt with the TestCocoon code coverage tool.
3092 -D <string> ........ Add an explicit define to the preprocessor.
3093 -I <string> ........ Add an explicit include path.
3094 -L <string> ........ Add an explicit library path.
3096 -help, -h .......... Display this information.
3098 Third Party Libraries:
3100 -qt-zlib ........... Use the zlib bundled with Qt.
3101 + -system-zlib ....... Use zlib from the operating system.
3102 See http://www.gzip.org/zlib
3104 -no-gif ............ Do not compile GIF reading support.
3106 -no-libpng ......... Do not compile PNG support.
3107 -qt-libpng ......... Use the libpng bundled with Qt.
3108 + -system-libpng ..... Use libpng from the operating system.
3109 See http://www.libpng.org/pub/png
3111 -no-libjpeg ........ Do not compile JPEG support.
3112 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3113 + -system-libjpeg .... Use libjpeg from the operating system.
3114 See http://www.ijg.org
3116 -no-openssl ........ Do not compile support for OpenSSL.
3117 + -openssl ........... Enable run-time OpenSSL support.
3118 -openssl-linked .... Enabled linked OpenSSL support.
3120 -qt-pcre ........... Use the PCRE library bundled with Qt.
3121 + -system-pcre ....... Use the PCRE library from the operating system.
3125 -make <part> ....... Add part to the list of parts to be built at make time.
3126 ($QT_DEFAULT_BUILD_PARTS)
3127 -nomake <part> ..... Exclude part from the list of parts to be built.
3129 -R <string> ........ Add an explicit runtime library path to the Qt
3131 -l <string> ........ Add an explicit library.
3133 -no-rpath .......... Do not use the library install path as a runtime
3135 + -rpath ............. Link Qt libraries and executables using the library
3136 install path as a runtime library path. Equivalent
3137 to -R install_libpath
3139 -continue .......... Continue as far as possible if an error occurs.
3141 -verbose, -v ....... Print verbose information about each step of the
3144 -silent ............ Reduce the build output so that warnings and errors
3145 can be seen more easily.
3147 * -no-optimized-qmake ... Do not build qmake optimized.
3148 -optimized-qmake ...... Build qmake optimized.
3150 -no-gui ............ Don't build the Qt GUI library
3152 $NSN -no-nis ............ Do not compile NIS support.
3153 $NSY -nis ............... Compile NIS support.
3155 $CUN -no-cups ........... Do not compile CUPS support.
3156 $CUY -cups .............. Compile CUPS support.
3157 Requires cups/cups.h and libcups.so.2.
3159 $CIN -no-iconv .......... Do not compile support for iconv(3).
3160 $CIY -iconv ............. Compile support for iconv(3).
3162 $PHN -no-pch ............ Do not use precompiled header support.
3163 $PHY -pch ............... Use precompiled header support.
3165 $DBN -no-dbus ........... Do not compile the QtDBus module.
3166 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3167 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3169 -reduce-relocations ..... Reduce relocations in the libraries through extra
3170 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3171 experimental; needs GNU ld >= 2.18).
3173 -force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
3177 if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3178 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3185 elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
3193 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3197 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3198 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3200 $XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
3201 $XCBY -xcb ............... Compile Xcb support.
3203 $EGLFSN -no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support.
3204 $EGLFSY -eglfs ............. Compile EGLFS support.
3210 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
3214 $X2N -no-xinput2......... Do not compile XInput2 support.
3215 $X2Y -xinput2............ Compile XInput2 support.
3221 if [ "$PLATFORM_X11" = "yes" ]; then
3222 if [ "$CFG_SM" = "no" ]; then
3229 if [ "$CFG_XSHAPE" = "no" ]; then
3236 if [ "$CFG_XVIDEO" = "no" ]; then
3243 if [ "$CFG_XINERAMA" = "no" ]; then
3250 if [ "$CFG_FONTCONFIG" = "no" ]; then
3257 if [ "$CFG_XCURSOR" = "no" ]; then
3264 if [ "$CFG_XFIXES" = "no" ]; then
3271 if [ "$CFG_XRANDR" = "no" ]; then
3278 if [ "$CFG_XRENDER" = "no" ]; then
3285 if [ "$CFG_MITSHM" = "no" ]; then
3292 if [ "$CFG_XINPUT" = "no" ]; then
3299 if [ "$CFG_XKB" = "no" ]; then
3306 if [ "$CFG_IM" = "no" ]; then
3317 -no-gtkstyle ....... Do not build the GTK theme integration.
3318 + -gtkstyle .......... Build the GTK theme integration.
3320 * -no-nas-sound ...... Do not compile in NAS sound support.
3321 -system-nas-sound .. Use NAS libaudio from the operating system.
3322 See http://radscan.com/nas.html
3324 -no-opengl ......... Do not support OpenGL.
3325 + -opengl <api> ...... Enable OpenGL support.
3326 With no parameter, this will auto-detect the "best"
3327 OpenGL API to use. If desktop OpenGL is available, it
3328 will be used. Use desktop or es2 for <api>
3329 to force the use of the Desktop OpenGL or
3330 OpenGL ES 2 APIs instead.
3332 -no-openvg ........ Do not support OpenVG.
3333 + -openvg ........... Enable OpenVG support.
3334 Requires EGL support, typically supplied by an OpenGL
3335 or other graphics implementation.
3337 $SMN -no-sm ............. Do not support X Session Management.
3338 $SMY -sm ................ Support X Session Management, links in -lSM -lICE.
3340 $SHN -no-xshape ......... Do not compile XShape support.
3341 $SHY -xshape ............ Compile XShape support.
3342 Requires X11/extensions/shape.h.
3344 $XVN -no-xvideo ......... Do not compile XVideo support.
3345 $XVY -xvideo ............ Compile XVideo support.
3346 Requires X11/extensions/Xv.h & Xvlib.h.
3348 $SHN -no-xsync .......... Do not compile XSync support.
3349 $SHY -xsync ............. Compile XSync support.
3350 Requires X11/extensions/sync.h.
3352 $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
3353 $XAY -xinerama .......... Compile Xinerama support.
3354 Requires X11/extensions/Xinerama.h and libXinerama.
3355 By default, Xinerama support will be compiled if
3356 available and the shared libraries are dynamically
3359 $XCN -no-xcursor ........ Do not compile Xcursor support.
3360 $XCY -xcursor ........... Compile Xcursor support.
3361 Requires X11/Xcursor/Xcursor.h and libXcursor.
3362 By default, Xcursor support will be compiled if
3363 available and the shared libraries are dynamically
3366 $XFN -no-xfixes ......... Do not compile Xfixes support.
3367 $XFY -xfixes ............ Compile Xfixes support.
3368 Requires X11/extensions/Xfixes.h and libXfixes.
3369 By default, Xfixes support will be compiled if
3370 available and the shared libraries are dynamically
3373 $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
3374 $XZY -xrandr ............ Compile Xrandr support.
3375 Requires X11/extensions/Xrandr.h and libXrandr.
3377 $XRN -no-xrender ........ Do not compile Xrender support.
3378 $XRY -xrender ........... Compile Xrender support.
3379 Requires X11/extensions/Xrender.h and libXrender.
3381 $XMN -no-mitshm ......... Do not compile MIT-SHM support.
3382 $XMY -mitshm ............ Compile MIT-SHM support.
3383 Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
3385 $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
3386 $FCGY -fontconfig ........ Compile FontConfig support.
3387 Requires fontconfig/fontconfig.h, libfontconfig,
3388 freetype.h and libfreetype.
3390 $XIN -no-xinput ......... Do not compile Xinput support.
3391 $XIY -xinput ............ Compile Xinput support. This also enabled tablet support
3392 which requires IRIX with wacom.h and libXi or
3393 XFree86 with X11/extensions/XInput.h and libXi.
3395 $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
3396 $XKY -xkb ............... Compile XKB support.
3401 if [ "$BUILD_ON_MAC" = "yes" ]; then
3406 -Fstring ........... Add an explicit framework path.
3407 -fw string ......... Add an explicit framework.
3409 * -framework ......... Build Qt as a series of frameworks and
3410 link tools against those frameworks.
3411 -no-framework ...... Do not build Qt as a series of frameworks.
3413 * -dwarf2 ............ Enable dwarf2 debugging symbols.
3414 -no-dwarf2 ......... Disable dwarf2 debugging symbols.
3416 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3417 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3419 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
3420 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
3421 QT_ENABLE_HARFBUZZ environment variable.
3426 if [ "$PLATFORM_QPA" = "yes" ]; then
3432 if [ "$PLATFORM_QPA" = "yes" ]; then
3435 -xplatform target ... The target platform when cross-compiling.
3437 -no-feature-<feature> Do not compile in <feature>.
3438 -feature-<feature> .. Compile in <feature>. The available features
3439 are described in src/corelib/global/qfeatures.txt
3441 -no-freetype ........ Do not compile in Freetype2 support.
3442 -qt-freetype ........ Use the libfreetype bundled with Qt.
3443 * -system-freetype .... Use libfreetype from the operating system.
3444 See http://www.freetype.org/
3446 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3447 default ($CFG_QCONFIG).
3449 -no-opengl .......... Do not support OpenGL.
3450 -opengl <api> ....... Enable OpenGL ES support
3451 With no parameter, this will attempt to auto-detect
3452 OpenGL ES 2, or regular desktop OpenGL.
3453 Use es2 for <api> to override auto-detection.
3457 if [ "$PLATFORM_QPA" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
3458 if [ "$CFG_GLIB" = "no" ]; then
3466 $GBN -no-glib ........... Do not compile Glib support.
3467 $GBY -glib .............. Compile Glib support.
3472 [ "x$ERROR" = "xyes" ] && exit 1
3477 # -----------------------------------------------------------------------------
3478 # LICENSING, INTERACTIVE PART
3479 # -----------------------------------------------------------------------------
3481 if [ "$PLATFORM_QPA" = "yes" ]; then
3482 Platform="Qt Lighthouse"
3483 elif [ "$XPLATFORM_MINGW" = "yes" ]; then
3484 Platform="Qt for Windows"
3485 elif [ -n "`getXQMakeConf grep QMAKE_LIBS_X11`" ]; then
3487 Platform="Qt for Linux/X11"
3491 echo "This is the $Platform ${EditionString} Edition."
3494 if [ "$Edition" = "OpenSource" ]; then
3496 echo "You are licensed to use this software under the terms of"
3497 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
3498 if [ -f "$relpath/LICENSE.GPL3" ]; then
3499 echo "You are also licensed to use this software under the terms of"
3500 echo "the GNU General Public License (GPL) versions 3."
3506 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3507 echo "You have already accepted the terms of the $LicenseType license."
3510 if [ -f "$relpath/LICENSE.GPL3" ]; then
3511 echo "Type '3' to view the GNU General Public License version 3."
3513 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
3514 echo "Type 'yes' to accept this license offer."
3515 echo "Type 'no' to decline this license offer."
3517 echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
3521 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
3523 elif [ "$acceptance" = "no" ]; then
3524 echo "You are not licensed to use this software."
3527 elif [ "$acceptance" = "3" ]; then
3528 more "$relpath/LICENSE.GPL3"
3529 elif [ "$acceptance" = "L" ]; then
3530 more "$relpath/LICENSE.LGPL"
3533 elif [ "$Edition" = "Preview" ]; then
3534 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
3537 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3538 echo "You have already accepted the terms of the $LicenseType license."
3541 echo "You are licensed to use this software under the terms of"
3542 echo "the $TheLicense"
3544 echo "Type '?' to read the Preview License."
3545 echo "Type 'yes' to accept this license offer."
3546 echo "Type 'no' to decline this license offer."
3548 echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
3552 if [ "$acceptance" = "yes" ]; then
3554 elif [ "$acceptance" = "no" ] ;then
3555 echo "You are not licensed to use this software."
3558 elif [ "$acceptance" = "?" ]; then
3559 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
3562 elif [ "$Edition" != "OpenSource" ]; then
3563 if [ -n "$ExpiryDate" ]; then
3564 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
3565 [ -z "$ExpiryDate" ] && ExpiryDate="0"
3566 Today=`date +%Y%m%d`
3567 if [ "$Today" -gt "$ExpiryDate" ]; then
3568 case "$LicenseType" in
3569 Commercial|Academic|Educational)
3570 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
3572 echo "NOTICE NOTICE NOTICE NOTICE"
3574 echo " Your support and upgrade period has expired."
3576 echo " You are no longer licensed to use this version of Qt."
3577 echo " Please contact qt-info@nokia.com to renew your support"
3578 echo " and upgrades for this license."
3580 echo "NOTICE NOTICE NOTICE NOTICE"
3585 echo "WARNING WARNING WARNING WARNING"
3587 echo " Your support and upgrade period has expired."
3589 echo " You may continue to use your last licensed release"
3590 echo " of Qt under the terms of your existing license"
3591 echo " agreement. But you are not entitled to technical"
3592 echo " support, nor are you entitled to use any more recent"
3593 echo " Qt releases."
3595 echo " Please contact qt-info@nokia.com to renew your"
3596 echo " support and upgrades for this license."
3598 echo "WARNING WARNING WARNING WARNING"
3605 echo "NOTICE NOTICE NOTICE NOTICE"
3607 echo " Your Evaluation license has expired."
3609 echo " You are no longer licensed to use this software. Please"
3610 echo " contact qt-info@nokia.com to purchase license, or install"
3611 echo " the Qt Open Source Edition if you intend to develop free"
3614 echo "NOTICE NOTICE NOTICE NOTICE"
3621 TheLicense=`head -n 1 "$outpath/LICENSE"`
3623 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3624 echo "You have already accepted the terms of the $TheLicense."
3627 echo "You are licensed to use this software under the terms of"
3628 echo "the $TheLicense."
3630 echo "Type '?' to view the $TheLicense."
3631 echo "Type 'yes' to accept this license offer."
3632 echo "Type 'no' to decline this license offer."
3634 echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
3638 if [ "$acceptance" = "yes" ]; then
3640 elif [ "$acceptance" = "no" ]; then
3641 echo "You are not licensed to use this software."
3644 else [ "$acceptance" = "?" ]
3645 more "$outpath/LICENSE"
3650 # this should be moved somewhere else
3653 AIX_VERSION=`uname -v`
3654 if [ "$AIX_VERSION" -lt "5" ]; then
3655 QMakeVar add QMAKE_LIBS_X11 -lbind
3662 #-------------------------------------------------------------------------------
3663 # generate qconfig.cpp
3664 #-------------------------------------------------------------------------------
3665 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
3667 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3669 static const char qt_configure_licensee_str [256 + 12] = "qt_lcnsuser=$Licensee";
3670 static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$Edition";
3672 /* Installation date */
3673 static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`";
3675 /* Installation Info */
3676 static const char qt_configure_prefix_path_strs[][256 + 12] = {
3677 "qt_prfxpath=$QT_INSTALL_PREFIX",
3678 "qt_docspath=$QT_INSTALL_DOCS",
3679 "qt_hdrspath=$QT_INSTALL_HEADERS",
3680 "qt_libspath=$QT_INSTALL_LIBS",
3681 "qt_binspath=$QT_INSTALL_BINS",
3682 "qt_plugpath=$QT_INSTALL_PLUGINS",
3683 "qt_impspath=$QT_INSTALL_IMPORTS",
3684 "qt_datapath=$QT_INSTALL_DATA",
3685 "qt_trnspath=$QT_INSTALL_TRANSLATIONS",
3686 "qt_xmplpath=$QT_INSTALL_EXAMPLES",
3687 "qt_tstspath=$QT_INSTALL_TESTS",
3688 #ifdef QT_BUILD_QMAKE
3689 "qt_ssrtpath=$CFG_SYSROOT",
3690 "qt_hpfxpath=$QT_HOST_PREFIX",
3691 "qt_hbinpath=$QT_HOST_BINS",
3692 "qt_hdatpath=$QT_HOST_DATA",
3695 static const char qt_configure_settings_path_str[256 + 12] = "qt_stngpath=$QT_INSTALL_SETTINGS";
3698 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3700 /* strlen( "qt_lcnsxxxx" ) == 12 */
3701 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
3702 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
3704 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
3707 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
3708 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
3709 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
3711 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
3712 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
3713 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
3716 # -----------------------------------------------------------------------------
3717 if [ "$LicenseType" = "Evaluation" ]; then
3718 EVALKEY=qt_qevalkey=$LicenseKeyExt
3719 elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then
3720 EVALKEY=qt_qevalkey=
3723 if [ -n "$EVALKEY" ]; then
3724 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
3725 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
3726 /* Evaluation license key */
3727 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
3729 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
3733 # -----------------------------------------------------------------------------
3735 # -----------------------------------------------------------------------------
3738 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
3740 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
3741 if [ "$OPT_SHADOW" = "yes" ]; then
3742 "$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
3743 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
3744 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
3748 # $1: input variable name (awk regexp)
3749 # $2: optional output variable name
3750 # $3: optional value transformation (sed command)
3751 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
3752 # is where the resulting variable is written to
3753 setBootstrapVariable()
3755 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
3759 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
3760 echo "Creating qmake. Please wait..."
3763 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
3764 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
3765 if [ -f "$QCONFIG_H" ]; then
3766 OLD_QCONFIG_H=$QCONFIG_H
3767 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
3770 # create temporary qconfig.h for compiling qmake, if it doesn't exist
3771 # when building qmake, we use #defines for the install paths,
3772 # however they are real functions in the library
3773 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
3774 mkdir -p "$outpath/src/corelib/global"
3775 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
3776 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
3779 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
3781 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
3782 rm -rf mkspecs/default
3783 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
3784 mkdir -p "$outpath/qmake" || exit
3786 for mkfile in GNUmakefile Makefile; do
3789 in_mkfile="${mkfile}.in"
3790 if [ "$mkfile" = "Makefile" ]; then
3791 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
3792 # (cd qmake && qmake) >/dev/null 2>&1 && continue
3794 in_mkfile="${mkfile}.unix"
3796 in_mkfile="$relpath/qmake/$in_mkfile"
3797 mkfile="$outpath/qmake/$mkfile"
3798 if [ -f "$mkfile" ]; then
3799 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
3802 [ -f "$in_mkfile" ] || continue
3804 echo "########################################################################" > "$mkfile"
3805 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
3806 echo "########################################################################" >> "$mkfile"
3809 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
3810 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
3811 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
3813 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
3814 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
3817 [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
3818 setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
3819 setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
3820 setBootstrapVariable QMAKE_CFLAGS
3821 setBootstrapVariable QMAKE_CXXFLAGS
3822 setBootstrapVariable QMAKE_LFLAGS
3824 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
3825 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
3826 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
3828 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
3829 setBootstrapVariable QMAKE_CFLAGS_RELEASE
3830 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
3831 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
3832 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
3833 elif [ "$CFG_DEBUG" = "yes" ]; then
3834 setBootstrapVariable QMAKE_CFLAGS_DEBUG
3835 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
3836 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
3837 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
3840 if [ -n "$RPATH_FLAGS" ] && [ -n "`getQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
3841 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" QMAKE_LFLAGS_RPATH
3842 for rpath in $RPATH_FLAGS; do
3843 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
3846 if [ "$BUILD_ON_MAC" = "yes" ]; then
3847 echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
3848 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
3849 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
3850 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
3851 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
3852 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
3853 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
3854 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
3855 if [ '!' -z "$CFG_SDK" ]; then
3856 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
3857 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
3858 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
3859 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
3860 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
3863 if [ '!' -z "$D_FLAGS" ]; then
3864 for DEF in $D_FLAGS; do
3865 EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
3868 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
3869 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
3870 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
3871 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
3873 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
3874 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
3875 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
3876 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
3877 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
3878 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
3879 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
3880 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
3881 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
3882 -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
3884 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
3885 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
3886 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
3887 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
3892 QMAKE_BUILD_ERROR=no
3893 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
3894 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
3895 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
3896 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
3899 #-------------------------------------------------------------------------------
3900 # tests that need qmake
3901 #-------------------------------------------------------------------------------
3903 #-------------------------------------------------------------------------------
3904 # determine the target and host architectures
3905 #-------------------------------------------------------------------------------
3907 # Use config.tests/arch/arch.pro to has the compiler tell us what the target architecture is
3908 CFG_ARCH=`"$outpath/bin/qmake" -spec "$XQMAKESPEC" -o /dev/null "$relpath/config.tests/arch/arch.pro" 2>&1 | sed -e "s,^Project MESSAGE: ,," -e "s,^#.*$,,g" | grep -v "^$"`
3909 [ -z "$CFG_ARCH" ] && CFG_ARCH="unknown"
3910 if [ "$QMAKESPEC" != "$XQMAKESPEC" ]; then
3911 # Do the same test again, using the host compiler
3912 CFG_HOST_ARCH=`"$outpath/bin/qmake" -spec "$QMAKESPEC" -o /dev/null "$relpath/config.tests/arch/arch.pro" 2>&1 | sed -e "s,^Project MESSAGE: ,," -e "s,^#.*$,,g" | grep -v "^$"`
3913 [ -z "$CFG_HOST_ARCH" ] && CFG_HOST_ARCH="unknown"
3915 # not cross compiling, host == target
3916 CFG_HOST_ARCH="$CFG_ARCH"
3919 if [ "$OPT_VERBOSE" = "yes" ]; then
3920 echo "System architecture: '$CFG_ARCH'"
3921 if [ "$PLATFORM_QPA" = "yes" ]; then
3922 echo "Host architecture: '$CFG_HOST_ARCH'"
3926 #-------------------------------------------------------------------------------
3927 # functionality tests
3928 #-------------------------------------------------------------------------------
3930 # detect availability of float math.h functions
3931 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
3932 CFG_USE_FLOATMATH=yes
3934 CFG_USE_FLOATMATH=no
3937 # detect mmx support
3938 if [ "${CFG_MMX}" = "auto" ]; then
3939 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mmx "mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
3946 # detect 3dnow support
3947 if [ "${CFG_3DNOW}" = "auto" ]; then
3948 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/3dnow "3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
3955 # detect sse support
3956 if [ "${CFG_SSE}" = "auto" ]; then
3957 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse "sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
3964 # detect sse2 support
3965 if [ "${CFG_SSE2}" = "auto" ]; then
3966 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
3973 # detect sse3 support
3974 if [ "${CFG_SSE3}" = "auto" ]; then
3975 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse3 "sse3" $L_FLAGS $I_FLAGS $l_FLAGS "-msse3"; then
3982 # detect ssse3 support
3983 if [ "${CFG_SSSE3}" = "auto" ]; then
3984 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ssse3 "ssse3" $L_FLAGS $I_FLAGS $l_FLAGS "-mssse3"; then
3991 # detect sse4.1 support
3992 if [ "${CFG_SSE4_1}" = "auto" ]; then
3993 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
4000 # detect sse4.2 support
4001 if [ "${CFG_SSE4_2}" = "auto" ]; then
4002 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
4009 # detect avx support
4010 if [ "${CFG_AVX}" = "auto" ]; then
4011 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx "avx" $L_FLAGS $I_FLAGS $l_FLAGS "-mavx"; then
4018 # check iWMMXt support
4019 if [ "$CFG_IWMMXT" = "yes" ]; then
4020 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
4021 if [ $? != "0" ]; then
4022 echo "The iWMMXt functionality test failed!"
4023 echo " Please make sure your compiler supports iWMMXt intrinsics!"
4028 # detect neon support
4029 if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
4030 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
4035 elif [ "$CFG_ARCH" != "arm" ]; then
4039 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
4042 if [ "$CFG_ZLIB" = "no" ]; then
4043 # Note: Qt no longer support builds without zlib
4044 # So we force a "no" to be "auto" here.
4045 # If you REALLY really need no zlib support, you can still disable
4046 # it by doing the following:
4047 # add "no-zlib" to mkspecs/qconfig.pri
4048 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
4050 # There's no guarantee that Qt will build under those conditions
4055 if [ "$CFG_ZLIB" = "auto" ]; then
4056 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
4063 if [ "$CFG_LARGEFILE" = "auto" ]; then
4064 #Large files should be enabled for all Linux systems
4068 if [ "$CFG_GUI" = "no" ]; then
4069 QPA_PLATFORM_GUARD=no
4072 # detect how jpeg should be built
4073 if [ "$CFG_JPEG" = "auto" ]; then
4074 if [ "$CFG_SHARED" = "yes" ]; then
4081 if [ "$CFG_LIBJPEG" = "auto" ]; then
4082 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
4089 # detect how gif should be built
4090 if [ "$CFG_GIF" = "auto" ]; then
4091 if [ "$CFG_SHARED" = "yes" ]; then
4099 if [ "$CFG_LIBPNG" = "auto" ]; then
4100 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
4107 # detect accessibility
4108 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4109 CFG_ACCESSIBILITY=yes
4112 if [ "$CFG_EGLFS" = "yes" ]; then
4113 if [ "$CFG_EGL" = "no" ]; then
4114 echo "The EGLFS plugin requires EGL support and cannot be built"
4120 # auto-detect SQL-modules support
4121 for _SQLDR in $CFG_SQL_AVAILABLE; do
4124 if [ "$CFG_SQL_mysql" != "no" ]; then
4125 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
4126 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4127 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4128 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4129 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4130 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4131 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4133 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4134 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4135 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4136 echo " You need MySql 4 or higher."
4137 echo " If you believe this message is in error you may use the continue"
4138 echo " switch (-continue) to $0 to continue."
4143 QT_LFLAGS_MYSQL_R=""
4147 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
4148 QMakeVar add CONFIG use_libmysqlclient_r
4149 if [ "$CFG_SQL_mysql" = "auto" ]; then
4150 CFG_SQL_mysql=plugin
4152 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
4153 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
4154 if [ "$CFG_SQL_mysql" = "auto" ]; then
4155 CFG_SQL_mysql=plugin
4158 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4159 echo "MySQL support cannot be enabled due to functionality tests!"
4160 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4161 echo " If you believe this message is in error you may use the continue"
4162 echo " switch (-continue) to $0 to continue."
4167 QT_LFLAGS_MYSQL_R=""
4175 if [ "$CFG_SQL_psql" != "no" ]; then
4176 # Be careful not to use native pg_config when cross building.
4177 if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
4178 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
4179 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
4181 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
4182 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
4183 # But, respect PSQL_LIBS if set
4184 [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
4185 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
4186 if [ "$CFG_SQL_psql" = "auto" ]; then
4190 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4191 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4192 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4193 echo " If you believe this message is in error you may use the continue"
4194 echo " switch (-continue) to $0 to continue."
4205 if [ "$CFG_SQL_odbc" != "no" ]; then
4206 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
4207 if [ "$CFG_SQL_odbc" = "auto" ]; then
4211 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
4212 QT_LFLAGS_ODBC="-liodbc"
4213 if [ "$CFG_SQL_odbc" = "auto" ]; then
4217 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4218 echo "ODBC support cannot be enabled due to functionality tests!"
4219 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4220 echo " If you believe this message is in error you may use the continue"
4221 echo " switch (-continue) to $0 to continue."
4231 if [ "$CFG_SQL_oci" != "no" ]; then
4232 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
4233 if [ "$CFG_SQL_oci" = "auto" ]; then
4237 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4238 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4239 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4240 echo " If you believe this message is in error you may use the continue"
4241 echo " switch (-continue) to $0 to continue."
4250 if [ "$CFG_SQL_tds" != "no" ]; then
4251 [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
4252 [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
4253 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
4254 if [ "$CFG_SQL_tds" = "auto" ]; then
4258 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4259 echo "TDS support cannot be enabled due to functionality tests!"
4260 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4261 echo " If you believe this message is in error you may use the continue"
4262 echo " switch (-continue) to $0 to continue."
4271 if [ "$CFG_SQL_db2" != "no" ]; then
4272 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
4273 if [ "$CFG_SQL_db2" = "auto" ]; then
4277 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4278 echo "ODBC support cannot be enabled due to functionality tests!"
4279 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4280 echo " If you believe this message is in error you may use the continue"
4281 echo " switch (-continue) to $0 to continue."
4290 if [ "$CFG_SQL_ibase" != "no" ]; then
4291 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
4292 if [ "$CFG_SQL_ibase" = "auto" ]; then
4293 CFG_SQL_ibase=plugin
4296 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4297 echo "InterBase support cannot be enabled due to functionality tests!"
4298 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4299 echo " If you believe this message is in error you may use the continue"
4300 echo " switch (-continue) to $0 to continue."
4309 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4310 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
4311 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4312 CFG_SQL_sqlite2=plugin
4315 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4316 echo "SQLite2 support cannot be enabled due to functionality tests!"
4317 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4318 echo " If you believe this message is in error you may use the continue"
4319 echo " switch (-continue) to $0 to continue."
4328 if [ "$CFG_SQL_sqlite" != "no" ]; then
4329 SQLITE_AUTODETECT_FAILED="no"
4330 if [ "$CFG_SQLITE" = "system" ]; then
4331 if [ -n "$PKG_CONFIG" ]; then
4332 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4333 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4335 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
4336 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4337 CFG_SQL_sqlite=plugin
4339 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4341 SQLITE_AUTODETECT_FAILED="yes"
4344 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4345 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4346 CFG_SQL_sqlite=plugin
4349 SQLITE_AUTODETECT_FAILED="yes"
4353 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4354 echo "SQLite support cannot be enabled due to functionality tests!"
4355 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4356 echo " If you believe this message is in error you may use the continue"
4357 echo " switch (-continue) to $0 to continue."
4363 if [ "$OPT_VERBOSE" = "yes" ]; then
4364 echo "unknown SQL driver: $_SQLDR"
4370 # auto-detect NIS support
4371 if [ "$CFG_NIS" != "no" ]; then
4372 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
4375 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4376 echo "NIS support cannot be enabled due to functionality tests!"
4377 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4378 echo " If you believe this message is in error you may use the continue"
4379 echo " switch (-continue) to $0 to continue."
4387 # auto-detect CUPS support
4388 if [ "$CFG_CUPS" != "no" ]; then
4389 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
4392 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4393 echo "Cups support cannot be enabled due to functionality tests!"
4394 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4395 echo " If you believe this message is in error you may use the continue"
4396 echo " switch (-continue) to $0 to continue."
4404 # auto-detect iconv(3) support
4405 if [ "$CFG_ICONV" != "no" ]; then
4406 if [ "$XPLATFORM_MINGW" = "yes" ]; then
4408 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
4410 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
4412 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
4415 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4416 echo "Iconv support cannot be enabled due to functionality tests!"
4417 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4418 echo " If you believe this message is in error you may use the continue"
4419 echo " switch (-continue) to $0 to continue."
4427 # auto-detect libdbus-1 support
4428 if [ "$CFG_DBUS" != "no" ]; then
4429 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
4430 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4431 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4433 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
4434 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
4435 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
4436 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
4438 if [ "$CFG_DBUS" = "auto" ]; then
4440 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4441 # CFG_DBUS is "yes" or "linked" here
4443 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4444 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4445 echo " If you believe this message is in error you may use the continue"
4446 echo " switch (-continue) to $0 to continue."
4453 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
4455 # auto-detect Glib support
4456 if [ "$CFG_GLIB" != "no" ]; then
4457 if [ -n "$PKG_CONFIG" ]; then
4458 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4459 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4461 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 $X11TESTS_FLAGS ; then
4463 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
4464 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
4466 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4467 echo "Glib support cannot be enabled due to functionality tests!"
4468 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4469 echo " If you believe this message is in error you may use the continue"
4470 echo " switch (-continue) to $0 to continue."
4479 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4480 if [ -n "$PKG_CONFIG" ]; then
4481 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4482 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4484 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 $X11TESTS_FLAGS; then
4486 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
4487 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
4489 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4490 echo "Gstreamer support cannot be enabled due to functionality tests!"
4491 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4492 echo " If you believe this message is in error you may use the continue"
4493 echo " switch (-continue) to $0 to continue."
4499 elif [ "$CFG_GLIB" = "no" ]; then
4503 # auto-detect libicu support
4504 if [ "$CFG_ICU" != "no" ]; then
4505 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $l_FLAGS; then
4506 [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
4508 if [ "$CFG_ICU" = "auto" ]; then
4510 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4513 echo "The ICU library support cannot be enabled."
4514 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4515 echo " If you believe this message is in error you may use the continue"
4516 echo " switch (-continue) to $0 to continue."
4522 # Auto-detect PulseAudio support
4523 if [ "$CFG_PULSEAUDIO" != "no" ]; then
4524 if [ -n "$PKG_CONFIG" ]; then
4525 QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4526 QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4528 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 $X11TESTS_FLAGS; then
4530 QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
4531 QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
4533 if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4534 echo "PulseAudio support cannot be enabled due to functionality tests!"
4535 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4536 echo " If you believe this message is in error you may use the continue"
4537 echo " switch (-continue) to $0 to continue."
4547 if [ "$PLATFORM_X11" = "yes" -a "$CFG_GUI" != "no" ]; then
4548 x11tests="$relpath/config.tests/x11"
4551 # work around broken X11 headers when using GCC 2.95 or later
4553 "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE=yes
4554 if [ $NOTYPE = "yes" ]; then
4555 QMakeVar add QMAKE_CXXFLAGS -fpermissive
4556 X11TESTS_FLAGS="$X11TESTS_FLAGS -fpermissive"
4559 # Check we actually have X11 :-)
4560 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4561 if [ $? != "0" ]; then
4562 echo "Basic XLib functionality test failed!"
4563 echo " You might need to modify the include and library search paths by editing"
4564 echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
4570 if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
4571 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4572 if [ "$CFG_GUI" = "no" ]; then
4573 if [ "$CFG_OPENGL" = "auto" ]; then
4576 if [ "$CFG_OPENGL" != "no" ]; then
4577 echo "OpenGL enabled, but GUI disabled."
4578 echo " You might need to either enable the GUI or disable OpenGL"
4582 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4583 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
4585 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
4588 if [ "$CFG_OPENGL" = "yes" ]; then
4589 echo "All the OpenGL functionality tests failed!"
4590 echo " You might need to modify the include and library search paths by editing"
4591 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4592 echo " ${XQMAKESPEC}."
4599 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4600 if [ "$CFG_OPENGL" = "desktop" ]; then
4601 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4602 if [ $? != "0" ]; then
4603 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4610 elif [ "$CFG_OPENGL" = "es2" ]; then
4612 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
4613 if [ $? != "0" ]; then
4614 echo "The OpenGL ES 2.0 functionality test failed!"
4615 echo " You might need to modify the include and library search paths by editing"
4616 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4617 echo " ${XQMAKESPEC}."
4620 elif [ "$CFG_OPENGL" = "desktop" ]; then
4621 # Desktop OpenGL support
4622 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4623 if [ $? != "0" ]; then
4624 echo "The OpenGL functionality test failed!"
4625 echo " You might need to modify the include and library search paths by editing"
4626 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4627 echo " ${XQMAKESPEC}."
4632 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4633 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4634 if [ $? != "0" ]; then
4635 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4642 fi # X11/MINGW OpenGL
4645 if [ "$PLATFORM_X11" = "yes" ]; then
4646 # auto-detect Xcursor support
4647 if [ "$CFG_XCURSOR" != "no" ]; then
4648 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xcursor "Xcursor" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
4649 if [ "$CFG_XCURSOR" != "runtime" ]; then
4653 if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4654 echo "Xcursor support cannot be enabled due to functionality tests!"
4655 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4656 echo " If you believe this message is in error you may use the continue"
4657 echo " switch (-continue) to $0 to continue."
4665 # auto-detect Xfixes support
4666 if [ "$CFG_XFIXES" != "no" ]; then
4667 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xfixes "Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
4668 if [ "$CFG_XFIXES" != "runtime" ]; then
4672 if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4673 echo "Xfixes support cannot be enabled due to functionality tests!"
4674 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4675 echo " If you believe this message is in error you may use the continue"
4676 echo " switch (-continue) to $0 to continue."
4684 # auto-detect Xrandr support (resize and rotate extension)
4685 if [ "$CFG_XRANDR" != "no" ]; then
4686 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xrandr "Xrandr" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
4687 if [ "$CFG_XRANDR" != "runtime" ]; then
4691 if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4692 echo "Xrandr support cannot be enabled due to functionality tests!"
4693 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4694 echo " If you believe this message is in error you may use the continue"
4695 echo " switch (-continue) to $0 to continue."
4703 # auto-detect Xrender support
4704 if [ "$CFG_XRENDER" != "no" ]; then
4705 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xrender "Xrender" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
4708 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4709 echo "Xrender support cannot be enabled due to functionality tests!"
4710 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4711 echo " If you believe this message is in error you may use the continue"
4712 echo " switch (-continue) to $0 to continue."
4720 # auto-detect MIT-SHM support
4721 if [ "$CFG_MITSHM" != "no" ]; then
4722 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/mitshm "mitshm" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
4725 if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4726 echo "MITSHM support cannot be enabled due to functionality tests!"
4727 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4728 echo " If you believe this message is in error you may use the continue"
4729 echo " switch (-continue) to $0 to continue."
4737 # auto-detect FontConfig support
4738 if [ "$CFG_FONTCONFIG" != "no" ]; then
4739 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
4740 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
4741 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
4743 QT_CFLAGS_FONTCONFIG=
4744 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
4746 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/fontconfig "FontConfig" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS $QT_CFLAGS_FONTCONFIG $QT_LIBS_FONTCONFIG; then
4748 QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
4749 QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
4750 CFG_LIBFREETYPE=system
4752 if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4753 echo "FontConfig support cannot be enabled due to functionality tests!"
4754 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4755 echo " If you believe this message is in error you may use the continue"
4756 echo " switch (-continue) to $0 to continue."
4764 # auto-detect Session Management support
4765 if [ "$CFG_SM" = "auto" ]; then
4766 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/sm "Session Management" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
4769 if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4770 echo "Session Management support cannot be enabled due to functionality tests!"
4771 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4772 echo " If you believe this message is in error you may use the continue"
4773 echo " switch (-continue) to $0 to continue."
4781 # auto-detect SHAPE support
4782 if [ "$CFG_XSHAPE" != "no" ]; then
4783 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xshape "XShape" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
4786 if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4787 echo "XShape support cannot be enabled due to functionality tests!"
4788 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4789 echo " If you believe this message is in error you may use the continue"
4790 echo " switch (-continue) to $0 to continue."
4798 # auto-detect XVideo support
4799 if [ "$CFG_XVIDEO" != "no" ]; then
4800 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xvideo "XVideo" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
4803 if [ "$CFG_XVIDEO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4804 echo "XVideo support cannot be enabled due to functionality tests!"
4805 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4806 echo " If you believe this message is in error you may use the continue"
4807 echo " switch (-continue) to $0 to continue."
4815 # auto-detect XSync support
4816 if [ "$CFG_XSYNC" != "no" ]; then
4817 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xsync "XSync" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
4820 if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4821 echo "XSync support cannot be enabled due to functionality tests!"
4822 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4823 echo " If you believe this message is in error you may use the continue"
4824 echo " switch (-continue) to $0 to continue."
4832 # auto-detect Xinerama support
4833 if [ "$CFG_XINERAMA" != "no" ]; then
4834 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinerama "Xinerama" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
4835 if [ "$CFG_XINERAMA" != "runtime" ]; then
4839 if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4840 echo "Xinerama support cannot be enabled due to functionality tests!"
4841 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4842 echo " If you believe this message is in error you may use the continue"
4843 echo " switch (-continue) to $0 to continue."
4851 # auto-detect Xinput support
4852 if [ "$CFG_XINPUT" != "no" ]; then
4853 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinput "XInput" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
4854 if [ "$CFG_XINPUT" != "runtime" ]; then
4858 if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4859 echo "Tablet and Xinput support cannot be enabled due to functionality tests!"
4860 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4861 echo " If you believe this message is in error you may use the continue"
4862 echo " switch (-continue) to $0 to continue."
4870 # auto-detect XKB support
4871 if [ "$CFG_XKB" != "no" ]; then
4872 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xkb "XKB" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
4875 if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4876 echo "XKB support cannot be enabled due to functionality tests!"
4877 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4878 echo " If you believe this message is in error you may use the continue"
4879 echo " switch (-continue) to $0 to continue."
4887 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
4888 if [ -n "$PKG_CONFIG" ]; then
4889 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
4890 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
4892 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
4894 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
4895 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
4897 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4898 echo "Gtk theme support cannot be enabled due to functionality tests!"
4899 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4900 echo " If you believe this message is in error you may use the continue"
4901 echo " switch (-continue) to $0 to continue."
4907 elif [ "$CFG_GLIB" = "no" ]; then
4913 if [ "$BUILD_ON_MAC" = "yes" ]; then
4914 if [ "$CFG_PHONON" != "no" ]; then
4915 # Always enable Phonon (unless it was explicitly disabled)
4919 if [ "$CFG_COREWLAN" = "auto" ]; then
4920 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
4928 if [ "$PLATFORM_QPA" = "yes" ]; then
4929 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4930 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4931 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
4933 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
4936 if [ "$CFG_OPENGL" = "yes" ]; then
4937 echo "All the OpenGL functionality tests failed!"
4938 echo " You might need to modify the include and library search paths by editing"
4939 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4940 echo " ${XQMAKESPEC}."
4945 elif [ "$CFG_OPENGL" = "es2" ]; then
4947 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
4948 QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4949 QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
4950 QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
4951 QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
4952 QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
4953 QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2"
4954 QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2"
4957 "$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
4958 if [ $? != "0" ]; then
4959 echo "The OpenGL ES 2.0 functionality test failed!"
4960 echo " You might need to modify the include and library search paths by editing"
4961 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4962 echo " ${XQMAKESPEC}."
4965 elif [ "$CFG_OPENGL" = "desktop" ]; then
4966 # Desktop OpenGL support
4967 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4968 if [ $? != "0" ]; then
4969 echo "The OpenGL functionality test failed!"
4970 echo " You might need to modify the include and library search paths by editing"
4971 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4972 echo " ${XQMAKESPEC}."
4977 # auto-detect FontConfig support
4978 if [ "$CFG_FONTCONFIG" != "no" ]; then
4979 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
4980 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
4981 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
4983 QT_CFLAGS_FONTCONFIG=
4984 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
4986 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/fontconfig "FontConfig" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS $QT_CFLAGS_FONTCONFIG $QT_LIBS_FONTCONFIG; then
4987 QT_CONFIG="$QT_CONFIG fontconfig"
4988 QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
4989 QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
4990 CFG_LIBFREETYPE=system
4995 # Save these for a check later
4996 ORIG_CFG_XCB="$CFG_XCB"
4997 ORIG_CFG_EGLFS="$CFG_EGLFS"
4999 if [ "$CFG_LIBUDEV" != "no" ]; then
5000 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libudev 2>/dev/null; then
5001 QMAKE_INCDIR_LIBUDEV=`$PKG_CONFIG --cflags-only-I libudev 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
5002 QMAKE_LIBS_LIBUDEV=`$PKG_CONFIG --libs libudev 2>/dev/null`
5003 QMakeVar set QMAKE_INCDIR_LIBUDEV "$QMAKE_INCDIR_LIBUDEV"
5004 QMakeVar set QMAKE_LIBS_LIBUDEV "$QMAKE_LIBS_LIBUDEV"
5006 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
5008 QT_CONFIG="$QT_CONFIG libudev"
5009 elif [ "$CFG_LIBUDEV" = "yes" ]; then
5010 echo "The libudev functionality test failed!"
5014 QMakeVar add DEFINES QT_NO_LIBUDEV
5018 if [ "$CFG_EVDEV" != "no" ]; then
5019 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/evdev "evdev" $L_FLAGS $I_FLAGS $l_FLAGS; then
5021 QT_CONFIG="$QT_CONFIG evdev"
5022 elif [ "$CFG_EVDEV" = "yes" ]; then
5023 echo "The evdev functionality test failed!"
5027 QMakeVar add DEFINES QT_NO_EVDEV
5031 # Check we actually have X11 :-)
5032 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
5033 QT_CONFIG="$QT_CONFIG xlib"
5036 # auto-detect Xrender support
5037 if [ "$CFG_XRENDER" != "no" ]; then
5038 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xrender "Xrender" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
5040 QT_CONFIG="$QT_CONFIG xrender"
5042 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5043 echo "Xrender support cannot be enabled due to functionality tests!"
5044 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5045 echo " If you believe this message is in error you may use the continue"
5046 echo " switch (-continue) to $0 to continue."
5054 if [ "$CFG_XCB" != "no" ]; then
5055 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xcb >= 1.5" 2>/dev/null; then
5056 QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`"
5057 QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`"
5059 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
5061 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
5062 QT_CONFIG="$QT_CONFIG xcb-render"
5065 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
5067 QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
5070 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
5071 QT_CONFIG="$QT_CONFIG xcb-xlib"
5074 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
5075 # auto-detect XInput2/Xinput support
5076 if [ "$CFG_XINPUT2" != "no" ]; then
5077 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinput2 "XInput2" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
5081 if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5082 echo "XInput2 support cannot be enabled due to functionality tests!"
5083 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5084 echo " If you believe this message is in error you may use the continue"
5085 echo " switch (-continue) to $0 to continue."
5094 if [ "$CFG_XCB" = "yes" ]; then
5095 echo "The XCB test failed!"
5096 echo " You might need to install dependency packages."
5097 echo " See src/plugins/platforms/xcb/README."
5101 QMakeVar add DEFINES QT_NO_XCB
5105 # Detect libxkbcommon
5106 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
5107 QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
5108 QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
5109 QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
5110 QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
5112 QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
5116 if [ "$CFG_EGL" != "no" ]; then
5117 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then
5118 QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
5119 QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null`
5120 QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null`
5121 QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
5122 QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
5123 fi # detect EGL support
5124 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
5126 elif [ "$CFG_EGL" = "yes" ]; then
5127 echo " The EGL functionality test failed; EGL is required by some QPA plugins to manage contexts & surfaces."
5128 echo " You might need to modify the include and library search paths by editing"
5129 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in ${XQMAKESPEC}."
5136 if [ "$CFG_EGLFS" != "no" ]; then
5137 CFG_EGLFS="$CFG_EGL"
5140 if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
5141 QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
5142 QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
5143 QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
5146 if [ "$BUILD_ON_MAC" = "yes" ]; then
5147 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
5148 QT_CONFIG="$QT_CONFIG coreservices"
5150 QMakeVar add DEFINES QT_NO_CORESERVICES
5154 if [ "$PLATFORM_QPA" = "yes" ] && [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ]; then
5155 if [ "$CFG_XCB" = "no" ] && [ "$CFG_EGLFS" = "no" ]; then
5156 if [ "$QPA_PLATFORM_GUARD" = "yes" ] &&
5157 ( [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_EGLFS" = "auto" ] ); then
5158 echo "No QPA platform plugin enabled!"
5159 echo " If you really want to build without a QPA platform plugin you must pass"
5160 echo " -no-xcb and -no-eglfs to configure. Doing this will"
5161 echo " produce a Qt that cannot run GUI applications."
5162 echo " The dependencies needed for xcb to build are listed in"
5163 echo " src/plugins/platforms/xcb/README"
5171 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
5174 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
5175 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
5176 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
5177 CFG_LIBFREETYPE=system
5184 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
5188 if [ "$CFG_STL" != "no" ]; then
5189 if [ "$HAVE_STL" = "yes" ]; then
5192 if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5193 echo "STL support cannot be enabled due to functionality tests!"
5194 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5195 echo " If you believe this message is in error you may use the continue"
5196 echo " switch (-continue) to $0 to continue."
5204 # detect POSIX clock_gettime()
5205 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
5206 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
5207 CFG_CLOCK_GETTIME=yes
5209 CFG_CLOCK_GETTIME=no
5213 # detect POSIX monotonic clocks
5214 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
5215 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
5216 CFG_CLOCK_MONOTONIC=yes
5218 CFG_CLOCK_MONOTONIC=no
5220 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
5221 CFG_CLOCK_MONOTONIC=no
5225 if [ "$CFG_MREMAP" = "auto" ]; then
5226 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
5233 # find if the platform provides getaddrinfo (ipv6 dns lookups)
5234 if [ "$CFG_GETADDRINFO" != "no" ]; then
5235 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
5238 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5239 echo "getaddrinfo support cannot be enabled due to functionality tests!"
5240 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5241 echo " If you believe this message is in error you may use the continue"
5242 echo " switch (-continue) to $0 to continue."
5250 # find if the platform provides inotify
5251 if [ "$CFG_INOTIFY" != "no" ]; then
5252 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
5255 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5256 echo "inotify support cannot be enabled due to functionality tests!"
5257 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5258 echo " If you believe this message is in error you may use the continue"
5259 echo " switch (-continue) to $0 to continue."
5267 # find if the platform provides if_nametoindex (ipv6 interface name support)
5268 if [ "$CFG_IPV6IFNAME" != "no" ]; then
5269 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
5272 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5273 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
5274 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5275 echo " If you believe this message is in error you may use the continue"
5276 echo " switch (-continue) to $0 to continue."
5284 # find if the platform provides getifaddrs (network interface enumeration)
5285 if [ "$CFG_GETIFADDRS" != "no" ]; then
5286 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
5289 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5290 echo "getifaddrs support cannot be enabled due to functionality tests!"
5291 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5292 echo " If you believe this message is in error you may use the continue"
5293 echo " switch (-continue) to $0 to continue."
5302 if [ "$CFG_OPENSSL" != "no" ]; then
5303 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
5304 if [ "$CFG_OPENSSL" = "auto" ]; then
5308 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5309 echo "OpenSSL support cannot be enabled due to functionality tests!"
5310 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5311 echo " If you believe this message is in error you may use the continue"
5312 echo " switch (-continue) to $0 to continue."
5321 if [ "$CFG_PCRE" != "qt" ]; then
5322 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pcre "PCRE" $L_FLAGS $I_FLAGS $l_FLAGS; then
5325 if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5326 echo "PCRE support cannot be enabled due to functionality tests!"
5327 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5328 echo " If you believe this message is in error you may use the continue"
5329 echo " switch (-continue) to $0 to continue."
5337 # detect OpenVG support
5338 if [ "$CFG_OPENVG" != "no" ]; then
5339 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
5340 if [ "$CFG_OPENVG" = "auto" ]; then
5343 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
5344 if [ "$CFG_OPENVG" = "auto" ]; then
5347 CFG_OPENVG_ON_OPENGL=yes
5348 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
5349 if [ "$CFG_OPENVG" = "auto" ]; then
5352 CFG_OPENVG_LC_INCLUDES=yes
5353 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
5354 if [ "$CFG_OPENVG" = "auto" ]; then
5357 CFG_OPENVG_LC_INCLUDES=yes
5358 CFG_OPENVG_ON_OPENGL=yes
5360 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5361 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
5362 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5363 echo " If you believe this message is in error you may use the continue"
5364 echo " switch (-continue) to $0 to continue."
5370 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
5371 CFG_OPENVG_SHIVA=yes
5375 if [ "$CFG_ALSA" = "auto" ]; then
5376 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
5383 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
5384 if [ "$CFG_ARCH" = "arm" ]; then
5385 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
5386 if [ $? != "0" ]; then
5387 CFG_JAVASCRIPTCORE_JIT=no
5390 case "$XPLATFORM" in
5392 CFG_JAVASCRIPTCORE_JIT=no
5398 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
5399 QMakeVar set JAVASCRIPTCORE_JIT yes
5400 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
5401 QMakeVar set JAVASCRIPTCORE_JIT no
5404 if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
5405 CFG_AUDIO_BACKEND=yes
5408 if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
5409 echo "Warning: largefile support cannot be disabled for win32."
5413 #-------------------------------------------------------------------------------
5414 # ask for all that hasn't been auto-detected or specified in the arguments
5415 #-------------------------------------------------------------------------------
5417 # enable dwarf2 support on Mac
5418 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
5419 QT_CONFIG="$QT_CONFIG dwarf2"
5422 # Detect the default arch (x86 or x86_64) on Mac OS X
5423 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$QT_CROSS_COMPILE" = "no" ]; then
5425 case `file "${outpath}/bin/qmake"` in
5433 # unsupported/unknown
5437 if [ -n "$DEFAULT_ARCH" ]; then
5438 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting default Mac OS X architechture to $DEFAULT_ARCH."
5439 QT_CONFIG="$QT_CONFIG $DEFAULT_ARCH"
5440 QMAKE_CONFIG="$QMAKE_CONFIG $DEFAULT_ARCH"
5441 # Make the application arch follow the Qt arch
5442 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $DEFAULT_ARCH"
5447 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
5448 QT_CONFIG="$QT_CONFIG phonon-backend"
5451 # disable accessibility
5452 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
5453 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
5455 QT_CONFIG="$QT_CONFIG accessibility"
5459 if [ "$CFG_EGL" = "yes" ]; then
5460 QT_CONFIG="$QT_CONFIG egl"
5462 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
5466 if [ "$CFG_EGLFS" = "yes" ]; then
5467 QT_CONFIG="$QT_CONFIG eglfs"
5469 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGLFS"
5473 if [ "$CFG_OPENVG" = "no" ]; then
5474 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
5476 QT_CONFIG="$QT_CONFIG openvg"
5477 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
5478 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
5480 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
5481 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
5483 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
5484 QT_CONFIG="$QT_CONFIG shivavg"
5485 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
5490 if [ "$CFG_OPENGL" = "no" ]; then
5491 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
5493 QT_CONFIG="$QT_CONFIG opengl"
5496 if [ "$CFG_OPENGL" = "es2" ]; then
5497 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
5500 if [ "$CFG_OPENGL" = "es2" ]; then
5501 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5502 QT_CONFIG="$QT_CONFIG opengles2"
5505 # safe execution environment
5506 if [ "$CFG_SXE" != "no" ]; then
5507 QT_CONFIG="$QT_CONFIG sxe"
5510 # build up the variables for output
5511 if [ "$CFG_DEBUG" = "yes" ]; then
5512 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
5513 QMAKE_CONFIG="$QMAKE_CONFIG debug"
5514 elif [ "$CFG_DEBUG" = "no" ]; then
5515 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
5516 QMAKE_CONFIG="$QMAKE_CONFIG release"
5518 if [ "$CFG_SHARED" = "yes" ]; then
5519 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
5520 QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
5521 elif [ "$CFG_SHARED" = "no" ]; then
5522 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
5523 QMAKE_CONFIG="$QMAKE_CONFIG static"
5525 if [ "$PLATFORM_QPA" = "yes" ]; then
5526 QMAKE_CONFIG="$QMAKE_CONFIG qpa"
5527 QT_CONFIG="$QT_CONFIG qpa"
5528 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
5529 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5532 if [ "$XPLATFORM_MINGW" != "yes" ]; then
5533 # Do not set this here for Windows. Let qmake do it so
5534 # debug and release precompiled headers are kept separate.
5535 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
5537 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
5538 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
5539 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
5540 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
5541 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5542 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
5544 if [ "$CFG_STL" = "no" ]; then
5545 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STL"
5547 QMAKE_CONFIG="$QMAKE_CONFIG stl"
5549 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
5550 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
5552 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
5553 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
5554 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
5555 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
5556 QMakeVar add QMAKE_CFLAGS -g
5557 QMakeVar add QMAKE_CXXFLAGS -g
5558 QT_CONFIG="$QT_CONFIG separate_debug_info"
5560 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
5561 QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
5563 [ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mmx"
5564 [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow"
5565 [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse"
5566 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
5567 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
5568 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
5569 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
5570 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
5571 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
5572 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
5573 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
5574 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
5575 QT_CONFIG="$QT_CONFIG clock-gettime"
5577 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
5578 QT_CONFIG="$QT_CONFIG clock-monotonic"
5580 if [ "$CFG_MREMAP" = "yes" ]; then
5581 QT_CONFIG="$QT_CONFIG mremap"
5583 if [ "$CFG_GETADDRINFO" = "yes" ]; then
5584 QT_CONFIG="$QT_CONFIG getaddrinfo"
5586 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
5587 QT_CONFIG="$QT_CONFIG ipv6ifname"
5589 if [ "$CFG_GETIFADDRS" = "yes" ]; then
5590 QT_CONFIG="$QT_CONFIG getifaddrs"
5592 if [ "$CFG_INOTIFY" = "yes" ]; then
5593 QT_CONFIG="$QT_CONFIG inotify"
5595 if [ "$CFG_LIBJPEG" = "no" ]; then
5597 elif [ "$CFG_LIBJPEG" = "system" ]; then
5598 QT_CONFIG="$QT_CONFIG system-jpeg"
5600 if [ "$CFG_JPEG" = "no" ]; then
5601 QT_CONFIG="$QT_CONFIG no-jpeg"
5602 elif [ "$CFG_JPEG" = "yes" ]; then
5603 QT_CONFIG="$QT_CONFIG jpeg"
5605 if [ "$CFG_LIBPNG" = "no" ]; then
5608 if [ "$CFG_LIBPNG" = "system" ]; then
5609 QT_CONFIG="$QT_CONFIG system-png"
5611 if [ "$CFG_PNG" = "no" ]; then
5612 QT_CONFIG="$QT_CONFIG no-png"
5613 elif [ "$CFG_PNG" = "yes" ]; then
5614 QT_CONFIG="$QT_CONFIG png"
5616 if [ "$CFG_GIF" = "no" ]; then
5617 QT_CONFIG="$QT_CONFIG no-gif"
5618 elif [ "$CFG_GIF" = "yes" ]; then
5619 QT_CONFIG="$QT_CONFIG gif"
5621 if [ "$CFG_LIBFREETYPE" = "no" ]; then
5622 QT_CONFIG="$QT_CONFIG no-freetype"
5623 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
5624 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
5625 QT_CONFIG="$QT_CONFIG system-freetype"
5627 QT_CONFIG="$QT_CONFIG freetype"
5629 if [ "$CFG_GUI" = "auto" ]; then
5632 if [ "$CFG_GUI" = "no" ]; then
5633 QT_CONFIG="$QT_CONFIG no-gui"
5636 if [ "$CFG_WIDGETS" = "no" ]; then
5637 QT_CONFIG="$QT_CONFIG no-widgets"
5638 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_WIDGETS"
5641 if [ "x$BUILD_ON_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5642 #On Mac we implicitly link against libz, so we
5643 #never use the 3rdparty stuff.
5644 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
5646 if [ "$CFG_ZLIB" = "yes" ]; then
5647 QT_CONFIG="$QT_CONFIG zlib"
5648 elif [ "$CFG_ZLIB" = "system" ]; then
5649 QT_CONFIG="$QT_CONFIG system-zlib"
5652 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
5653 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
5654 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
5655 [ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
5656 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
5657 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
5658 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
5659 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
5660 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
5661 [ "$CFG_NAS" = "system" ] && QT_CONFIG="$QT_CONFIG nas"
5662 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
5663 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
5664 [ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
5665 [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
5666 [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
5668 if [ "$PLATFORM_X11" = "yes" ]; then
5669 [ "$CFG_SM" = "yes" ] && QT_CONFIG="$QT_CONFIG x11sm"
5671 # for some reason, the following libraries are not always built shared,
5672 # so *every* program/lib (including Qt) has to link against them
5673 if [ "$CFG_XSHAPE" = "yes" ]; then
5674 QT_CONFIG="$QT_CONFIG xshape"
5676 if [ "$CFG_XVIDEO" = "yes" ]; then
5677 QT_CONFIG="$QT_CONFIG xvideo"
5679 if [ "$CFG_XSYNC" = "yes" ]; then
5680 QT_CONFIG="$QT_CONFIG xsync"
5682 if [ "$CFG_XINERAMA" = "yes" ]; then
5683 QT_CONFIG="$QT_CONFIG xinerama"
5684 QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11'
5686 if [ "$CFG_XCURSOR" = "yes" ]; then
5687 QT_CONFIG="$QT_CONFIG xcursor"
5688 QMakeVar set QMAKE_LIBS_X11 '-lXcursor $$QMAKE_LIBS_X11'
5690 if [ "$CFG_XFIXES" = "yes" ]; then
5691 QT_CONFIG="$QT_CONFIG xfixes"
5692 QMakeVar set QMAKE_LIBS_X11 '-lXfixes $$QMAKE_LIBS_X11'
5694 if [ "$CFG_XRANDR" = "yes" ]; then
5695 QT_CONFIG="$QT_CONFIG xrandr"
5696 if [ "$CFG_XRENDER" != "yes" ]; then
5697 # libXrandr uses 1 function from libXrender, so we always have to have it :/
5698 QMakeVar set QMAKE_LIBS_X11 '-lXrandr -lXrender $$QMAKE_LIBS_X11'
5700 QMakeVar set QMAKE_LIBS_X11 '-lXrandr $$QMAKE_LIBS_X11'
5703 if [ "$CFG_XRENDER" = "yes" ]; then
5704 QT_CONFIG="$QT_CONFIG xrender"
5705 QMakeVar set QMAKE_LIBS_X11 '-lXrender $$QMAKE_LIBS_X11'
5707 if [ "$CFG_MITSHM" = "yes" ]; then
5708 QT_CONFIG="$QT_CONFIG mitshm"
5710 if [ "$CFG_FONTCONFIG" = "yes" ]; then
5711 QT_CONFIG="$QT_CONFIG fontconfig"
5713 if [ "$CFG_XINPUT" = "yes" ]; then
5714 QMakeVar set QMAKE_LIBS_X11 '-lXi $$QMAKE_LIBS_X11'
5716 if [ "$CFG_XINPUT" = "yes" ]; then
5717 QT_CONFIG="$QT_CONFIG xinput tablet"
5719 if [ "$CFG_XKB" = "yes" ]; then
5720 QT_CONFIG="$QT_CONFIG xkb"
5724 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS"
5725 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
5726 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
5728 if [ "$PLATFORM_MAC" = "yes" ] && [ "$QT_CROSS_COMPILE" = "no" ]; then
5729 if [ "$CFG_RPATH" = "yes" ]; then
5730 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
5731 # set the default rpath to the library installation directory
5732 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5734 elif [ -z "`getXQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
5735 if [ -n "$RPATH_FLAGS" ]; then
5737 echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
5741 elif [ "$CFG_RPATH" = "yes" ]; then
5742 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
5746 if [ "$CFG_RPATH" = "yes" ]; then
5747 # set the default rpath to the library installation directory
5748 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5750 if [ -n "$RPATH_FLAGS" ]; then
5751 # add the user defined rpaths
5752 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
5756 if [ '!' -z "$I_FLAGS" ]; then
5757 # add the user define include paths
5758 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
5759 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
5762 if [ '!' -z "$W_FLAGS" ]; then
5763 # add the user defined warning flags
5764 QMakeVar add QMAKE_CFLAGS_WARN_ON "$W_FLAGS"
5765 QMakeVar add QMAKE_CXXFLAGS_WARN_ON "$W_FLAGS"
5766 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS"
5769 # turn off exceptions for the compilers that support it
5770 if [ "$XPLATFORM" != "$PLATFORM" ]; then
5771 COMPILER=`echo $XPLATFORM | cut -f 2- -d-`
5773 COMPILER=`echo $PLATFORM | cut -f 2- -d-`
5776 if [ "$CFG_EXCEPTIONS" != "no" ]; then
5777 QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
5780 if [ "$XPLATFORM_MINGW" = "yes" ]; then
5781 # mkspecs/features/win32/default_pre.prf sets "no-rtti".
5782 # Follow default behavior of configure.exe by overriding with "rtti".
5783 QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
5786 if [ "$CFG_ALSA" = "yes" ]; then
5787 QT_CONFIG="$QT_CONFIG alsa"
5790 if [ "$CFG_PULSEAUDIO" = "yes" ]; then
5791 QT_CONFIG="$QT_CONFIG pulseaudio"
5794 if [ "$CFG_COREWLAN" = "yes" ]; then
5795 QT_CONFIG="$QT_CONFIG corewlan"
5798 if [ "$CFG_ICU" = "yes" ]; then
5799 QT_CONFIG="$QT_CONFIG icu"
5802 if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
5803 QT_CONFIG="$QT_CONFIG force_asserts"
5806 if [ "$CFG_PCRE" = "qt" ]; then
5807 QMAKE_CONFIG="$QMAKE_CONFIG pcre"
5811 # Some Qt modules are too advanced in C++ for some old compilers
5812 # Detect here the platforms where they are known to work.
5814 # See Qt documentation for more information on which features are
5815 # supported and on which compilers.
5817 canBuildQtConcurrent="yes"
5818 canUseV8Snapshot="yes"
5820 case "$XPLATFORM" in
5822 # PA-RISC's assembly is too limited
5823 # gcc 3.4 on that platform can't build QtXmlPatterns
5824 # the assembly it generates cannot be compiled
5826 # Check gcc's version
5827 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5831 canBuildQtXmlPatterns="no"
5835 canBuildQtXmlPatterns="no"
5839 unsupported/vxworks-*-g++*)
5842 unsupported/vxworks-*-dcc*)
5844 canBuildQtXmlPatterns="no"
5847 # Check gcc's version
5848 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5856 canBuildQtXmlPatterns="no"
5861 # Check the compiler version
5862 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
5865 canBuildQtXmlPatterns="no"
5866 canBuildQtConcurrent="no"
5870 canBuildQtConcurrent="no"
5876 canBuildQtXmlPatterns="no"
5877 canBuildQtConcurrent="no"
5883 # Get the xlC version
5884 cat > xlcver.c <<EOF
5888 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
5893 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
5894 xlcver=`./xlcver 2>/dev/null`
5897 if [ "$OPT_VERBOSE" = "yes" ]; then
5898 if [ -n "$xlcver" ]; then
5899 echo Found IBM xlC version: $xlcver.
5901 echo Could not determine IBM xlC version, assuming oldest supported.
5908 canBuildQtXmlPatterns="no"
5909 canBuildQtConcurrent="no"
5913 canBuildQtConcurrent="no"
5919 canBuildQtConcurrent="no"
5923 if [ "$CFG_GUI" = "no" ]; then
5924 # WebKit requires QtGui
5928 if [ "$CFG_SHARED" = "no" ]; then
5930 echo "WARNING: Using static linking will disable the WebKit module."
5935 CFG_CONCURRENT="yes"
5936 if [ "$canBuildQtConcurrent" = "no" ]; then
5937 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
5940 QT_CONFIG="$QT_CONFIG concurrent"
5944 if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
5945 QT_CONFIG="$QT_CONFIG audio-backend"
5949 if [ "$CFG_WEBKIT" = "debug" ]; then
5950 QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
5954 QT_CONFIG="$QT_CONFIG v8"
5955 # Detect snapshot support
5956 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
5957 case "$CFG_HOST_ARCH,$CFG_ARCH" in
5960 *) canUseV8Snapshot="no"
5964 if [ -n "$_SBOX_DIR" -a "$CFG_ARCH" = "arm" ]; then
5965 # QEMU crashes when building inside Scratchbox with an ARM target
5966 canUseV8Snapshot="no"
5969 if [ "$CFG_V8SNAPSHOT" = "auto" ]; then
5970 CFG_V8SNAPSHOT="$canUseV8Snapshot"
5972 if [ "$CFG_V8SNAPSHOT" = "yes" -a "$canUseV8Snapshot" = "no" ]; then
5973 echo "Error: V8 snapshot was requested, but is not supported on this platform."
5976 if [ "$CFG_V8SNAPSHOT" = "yes" ]; then
5977 QT_CONFIG="$QT_CONFIG v8snapshot"
5981 if [ "$CFG_DECLARATIVE_DEBUG" = "no" ]; then
5982 QCONFIG_FLAGS="$QCONFIG_FLAGS QDECLARATIVE_NO_DEBUG_PROTOCOL"
5985 if [ "$CFG_EXCEPTIONS" = "no" ]; then
5988 QMakeVar add QMAKE_CFLAGS -fno-exceptions
5989 QMakeVar add QMAKE_CXXFLAGS -fno-exceptions
5990 QMakeVar add QMAKE_LFLAGS -fno-exceptions
5995 QMakeVar add QMAKE_CFLAGS -LANG:exceptions=off
5996 QMakeVar add QMAKE_CXXFLAGS -LANG:exceptions=off
5997 QMakeVar add QMAKE_LFLAGS -LANG:exceptions=off
6004 QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off"
6010 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
6012 case "$COMPILER_VERSION" in
6014 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
6015 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
6016 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
6019 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
6020 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
6021 QT_GCC_PATCH_VERSION=0
6031 #-------------------------------------------------------------------------------
6032 # part of configuration information goes into qconfig.h
6033 #-------------------------------------------------------------------------------
6035 case "$CFG_QCONFIG" in
6037 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
6040 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
6041 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
6042 if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
6043 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
6044 elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
6045 cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
6047 echo "#endif" >>"$tmpconfig"
6051 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6055 # define QT_EDITION $QT_EDITION
6059 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
6060 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
6062 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
6063 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
6066 if [ "$CFG_FRAMEWORK" = "yes" ]; then
6067 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
6070 if [ "$BUILD_ON_MAC" = "yes" ]; then
6071 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6072 #if defined(__LP64__)
6073 # define QT_POINTER_SIZE 8
6075 # define QT_POINTER_SIZE 4
6079 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6080 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
6083 #REDUCE_RELOCATIONS is a elf/unix only thing, so not in windows configure.exe
6084 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
6085 echo "#define QT_REDUCE_RELOCATIONS" >>"$outpath/src/corelib/global/qconfig.h.new"
6089 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6091 if [ "$CFG_DEV" = "yes" ]; then
6092 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
6095 if [ "$PLATFORM_QPA" = "yes" ]; then
6096 # Add QPA to config.h
6097 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
6100 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
6101 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
6104 # Add turned on SQL drivers
6105 for DRIVER in $CFG_SQL_AVAILABLE; do
6106 eval "VAL=\$CFG_SQL_$DRIVER"
6109 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6110 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
6111 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
6114 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
6120 QMakeVar set sql-drivers "$SQL_DRIVERS"
6121 QMakeVar set sql-plugins "$SQL_PLUGINS"
6123 # Add other configuration options to the qconfig.h file
6124 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
6125 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
6126 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
6127 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
6128 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
6129 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
6130 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
6132 # X11/Unix/Mac only configs
6133 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
6134 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
6135 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
6136 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
6137 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
6138 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
6139 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
6140 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
6141 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
6142 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
6143 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
6144 [ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NAS"
6145 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
6146 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
6147 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
6149 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
6150 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
6151 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
6152 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
6153 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
6154 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
6155 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
6156 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
6157 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
6158 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
6159 [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
6160 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
6161 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
6163 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
6164 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
6165 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
6166 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
6167 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
6168 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
6169 [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
6170 [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
6172 # sort QCONFIG_FLAGS for neatness if we can
6173 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
6174 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
6176 if [ -n "$QCONFIG_FLAGS" ]; then
6177 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6178 #ifndef QT_BOOTSTRAPPED
6181 for cfg in $QCONFIG_FLAGS; do
6182 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
6183 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
6184 # figure out define logic, so we can output the correct
6185 # ifdefs to override the global defines in a project
6187 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
6188 # QT_NO_option can be forcefully turned on by QT_option
6189 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
6190 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
6191 # QT_option can be forcefully turned off by QT_NO_option
6192 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
6195 if [ -z $cfgdNeg ]; then
6196 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6203 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6204 #if defined($cfgd) && defined($cfgdNeg)
6206 #elif !defined($cfgd) && !defined($cfgdNeg)
6213 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6214 #endif // QT_BOOTSTRAPPED
6219 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
6220 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6221 #define QT_VISIBILITY_AVAILABLE
6226 if [ -n "$QT_LIBINFIX" ]; then
6227 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6228 #define QT_LIBINFIX "$QT_LIBINFIX"
6233 # avoid unecessary rebuilds by copying only if qconfig.h has changed
6234 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
6235 rm -f "$outpath/src/corelib/global/qconfig.h.new"
6237 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
6238 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
6239 chmod -w "$outpath/src/corelib/global/qconfig.h"
6240 if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then
6241 ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h"
6245 #-------------------------------------------------------------------------------
6246 # save configuration into qconfig.pri
6247 #-------------------------------------------------------------------------------
6248 QTCONFIG="$outpath/mkspecs/qconfig.pri"
6249 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
6250 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
6251 if [ "$CFG_DEBUG" = "yes" ]; then
6252 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
6253 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6254 QT_CONFIG="$QT_CONFIG release"
6256 QT_CONFIG="$QT_CONFIG debug"
6257 elif [ "$CFG_DEBUG" = "no" ]; then
6258 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
6259 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6260 QT_CONFIG="$QT_CONFIG debug"
6262 QT_CONFIG="$QT_CONFIG release"
6264 if [ "$CFG_STL" = "yes" ]; then
6265 QTCONFIG_CONFIG="$QTCONFIG_CONFIG stl"
6267 if [ "$CFG_FRAMEWORK" = "no" ]; then
6268 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
6270 QT_CONFIG="$QT_CONFIG qt_framework"
6271 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
6273 if [ "$CFG_DEV" = "yes" ]; then
6274 QT_CONFIG="$QT_CONFIG private_tests"
6277 cat >>"$QTCONFIG.tmp" <<EOF
6279 CONFIG += $QTCONFIG_CONFIG
6281 QT_HOST_ARCH = $CFG_HOST_ARCH
6282 QT_EDITION = $Edition
6283 QT_CONFIG += $QT_CONFIG
6286 QT_VERSION = $QT_VERSION
6287 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
6288 QT_MINOR_VERSION = $QT_MINOR_VERSION
6289 QT_PATCH_VERSION = $QT_PATCH_VERSION
6292 QT_LIBINFIX = $QT_LIBINFIX
6293 QT_NAMESPACE = $QT_NAMESPACE
6296 if [ -n "$CFG_SYSROOT" ]; then
6297 echo "# sysroot" >>"$QTCONFIG.tmp"
6298 echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
6299 echo " QMAKE_CFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
6300 echo " QMAKE_CXXFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
6301 echo " QMAKE_LFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
6302 echo "}" >> "$QTCONFIG.tmp"
6303 echo >> "$QTCONFIG.tmp"
6305 if [ -n "$RPATH_FLAGS" ]; then
6306 echo "QMAKE_RPATHDIR += $RPATH_FLAGS" >> "$QTCONFIG.tmp"
6308 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
6309 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
6310 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
6311 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
6314 if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
6315 echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
6316 echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp"
6319 # replace qconfig.pri if it differs from the newly created temp file
6320 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
6321 rm -f "$QTCONFIG.tmp"
6323 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
6326 #-------------------------------------------------------------------------------
6327 # save configuration into qmodule.pri
6328 #-------------------------------------------------------------------------------
6329 QTMODULE="$outpath/mkspecs/qmodule.pri"
6331 echo "CONFIG += create_prl link_prl" >> "$QTMODULE.tmp"
6333 # Ensure we can link to uninistalled libraries
6334 if [ "$BUILD_ON_MAC" != "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
6335 echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
6337 if [ -n "$QT_CFLAGS_PSQL" ]; then
6338 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
6340 if [ -n "$QT_LFLAGS_PSQL" ]; then
6341 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
6343 if [ -n "$QT_CFLAGS_MYSQL" ]; then
6344 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
6346 if [ -n "$QT_LFLAGS_MYSQL" ]; then
6347 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
6349 if [ -n "$QT_CFLAGS_SQLITE" ]; then
6350 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
6352 if [ -n "$QT_LFLAGS_SQLITE" ]; then
6353 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
6355 if [ -n "$QT_LFLAGS_ODBC" ]; then
6356 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
6358 if [ -n "$QT_LFLAGS_TDS" ]; then
6359 echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
6362 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
6363 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
6366 #dump in the OPENSSL_LIBS info
6367 if [ '!' -z "$OPENSSL_LIBS" ]; then
6368 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
6369 elif [ "$CFG_OPENSSL" = "linked" ]; then
6370 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
6373 #dump in the SDK info
6374 if [ '!' -z "$CFG_SDK" ]; then
6375 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
6379 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
6380 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
6382 # replace qmodule.pri if it differs from the newly created temp file
6383 if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
6384 rm -f "$QTMODULE.tmp"
6386 mv -f "$QTMODULE.tmp" "$QTMODULE"
6389 #-------------------------------------------------------------------------------
6390 # save configuration into .qmake.cache
6391 #-------------------------------------------------------------------------------
6393 CACHEFILE="$outpath/.qmake.cache"
6394 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
6395 cat >>"$CACHEFILE.tmp" <<EOF
6397 QT_SOURCE_TREE = \$\$quote($relpath)
6398 QT_BUILD_TREE = \$\$quote($outpath)
6399 QT_BUILD_PARTS = $CFG_BUILD_PARTS
6401 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
6402 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
6403 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
6405 include(\$\$PWD/mkspecs/qmodule.pri)
6406 CONFIG += $QMAKE_CONFIG dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
6410 #dump the qmake spec
6411 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
6412 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
6414 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
6417 # replace .qmake.cache if it differs from the newly created temp file
6418 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
6419 rm -f "$CACHEFILE.tmp"
6421 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
6424 #-------------------------------------------------------------------------------
6425 # give feedback on configuration
6426 #-------------------------------------------------------------------------------
6430 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6433 This target is using the GNU C++ compiler ($PLATFORM).
6435 Recent versions of this compiler automatically include code for
6436 exceptions, which increase both the size of the Qt libraries and
6437 the amount of memory taken by your applications.
6439 You may choose to re-run `basename $0` with the -no-exceptions
6440 option to compile Qt without exceptions. This is completely binary
6441 compatible, and existing applications will continue to work.
6449 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6452 This target is using the MIPSpro C++ compiler ($PLATFORM).
6454 You may choose to re-run `basename $0` with the -no-exceptions
6455 option to compile Qt without exceptions. This will make the
6456 size of the Qt library smaller and reduce the amount of memory
6457 taken by your applications.
6469 if [ "$XPLATFORM" = "$PLATFORM" ]; then
6470 echo "Build type: $PLATFORM"
6472 echo "Building on: $PLATFORM"
6473 echo "Building for: $XPLATFORM"
6476 echo "Architecture: $CFG_ARCH"
6477 if [ "$PLATFORM_QPA" = "yes" ]; then
6478 echo "Host architecture: $CFG_HOST_ARCH"
6481 if [ -n "$PLATFORM_NOTES" ]; then
6482 echo "Platform notes:"
6483 echo "$PLATFORM_NOTES"
6488 if [ "$OPT_VERBOSE" = "yes" ]; then
6489 echo $ECHO_N "qmake vars .......... $ECHO_C"
6490 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
6491 echo "qmake switches ......... $QMAKE_SWITCHES"
6494 echo "Build .................. $CFG_BUILD_PARTS"
6495 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
6496 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6497 echo "Debug .................. yes (combined)"
6498 if [ "$CFG_DEBUG" = "yes" ]; then
6499 echo "Default Link ........... debug"
6501 echo "Default Link ........... release"
6504 echo "Debug .................. $CFG_DEBUG"
6506 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
6507 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
6508 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
6509 echo "QtConcurrent code ...... $CFG_CONCURRENT"
6510 echo "QtGui module ........... $CFG_GUI"
6511 echo "QtWidgets module ....... $CFG_WIDGETS"
6512 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
6513 echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
6515 echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
6517 echo "Declarative debugging ...$CFG_DECLARATIVE_DEBUG"
6518 echo "STL support ............ $CFG_STL"
6519 echo "PCH support ............ $CFG_PRECOMPILE"
6520 if [ "$CFG_ARCH" = "i386" -o "$CFG_ARCH" = "x86_64" ]; then
6521 echo "MMX/3DNOW/SSE/SSE2/SSE3. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}/${CFG_SSE3}"
6522 echo "SSSE3/SSE4.1/SSE4.2..... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
6523 echo "AVX..................... ${CFG_AVX}"
6524 elif [ "$CFG_ARCH" = "arm" ]; then
6525 echo "iWMMXt support ......... ${CFG_IWMMXT}"
6526 echo "NEON support ........... ${CFG_NEON}"
6528 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
6529 echo "getaddrinfo support .... $CFG_GETADDRINFO"
6530 echo "getifaddrs support ..... $CFG_GETIFADDRS"
6531 echo "Accessibility .......... $CFG_ACCESSIBILITY"
6532 echo "NIS support ............ $CFG_NIS"
6533 echo "CUPS support ........... $CFG_CUPS"
6534 echo "Iconv support .......... $CFG_ICONV"
6535 echo "Glib support ........... $CFG_GLIB"
6536 echo "GStreamer support ...... $CFG_GSTREAMER"
6537 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
6538 echo "Large File support ..... $CFG_LARGEFILE"
6539 echo "GIF support ............ $CFG_GIF"
6540 if [ "$CFG_JPEG" = "no" ]; then
6541 echo "JPEG support ........... $CFG_JPEG"
6543 echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
6545 if [ "$CFG_PNG" = "no" ]; then
6546 echo "PNG support ............ $CFG_PNG"
6548 echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
6550 echo "zlib support ........... $CFG_ZLIB"
6551 echo "Session management ..... $CFG_SM"
6552 echo "libudev support ........ $CFG_LIBUDEV"
6554 if [ "$CFG_OPENGL" = "desktop" ]; then
6555 echo "OpenGL support ......... yes (Desktop OpenGL)"
6556 elif [ "$CFG_OPENGL" = "es2" ]; then
6557 echo "OpenGL support ......... yes (OpenGL ES 2.x)"
6559 echo "OpenGL support ......... no"
6562 if [ "$CFG_OPENVG" ]; then
6563 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
6564 echo "OpenVG support ......... ShivaVG"
6566 echo "OpenVG support ......... $CFG_OPENVG"
6569 if [ "$PLATFORM_X11" = "yes" ]; then
6570 echo "NAS sound support ...... $CFG_NAS"
6571 echo "XShape support ......... $CFG_XSHAPE"
6572 echo "XVideo support ......... $CFG_XVIDEO"
6573 echo "XSync support .......... $CFG_XSYNC"
6574 echo "Xinerama support ....... $CFG_XINERAMA"
6575 echo "Xcursor support ........ $CFG_XCURSOR"
6576 echo "Xfixes support ......... $CFG_XFIXES"
6577 echo "Xrandr support ......... $CFG_XRANDR"
6578 echo "Xi support ............. $CFG_XINPUT"
6579 echo "MIT-SHM support ........ $CFG_MITSHM"
6580 echo "FontConfig support ..... $CFG_FONTCONFIG"
6581 echo "XKB Support ............ $CFG_XKB"
6582 echo "immodule support ....... $CFG_IM"
6583 echo "GTK theme support ...... $CFG_QGTKSTYLE"
6585 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
6586 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
6587 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
6588 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
6589 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
6590 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
6591 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
6592 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
6593 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
6596 if [ "$CFG_OPENSSL" = "yes" ]; then
6597 OPENSSL_LINKAGE="(run-time)"
6598 elif [ "$CFG_OPENSSL" = "linked" ]; then
6599 OPENSSL_LINKAGE="(linked)"
6601 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
6602 echo "Alsa support ........... $CFG_ALSA"
6603 if [ "$BUILD_ON_MAC" = "yes" ]; then
6604 echo "CoreWlan support ....... $CFG_COREWLAN"
6606 echo "libICU support ......... $CFG_ICU"
6607 echo "PCRE support ........... $CFG_PCRE"
6608 if [ "$CFG_XCB_LIMITED" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6609 echo "Xcb support ............ limited (old version)"
6611 echo "Xcb support ............ $CFG_XCB"
6613 echo "Xrender support ........ $CFG_XRENDER"
6614 if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6615 echo "XInput2 support ........ $CFG_XINPUT2"
6617 echo "EGLFS support .......... $CFG_EGLFS"
6620 # complain about not being able to use dynamic plugins if we are using a static build
6621 if [ "$CFG_SHARED" = "no" ]; then
6623 echo "WARNING: Using static linking will disable the use of dynamically"
6624 echo "loaded plugins. Make sure to import all needed static plugins,"
6625 echo "or compile needed modules into the library."
6628 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
6630 echo "NOTE: When linking against OpenSSL, you can override the default"
6631 echo "library names through OPENSSL_LIBS."
6633 echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
6636 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
6638 echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
6639 echo "if you want a pure debug build."
6644 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
6649 #-------------------------------------------------------------------------------
6650 # build makefiles based on the configuration
6651 #-------------------------------------------------------------------------------
6653 echo "Finding project files. Please wait..."
6654 if [ "$CFG_NOPROCESS" != "yes" ]; then
6655 "$outpath/bin/qmake" -prl -r "${relpath}/qtbase.pro"
6656 if [ -f "${relpath}/qtbase.pro" ]; then
6657 mkfile="${outpath}/Makefile"
6658 [ -f "$mkfile" ] && chmod +w "$mkfile"
6659 QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/qtbase.pro" -o "$mkfile"
6663 # .projects -> projects to process
6664 # .projects.1 -> qt and moc
6665 # .projects.2 -> subdirs and libs
6666 # .projects.3 -> the rest
6667 rm -f .projects .projects.1 .projects.2 .projects.3
6669 QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
6670 if [ -z "$AWK" ]; then
6671 for p in `echo $QMAKE_PROJECTS`; do
6672 echo "$p" >> .projects
6675 cat >projects.awk <<EOF
6681 first = "./.projects.1.tmp"
6682 second = "./.projects.2.tmp"
6683 third = "./.projects.3.tmp"
6688 if ( ! target_file )
6690 print input_file >target_file
6695 input_file = FILENAME
6700 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
6703 } else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) {
6704 target_file = second
6709 matched_target == 0 && /^(TEMPLATE.*=)/ {
6710 if ( \$3 == "subdirs" )
6711 target_file = second
6712 else if ( \$3 == "lib" )
6718 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
6719 if ( \$0 ~ /plugin/ )
6722 target_file = second
6727 if ( ! target_file )
6729 print input_file >>target_file
6736 for p in `echo $QMAKE_PROJECTS`; do
6737 echo "$p" >> .projects.all
6740 # if you get errors about the length of the command line to awk, change the -l arg
6742 split -l 100 .projects.all .projects.all.
6743 for p in .projects.all.*; do
6744 "$AWK" -f projects.awk `cat $p`
6745 [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
6746 [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
6747 [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
6748 rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
6750 rm -f .projects.all* projects.awk
6752 [ -f .projects.1 ] && cat .projects.1 >>.projects
6753 [ -f .projects.2 ] && cat .projects.2 >>.projects
6754 rm -f .projects.1 .projects.2
6755 if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
6756 cat .projects.3 >>.projects
6760 # don't sort Qt and MOC in with the other project files
6761 # also work around a segfaulting uniq(1)
6762 if [ -f .sorted.projects.2 ]; then
6763 sort .sorted.projects.2 > .sorted.projects.2.new
6764 mv -f .sorted.projects.2.new .sorted.projects.2
6765 cat .sorted.projects.2 >> .sorted.projects.1
6767 [ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
6768 rm -f .sorted.projects.2 .sorted.projects.1
6772 if [ -f .projects ]; then
6773 uniq .projects >.tmp
6774 mv -f .tmp .projects
6775 NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
6777 if [ -f .projects.3 ]; then
6778 uniq .projects.3 >.tmp
6779 mv -f .tmp .projects.3
6780 FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
6782 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
6786 for part in $CFG_BUILD_PARTS; do
6788 tools) PART_ROOTS="$PART_ROOTS tools" ;;
6789 libs) PART_ROOTS="$PART_ROOTS src" ;;
6790 translations) PART_ROOTS="$PART_ROOTS translations" ;;
6791 examples) PART_ROOTS="$PART_ROOTS examples" ;;
6796 if [ "$CFG_DEV" = "yes" ]; then
6797 PART_ROOTS="$PART_ROOTS tests"
6800 echo "Creating makefiles. Please wait..."
6801 for file in .projects .projects.3; do
6802 [ '!' -f "$file" ] && continue
6803 for a in `cat $file`; do
6805 for r in $PART_ROOTS; do
6806 if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
6811 [ "$IN_ROOT" = "no" ] && continue
6814 *winmain/winmain.pro)
6815 if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_MINGW" != "yes" ]; then
6819 */qmake/qmake.pro) continue ;;
6820 *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*|*tools/qdoc*) SPEC=$QMAKESPEC ;;
6821 *) if [ "$CFG_NOPROCESS" = "yes" ]; then
6827 dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
6828 test -d "$dir" || mkdir -p "$dir"
6829 OUTDIR="$outpath/$dir"
6830 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
6831 # fast configure - the makefile exists, skip it
6832 # since the makefile exists, it was generated by qmake, which means we
6833 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
6835 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
6838 QMAKE_SPEC_ARGS="-spec $SPEC"
6839 echo $ECHO_N " for $a$ECHO_C"
6841 QMAKE="$outpath/bin/qmake"
6842 QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
6843 if [ "$file" = ".projects.3" ]; then
6846 cat >"${OUTDIR}/Makefile" <<EOF
6847 # ${OUTDIR}/Makefile: generated by configure
6849 # WARNING: This makefile will be replaced with a real makefile.
6850 # All changes made to this file will be lost.
6852 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
6854 cat >>"${OUTDIR}/Makefile" <<EOF
6856 all clean install qmake first Makefile: FORCE
6857 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
6865 if [ "$OPT_VERBOSE" = "yes" ]; then
6866 echo " (`basename $SPEC`)"
6867 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
6872 [ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
6873 QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
6877 rm -f .projects .projects.3
6879 #-------------------------------------------------------------------------------
6880 # check for platforms that we don't yet know about
6881 #-------------------------------------------------------------------------------
6882 if [ "$CFG_ARCH" = "unknown" ]; then
6885 NOTICE: configure was unable to determine the architecture
6886 for the $XQMAKESPEC target.
6888 Qt will not use a specialized implementation for any atomic
6889 operations. Instead a generic implemention based on either GCC
6890 intrinsics or C++11 std::atomic<T> will be used (when
6891 available). The generic implementations are generally as fast
6892 as and always as safe as a specialized implementation.
6894 If no generic implementation is available, Qt will use a
6895 fallback UNIX implementation which uses a single
6896 pthread_mutex_t to protect all atomic operations. This
6897 implementation is the slow (but safe) fallback implementation
6898 for architectures Qt does not yet support.
6902 #-------------------------------------------------------------------------------
6903 # check if the user passed the -no-zlib option, which is no longer supported
6904 #-------------------------------------------------------------------------------
6905 if [ -n "$ZLIB_FORCED" ]; then
6906 which_zlib="supplied"
6907 if [ "$CFG_ZLIB" = "system" ]; then
6913 NOTICE: The -no-zlib option was supplied but is no longer
6916 Qt now requires zlib support in all builds, so the -no-zlib
6917 option was ignored. Qt will be built using the $which_zlib
6922 #-------------------------------------------------------------------------------
6923 # check if the user passed the obsoleted -wayland or -no-wayland flag
6924 #-------------------------------------------------------------------------------
6925 if [ "$CFG_OBSOLETE_WAYLAND" = "yes" ]; then
6928 NOTICE: The -wayland and -no-wayland flags are now obsolete
6930 All configuring of QtWayland plugin and QtCompositor happens in the module
6934 #-------------------------------------------------------------------------------
6935 # check if the user passed the obsoleted -arch or -host-arch options
6936 #-------------------------------------------------------------------------------
6937 if [ "$OPT_OBSOLETE_HOST_ARG" = "yes" ]; then
6940 NOTICE: The -arch and -host-arch options are obsolete.
6942 Qt now detects the target and host architectures based on compiler
6943 output. Qt will be built using $CFG_ARCH for the target architecture
6944 and $CFG_HOST_ARCH for the host architecture (note that these two
6945 will be the same unless you are cross-compiling).
6949 #-------------------------------------------------------------------------------
6950 # finally save the executed command to another script
6951 #-------------------------------------------------------------------------------
6952 if [ `basename $0` != "config.status" ]; then
6953 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
6955 # add the system variables
6956 for varname in $SYSTEM_VARIABLES; do
6958 'if [ -n "\$'${varname}'" ]; then
6959 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
6964 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
6966 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
6967 echo "#!/bin/sh" > "$outpath/config.status"
6968 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
6969 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
6970 echo "else" >> "$outpath/config.status"
6971 echo " $CONFIG_STATUS" >> "$outpath/config.status"
6972 echo "fi" >> "$outpath/config.status"
6973 chmod +x "$outpath/config.status"
6976 if [ -n "$RPATH_MESSAGE" ]; then
6978 echo "$RPATH_MESSAGE"
6981 MAKE=`basename "$MAKE"`
6983 echo Qt is now configured for building. Just run \'$MAKE\'.
6984 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
6985 echo Once everything is built, Qt is installed.
6986 echo You should not run \'$MAKE install\'.
6988 echo Once everything is built, you must run \'$MAKE install\'.
6989 echo Qt will be installed into $QT_INSTALL_PREFIX
6992 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.