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
738 CFG_ACCESSIBILITY=auto
743 CFG_CLOCK_GETTIME=auto
744 CFG_CLOCK_MONOTONIC=auto
752 MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
756 CFG_PREFIX_INSTALL=yes
765 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
766 XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
770 OPT_CONFIRM_LICENSE=no
783 QPA_PLATFORM_GUARD=yes
785 # initalize variables used for installation
794 QT_INSTALL_TRANSLATIONS=
803 #flags for SQL drivers
811 QT_LFLAGS_ODBC="-lodbc"
814 # flags for libdbus-1
818 # flags for Glib (X11 only)
822 # flags for GStreamer (X11 only)
826 #-------------------------------------------------------------------------------
827 # check SQL drivers available in this package
828 #-------------------------------------------------------------------------------
830 # opensource version removes some drivers, so force them to be off
836 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
837 for a in "$relpath/src/plugins/sqldrivers/"*; do
839 base_a=`basename "$a"`
840 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
841 eval "CFG_SQL_${base_a}=auto"
846 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
847 if [ -d "$relpath/src/plugins/imageformats" ]; then
848 for a in "$relpath/src/plugins/imageformats/"*; do
850 base_a=`basename "$a"`
851 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
856 #-------------------------------------------------------------------------------
857 # parse command line arguments
858 #-------------------------------------------------------------------------------
860 # parse the arguments, setting things to "yes" or "no"
861 while [ "$#" -gt 0 ]; do
865 #Autoconf style options
867 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
871 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
875 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
876 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
879 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
883 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
887 -no-*-*|-plugin-*-*|-qt-*-*)
888 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
889 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
893 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
896 #Qt style yes options
897 -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)
898 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
901 #Qt style options that pass an argument
903 if [ "$PLATFORM_QPA" != "yes" ]; then
905 echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
909 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
913 -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)
914 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
918 #Qt style complex options in one command
919 -enable-*|-disable-*)
920 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
921 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
923 #Qt Builtin/System style options
924 -no-*|-system-*|-qt-*)
925 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
926 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
928 #Options that cannot be generalized
935 # this option may or may not be followed by an argument
936 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
945 # this option may or may not be followed by an argument
946 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
955 # this option may or may not be followed by an argument
956 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
964 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
965 # this option may or may not be followed by an argument
966 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
985 if [ "$1" = "-D" ]; then
989 VAL=`echo $1 | sed 's,-D,,'`
994 # this option may or may not be followed by an argument
995 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1004 if [ "$1" = "-I" ]; then
1008 VAL=`echo $1 | sed 's,-I,,'`
1013 if [ "$1" = "-L" ]; then
1017 VAL=`echo $1 | sed 's,-L,,'`
1022 if [ "$1" = "-R" ]; then
1026 VAL=`echo $1 | sed 's,-R,,'`
1031 VAL=`echo $1 | sed 's,-l,,'`
1035 if [ "$1" = "-F" ]; then
1039 VAL=`echo $1 | sed 's,-F,,'`
1044 if [ "$1" = "-fw" ]; then
1048 VAL=`echo $1 | sed 's,-fw,,'`
1056 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1063 if [ "$UNKNOWN_ARG" = "yes" ]; then
1064 echo "$1: unknown argument"
1075 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1076 CFG_ACCESSIBILITY="$VAL"
1085 CFG_USE_GNUMAKE="$VAL"
1088 CFG_MYSQL_CONFIG="$VAL"
1091 QT_INSTALL_PREFIX="$VAL"
1094 QT_HOST_PREFIX="$VAL"
1103 QT_FORCE_PKGCONFIG=yes
1106 QT_INSTALL_DOCS="$VAL"
1109 QT_INSTALL_HEADERS="$VAL"
1112 QT_INSTALL_PLUGINS="$VAL"
1115 QT_INSTALL_IMPORTS="$VAL"
1118 QT_INSTALL_DATA="$VAL"
1121 QT_INSTALL_LIBS="$VAL"
1130 QT_INSTALL_TRANSLATIONS="$VAL"
1132 sysconfdir|settingsdir)
1133 QT_INSTALL_SETTINGS="$VAL"
1136 QT_INSTALL_EXAMPLES="$VAL"
1139 QT_INSTALL_TESTS="$VAL"
1148 QT_INSTALL_BINS="$VAL"
1158 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1165 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1166 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1167 [ "$VAL" = "es2" ]; then
1174 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1181 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1184 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1192 if [ "$BUILD_ON_MAC" = "yes" ]; then
1199 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1200 CFG_MAC_DWARF2="$VAL"
1206 OPT_OBSOLETE_HOST_ARG=yes
1209 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1210 CFG_MAC_HARFBUZZ="$VAL"
1217 if [ "$BUILD_ON_MAC" = "yes" ]; then
1218 CFG_FRAMEWORK="$VAL"
1224 if [ "$VAL" = "yes" ]; then
1226 QMakeVar add QMAKE_CFLAGS -pg
1227 QMakeVar add QMAKE_CXXFLAGS -pg
1228 QMakeVar add QMAKE_LFLAGS -pg
1229 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1235 if [ "$VAL" = "yes" ]; then
1236 QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon"
1239 exceptions|g++-exceptions)
1240 if [ "$VAL" = "no" ]; then
1242 elif [ "$VAL" = "yes" ]; then
1250 # keep compatibility with old platform names
1256 PLATFORM=hpux-acc-o64
1259 PLATFORM=hpux-acc-64
1262 PLATFORM=hpux-acc-64
1274 PLATFORM=reliant-cds-64
1277 PLATFORM=solaris-cc-64
1280 PLATFORM=unixware-cc
1283 PLATFORM=unixware-g++
1286 PLATFORM=unixware-cc
1289 PLATFORM=unixware-g++
1295 i386) NATIVE_64_ARCH="x86_64" ;;
1296 powerpc) NATIVE_64_ARCH="ppc64" ;;
1297 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1299 if [ ! -z "$NATIVE_64_ARCH" ]; then
1300 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1307 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1310 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1311 CFG_DEBUG_RELEASE="$VAL"
1317 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1318 CFG_RELEASE_QMAKE="$VAL"
1324 if [ "$VAL" = "yes" ]; then
1326 elif [ "$VAL" = "no" ]; then
1333 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1334 CFG_PREFIX_INSTALL="$VAL"
1342 developer-build|commercial|opensource)
1343 # These switches have been dealt with already
1346 if [ "$VAL" = "yes" ]; then
1348 elif [ "$VAL" = "no" ]; then
1355 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1356 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1362 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1363 if [ "$VAL" = "no" ]; then
1364 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1365 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1366 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1372 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1379 if [ "$VAL" = "no" ]; then
1386 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1394 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1401 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1408 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1415 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1422 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1429 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1436 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1443 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1450 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1451 CFG_PRECOMPILE="$VAL"
1456 separate-debug-info)
1457 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1458 CFG_SEPARATE_DEBUG_INFO="$VAL"
1459 elif [ "$VAL" = "nocopy" ] ; then
1460 CFG_SEPARATE_DEBUG_INFO="yes"
1461 CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1467 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1468 CFG_REDUCE_EXPORTS="$VAL"
1474 if [ "$VAL" = "no" ]; then
1481 if [ "$VAL" = "no" ]; then
1488 if [ "$VAL" = "no" ]; then
1495 if [ "$VAL" = "no" ]; then
1502 if [ "$VAL" = "no" ]; then
1509 if [ "$VAL" = "no" ]; then
1516 if [ "$VAL" = "no" ]; then
1523 if [ "$VAL" = "no" ]; then
1530 if [ "$VAL" = "no" ]; then
1540 if [ "$VAL" = "no" ]; then
1547 if [ "$VAL" = "no" ]; then
1554 if [ "$VAL" = "no" ]; then
1555 CFG_MIPS_DSPR2="$VAL"
1561 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1562 CFG_REDUCE_RELOCATIONS="$VAL"
1568 [ "$VAL" = "qt" ] && VAL=yes
1569 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1574 # No longer supported:
1575 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1578 if [ "$VAL" = "system" ]; then
1585 [ "$VAL" = "yes" ] && VAL=qt
1586 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1593 [ "$VAL" = "yes" ] && VAL=qt
1594 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1601 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1608 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1615 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1622 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1629 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1636 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1637 CFG_FONTCONFIG="$VAL"
1643 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1650 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1657 CFG_OBSOLETE_WAYLAND=yes
1660 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1667 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1674 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1681 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1688 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1695 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1702 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1703 CFG_GSTREAMER="$VAL"
1709 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1710 CFG_QGTKSTYLE="$VAL"
1716 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1719 if [ "$VAL" = "no" ]; then
1727 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1729 elif [ "$VAL" = "no" ]; then
1736 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1737 QPA_PLATFORM_GUARD="$VAL"
1743 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1745 elif [ "$VAL" = "runtime" ]; then
1752 if [ "$VAL" = "yes" ]; then
1759 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1766 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1767 CFG_LARGEFILE="$VAL"
1773 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1780 if [ "$VAL" = "yes" ]; then
1781 CFG_OPENSSL="linked"
1787 if [ "$VAL" = "yes" ]; then
1788 CFG_DECLARATIVE_DEBUG="yes"
1790 if [ "$VAL" = "no" ]; then
1791 CFG_DECLARATIVE_DEBUG="no"
1798 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1799 CFG_JAVASCRIPTCORE_JIT="$VAL"
1805 if [ "$VAL" = "yes" ]; then
1806 OPT_CONFIRM_LICENSE="$VAL"
1812 if [ "$VAL" = "yes" ]; then
1818 sql-*|imageformat-*)
1819 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1820 # if autoconf style options were used, $VAL can be "yes" or "no"
1821 [ "$VAL" = "yes" ] && VAL=qt
1822 # now $VAL should be "no", "qt", or "plugin"... double-check
1823 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1826 # now $VAL is "no", "qt", or "plugin"
1828 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1829 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1831 # Grab the available values
1834 avail="$CFG_SQL_AVAILABLE"
1837 avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
1838 if [ "$OPT" != "plugin" ]; then
1839 # png is always built in
1845 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1849 # Check that that user's value is available.
1852 if [ "$VAL" = "$d" ]; then
1857 [ "$found" = yes ] || ERROR=yes
1859 if [ "$VAR" = "sql" ]; then
1860 # set the CFG_SQL_driver
1861 eval "CFG_SQL_$VAL=\$OPT"
1863 elif [ "$VAR" = "imageformat" ]; then
1864 [ "$OPT" = "qt" ] && OPT=yes
1865 VAL="`echo $VAL |tr a-z A-Z`"
1866 eval "CFG_$VAL=$OPT"
1870 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
1871 if [ "$OPT" = "plugin" ]; then
1874 QMakeVar add "${VAR}s" "${VAL}"
1875 elif [ "$OPT" = "no" ]; then
1876 PLUG_VAR="${VAR}-plugin"
1878 QMakeVar del "${IN_VAR}s" "$VAL"
1879 QMakeVar del "${PLUG_VAR}s" "$VAL"
1881 if [ "$ERROR" = "yes" ]; then
1882 echo "$CURRENT_OPT: unknown argument"
1887 if [ "$VAL" = "yes" ]; then
1888 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
1889 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
1893 elif [ "$VAL" = "no" ]; then
1894 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
1895 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
1904 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1911 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1918 D_FLAGS="$D_FLAGS \"$VAL\""
1921 I_FLAGS="$I_FLAGS -I\"${VAL}\""
1924 L_FLAGS="$L_FLAGS -L\"${VAL}\""
1927 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
1930 l_FLAGS="$l_FLAGS -l\"${VAL}\""
1933 if [ "$BUILD_ON_MAC" = "yes" ]; then
1934 L_FLAGS="$L_FLAGS -F\"${VAL}\""
1935 I_FLAGS="$I_FLAGS -F\"${VAL}\""
1941 if [ "$BUILD_ON_MAC" = "yes" ]; then
1942 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
1948 W_FLAGS="$W_FLAGS \"${VAL}\""
1954 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1955 CFG_PHONON_BACKEND="$VAL"
1967 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1968 CFG_AUDIO_BACKEND="$VAL"
1974 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1981 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1982 CFG_FORCE_ASSERTS="$VAL"
1988 if [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
1998 if [ "$UNKNOWN_OPT" = "yes" ]; then
1999 echo "${CURRENT_OPT}: invalid command-line switch"
2005 # update QT_CONFIG to show our current predefined configuration
2006 case "$CFG_QCONFIG" in
2007 minimal|small|medium|large|full)
2008 # these are a sequence of increasing functionality
2009 for c in minimal small medium large full; do
2010 QT_CONFIG="$QT_CONFIG $c-config"
2011 [ "$CFG_QCONFIG" = $c ] && break
2015 # not known to be sufficient for anything
2016 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
2017 echo >&2 "Error: configuration file not found:"
2018 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2020 echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2025 #-------------------------------------------------------------------------------
2026 # build tree initialization
2027 #-------------------------------------------------------------------------------
2029 # where to find which..
2030 unixtests="$relpath/config.tests/unix"
2031 mactests="$relpath/config.tests/mac"
2032 WHICH="$unixtests/which.test"
2034 PERL=`$WHICH perl 2>/dev/null`
2036 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2038 for e in gawk nawk awk; do
2039 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2046 PERL="/usr/bin/perl"
2047 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2051 ### skip this if the user just needs help...
2052 if [ "$OPT_HELP" != "yes" ]; then
2054 # is this a shadow build?
2055 if [ "$OPT_SHADOW" = "maybe" ]; then
2057 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2058 if [ -h "$outpath" ]; then
2059 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2065 if [ "$OPT_SHADOW" = "yes" ]; then
2066 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2067 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2068 echo >&2 "Cannot proceed."
2071 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2074 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2076 echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
2077 echo "Qt can be built in release mode with separate debug information, so"
2078 echo "-debug-and-release is not necessary anymore"
2082 if [ "$CFG_SILENT" = "yes" ]; then
2083 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2086 # if the source tree is different from the build tree,
2087 # symlink or copy part of the sources
2088 if [ "$OPT_SHADOW" = "yes" ]; then
2089 echo "Preparing build tree..."
2091 if [ -z "$PERL" ]; then
2093 echo "You need perl in your PATH to make a shadow build."
2094 echo "Cannot proceed."
2098 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2100 # make a syncqt script that can be used in the shadow
2101 rm -f "$outpath/bin/syncqt"
2102 if [ -x "$relpath/bin/syncqt" ]; then
2103 mkdir -p "$outpath/bin"
2104 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2105 echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2106 chmod 755 "$outpath/bin/syncqt"
2109 for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
2110 rm -f "$outpath/bin/$i"
2111 if [ -x "$relpath/bin/$i" ]; then
2112 mkdir -p "$outpath/bin"
2113 echo "#!/bin/sh" >"$outpath/bin/$i"
2114 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2115 echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2116 chmod 755 "$outpath/bin/$i"
2120 # symlink the mkspecs directory
2121 mkdir -p "$outpath/mkspecs"
2122 rm -rf "$outpath"/mkspecs/*
2123 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2124 rm -f "$outpath/mkspecs/default"
2128 rm -rf "$outpath/mkspecs/$1"
2129 find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2130 find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2133 # Special case for mkspecs/features directory.
2134 # To be able to place .prf files into a shadow build directory,
2135 # we're creating links for files only. The directory structure is reproduced.
2136 ShadowMkspecs features
2138 # The modules dir is special, too.
2139 ShadowMkspecs modules
2141 # symlink the doc directory
2142 rm -rf "$outpath/doc"
2143 ln -s "$relpath/doc" "$outpath/doc"
2146 # symlink fonts to be able to run application from build directory
2147 if [ "$PLATFORM_QPA" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
2148 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2149 mkdir -p "${outpath}/lib"
2150 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2154 if [ "$OPT_FAST" = "auto" ]; then
2155 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2162 # find a make command
2163 if [ -z "$MAKE" ]; then
2165 for mk in gmake make; do
2166 if "$WHICH" $mk >/dev/null 2>&1; then
2171 if [ -z "$MAKE" ]; then
2172 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2173 echo >&2 "Cannot proceed."
2176 # export MAKE, we need it later in the config.tests
2182 #-------------------------------------------------------------------------------
2183 # auto-detect all that hasn't been specified in the arguments
2184 #-------------------------------------------------------------------------------
2186 if [ -z "$PLATFORM" ]; then
2188 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2190 if [ "$PLATFORM_QPA" = "yes" ]; then
2191 OSX_VERSION=`uname -r | cut -d. -f1`
2192 if [ "$OSX_VERSION" -ge 11 ]; then
2193 # We're on Lion or above. Check if we have a supported Clang version
2194 case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
2197 PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
2212 #PLATFORM=aix-g++-64
2214 #PLATFORM=aix-xlc-64
2216 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2226 # PLATFORM=dynix-g++
2232 PLATFORM=freebsd-g++
2234 - Also available for FreeBSD: freebsd-icc
2238 PLATFORM=openbsd-g++
2249 #PLATFORM=irix-cc-64
2251 - Also available for IRIX: irix-g++ irix-cc-64
2255 case "$UNAME_MACHINE" in
2257 #PLATFORM=hpuxi-acc-32
2258 PLATFORM=hpuxi-acc-64
2260 - Also available for HP-UXi: hpuxi-acc-32
2266 #PLATFORM=hpux-acc-64
2268 #PLATFORM=hpux-acc-o64
2270 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2279 - Also available for Tru64: tru64-g++
2283 case "$UNAME_MACHINE" in
2285 PLATFORM=linux-g++-64
2292 - Also available for Linux: linux-kcc linux-icc linux-cxx
2296 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2297 PLATFORM="solaris-g++"
2299 #PLATFORM=solaris-g++
2301 #PLATFORM=solaris-cc64
2304 - Also available for Solaris: solaris-g++ solaris-cc-64
2307 ReliantUNIX-*:*|SINIX-*:*)
2308 PLATFORM=reliant-cds
2309 #PLATFORM=reliant-cds-64
2311 - Also available for Reliant UNIX: reliant-cds-64
2321 #PLATFORM=unixware-g++
2322 PLATFORM=unixware-cc
2324 - Also available for OpenUNIX: unixware-g++
2328 #PLATFORM=unixware-g++
2329 PLATFORM=unixware-cc
2331 - Also available for UnixWare: unixware-g++
2338 - Also available for SCO OpenServer: sco-g++
2342 PLATFORM=unixware-g++
2345 PLATFORM=unsupported/qnx-g++
2348 if [ "$OPT_HELP" != "yes" ]; then
2350 for p in $PLATFORMS; do
2351 echo " $relconf $* -platform $p"
2354 echo " The build script does not currently recognize all" >&2
2355 echo " platforms supported by Qt." >&2
2356 echo " Rerun this script with a -platform option listed to" >&2
2357 echo " set the system/compiler combination you use." >&2
2364 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2366 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2368 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2369 case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
2371 if [ -d "$PLATFORM" ]; then
2372 QMAKESPEC="$PLATFORM"
2374 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2376 if [ -d "$XPLATFORM" ]; then
2377 XQMAKESPEC="$XPLATFORM"
2379 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2381 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2382 QT_CROSS_COMPILE=yes
2383 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2384 QTCONFIG_CONFIG="$QTCONFIG_CONFIG cross_compile"
2387 if [ "$BUILD_ON_MAC" = "yes" ]; then
2388 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2390 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2391 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2392 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2393 echo " built with 'macx-g++'" >&2
2399 # check specified platforms are supported
2400 if [ '!' -d "$QMAKESPEC" ]; then
2402 echo " The specified system/compiler is not supported:"
2406 echo " Please see the README file for a complete list."
2410 if [ '!' -d "$XQMAKESPEC" ]; then
2412 echo " The specified system/compiler is not supported:"
2416 echo " Please see the README file for a complete list."
2420 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2422 echo " The specified system/compiler port is not complete:"
2424 echo " $XQMAKESPEC/qplatformdefs.h"
2426 echo " Please contact qt-info@nokia.com."
2431 # now look at the configs and figure out what platform we are config'd for
2432 [ "$PLATFORM_QPA" != "yes" ] \
2433 && [ -n "`getXQMakeConf QMAKE_LIBS_X11`" ] \
2435 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2437 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2438 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2439 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2440 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2441 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2445 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2446 case `basename "$XPLATFORM"` in
2449 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2451 echo "Please contact qt-info@nokia.com to upgrade your license to"
2452 echo "include this platform, or install the Qt Open Source Edition"
2453 echo "if you intend to develop free software."
2459 #-------------------------------------------------------------------------------
2460 # tests that don't need qmake (must be run before displaying help)
2461 #-------------------------------------------------------------------------------
2463 # detect build style
2464 if [ "$CFG_DEBUG" = "auto" ]; then
2465 if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2466 CFG_DEBUG_RELEASE=yes
2468 elif [ "$CFG_DEV" = "yes" ]; then
2469 CFG_DEBUG_RELEASE=no
2472 CFG_DEBUG_RELEASE=no
2476 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2477 QT_CONFIG="$QT_CONFIG build_all"
2480 if [ -z "$PKG_CONFIG" ]; then
2481 # See if PKG_CONFIG is set in the mkspec:
2482 PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
2484 if [ -z "$PKG_CONFIG" ]; then
2485 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
2488 # Work out if we can use pkg-config
2489 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
2490 if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
2492 echo >&2 "You have asked to use pkg-config and are cross-compiling."
2493 echo >&2 "Please make sure you have a correctly set-up pkg-config"
2494 echo >&2 "environment!"
2496 if [ -z "$PKG_CONFIG_LIBDIR" ]; then
2498 echo >&2 "Warning: PKG_CONFIG_LIBDIR has not been set. This could mean"
2499 echo >&2 "the host's .pc files will be used (even if you set PKG_CONFIG_PATH)."
2500 echo >&2 "This is probably not what you want."
2502 elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
2504 echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
2505 echo >&2 "been set. This means your toolchain's .pc files must contain"
2506 echo >&2 "the paths to the toolchain's libraries & headers. If configure"
2507 echo >&2 "tests are failing, please check these files."
2512 echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
2513 echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
2514 echo >&2 "dependencies"
2520 if [ ! -n "$PKG_CONFIG" ]; then
2521 QT_CONFIG="$QT_CONFIG no-pkg-config"
2524 # pass on $CFG_SDK to the configure tests.
2525 if [ '!' -z "$CFG_SDK" ]; then
2526 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
2529 # find the default framework value
2530 if [ "$BUILD_ON_MAC" = "yes" ]; then
2531 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2532 CFG_FRAMEWORK="$CFG_SHARED"
2533 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2535 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2543 QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
2545 TEST_COMPILER=$QMAKE_CONF_COMPILER
2546 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
2547 if [ -z "$TEST_COMPILER" ]; then
2548 echo "ERROR: Cannot set the compiler for the configuration tests"
2554 if [ -n "$CFG_SYSROOT" ]; then
2555 if compilerSupportsFlag --sysroot="$CFG_SYSROOT"; then
2556 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting sysroot to: $CFG_SYSROOT"
2557 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
2559 echo >&2 "The compiler doesn't support the --sysroot flag, I can't set the sysroot"
2563 export SYSROOT_FLAG # used by config.tests/unix/compile.test
2565 # auto-detect precompiled header support
2566 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2567 if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2574 #auto-detect DWARF2 on the mac
2575 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
2576 if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
2583 # don't autodetect support for separate debug info on objcopy when
2584 # cross-compiling as lots of toolchains seems to have problems with this
2585 if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
2586 CFG_SEPARATE_DEBUG_INFO="no"
2589 # auto-detect support for separate debug info in objcopy
2590 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
2591 TEST_COMPILER_CFLAGS=`getXQMakeConf QMAKE_CFLAGS`
2592 TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
2593 TEST_OBJCOPY=`getXQMakeConf QMAKE_OBJCOPY`
2594 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
2595 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
2596 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
2597 CFG_SEPARATE_DEBUG_INFO=no
2601 # binutils on HP-UX is buggy; default to no.
2602 CFG_SEPARATE_DEBUG_INFO=no
2605 CFG_SEPARATE_DEBUG_INFO=yes
2611 # auto-detect -fvisibility support
2612 if [ "$CFG_REDUCE_EXPORTS" != "no" ]; then
2613 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2614 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
2615 echo "-reduce-exports was requested but this compiler does not support it"
2616 echo "Re-run configure with -v for more information"
2619 CFG_REDUCE_EXPORTS=no
2621 CFG_REDUCE_EXPORTS=yes
2625 # detect the availability of the -Bsymbolic-functions linker optimization
2626 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
2627 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2628 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
2629 echo "-reduce-relocations was requested but this compiler does not support it"
2630 echo "Re-run configure with -v for more information"
2633 CFG_REDUCE_RELOCATIONS=no
2635 CFG_REDUCE_RELOCATIONS=yes
2639 # auto-detect GNU make support
2640 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
2644 # find the default framework value
2645 if [ "$BUILD_ON_MAC" = "yes" ]; then
2646 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2647 CFG_FRAMEWORK="$CFG_SHARED"
2648 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2650 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2658 # x11 tests are done after qmake is built
2661 #setup the build parts
2662 if [ -z "$CFG_BUILD_PARTS" ]; then
2663 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
2665 # don't build tools by default when cross-compiling
2666 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2667 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
2670 for nobuild in $CFG_NOBUILD_PARTS; do
2671 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
2673 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
2675 # echo "WARNING: libs is a required part of the build."
2677 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
2680 #-------------------------------------------------------------------------------
2681 # post process QT_INSTALL_* variables
2682 #-------------------------------------------------------------------------------
2684 if [ -z "$QT_INSTALL_PREFIX" ]; then
2685 if [ "$CFG_DEV" = "yes" ]; then
2686 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
2688 QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION
2691 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
2693 if [ -z "$QT_INSTALL_DOCS" ]; then #default
2694 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2695 if [ "$BUILD_ON_MAC" = "yes" ]; then
2696 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
2699 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
2702 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
2704 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
2705 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2706 if [ "$BUILD_ON_MAC" = "yes" ]; then
2707 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2712 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
2715 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
2717 if [ -z "$QT_INSTALL_LIBS" ]; then #default
2718 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2719 if [ "$BUILD_ON_MAC" = "yes" ]; then
2720 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2721 QT_INSTALL_LIBS="/Libraries/Frameworks"
2725 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
2727 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
2729 if [ -z "$QT_INSTALL_BINS" ]; then #default
2730 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2731 if [ "$BUILD_ON_MAC" = "yes" ]; then
2732 QT_INSTALL_BINS="/Developer/Applications/Qt"
2735 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
2737 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
2739 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
2740 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2741 if [ "$BUILD_ON_MAC" = "yes" ]; then
2742 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
2745 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
2747 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
2749 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
2750 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2751 if [ "$BUILD_ON_MAC" = "yes" ]; then
2752 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
2755 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
2757 QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
2759 if [ -z "$QT_INSTALL_DATA" ]; then #default
2760 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
2762 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
2764 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
2765 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
2767 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
2769 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
2770 if [ "$BUILD_ON_MAC" = "yes" ]; then
2771 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
2773 QT_INSTALL_SETTINGS=/etc/xdg
2776 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
2778 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
2779 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2780 if [ "$BUILD_ON_MAC" = "yes" ]; then
2781 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
2784 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
2786 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
2789 if [ -z "$QT_INSTALL_TESTS" ]; then #default
2790 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2791 if [ "$BUILD_ON_MAC" = "yes" ]; then
2792 QT_INSTALL_TESTS="/Developer/Tests/Qt"
2795 [ -z "$QT_INSTALL_TESTS" ] && QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback
2797 QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
2799 #------- host paths --------
2801 if [ -z "$QT_HOST_PREFIX" ]; then
2802 QT_HOST_PREFIX=$QT_INSTALL_PREFIX
2805 QT_HOST_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_PREFIX"`
2809 if [ -z "$QT_HOST_BINS" ]; then #default
2811 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2812 if [ "$BUILD_ON_MAC" = "yes" ]; then
2813 QT_HOST_BINS="/Developer/Applications/Qt"
2816 [ -z "$QT_HOST_BINS" ] && QT_HOST_BINS="$QT_HOST_PREFIX/bin" #fallback
2818 QT_HOST_BINS="$QT_INSTALL_BINS"
2821 QT_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_BINS"`
2823 if [ -z "$QT_HOST_DATA" ]; then #default
2825 QT_HOST_DATA="$QT_HOST_PREFIX"
2827 QT_HOST_DATA="$QT_INSTALL_DATA"
2830 QT_HOST_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_DATA"`
2833 #-------------------------------------------------------------------------------
2834 # help - interactive parts of the script _after_ this section please
2835 #-------------------------------------------------------------------------------
2837 # next, emit a usage message if something failed.
2838 if [ "$OPT_HELP" = "yes" ]; then
2839 [ "x$ERROR" = "xyes" ] && echo
2840 if [ "$CFG_NIS" = "no" ]; then
2847 if [ "$CFG_CUPS" = "no" ]; then
2854 if [ "$CFG_ICONV" = "no" ]; then
2861 if [ "$CFG_LARGEFILE" = "no" ]; then
2868 if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then
2875 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
2883 if [ "$CFG_XCB" = "no" ]; then
2891 if [ "$CFG_EGLFS" = "no" ]; then
2899 if [ "$CFG_XINPUT2" = "no" ]; then
2908 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
2909 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
2910 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-testsdir <dir>]
2911 [-release] [-debug] [-debug-and-release]
2912 [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
2913 [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
2914 [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
2915 [-plugin-sql-<driver>] [-system-sqlite]
2916 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
2917 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
2918 [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
2919 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
2920 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
2921 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
2922 [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
2923 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
2924 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info]
2925 [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
2926 [-no-audio-backend] [-audio-backend]
2927 [-no-javascript-jit] [-javascript-jit] [-no-declarative-debug] [-declarative-debug]
2928 [-no-optimized-qmake] [-optimized-qmake]
2929 [-no-openssl] [-openssl] [-openssl-linked]
2930 [-no-gtkstyle] [-gtkstyle]
2931 [-qt-pcre] [-system-pcre]
2932 [additional platform specific options (see below)]
2935 Installation options:
2937 -qpa ................ This will enable the QPA build.
2938 QPA is a window system agnostic implementation of Qt.
2940 These are optional, but you may specify install directories.
2942 -prefix <dir> ...... This will install everything relative to <dir>
2943 (default $QT_INSTALL_PREFIX)
2945 if [ "$PLATFORM_QPA" = "yes" ]; then
2948 -hostprefix [dir] .. Tools and libraries needed when developing
2949 applications are installed in [dir]. If [dir] is
2950 not given, the current build directory will be used.
2956 * -prefix-install .... Force a sandboxed "local" installation of
2957 Qt. This will install into
2958 $QT_INSTALL_PREFIX, if this option is
2959 disabled then some platforms will attempt a
2960 "system" install by placing default values to
2961 be placed in a system location other than
2964 You may use these to separate different parts of the install:
2966 -bindir <dir> ......... Executables will be installed to <dir>
2967 (default PREFIX/bin)
2968 -libdir <dir> ......... Libraries will be installed to <dir>
2969 (default PREFIX/lib)
2970 -docdir <dir> ......... Documentation will be installed to <dir>
2971 (default PREFIX/doc)
2972 -headerdir <dir> ...... Headers will be installed to <dir>
2973 (default PREFIX/include)
2974 -plugindir <dir> ...... Plugins will be installed to <dir>
2975 (default PREFIX/plugins)
2976 -importdir <dir> ...... Imports for QML will be installed to <dir>
2977 (default PREFIX/imports)
2978 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
2980 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
2981 (default PREFIX/translations)
2982 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
2983 (default PREFIX/etc/settings)
2984 -examplesdir <dir> .... Examples will be installed to <dir>
2985 (default PREFIX/examples)
2986 -testsdir <dir> ....... Tests will be installed to <dir>
2987 (default PREFIX/tests)
2989 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
2992 -hostbindir <dir> .. Host executables will be installed to <dir>
2993 (default HOSTPREFIX/bin)
2994 -hostdatadir <dir> . Data used by qmake will be installed to <dir>
2995 (default HOSTPREFIX)
3002 The defaults (*) are usually acceptable. A plus (+) denotes a default value
3003 that needs to be evaluated. If the evaluation succeeds, the feature is
3004 included. Here is a short explanation of each option:
3006 * -release ........... Compile and link Qt with debugging turned off.
3007 -debug ............. Compile and link Qt with debugging turned on.
3008 -debug-and-release . Compile and link two versions of Qt, with and without
3009 debugging turned on (Mac only).
3011 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
3013 -opensource ........ Compile and link the Open-Source Edition of Qt.
3014 -commercial ........ Compile and link the Commercial Edition of Qt.
3017 * -shared ............ Create and use shared Qt libraries.
3018 -static ............ Create and use static Qt libraries.
3020 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3022 -fast .............. Configure Qt quickly by generating Makefiles only for
3023 library and subdirectory targets. All other Makefiles
3024 are created as wrappers, which will in turn run qmake.
3026 -no-largefile ...... Disables large file support.
3027 + -largefile ......... Enables Qt to access files larger than 4 GB.
3030 if [ "$PLATFORM_QPA" = "yes" ]; then
3037 if [ "$CFG_DBUS" = "no" ]; then
3046 $EXCN -no-exceptions ..... Disable exceptions on compilers that support it.
3047 $EXCY -exceptions ........ Enable exceptions on compilers that support it.
3049 -no-accessibility .. Do not compile Accessibility support.
3050 * -accessibility ..... Compile Accessibility support.
3052 $SHN -no-stl ............ Do not compile STL support.
3053 $SHY -stl ............... Compile STL support.
3055 -no-sql-<driver> ... Disable SQL <driver> entirely.
3056 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3058 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3061 Possible values for <driver>:
3062 [ $CFG_SQL_AVAILABLE ]
3064 -system-sqlite ..... Use sqlite from the operating system.
3066 -no-phonon-backend.. Do not build the platform phonon plugin.
3067 + -phonon-backend..... Build the platform phonon plugin.
3069 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
3070 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
3072 -no-declarative-debug ..... Do not build the declarative debugging support.
3073 + -declarative-debug ....... Build the declarative debugging support.
3075 -platform target ... The operating system and compiler you are building
3078 See the README file for a list of supported
3079 operating systems and compilers.
3082 if [ "${PLATFORM_QPA}" != "yes" ]; then
3084 -graphicssystem <sys> Sets an alternate graphics system. Available options are:
3085 raster - Software rasterizer
3086 opengl - Rendering via OpenGL, Experimental!
3087 openvg - Rendering via OpenVG, Experimental!
3094 -no-mmx ............ Do not compile with use of MMX instructions.
3095 -no-3dnow .......... Do not compile with use of 3DNOW instructions.
3096 -no-sse ............ Do not compile with use of SSE instructions.
3097 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3098 -no-sse3 ........... Do not compile with use of SSE3 instructions.
3099 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
3100 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
3101 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
3102 -no-avx ............ Do not compile with use of AVX instructions.
3103 -no-neon ........... Do not compile with use of NEON instructions.
3104 -no-mips_dsp ....... Do not compile with use of MIPS DSP instructions.
3105 -no-mips_dspr2 ..... Do not compile with use of MIPS DSP rev2 instructions.
3107 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3108 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3110 -testcocoon Instrument Qt with the TestCocoon code coverage tool.
3112 -D <string> ........ Add an explicit define to the preprocessor.
3113 -I <string> ........ Add an explicit include path.
3114 -L <string> ........ Add an explicit library path.
3116 -help, -h .......... Display this information.
3118 Third Party Libraries:
3120 -qt-zlib ........... Use the zlib bundled with Qt.
3121 + -system-zlib ....... Use zlib from the operating system.
3122 See http://www.gzip.org/zlib
3124 -no-gif ............ Do not compile GIF reading support.
3126 -no-libpng ......... Do not compile PNG support.
3127 -qt-libpng ......... Use the libpng bundled with Qt.
3128 + -system-libpng ..... Use libpng from the operating system.
3129 See http://www.libpng.org/pub/png
3131 -no-libjpeg ........ Do not compile JPEG support.
3132 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3133 + -system-libjpeg .... Use libjpeg from the operating system.
3134 See http://www.ijg.org
3136 -no-openssl ........ Do not compile support for OpenSSL.
3137 + -openssl ........... Enable run-time OpenSSL support.
3138 -openssl-linked .... Enabled linked OpenSSL support.
3140 -qt-pcre ........... Use the PCRE library bundled with Qt.
3141 + -system-pcre ....... Use the PCRE library from the operating system.
3145 -make <part> ....... Add part to the list of parts to be built at make time.
3146 ($QT_DEFAULT_BUILD_PARTS)
3147 -nomake <part> ..... Exclude part from the list of parts to be built.
3149 -R <string> ........ Add an explicit runtime library path to the Qt
3151 -l <string> ........ Add an explicit library.
3153 -no-rpath .......... Do not use the library install path as a runtime
3155 + -rpath ............. Link Qt libraries and executables using the library
3156 install path as a runtime library path. Equivalent
3157 to -R install_libpath
3159 -continue .......... Continue as far as possible if an error occurs.
3161 -verbose, -v ....... Print verbose information about each step of the
3164 -silent ............ Reduce the build output so that warnings and errors
3165 can be seen more easily.
3167 * -no-optimized-qmake ... Do not build qmake optimized.
3168 -optimized-qmake ...... Build qmake optimized.
3170 -no-gui ............ Don't build the Qt GUI library
3172 $NSN -no-nis ............ Do not compile NIS support.
3173 $NSY -nis ............... Compile NIS support.
3175 $CUN -no-cups ........... Do not compile CUPS support.
3176 $CUY -cups .............. Compile CUPS support.
3177 Requires cups/cups.h and libcups.so.2.
3179 $CIN -no-iconv .......... Do not compile support for iconv(3).
3180 $CIY -iconv ............. Compile support for iconv(3).
3182 $PHN -no-pch ............ Do not use precompiled header support.
3183 $PHY -pch ............... Use precompiled header support.
3185 $DBN -no-dbus ........... Do not compile the QtDBus module.
3186 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3187 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3189 -reduce-relocations ..... Reduce relocations in the libraries through extra
3190 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3191 experimental; needs GNU ld >= 2.18).
3193 -force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
3197 if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3198 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3205 elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
3213 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3217 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3218 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3220 $XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
3221 $XCBY -xcb ............... Compile Xcb support.
3223 $EGLFSN -no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support.
3224 $EGLFSY -eglfs ............. Compile EGLFS support.
3230 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
3234 $X2N -no-xinput2......... Do not compile XInput2 support.
3235 $X2Y -xinput2............ Compile XInput2 support.
3241 if [ "$PLATFORM_X11" = "yes" ]; then
3242 if [ "$CFG_SM" = "no" ]; then
3249 if [ "$CFG_XSHAPE" = "no" ]; then
3256 if [ "$CFG_XVIDEO" = "no" ]; then
3263 if [ "$CFG_XINERAMA" = "no" ]; then
3270 if [ "$CFG_FONTCONFIG" = "no" ]; then
3277 if [ "$CFG_XCURSOR" = "no" ]; then
3284 if [ "$CFG_XFIXES" = "no" ]; then
3291 if [ "$CFG_XRANDR" = "no" ]; then
3298 if [ "$CFG_XRENDER" = "no" ]; then
3305 if [ "$CFG_MITSHM" = "no" ]; then
3312 if [ "$CFG_XINPUT" = "no" ]; then
3319 if [ "$CFG_XKB" = "no" ]; then
3326 if [ "$CFG_IM" = "no" ]; then
3337 -no-gtkstyle ....... Do not build the GTK theme integration.
3338 + -gtkstyle .......... Build the GTK theme integration.
3340 * -no-nas-sound ...... Do not compile in NAS sound support.
3341 -system-nas-sound .. Use NAS libaudio from the operating system.
3342 See http://radscan.com/nas.html
3344 -no-opengl ......... Do not support OpenGL.
3345 + -opengl <api> ...... Enable OpenGL support.
3346 With no parameter, this will auto-detect the "best"
3347 OpenGL API to use. If desktop OpenGL is available, it
3348 will be used. Use desktop or es2 for <api>
3349 to force the use of the Desktop OpenGL or
3350 OpenGL ES 2 APIs instead.
3352 -no-openvg ........ Do not support OpenVG.
3353 + -openvg ........... Enable OpenVG support.
3354 Requires EGL support, typically supplied by an OpenGL
3355 or other graphics implementation.
3357 $SMN -no-sm ............. Do not support X Session Management.
3358 $SMY -sm ................ Support X Session Management, links in -lSM -lICE.
3360 $SHN -no-xshape ......... Do not compile XShape support.
3361 $SHY -xshape ............ Compile XShape support.
3362 Requires X11/extensions/shape.h.
3364 $XVN -no-xvideo ......... Do not compile XVideo support.
3365 $XVY -xvideo ............ Compile XVideo support.
3366 Requires X11/extensions/Xv.h & Xvlib.h.
3368 $SHN -no-xsync .......... Do not compile XSync support.
3369 $SHY -xsync ............. Compile XSync support.
3370 Requires X11/extensions/sync.h.
3372 $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
3373 $XAY -xinerama .......... Compile Xinerama support.
3374 Requires X11/extensions/Xinerama.h and libXinerama.
3375 By default, Xinerama support will be compiled if
3376 available and the shared libraries are dynamically
3379 $XCN -no-xcursor ........ Do not compile Xcursor support.
3380 $XCY -xcursor ........... Compile Xcursor support.
3381 Requires X11/Xcursor/Xcursor.h and libXcursor.
3382 By default, Xcursor support will be compiled if
3383 available and the shared libraries are dynamically
3386 $XFN -no-xfixes ......... Do not compile Xfixes support.
3387 $XFY -xfixes ............ Compile Xfixes support.
3388 Requires X11/extensions/Xfixes.h and libXfixes.
3389 By default, Xfixes support will be compiled if
3390 available and the shared libraries are dynamically
3393 $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
3394 $XZY -xrandr ............ Compile Xrandr support.
3395 Requires X11/extensions/Xrandr.h and libXrandr.
3397 $XRN -no-xrender ........ Do not compile Xrender support.
3398 $XRY -xrender ........... Compile Xrender support.
3399 Requires X11/extensions/Xrender.h and libXrender.
3401 $XMN -no-mitshm ......... Do not compile MIT-SHM support.
3402 $XMY -mitshm ............ Compile MIT-SHM support.
3403 Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
3405 $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
3406 $FCGY -fontconfig ........ Compile FontConfig support.
3407 Requires fontconfig/fontconfig.h, libfontconfig,
3408 freetype.h and libfreetype.
3410 $XIN -no-xinput ......... Do not compile Xinput support.
3411 $XIY -xinput ............ Compile Xinput support. This also enabled tablet support
3412 which requires IRIX with wacom.h and libXi or
3413 XFree86 with X11/extensions/XInput.h and libXi.
3415 $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
3416 $XKY -xkb ............... Compile XKB support.
3421 if [ "$BUILD_ON_MAC" = "yes" ]; then
3426 -Fstring ........... Add an explicit framework path.
3427 -fw string ......... Add an explicit framework.
3429 * -framework ......... Build Qt as a series of frameworks and
3430 link tools against those frameworks.
3431 -no-framework ...... Do not build Qt as a series of frameworks.
3433 * -dwarf2 ............ Enable dwarf2 debugging symbols.
3434 -no-dwarf2 ......... Disable dwarf2 debugging symbols.
3436 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3437 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3439 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
3440 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
3441 QT_ENABLE_HARFBUZZ environment variable.
3446 if [ "$PLATFORM_QPA" = "yes" ]; then
3452 if [ "$PLATFORM_QPA" = "yes" ]; then
3455 -xplatform target ... The target platform when cross-compiling.
3457 -no-feature-<feature> Do not compile in <feature>.
3458 -feature-<feature> .. Compile in <feature>. The available features
3459 are described in src/corelib/global/qfeatures.txt
3461 -no-freetype ........ Do not compile in Freetype2 support.
3462 -qt-freetype ........ Use the libfreetype bundled with Qt.
3463 * -system-freetype .... Use libfreetype from the operating system.
3464 See http://www.freetype.org/
3466 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3467 default ($CFG_QCONFIG).
3469 -no-opengl .......... Do not support OpenGL.
3470 -opengl <api> ....... Enable OpenGL ES support
3471 With no parameter, this will attempt to auto-detect
3472 OpenGL ES 2, or regular desktop OpenGL.
3473 Use es2 for <api> to override auto-detection.
3477 if [ "$PLATFORM_QPA" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
3478 if [ "$CFG_GLIB" = "no" ]; then
3486 $GBN -no-glib ........... Do not compile Glib support.
3487 $GBY -glib .............. Compile Glib support.
3492 [ "x$ERROR" = "xyes" ] && exit 1
3497 # -----------------------------------------------------------------------------
3498 # LICENSING, INTERACTIVE PART
3499 # -----------------------------------------------------------------------------
3501 if [ "$PLATFORM_QPA" = "yes" ]; then
3502 Platform="Qt Lighthouse"
3503 elif [ "$XPLATFORM_MINGW" = "yes" ]; then
3504 Platform="Qt for Windows"
3505 elif [ -n "`getXQMakeConf grep QMAKE_LIBS_X11`" ]; then
3507 Platform="Qt for Linux/X11"
3511 echo "This is the $Platform ${EditionString} Edition."
3514 if [ "$Edition" = "OpenSource" ]; then
3516 echo "You are licensed to use this software under the terms of"
3517 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
3518 if [ -f "$relpath/LICENSE.GPL3" ]; then
3519 echo "You are also licensed to use this software under the terms of"
3520 echo "the GNU General Public License (GPL) versions 3."
3526 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3527 echo "You have already accepted the terms of the $LicenseType license."
3530 if [ -f "$relpath/LICENSE.GPL3" ]; then
3531 echo "Type '3' to view the GNU General Public License version 3."
3533 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
3534 echo "Type 'yes' to accept this license offer."
3535 echo "Type 'no' to decline this license offer."
3537 echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
3541 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
3543 elif [ "$acceptance" = "no" ]; then
3544 echo "You are not licensed to use this software."
3547 elif [ "$acceptance" = "3" ]; then
3548 more "$relpath/LICENSE.GPL3"
3549 elif [ "$acceptance" = "L" ]; then
3550 more "$relpath/LICENSE.LGPL"
3553 elif [ "$Edition" = "Preview" ]; then
3554 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
3557 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3558 echo "You have already accepted the terms of the $LicenseType license."
3561 echo "You are licensed to use this software under the terms of"
3562 echo "the $TheLicense"
3564 echo "Type '?' to read the Preview License."
3565 echo "Type 'yes' to accept this license offer."
3566 echo "Type 'no' to decline this license offer."
3568 echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
3572 if [ "$acceptance" = "yes" ]; then
3574 elif [ "$acceptance" = "no" ] ;then
3575 echo "You are not licensed to use this software."
3578 elif [ "$acceptance" = "?" ]; then
3579 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
3582 elif [ "$Edition" != "OpenSource" ]; then
3583 if [ -n "$ExpiryDate" ]; then
3584 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
3585 [ -z "$ExpiryDate" ] && ExpiryDate="0"
3586 Today=`date +%Y%m%d`
3587 if [ "$Today" -gt "$ExpiryDate" ]; then
3588 case "$LicenseType" in
3589 Commercial|Academic|Educational)
3590 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
3592 echo "NOTICE NOTICE NOTICE NOTICE"
3594 echo " Your support and upgrade period has expired."
3596 echo " You are no longer licensed to use this version of Qt."
3597 echo " Please contact qt-info@nokia.com to renew your support"
3598 echo " and upgrades for this license."
3600 echo "NOTICE NOTICE NOTICE NOTICE"
3605 echo "WARNING WARNING WARNING WARNING"
3607 echo " Your support and upgrade period has expired."
3609 echo " You may continue to use your last licensed release"
3610 echo " of Qt under the terms of your existing license"
3611 echo " agreement. But you are not entitled to technical"
3612 echo " support, nor are you entitled to use any more recent"
3613 echo " Qt releases."
3615 echo " Please contact qt-info@nokia.com to renew your"
3616 echo " support and upgrades for this license."
3618 echo "WARNING WARNING WARNING WARNING"
3625 echo "NOTICE NOTICE NOTICE NOTICE"
3627 echo " Your Evaluation license has expired."
3629 echo " You are no longer licensed to use this software. Please"
3630 echo " contact qt-info@nokia.com to purchase license, or install"
3631 echo " the Qt Open Source Edition if you intend to develop free"
3634 echo "NOTICE NOTICE NOTICE NOTICE"
3641 TheLicense=`head -n 1 "$outpath/LICENSE"`
3643 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3644 echo "You have already accepted the terms of the $TheLicense."
3647 echo "You are licensed to use this software under the terms of"
3648 echo "the $TheLicense."
3650 echo "Type '?' to view the $TheLicense."
3651 echo "Type 'yes' to accept this license offer."
3652 echo "Type 'no' to decline this license offer."
3654 echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
3658 if [ "$acceptance" = "yes" ]; then
3660 elif [ "$acceptance" = "no" ]; then
3661 echo "You are not licensed to use this software."
3664 else [ "$acceptance" = "?" ]
3665 more "$outpath/LICENSE"
3670 # this should be moved somewhere else
3673 AIX_VERSION=`uname -v`
3674 if [ "$AIX_VERSION" -lt "5" ]; then
3675 QMakeVar add QMAKE_LIBS_X11 -lbind
3682 #-------------------------------------------------------------------------------
3683 # generate qconfig.cpp
3684 #-------------------------------------------------------------------------------
3685 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
3687 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3689 static const char qt_configure_licensee_str [256 + 12] = "qt_lcnsuser=$Licensee";
3690 static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$Edition";
3692 /* Installation date */
3693 static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`";
3695 /* Installation Info */
3696 static const char qt_configure_prefix_path_strs[][256 + 12] = {
3697 "qt_prfxpath=$QT_INSTALL_PREFIX",
3698 "qt_docspath=$QT_INSTALL_DOCS",
3699 "qt_hdrspath=$QT_INSTALL_HEADERS",
3700 "qt_libspath=$QT_INSTALL_LIBS",
3701 "qt_binspath=$QT_INSTALL_BINS",
3702 "qt_plugpath=$QT_INSTALL_PLUGINS",
3703 "qt_impspath=$QT_INSTALL_IMPORTS",
3704 "qt_datapath=$QT_INSTALL_DATA",
3705 "qt_trnspath=$QT_INSTALL_TRANSLATIONS",
3706 "qt_xmplpath=$QT_INSTALL_EXAMPLES",
3707 "qt_tstspath=$QT_INSTALL_TESTS",
3708 #ifdef QT_BUILD_QMAKE
3709 "qt_ssrtpath=$CFG_SYSROOT",
3710 "qt_hpfxpath=$QT_HOST_PREFIX",
3711 "qt_hbinpath=$QT_HOST_BINS",
3712 "qt_hdatpath=$QT_HOST_DATA",
3715 static const char qt_configure_settings_path_str[256 + 12] = "qt_stngpath=$QT_INSTALL_SETTINGS";
3718 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3720 /* strlen( "qt_lcnsxxxx" ) == 12 */
3721 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
3722 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
3724 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
3727 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
3728 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
3729 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
3731 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
3732 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
3733 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
3736 # -----------------------------------------------------------------------------
3737 if [ "$LicenseType" = "Evaluation" ]; then
3738 EVALKEY=qt_qevalkey=$LicenseKeyExt
3739 elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then
3740 EVALKEY=qt_qevalkey=
3743 if [ -n "$EVALKEY" ]; then
3744 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
3745 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
3746 /* Evaluation license key */
3747 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
3749 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
3753 # -----------------------------------------------------------------------------
3755 # -----------------------------------------------------------------------------
3758 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
3760 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
3761 if [ "$OPT_SHADOW" = "yes" ]; then
3762 "$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
3763 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
3764 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
3768 # $1: input variable name (awk regexp)
3769 # $2: optional output variable name
3770 # $3: optional value transformation (sed command)
3771 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
3772 # is where the resulting variable is written to
3773 setBootstrapVariable()
3775 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
3779 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
3780 echo "Creating qmake. Please wait..."
3783 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
3784 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
3785 if [ -f "$QCONFIG_H" ]; then
3786 OLD_QCONFIG_H=$QCONFIG_H
3787 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
3790 # create temporary qconfig.h for compiling qmake, if it doesn't exist
3791 # when building qmake, we use #defines for the install paths,
3792 # however they are real functions in the library
3793 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
3794 mkdir -p "$outpath/src/corelib/global"
3795 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
3796 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
3799 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
3801 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
3802 rm -rf mkspecs/default
3803 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
3804 mkdir -p "$outpath/qmake" || exit
3806 for mkfile in GNUmakefile Makefile; do
3809 in_mkfile="${mkfile}.in"
3810 if [ "$mkfile" = "Makefile" ]; then
3811 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
3812 # (cd qmake && qmake) >/dev/null 2>&1 && continue
3814 in_mkfile="${mkfile}.unix"
3816 in_mkfile="$relpath/qmake/$in_mkfile"
3817 mkfile="$outpath/qmake/$mkfile"
3818 if [ -f "$mkfile" ]; then
3819 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
3822 [ -f "$in_mkfile" ] || continue
3824 echo "########################################################################" > "$mkfile"
3825 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
3826 echo "########################################################################" >> "$mkfile"
3829 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
3830 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
3831 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
3833 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
3834 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
3837 [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
3838 setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
3839 setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
3840 setBootstrapVariable QMAKE_CFLAGS
3841 setBootstrapVariable QMAKE_CXXFLAGS
3842 setBootstrapVariable QMAKE_LFLAGS
3844 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
3845 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
3846 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
3848 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
3849 setBootstrapVariable QMAKE_CFLAGS_RELEASE
3850 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
3851 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
3852 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
3853 elif [ "$CFG_DEBUG" = "yes" ]; then
3854 setBootstrapVariable QMAKE_CFLAGS_DEBUG
3855 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
3856 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
3857 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
3860 if [ -n "$RPATH_FLAGS" ] && [ -n "`getQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
3861 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" QMAKE_LFLAGS_RPATH
3862 for rpath in $RPATH_FLAGS; do
3863 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
3866 if [ "$BUILD_ON_MAC" = "yes" ]; then
3867 echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
3868 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
3869 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
3870 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
3871 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
3872 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
3873 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
3874 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
3875 if [ '!' -z "$CFG_SDK" ]; then
3876 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
3877 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
3878 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
3879 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
3880 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
3883 if [ '!' -z "$D_FLAGS" ]; then
3884 for DEF in $D_FLAGS; do
3885 EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
3888 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
3889 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
3890 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
3891 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
3893 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
3894 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
3895 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
3896 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
3897 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
3898 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
3899 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
3900 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
3901 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
3902 -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
3904 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
3905 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
3906 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
3907 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
3912 QMAKE_BUILD_ERROR=no
3913 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
3914 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
3915 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
3916 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
3919 #-------------------------------------------------------------------------------
3920 # tests that need qmake
3921 #-------------------------------------------------------------------------------
3923 #-------------------------------------------------------------------------------
3924 # determine the target and host architectures
3925 #-------------------------------------------------------------------------------
3927 # Use config.tests/arch/arch.pro to has the compiler tell us what the target architecture is
3928 CFG_ARCH=`"$outpath/bin/qmake" -spec "$XQMAKESPEC" -o /dev/null "$relpath/config.tests/arch/arch.pro" 2>&1 | sed -n -e 's,^Project MESSAGE:.*Architecture: \([a-zA-Z0-9_]*\).*,\1,p'`
3930 [ -z "$CFG_ARCH" ] && CFG_ARCH="unknown"
3931 if [ "$QMAKESPEC" != "$XQMAKESPEC" ]; then
3932 # Do the same test again, using the host compiler
3933 CFG_HOST_ARCH=`"$outpath/bin/qmake" -spec "$QMAKESPEC" -o /dev/null "$relpath/config.tests/arch/arch.pro" 2>&1 | sed -n -e 's,^Project MESSAGE:.*Architecture: \([a-zA-Z0-9_]*\).*,\1,p'`
3934 [ -z "$CFG_HOST_ARCH" ] && CFG_HOST_ARCH="unknown"
3936 # not cross compiling, host == target
3937 CFG_HOST_ARCH="$CFG_ARCH"
3940 if [ "$OPT_VERBOSE" = "yes" ]; then
3941 echo "System architecture: '$CFG_ARCH'"
3942 if [ "$PLATFORM_QPA" = "yes" ]; then
3943 echo "Host architecture: '$CFG_HOST_ARCH'"
3947 #-------------------------------------------------------------------------------
3948 # functionality tests
3949 #-------------------------------------------------------------------------------
3951 # detect availability of float math.h functions
3952 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
3953 CFG_USE_FLOATMATH=yes
3955 CFG_USE_FLOATMATH=no
3958 # detect mmx support
3959 if [ "${CFG_MMX}" = "auto" ]; then
3960 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mmx "mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
3967 # detect 3dnow support
3968 if [ "${CFG_3DNOW}" = "auto" ]; then
3969 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/3dnow "3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
3976 # detect sse support
3977 if [ "${CFG_SSE}" = "auto" ]; then
3978 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse "sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
3985 # detect sse2 support
3986 if [ "${CFG_SSE2}" = "auto" ]; then
3987 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
3994 # detect sse3 support
3995 if [ "${CFG_SSE3}" = "auto" ]; then
3996 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse3 "sse3" $L_FLAGS $I_FLAGS $l_FLAGS "-msse3"; then
4003 # detect ssse3 support
4004 if [ "${CFG_SSSE3}" = "auto" ]; then
4005 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ssse3 "ssse3" $L_FLAGS $I_FLAGS $l_FLAGS "-mssse3"; then
4012 # detect sse4.1 support
4013 if [ "${CFG_SSE4_1}" = "auto" ]; then
4014 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
4021 # detect sse4.2 support
4022 if [ "${CFG_SSE4_2}" = "auto" ]; then
4023 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
4030 # detect avx support
4031 if [ "${CFG_AVX}" = "auto" ]; then
4032 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx "avx" $L_FLAGS $I_FLAGS $l_FLAGS "-mavx"; then
4039 # check iWMMXt support
4040 if [ "$CFG_IWMMXT" = "yes" ]; then
4041 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
4042 if [ $? != "0" ]; then
4043 echo "The iWMMXt functionality test failed!"
4044 echo " Please make sure your compiler supports iWMMXt intrinsics!"
4049 # detect neon support
4050 if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
4051 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
4056 elif [ "$CFG_ARCH" != "arm" ]; then
4060 # detect mips_dsp support
4061 if [ "${CFG_ARCH}" = "mips" ] && [ "${CFG_MIPS_DSP}" = "yes" ]; then
4067 # detect mips_dspr2 support
4068 if [ "${CFG_ARCH}" = "mips" ] && [ "${CFG_MIPS_DSPR2}" = "yes" ]; then
4074 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
4077 if [ "$CFG_ZLIB" = "no" ]; then
4078 # Note: Qt no longer support builds without zlib
4079 # So we force a "no" to be "auto" here.
4080 # If you REALLY really need no zlib support, you can still disable
4081 # it by doing the following:
4082 # add "no-zlib" to mkspecs/qconfig.pri
4083 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
4085 # There's no guarantee that Qt will build under those conditions
4090 if [ "$CFG_ZLIB" = "auto" ]; then
4091 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
4098 if [ "$CFG_LARGEFILE" = "auto" ]; then
4099 #Large files should be enabled for all Linux systems
4103 if [ "$CFG_GUI" = "no" ]; then
4104 QPA_PLATFORM_GUARD=no
4107 # detect how jpeg should be built
4108 if [ "$CFG_JPEG" = "auto" ]; then
4109 if [ "$CFG_SHARED" = "yes" ]; then
4116 if [ "$CFG_LIBJPEG" = "auto" ]; then
4117 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
4124 # detect how gif should be built
4125 if [ "$CFG_GIF" = "auto" ]; then
4126 if [ "$CFG_SHARED" = "yes" ]; then
4134 if [ "$CFG_LIBPNG" = "auto" ]; then
4135 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
4142 # detect accessibility
4143 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4144 CFG_ACCESSIBILITY=yes
4147 if [ "$CFG_EGLFS" = "yes" ]; then
4148 if [ "$CFG_EGL" = "no" ]; then
4149 echo "The EGLFS plugin requires EGL support and cannot be built"
4155 # auto-detect SQL-modules support
4156 for _SQLDR in $CFG_SQL_AVAILABLE; do
4159 if [ "$CFG_SQL_mysql" != "no" ]; then
4160 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
4161 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4162 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4163 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4164 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4165 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4166 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4168 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4169 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4170 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4171 echo " You need MySql 4 or higher."
4172 echo " If you believe this message is in error you may use the continue"
4173 echo " switch (-continue) to $0 to continue."
4178 QT_LFLAGS_MYSQL_R=""
4182 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
4183 QMakeVar add CONFIG use_libmysqlclient_r
4184 if [ "$CFG_SQL_mysql" = "auto" ]; then
4185 CFG_SQL_mysql=plugin
4187 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
4188 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
4189 if [ "$CFG_SQL_mysql" = "auto" ]; then
4190 CFG_SQL_mysql=plugin
4193 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4194 echo "MySQL support cannot be enabled due to functionality tests!"
4195 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4196 echo " If you believe this message is in error you may use the continue"
4197 echo " switch (-continue) to $0 to continue."
4202 QT_LFLAGS_MYSQL_R=""
4210 if [ "$CFG_SQL_psql" != "no" ]; then
4211 # Be careful not to use native pg_config when cross building.
4212 if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
4213 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
4214 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
4216 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
4217 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
4218 # But, respect PSQL_LIBS if set
4219 [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
4220 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
4221 if [ "$CFG_SQL_psql" = "auto" ]; then
4225 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4226 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4227 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4228 echo " If you believe this message is in error you may use the continue"
4229 echo " switch (-continue) to $0 to continue."
4240 if [ "$CFG_SQL_odbc" != "no" ]; then
4241 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
4242 if [ "$CFG_SQL_odbc" = "auto" ]; then
4246 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
4247 QT_LFLAGS_ODBC="-liodbc"
4248 if [ "$CFG_SQL_odbc" = "auto" ]; then
4252 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4253 echo "ODBC support cannot be enabled due to functionality tests!"
4254 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4255 echo " If you believe this message is in error you may use the continue"
4256 echo " switch (-continue) to $0 to continue."
4266 if [ "$CFG_SQL_oci" != "no" ]; then
4267 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
4268 if [ "$CFG_SQL_oci" = "auto" ]; then
4272 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4273 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4274 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4275 echo " If you believe this message is in error you may use the continue"
4276 echo " switch (-continue) to $0 to continue."
4285 if [ "$CFG_SQL_tds" != "no" ]; then
4286 [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
4287 [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
4288 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
4289 if [ "$CFG_SQL_tds" = "auto" ]; then
4293 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4294 echo "TDS support cannot be enabled due to functionality tests!"
4295 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4296 echo " If you believe this message is in error you may use the continue"
4297 echo " switch (-continue) to $0 to continue."
4306 if [ "$CFG_SQL_db2" != "no" ]; then
4307 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
4308 if [ "$CFG_SQL_db2" = "auto" ]; then
4312 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4313 echo "ODBC support cannot be enabled due to functionality tests!"
4314 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4315 echo " If you believe this message is in error you may use the continue"
4316 echo " switch (-continue) to $0 to continue."
4325 if [ "$CFG_SQL_ibase" != "no" ]; then
4326 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
4327 if [ "$CFG_SQL_ibase" = "auto" ]; then
4328 CFG_SQL_ibase=plugin
4331 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4332 echo "InterBase support cannot be enabled due to functionality tests!"
4333 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4334 echo " If you believe this message is in error you may use the continue"
4335 echo " switch (-continue) to $0 to continue."
4344 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4345 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
4346 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4347 CFG_SQL_sqlite2=plugin
4350 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4351 echo "SQLite2 support cannot be enabled due to functionality tests!"
4352 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4353 echo " If you believe this message is in error you may use the continue"
4354 echo " switch (-continue) to $0 to continue."
4363 if [ "$CFG_SQL_sqlite" != "no" ]; then
4364 SQLITE_AUTODETECT_FAILED="no"
4365 if [ "$CFG_SQLITE" = "system" ]; then
4366 if [ -n "$PKG_CONFIG" ]; then
4367 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4368 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4370 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
4371 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4372 CFG_SQL_sqlite=plugin
4374 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4376 SQLITE_AUTODETECT_FAILED="yes"
4379 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4380 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4381 CFG_SQL_sqlite=plugin
4384 SQLITE_AUTODETECT_FAILED="yes"
4388 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4389 echo "SQLite support cannot be enabled due to functionality tests!"
4390 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4391 echo " If you believe this message is in error you may use the continue"
4392 echo " switch (-continue) to $0 to continue."
4398 if [ "$OPT_VERBOSE" = "yes" ]; then
4399 echo "unknown SQL driver: $_SQLDR"
4405 # auto-detect NIS support
4406 if [ "$CFG_NIS" != "no" ]; then
4407 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
4410 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4411 echo "NIS support cannot be enabled due to functionality tests!"
4412 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4413 echo " If you believe this message is in error you may use the continue"
4414 echo " switch (-continue) to $0 to continue."
4422 # auto-detect CUPS support
4423 if [ "$CFG_CUPS" != "no" ]; then
4424 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
4427 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4428 echo "Cups support cannot be enabled due to functionality tests!"
4429 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4430 echo " If you believe this message is in error you may use the continue"
4431 echo " switch (-continue) to $0 to continue."
4439 # auto-detect iconv(3) support
4440 if [ "$CFG_ICONV" != "no" ]; then
4441 if [ "$XPLATFORM_MINGW" = "yes" ]; then
4443 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
4445 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
4447 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
4450 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4451 echo "Iconv support cannot be enabled due to functionality tests!"
4452 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4453 echo " If you believe this message is in error you may use the continue"
4454 echo " switch (-continue) to $0 to continue."
4462 # auto-detect libdbus-1 support
4463 if [ "$CFG_DBUS" != "no" ]; then
4464 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
4465 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4466 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4468 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
4469 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
4470 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
4471 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
4473 if [ "$CFG_DBUS" = "auto" ]; then
4475 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4476 # CFG_DBUS is "yes" or "linked" here
4478 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4479 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4480 echo " If you believe this message is in error you may use the continue"
4481 echo " switch (-continue) to $0 to continue."
4488 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
4490 # auto-detect Glib support
4491 if [ "$CFG_GLIB" != "no" ]; then
4492 if [ -n "$PKG_CONFIG" ]; then
4493 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4494 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4496 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
4498 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
4499 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
4501 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4502 echo "Glib support cannot be enabled due to functionality tests!"
4503 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4504 echo " If you believe this message is in error you may use the continue"
4505 echo " switch (-continue) to $0 to continue."
4514 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4515 if [ -n "$PKG_CONFIG" ]; then
4516 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4517 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4519 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
4521 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
4522 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
4524 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4525 echo "Gstreamer support cannot be enabled due to functionality tests!"
4526 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4527 echo " If you believe this message is in error you may use the continue"
4528 echo " switch (-continue) to $0 to continue."
4534 elif [ "$CFG_GLIB" = "no" ]; then
4538 # auto-detect libicu support
4539 if [ "$CFG_ICU" != "no" ]; then
4540 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $l_FLAGS; then
4541 [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
4543 if [ "$CFG_ICU" = "auto" ]; then
4545 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4548 echo "The ICU library support cannot be enabled."
4549 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4550 echo " If you believe this message is in error you may use the continue"
4551 echo " switch (-continue) to $0 to continue."
4557 # Auto-detect PulseAudio support
4558 if [ "$CFG_PULSEAUDIO" != "no" ]; then
4559 if [ -n "$PKG_CONFIG" ]; then
4560 QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4561 QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4563 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
4565 QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
4566 QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
4568 if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4569 echo "PulseAudio support cannot be enabled due to functionality tests!"
4570 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4571 echo " If you believe this message is in error you may use the continue"
4572 echo " switch (-continue) to $0 to continue."
4582 if [ "$PLATFORM_X11" = "yes" -a "$CFG_GUI" != "no" ]; then
4583 x11tests="$relpath/config.tests/x11"
4586 # work around broken X11 headers when using GCC 2.95 or later
4588 "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE=yes
4589 if [ $NOTYPE = "yes" ]; then
4590 QMakeVar add QMAKE_CXXFLAGS -fpermissive
4591 X11TESTS_FLAGS="$X11TESTS_FLAGS -fpermissive"
4594 # Check we actually have X11 :-)
4595 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4596 if [ $? != "0" ]; then
4597 echo "Basic XLib functionality test failed!"
4598 echo " You might need to modify the include and library search paths by editing"
4599 echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
4605 if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
4606 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4607 if [ "$CFG_GUI" = "no" ]; then
4608 if [ "$CFG_OPENGL" = "auto" ]; then
4611 if [ "$CFG_OPENGL" != "no" ]; then
4612 echo "OpenGL enabled, but GUI disabled."
4613 echo " You might need to either enable the GUI or disable OpenGL"
4617 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4618 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
4620 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
4623 if [ "$CFG_OPENGL" = "yes" ]; then
4624 echo "All the OpenGL functionality tests 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}."
4634 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4635 if [ "$CFG_OPENGL" = "desktop" ]; then
4636 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4637 if [ $? != "0" ]; then
4638 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4645 elif [ "$CFG_OPENGL" = "es2" ]; then
4647 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
4648 if [ $? != "0" ]; then
4649 echo "The OpenGL ES 2.0 functionality test failed!"
4650 echo " You might need to modify the include and library search paths by editing"
4651 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4652 echo " ${XQMAKESPEC}."
4655 elif [ "$CFG_OPENGL" = "desktop" ]; then
4656 # Desktop OpenGL support
4657 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4658 if [ $? != "0" ]; then
4659 echo "The OpenGL functionality test failed!"
4660 echo " You might need to modify the include and library search paths by editing"
4661 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4662 echo " ${XQMAKESPEC}."
4667 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4668 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4669 if [ $? != "0" ]; then
4670 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4677 fi # X11/MINGW OpenGL
4680 if [ "$PLATFORM_X11" = "yes" ]; then
4681 # auto-detect Xcursor support
4682 if [ "$CFG_XCURSOR" != "no" ]; then
4683 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
4684 if [ "$CFG_XCURSOR" != "runtime" ]; then
4688 if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4689 echo "Xcursor support cannot be enabled due to functionality tests!"
4690 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4691 echo " If you believe this message is in error you may use the continue"
4692 echo " switch (-continue) to $0 to continue."
4700 # auto-detect Xfixes support
4701 if [ "$CFG_XFIXES" != "no" ]; then
4702 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xfixes "Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
4703 if [ "$CFG_XFIXES" != "runtime" ]; then
4707 if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4708 echo "Xfixes support cannot be enabled due to functionality tests!"
4709 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4710 echo " If you believe this message is in error you may use the continue"
4711 echo " switch (-continue) to $0 to continue."
4719 # auto-detect Xrandr support (resize and rotate extension)
4720 if [ "$CFG_XRANDR" != "no" ]; then
4721 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
4722 if [ "$CFG_XRANDR" != "runtime" ]; then
4726 if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4727 echo "Xrandr support cannot be enabled due to functionality tests!"
4728 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4729 echo " If you believe this message is in error you may use the continue"
4730 echo " switch (-continue) to $0 to continue."
4738 # auto-detect Xrender support
4739 if [ "$CFG_XRENDER" != "no" ]; then
4740 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
4743 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4744 echo "Xrender support cannot be enabled due to functionality tests!"
4745 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4746 echo " If you believe this message is in error you may use the continue"
4747 echo " switch (-continue) to $0 to continue."
4755 # auto-detect MIT-SHM support
4756 if [ "$CFG_MITSHM" != "no" ]; then
4757 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
4760 if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4761 echo "MITSHM support cannot be enabled due to functionality tests!"
4762 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4763 echo " If you believe this message is in error you may use the continue"
4764 echo " switch (-continue) to $0 to continue."
4772 # auto-detect Session Management support
4773 if [ "$CFG_SM" = "auto" ]; then
4774 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
4777 if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4778 echo "Session Management support cannot be enabled due to functionality tests!"
4779 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4780 echo " If you believe this message is in error you may use the continue"
4781 echo " switch (-continue) to $0 to continue."
4789 # auto-detect SHAPE support
4790 if [ "$CFG_XSHAPE" != "no" ]; then
4791 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
4794 if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4795 echo "XShape support cannot be enabled due to functionality tests!"
4796 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4797 echo " If you believe this message is in error you may use the continue"
4798 echo " switch (-continue) to $0 to continue."
4806 # auto-detect XVideo support
4807 if [ "$CFG_XVIDEO" != "no" ]; then
4808 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
4811 if [ "$CFG_XVIDEO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4812 echo "XVideo support cannot be enabled due to functionality tests!"
4813 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4814 echo " If you believe this message is in error you may use the continue"
4815 echo " switch (-continue) to $0 to continue."
4823 # auto-detect XSync support
4824 if [ "$CFG_XSYNC" != "no" ]; then
4825 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
4828 if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4829 echo "XSync support cannot be enabled due to functionality tests!"
4830 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4831 echo " If you believe this message is in error you may use the continue"
4832 echo " switch (-continue) to $0 to continue."
4840 # auto-detect Xinerama support
4841 if [ "$CFG_XINERAMA" != "no" ]; then
4842 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
4843 if [ "$CFG_XINERAMA" != "runtime" ]; then
4847 if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4848 echo "Xinerama support cannot be enabled due to functionality tests!"
4849 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4850 echo " If you believe this message is in error you may use the continue"
4851 echo " switch (-continue) to $0 to continue."
4859 # auto-detect Xinput support
4860 if [ "$CFG_XINPUT" != "no" ]; then
4861 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
4862 if [ "$CFG_XINPUT" != "runtime" ]; then
4866 if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4867 echo "Tablet and Xinput support cannot be enabled due to functionality tests!"
4868 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4869 echo " If you believe this message is in error you may use the continue"
4870 echo " switch (-continue) to $0 to continue."
4878 # auto-detect XKB support
4879 if [ "$CFG_XKB" != "no" ]; then
4880 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
4883 if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4884 echo "XKB support cannot be enabled due to functionality tests!"
4885 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4886 echo " If you believe this message is in error you may use the continue"
4887 echo " switch (-continue) to $0 to continue."
4895 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
4896 if [ -n "$PKG_CONFIG" ]; then
4897 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
4898 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
4900 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
4902 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
4903 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
4905 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4906 echo "Gtk theme support cannot be enabled due to functionality tests!"
4907 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4908 echo " If you believe this message is in error you may use the continue"
4909 echo " switch (-continue) to $0 to continue."
4915 elif [ "$CFG_GLIB" = "no" ]; then
4920 # auto-detect FontConfig support
4921 if [ "$CFG_FONTCONFIG" != "no" ]; then
4922 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
4923 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
4924 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
4926 QT_CFLAGS_FONTCONFIG=
4927 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
4929 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
4931 QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
4932 QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
4933 CFG_LIBFREETYPE=system
4935 if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4936 echo "FontConfig support cannot be enabled due to functionality tests!"
4937 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4938 echo " If you believe this message is in error you may use the continue"
4939 echo " switch (-continue) to $0 to continue."
4948 if [ "$BUILD_ON_MAC" = "yes" ]; then
4949 if [ "$CFG_PHONON" != "no" ]; then
4950 # Always enable Phonon (unless it was explicitly disabled)
4954 if [ "$CFG_COREWLAN" = "auto" ]; then
4955 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
4963 if [ "$PLATFORM_QPA" = "yes" ]; then
4964 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4965 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4966 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
4968 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
4971 if [ "$CFG_OPENGL" = "yes" ]; then
4972 echo "All the OpenGL functionality tests failed!"
4973 echo " You might need to modify the include and library search paths by editing"
4974 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4975 echo " ${XQMAKESPEC}."
4980 elif [ "$CFG_OPENGL" = "es2" ]; then
4982 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
4983 QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4984 QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
4985 QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
4986 QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
4987 QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
4988 QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2"
4989 QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2"
4992 "$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
4993 if [ $? != "0" ]; then
4994 echo "The OpenGL ES 2.0 functionality test failed!"
4995 echo " You might need to modify the include and library search paths by editing"
4996 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4997 echo " ${XQMAKESPEC}."
5000 elif [ "$CFG_OPENGL" = "desktop" ]; then
5001 # Desktop OpenGL support
5002 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5003 if [ $? != "0" ]; then
5004 echo "The OpenGL functionality test failed!"
5005 echo " You might need to modify the include and library search paths by editing"
5006 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5007 echo " ${XQMAKESPEC}."
5012 # auto-detect FontConfig support
5013 if [ "$CFG_FONTCONFIG" != "no" ]; then
5014 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
5015 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
5016 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
5018 QT_CFLAGS_FONTCONFIG=
5019 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5021 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
5022 QT_CONFIG="$QT_CONFIG fontconfig"
5023 QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
5024 QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
5025 CFG_LIBFREETYPE=system
5030 # Save these for a check later
5031 ORIG_CFG_XCB="$CFG_XCB"
5032 ORIG_CFG_EGLFS="$CFG_EGLFS"
5034 if [ "$CFG_LIBUDEV" != "no" ]; then
5035 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libudev 2>/dev/null; then
5036 QMAKE_INCDIR_LIBUDEV=`$PKG_CONFIG --cflags-only-I libudev 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
5037 QMAKE_LIBS_LIBUDEV=`$PKG_CONFIG --libs libudev 2>/dev/null`
5038 QMakeVar set QMAKE_INCDIR_LIBUDEV "$QMAKE_INCDIR_LIBUDEV"
5039 QMakeVar set QMAKE_LIBS_LIBUDEV "$QMAKE_LIBS_LIBUDEV"
5041 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
5043 QT_CONFIG="$QT_CONFIG libudev"
5044 elif [ "$CFG_LIBUDEV" = "yes" ]; then
5045 echo "The libudev functionality test failed!"
5049 QMakeVar add DEFINES QT_NO_LIBUDEV
5053 if [ "$CFG_EVDEV" != "no" ]; then
5054 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/evdev "evdev" $L_FLAGS $I_FLAGS $l_FLAGS; then
5056 QT_CONFIG="$QT_CONFIG evdev"
5057 elif [ "$CFG_EVDEV" = "yes" ]; then
5058 echo "The evdev functionality test failed!"
5062 QMakeVar add DEFINES QT_NO_EVDEV
5066 # Check we actually have X11 :-)
5067 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
5068 QT_CONFIG="$QT_CONFIG xlib"
5071 # auto-detect Xrender support
5072 if [ "$CFG_XRENDER" != "no" ]; then
5073 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
5075 QT_CONFIG="$QT_CONFIG xrender"
5077 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5078 echo "Xrender support cannot be enabled due to functionality tests!"
5079 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5080 echo " If you believe this message is in error you may use the continue"
5081 echo " switch (-continue) to $0 to continue."
5089 if [ "$CFG_XCB" != "no" ]; then
5090 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xcb >= 1.5" 2>/dev/null; then
5091 QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`"
5092 QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`"
5094 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
5096 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
5097 QT_CONFIG="$QT_CONFIG xcb-render"
5100 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
5102 QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
5105 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
5106 QT_CONFIG="$QT_CONFIG xcb-xlib"
5109 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
5110 # auto-detect XInput2/Xinput support
5111 if [ "$CFG_XINPUT2" != "no" ]; then
5112 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
5116 if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5117 echo "XInput2 support cannot be enabled due to functionality tests!"
5118 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5119 echo " If you believe this message is in error you may use the continue"
5120 echo " switch (-continue) to $0 to continue."
5129 if [ "$CFG_XCB" = "yes" ]; then
5130 echo "The XCB test failed!"
5131 echo " You might need to install dependency packages."
5132 echo " See src/plugins/platforms/xcb/README."
5136 QMakeVar add DEFINES QT_NO_XCB
5140 # Detect libxkbcommon
5141 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
5142 QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
5143 QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
5144 QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
5145 QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
5147 QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
5151 if [ "$CFG_EGL" != "no" ]; then
5152 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then
5153 QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
5154 QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null`
5155 QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null`
5156 QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
5157 QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
5158 fi # detect EGL support
5159 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
5161 elif [ "$CFG_EGL" = "yes" ]; then
5162 echo " The EGL functionality test failed; EGL is required by some QPA plugins to manage contexts & surfaces."
5163 echo " You might need to modify the include and library search paths by editing"
5164 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in ${XQMAKESPEC}."
5171 if [ "$CFG_EGLFS" != "no" ]; then
5172 CFG_EGLFS="$CFG_EGL"
5175 if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
5176 QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
5177 QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
5178 QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
5181 if [ "$BUILD_ON_MAC" = "yes" ]; then
5182 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
5183 QT_CONFIG="$QT_CONFIG coreservices"
5185 QMakeVar add DEFINES QT_NO_CORESERVICES
5189 if [ "$PLATFORM_QPA" = "yes" ] && [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ]; then
5190 if [ "$CFG_XCB" = "no" ] && [ "$CFG_EGLFS" = "no" ]; then
5191 if [ "$QPA_PLATFORM_GUARD" = "yes" ] &&
5192 ( [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_EGLFS" = "auto" ] ); then
5193 echo "No QPA platform plugin enabled!"
5194 echo " If you really want to build without a QPA platform plugin you must pass"
5195 echo " -no-xcb and -no-eglfs to configure. Doing this will"
5196 echo " produce a Qt that cannot run GUI applications."
5197 echo " The dependencies needed for xcb to build are listed in"
5198 echo " src/plugins/platforms/xcb/README"
5206 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
5209 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
5210 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
5211 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
5212 CFG_LIBFREETYPE=system
5219 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
5223 if [ "$CFG_STL" != "no" ]; then
5224 if [ "$HAVE_STL" = "yes" ]; then
5227 if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5228 echo "STL support cannot be enabled due to functionality tests!"
5229 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5230 echo " If you believe this message is in error you may use the continue"
5231 echo " switch (-continue) to $0 to continue."
5239 # detect POSIX clock_gettime()
5240 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
5241 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
5242 CFG_CLOCK_GETTIME=yes
5244 CFG_CLOCK_GETTIME=no
5248 # detect POSIX monotonic clocks
5249 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
5250 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
5251 CFG_CLOCK_MONOTONIC=yes
5253 CFG_CLOCK_MONOTONIC=no
5255 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
5256 CFG_CLOCK_MONOTONIC=no
5260 if [ "$CFG_MREMAP" = "auto" ]; then
5261 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
5268 # find if the platform provides getaddrinfo (ipv6 dns lookups)
5269 if [ "$CFG_GETADDRINFO" != "no" ]; then
5270 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
5273 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5274 echo "getaddrinfo support cannot be enabled due to functionality tests!"
5275 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5276 echo " If you believe this message is in error you may use the continue"
5277 echo " switch (-continue) to $0 to continue."
5285 # find if the platform provides inotify
5286 if [ "$CFG_INOTIFY" != "no" ]; then
5287 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
5290 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5291 echo "inotify support cannot be enabled due to functionality tests!"
5292 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5293 echo " If you believe this message is in error you may use the continue"
5294 echo " switch (-continue) to $0 to continue."
5302 # find if the platform provides if_nametoindex (ipv6 interface name support)
5303 if [ "$CFG_IPV6IFNAME" != "no" ]; then
5304 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
5307 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5308 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
5309 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5310 echo " If you believe this message is in error you may use the continue"
5311 echo " switch (-continue) to $0 to continue."
5319 # find if the platform provides getifaddrs (network interface enumeration)
5320 if [ "$CFG_GETIFADDRS" != "no" ]; then
5321 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
5324 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5325 echo "getifaddrs support cannot be enabled due to functionality tests!"
5326 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5327 echo " If you believe this message is in error you may use the continue"
5328 echo " switch (-continue) to $0 to continue."
5337 if [ "$CFG_OPENSSL" != "no" ]; then
5338 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
5339 if [ "$CFG_OPENSSL" = "auto" ]; then
5343 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5344 echo "OpenSSL support cannot be enabled due to functionality tests!"
5345 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5346 echo " If you believe this message is in error you may use the continue"
5347 echo " switch (-continue) to $0 to continue."
5356 if [ "$CFG_PCRE" != "qt" ]; then
5357 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pcre "PCRE" $L_FLAGS $I_FLAGS $l_FLAGS; then
5360 if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5361 echo "PCRE support 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."
5372 # detect OpenVG support
5373 if [ "$CFG_OPENVG" != "no" ]; then
5374 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
5375 if [ "$CFG_OPENVG" = "auto" ]; then
5378 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
5379 if [ "$CFG_OPENVG" = "auto" ]; then
5382 CFG_OPENVG_ON_OPENGL=yes
5383 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
5384 if [ "$CFG_OPENVG" = "auto" ]; then
5387 CFG_OPENVG_LC_INCLUDES=yes
5388 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
5389 if [ "$CFG_OPENVG" = "auto" ]; then
5392 CFG_OPENVG_LC_INCLUDES=yes
5393 CFG_OPENVG_ON_OPENGL=yes
5395 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5396 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
5397 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5398 echo " If you believe this message is in error you may use the continue"
5399 echo " switch (-continue) to $0 to continue."
5405 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
5406 CFG_OPENVG_SHIVA=yes
5410 if [ "$CFG_ALSA" = "auto" ]; then
5411 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
5418 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
5419 if [ "$CFG_ARCH" = "arm" ]; then
5420 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
5421 if [ $? != "0" ]; then
5422 CFG_JAVASCRIPTCORE_JIT=no
5425 case "$XPLATFORM" in
5427 CFG_JAVASCRIPTCORE_JIT=no
5433 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
5434 QMakeVar set JAVASCRIPTCORE_JIT yes
5435 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
5436 QMakeVar set JAVASCRIPTCORE_JIT no
5439 if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
5440 CFG_AUDIO_BACKEND=yes
5443 if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
5444 echo "Warning: largefile support cannot be disabled for win32."
5448 #-------------------------------------------------------------------------------
5449 # ask for all that hasn't been auto-detected or specified in the arguments
5450 #-------------------------------------------------------------------------------
5452 # enable dwarf2 support on Mac
5453 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
5454 QT_CONFIG="$QT_CONFIG dwarf2"
5457 # Detect the default arch (x86 or x86_64) on Mac OS X
5458 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$QT_CROSS_COMPILE" = "no" ]; then
5460 case `file "${outpath}/bin/qmake"` in
5468 # unsupported/unknown
5472 if [ -n "$DEFAULT_ARCH" ]; then
5473 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting default Mac OS X architechture to $DEFAULT_ARCH."
5474 QT_CONFIG="$QT_CONFIG $DEFAULT_ARCH"
5475 QMAKE_CONFIG="$QMAKE_CONFIG $DEFAULT_ARCH"
5476 # Make the application arch follow the Qt arch
5477 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $DEFAULT_ARCH"
5482 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
5483 QT_CONFIG="$QT_CONFIG phonon-backend"
5486 # disable accessibility
5487 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
5488 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
5490 QT_CONFIG="$QT_CONFIG accessibility"
5494 if [ "$CFG_EGL" = "yes" ]; then
5495 QT_CONFIG="$QT_CONFIG egl"
5497 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
5501 if [ "$CFG_EGLFS" = "yes" ]; then
5502 QT_CONFIG="$QT_CONFIG eglfs"
5504 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGLFS"
5508 if [ "$CFG_OPENVG" = "no" ]; then
5509 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
5511 QT_CONFIG="$QT_CONFIG openvg"
5512 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
5513 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
5515 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
5516 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
5518 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
5519 QT_CONFIG="$QT_CONFIG shivavg"
5520 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
5525 if [ "$CFG_OPENGL" = "no" ]; then
5526 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
5528 QT_CONFIG="$QT_CONFIG opengl"
5531 if [ "$CFG_OPENGL" = "es2" ]; then
5532 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
5535 if [ "$CFG_OPENGL" = "es2" ]; then
5536 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5537 QT_CONFIG="$QT_CONFIG opengles2"
5540 # safe execution environment
5541 if [ "$CFG_SXE" != "no" ]; then
5542 QT_CONFIG="$QT_CONFIG sxe"
5545 # build up the variables for output
5546 if [ "$CFG_DEBUG" = "yes" ]; then
5547 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
5548 QMAKE_CONFIG="$QMAKE_CONFIG debug"
5549 elif [ "$CFG_DEBUG" = "no" ]; then
5550 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
5551 QMAKE_CONFIG="$QMAKE_CONFIG release"
5553 if [ "$CFG_SHARED" = "yes" ]; then
5554 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
5555 QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
5556 elif [ "$CFG_SHARED" = "no" ]; then
5557 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
5558 QMAKE_CONFIG="$QMAKE_CONFIG static"
5560 if [ "$PLATFORM_QPA" = "yes" ]; then
5561 QMAKE_CONFIG="$QMAKE_CONFIG qpa"
5562 QT_CONFIG="$QT_CONFIG qpa"
5563 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
5564 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5567 if [ "$XPLATFORM_MINGW" != "yes" ]; then
5568 # Do not set this here for Windows. Let qmake do it so
5569 # debug and release precompiled headers are kept separate.
5570 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
5572 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
5573 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
5574 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
5575 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
5576 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5577 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
5579 if [ "$CFG_STL" = "no" ]; then
5580 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STL"
5582 QMAKE_CONFIG="$QMAKE_CONFIG stl"
5584 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
5585 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
5587 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
5588 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
5589 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
5590 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
5591 QMakeVar add QMAKE_CFLAGS -g
5592 QMakeVar add QMAKE_CXXFLAGS -g
5593 QT_CONFIG="$QT_CONFIG separate_debug_info"
5595 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
5596 QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
5598 [ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mmx"
5599 [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow"
5600 [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse"
5601 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
5602 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
5603 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
5604 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
5605 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
5606 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
5607 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
5608 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
5609 if [ "$CFG_ARCH" = "mips" ]; then
5610 [ "$CFG_MIPS_DSP" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dsp"
5611 [ "$CFG_MIPS_DSPR2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dspr2"
5613 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
5614 QT_CONFIG="$QT_CONFIG clock-gettime"
5616 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
5617 QT_CONFIG="$QT_CONFIG clock-monotonic"
5619 if [ "$CFG_MREMAP" = "yes" ]; then
5620 QT_CONFIG="$QT_CONFIG mremap"
5622 if [ "$CFG_GETADDRINFO" = "yes" ]; then
5623 QT_CONFIG="$QT_CONFIG getaddrinfo"
5625 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
5626 QT_CONFIG="$QT_CONFIG ipv6ifname"
5628 if [ "$CFG_GETIFADDRS" = "yes" ]; then
5629 QT_CONFIG="$QT_CONFIG getifaddrs"
5631 if [ "$CFG_INOTIFY" = "yes" ]; then
5632 QT_CONFIG="$QT_CONFIG inotify"
5634 if [ "$CFG_LIBJPEG" = "no" ]; then
5636 elif [ "$CFG_LIBJPEG" = "system" ]; then
5637 QT_CONFIG="$QT_CONFIG system-jpeg"
5639 if [ "$CFG_JPEG" = "no" ]; then
5640 QT_CONFIG="$QT_CONFIG no-jpeg"
5641 elif [ "$CFG_JPEG" = "yes" ]; then
5642 QT_CONFIG="$QT_CONFIG jpeg"
5644 if [ "$CFG_LIBPNG" = "no" ]; then
5647 if [ "$CFG_LIBPNG" = "system" ]; then
5648 QT_CONFIG="$QT_CONFIG system-png"
5650 if [ "$CFG_PNG" = "no" ]; then
5651 QT_CONFIG="$QT_CONFIG no-png"
5652 elif [ "$CFG_PNG" = "yes" ]; then
5653 QT_CONFIG="$QT_CONFIG png"
5655 if [ "$CFG_GIF" = "no" ]; then
5656 QT_CONFIG="$QT_CONFIG no-gif"
5657 elif [ "$CFG_GIF" = "yes" ]; then
5658 QT_CONFIG="$QT_CONFIG gif"
5660 if [ "$CFG_LIBFREETYPE" = "no" ]; then
5661 QT_CONFIG="$QT_CONFIG no-freetype"
5662 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
5663 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
5664 QT_CONFIG="$QT_CONFIG system-freetype"
5666 QT_CONFIG="$QT_CONFIG freetype"
5668 if [ "$CFG_GUI" = "auto" ]; then
5671 if [ "$CFG_GUI" = "no" ]; then
5672 QT_CONFIG="$QT_CONFIG no-gui"
5675 if [ "$CFG_WIDGETS" = "no" ]; then
5676 QT_CONFIG="$QT_CONFIG no-widgets"
5677 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_WIDGETS"
5680 if [ "x$BUILD_ON_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5681 #On Mac we implicitly link against libz, so we
5682 #never use the 3rdparty stuff.
5683 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
5685 if [ "$CFG_ZLIB" = "yes" ]; then
5686 QT_CONFIG="$QT_CONFIG zlib"
5687 elif [ "$CFG_ZLIB" = "system" ]; then
5688 QT_CONFIG="$QT_CONFIG system-zlib"
5691 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
5692 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
5693 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
5694 [ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
5695 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
5696 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
5697 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
5698 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
5699 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
5700 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
5701 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
5702 [ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
5703 [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
5704 [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
5706 if [ "$PLATFORM_X11" = "yes" ]; then
5707 [ "$CFG_SM" = "yes" ] && QT_CONFIG="$QT_CONFIG x11sm"
5709 # for some reason, the following libraries are not always built shared,
5710 # so *every* program/lib (including Qt) has to link against them
5711 if [ "$CFG_XSHAPE" = "yes" ]; then
5712 QT_CONFIG="$QT_CONFIG xshape"
5714 if [ "$CFG_XVIDEO" = "yes" ]; then
5715 QT_CONFIG="$QT_CONFIG xvideo"
5717 if [ "$CFG_XSYNC" = "yes" ]; then
5718 QT_CONFIG="$QT_CONFIG xsync"
5720 if [ "$CFG_XINERAMA" = "yes" ]; then
5721 QT_CONFIG="$QT_CONFIG xinerama"
5722 QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11'
5724 if [ "$CFG_XCURSOR" = "yes" ]; then
5725 QT_CONFIG="$QT_CONFIG xcursor"
5726 QMakeVar set QMAKE_LIBS_X11 '-lXcursor $$QMAKE_LIBS_X11'
5728 if [ "$CFG_XFIXES" = "yes" ]; then
5729 QT_CONFIG="$QT_CONFIG xfixes"
5730 QMakeVar set QMAKE_LIBS_X11 '-lXfixes $$QMAKE_LIBS_X11'
5732 if [ "$CFG_XRANDR" = "yes" ]; then
5733 QT_CONFIG="$QT_CONFIG xrandr"
5734 if [ "$CFG_XRENDER" != "yes" ]; then
5735 # libXrandr uses 1 function from libXrender, so we always have to have it :/
5736 QMakeVar set QMAKE_LIBS_X11 '-lXrandr -lXrender $$QMAKE_LIBS_X11'
5738 QMakeVar set QMAKE_LIBS_X11 '-lXrandr $$QMAKE_LIBS_X11'
5741 if [ "$CFG_XRENDER" = "yes" ]; then
5742 QT_CONFIG="$QT_CONFIG xrender"
5743 QMakeVar set QMAKE_LIBS_X11 '-lXrender $$QMAKE_LIBS_X11'
5745 if [ "$CFG_MITSHM" = "yes" ]; then
5746 QT_CONFIG="$QT_CONFIG mitshm"
5748 if [ "$CFG_FONTCONFIG" = "yes" ]; then
5749 QT_CONFIG="$QT_CONFIG fontconfig"
5751 if [ "$CFG_XINPUT" = "yes" ]; then
5752 QMakeVar set QMAKE_LIBS_X11 '-lXi $$QMAKE_LIBS_X11'
5754 if [ "$CFG_XINPUT" = "yes" ]; then
5755 QT_CONFIG="$QT_CONFIG xinput tablet"
5757 if [ "$CFG_XKB" = "yes" ]; then
5758 QT_CONFIG="$QT_CONFIG xkb"
5762 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS"
5763 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
5764 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
5766 if [ "$PLATFORM_MAC" = "yes" ] && [ "$QT_CROSS_COMPILE" = "no" ]; then
5767 if [ "$CFG_RPATH" = "yes" ]; then
5768 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
5769 # set the default rpath to the library installation directory
5770 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5772 elif [ -z "`getXQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
5773 if [ -n "$RPATH_FLAGS" ]; then
5775 echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
5779 elif [ "$CFG_RPATH" = "yes" ]; then
5780 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
5784 if [ "$CFG_RPATH" = "yes" ]; then
5785 # set the default rpath to the library installation directory
5786 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5788 if [ -n "$RPATH_FLAGS" ]; then
5789 # add the user defined rpaths
5790 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
5794 if [ '!' -z "$I_FLAGS" ]; then
5795 # add the user define include paths
5796 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
5797 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
5800 if [ '!' -z "$W_FLAGS" ]; then
5801 # add the user defined warning flags
5802 QMakeVar add QMAKE_CFLAGS_WARN_ON "$W_FLAGS"
5803 QMakeVar add QMAKE_CXXFLAGS_WARN_ON "$W_FLAGS"
5804 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS"
5807 # turn off exceptions for the compilers that support it
5808 if [ "$XPLATFORM" != "$PLATFORM" ]; then
5809 COMPILER=`echo $XPLATFORM | cut -f 2- -d-`
5811 COMPILER=`echo $PLATFORM | cut -f 2- -d-`
5814 if [ "$CFG_EXCEPTIONS" != "no" ]; then
5815 QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
5818 if [ "$XPLATFORM_MINGW" = "yes" ]; then
5819 # mkspecs/features/win32/default_pre.prf sets "no-rtti".
5820 # Follow default behavior of configure.exe by overriding with "rtti".
5821 QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
5824 if [ "$CFG_ALSA" = "yes" ]; then
5825 QT_CONFIG="$QT_CONFIG alsa"
5828 if [ "$CFG_PULSEAUDIO" = "yes" ]; then
5829 QT_CONFIG="$QT_CONFIG pulseaudio"
5832 if [ "$CFG_COREWLAN" = "yes" ]; then
5833 QT_CONFIG="$QT_CONFIG corewlan"
5836 if [ "$CFG_ICU" = "yes" ]; then
5837 QT_CONFIG="$QT_CONFIG icu"
5840 if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
5841 QT_CONFIG="$QT_CONFIG force_asserts"
5844 if [ "$CFG_PCRE" = "qt" ]; then
5845 QMAKE_CONFIG="$QMAKE_CONFIG pcre"
5849 # Some Qt modules are too advanced in C++ for some old compilers
5850 # Detect here the platforms where they are known to work.
5852 # See Qt documentation for more information on which features are
5853 # supported and on which compilers.
5855 canBuildQtConcurrent="yes"
5856 canUseV8Snapshot="yes"
5858 case "$XPLATFORM" in
5860 # PA-RISC's assembly is too limited
5861 # gcc 3.4 on that platform can't build QtXmlPatterns
5862 # the assembly it generates cannot be compiled
5864 # Check gcc's version
5865 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5869 canBuildQtXmlPatterns="no"
5873 canBuildQtXmlPatterns="no"
5877 unsupported/vxworks-*-g++*)
5880 unsupported/vxworks-*-dcc*)
5882 canBuildQtXmlPatterns="no"
5885 # Check gcc's version
5886 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5894 canBuildQtXmlPatterns="no"
5899 # Check the compiler version
5900 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
5903 canBuildQtXmlPatterns="no"
5904 canBuildQtConcurrent="no"
5908 canBuildQtConcurrent="no"
5914 canBuildQtXmlPatterns="no"
5915 canBuildQtConcurrent="no"
5921 # Get the xlC version
5922 cat > xlcver.c <<EOF
5926 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
5931 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
5932 xlcver=`./xlcver 2>/dev/null`
5935 if [ "$OPT_VERBOSE" = "yes" ]; then
5936 if [ -n "$xlcver" ]; then
5937 echo Found IBM xlC version: $xlcver.
5939 echo Could not determine IBM xlC version, assuming oldest supported.
5946 canBuildQtXmlPatterns="no"
5947 canBuildQtConcurrent="no"
5951 canBuildQtConcurrent="no"
5957 canBuildQtConcurrent="no"
5961 if [ "$CFG_GUI" = "no" ]; then
5962 # WebKit requires QtGui
5966 if [ "$CFG_SHARED" = "no" ]; then
5968 echo "WARNING: Using static linking will disable the WebKit module."
5973 CFG_CONCURRENT="yes"
5974 if [ "$canBuildQtConcurrent" = "no" ]; then
5975 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
5978 QT_CONFIG="$QT_CONFIG concurrent"
5982 if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
5983 QT_CONFIG="$QT_CONFIG audio-backend"
5987 if [ "$CFG_WEBKIT" = "debug" ]; then
5988 QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
5992 QT_CONFIG="$QT_CONFIG v8"
5993 # Detect snapshot support
5994 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
5995 case "$CFG_HOST_ARCH,$CFG_ARCH" in
5998 *) canUseV8Snapshot="no"
6002 if [ -n "$_SBOX_DIR" -a "$CFG_ARCH" = "arm" ]; then
6003 # QEMU crashes when building inside Scratchbox with an ARM target
6004 canUseV8Snapshot="no"
6007 if [ "$CFG_V8SNAPSHOT" = "auto" ]; then
6008 CFG_V8SNAPSHOT="$canUseV8Snapshot"
6010 if [ "$CFG_V8SNAPSHOT" = "yes" -a "$canUseV8Snapshot" = "no" ]; then
6011 echo "Error: V8 snapshot was requested, but is not supported on this platform."
6014 if [ "$CFG_V8SNAPSHOT" = "yes" ]; then
6015 QT_CONFIG="$QT_CONFIG v8snapshot"
6019 if [ "$CFG_DECLARATIVE_DEBUG" = "no" ]; then
6020 QCONFIG_FLAGS="$QCONFIG_FLAGS QDECLARATIVE_NO_DEBUG_PROTOCOL"
6023 if [ "$CFG_EXCEPTIONS" = "no" ]; then
6026 QMakeVar add QMAKE_CFLAGS -fno-exceptions
6027 QMakeVar add QMAKE_CXXFLAGS -fno-exceptions
6028 QMakeVar add QMAKE_LFLAGS -fno-exceptions
6033 QMakeVar add QMAKE_CFLAGS -LANG:exceptions=off
6034 QMakeVar add QMAKE_CXXFLAGS -LANG:exceptions=off
6035 QMakeVar add QMAKE_LFLAGS -LANG:exceptions=off
6042 QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off"
6048 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
6050 case "$COMPILER_VERSION" in
6052 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
6053 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
6054 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
6057 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
6058 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
6059 QT_GCC_PATCH_VERSION=0
6069 #-------------------------------------------------------------------------------
6070 # part of configuration information goes into qconfig.h
6071 #-------------------------------------------------------------------------------
6073 case "$CFG_QCONFIG" in
6075 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
6078 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
6079 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
6080 if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
6081 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
6082 elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
6083 cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
6085 echo "#endif" >>"$tmpconfig"
6089 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6093 # define QT_EDITION $QT_EDITION
6097 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
6098 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
6100 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
6101 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
6104 if [ "$CFG_FRAMEWORK" = "yes" ]; then
6105 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
6108 if [ "$BUILD_ON_MAC" = "yes" ]; then
6109 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6110 #if defined(__LP64__)
6111 # define QT_POINTER_SIZE 8
6113 # define QT_POINTER_SIZE 4
6117 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6118 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
6121 #REDUCE_RELOCATIONS is a elf/unix only thing, so not in windows configure.exe
6122 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
6123 echo "#define QT_REDUCE_RELOCATIONS" >>"$outpath/src/corelib/global/qconfig.h.new"
6127 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6129 if [ "$CFG_DEV" = "yes" ]; then
6130 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
6133 if [ "$PLATFORM_QPA" = "yes" ]; then
6134 # Add QPA to config.h
6135 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
6138 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
6139 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
6142 # Add turned on SQL drivers
6143 for DRIVER in $CFG_SQL_AVAILABLE; do
6144 eval "VAL=\$CFG_SQL_$DRIVER"
6147 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6148 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
6149 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
6152 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
6158 QMakeVar set sql-drivers "$SQL_DRIVERS"
6159 QMakeVar set sql-plugins "$SQL_PLUGINS"
6161 # Add other configuration options to the qconfig.h file
6162 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
6163 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
6164 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
6165 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
6166 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
6167 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
6168 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
6170 # X11/Unix/Mac only configs
6171 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
6172 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
6173 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
6174 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
6175 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
6176 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
6177 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
6178 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
6179 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
6180 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
6181 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
6182 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
6183 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
6184 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
6186 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
6187 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
6188 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
6189 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
6190 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
6191 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
6192 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
6193 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
6194 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
6195 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
6196 [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
6197 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
6198 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
6200 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
6201 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
6202 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
6203 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
6204 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
6205 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
6206 [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
6207 [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
6209 # sort QCONFIG_FLAGS for neatness if we can
6210 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
6211 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
6213 if [ -n "$QCONFIG_FLAGS" ]; then
6214 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6215 #ifndef QT_BOOTSTRAPPED
6218 for cfg in $QCONFIG_FLAGS; do
6219 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
6220 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
6221 # figure out define logic, so we can output the correct
6222 # ifdefs to override the global defines in a project
6224 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
6225 # QT_NO_option can be forcefully turned on by QT_option
6226 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
6227 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
6228 # QT_option can be forcefully turned off by QT_NO_option
6229 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
6232 if [ -z $cfgdNeg ]; then
6233 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6240 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6241 #if defined($cfgd) && defined($cfgdNeg)
6243 #elif !defined($cfgd) && !defined($cfgdNeg)
6250 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6251 #endif // QT_BOOTSTRAPPED
6256 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
6257 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6258 #define QT_VISIBILITY_AVAILABLE
6263 if [ -n "$QT_LIBINFIX" ]; then
6264 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6265 #define QT_LIBINFIX "$QT_LIBINFIX"
6270 # avoid unecessary rebuilds by copying only if qconfig.h has changed
6271 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
6272 rm -f "$outpath/src/corelib/global/qconfig.h.new"
6274 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
6275 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
6276 chmod -w "$outpath/src/corelib/global/qconfig.h"
6277 if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then
6278 ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h"
6282 #-------------------------------------------------------------------------------
6283 # save configuration into qconfig.pri
6284 #-------------------------------------------------------------------------------
6285 QTCONFIG="$outpath/mkspecs/qconfig.pri"
6286 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
6287 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
6288 if [ "$CFG_DEBUG" = "yes" ]; then
6289 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
6290 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6291 QT_CONFIG="$QT_CONFIG release"
6293 QT_CONFIG="$QT_CONFIG debug"
6294 elif [ "$CFG_DEBUG" = "no" ]; then
6295 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
6296 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6297 QT_CONFIG="$QT_CONFIG debug"
6299 QT_CONFIG="$QT_CONFIG release"
6301 if [ "$CFG_STL" = "yes" ]; then
6302 QTCONFIG_CONFIG="$QTCONFIG_CONFIG stl"
6304 if [ "$CFG_FRAMEWORK" = "no" ]; then
6305 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
6307 QT_CONFIG="$QT_CONFIG qt_framework"
6308 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
6310 if [ "$CFG_DEV" = "yes" ]; then
6311 QT_CONFIG="$QT_CONFIG private_tests"
6314 cat >>"$QTCONFIG.tmp" <<EOF
6316 CONFIG += $QTCONFIG_CONFIG
6318 QT_HOST_ARCH = $CFG_HOST_ARCH
6319 QT_EDITION = $Edition
6320 QT_CONFIG += $QT_CONFIG
6323 QT_VERSION = $QT_VERSION
6324 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
6325 QT_MINOR_VERSION = $QT_MINOR_VERSION
6326 QT_PATCH_VERSION = $QT_PATCH_VERSION
6329 QT_LIBINFIX = $QT_LIBINFIX
6330 QT_NAMESPACE = $QT_NAMESPACE
6333 if [ -n "$CFG_SYSROOT" ]; then
6334 echo "# sysroot" >>"$QTCONFIG.tmp"
6335 echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
6336 echo " QMAKE_CFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
6337 echo " QMAKE_CXXFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
6338 echo " QMAKE_LFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
6339 echo "}" >> "$QTCONFIG.tmp"
6340 echo >> "$QTCONFIG.tmp"
6342 if [ -n "$RPATH_FLAGS" ]; then
6343 echo "QMAKE_RPATHDIR += $RPATH_FLAGS" >> "$QTCONFIG.tmp"
6345 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
6346 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
6347 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
6348 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
6351 if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
6352 echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
6353 echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp"
6356 # replace qconfig.pri if it differs from the newly created temp file
6357 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
6358 rm -f "$QTCONFIG.tmp"
6360 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
6363 #-------------------------------------------------------------------------------
6364 # save configuration into qmodule.pri
6365 #-------------------------------------------------------------------------------
6366 QTMODULE="$outpath/mkspecs/qmodule.pri"
6368 echo "CONFIG += create_prl link_prl" >> "$QTMODULE.tmp"
6370 # Ensure we can link to uninistalled libraries
6371 if [ "$BUILD_ON_MAC" != "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
6372 echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
6374 if [ -n "$QT_CFLAGS_PSQL" ]; then
6375 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
6377 if [ -n "$QT_LFLAGS_PSQL" ]; then
6378 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
6380 if [ -n "$QT_CFLAGS_MYSQL" ]; then
6381 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
6383 if [ -n "$QT_LFLAGS_MYSQL" ]; then
6384 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
6386 if [ -n "$QT_CFLAGS_SQLITE" ]; then
6387 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
6389 if [ -n "$QT_LFLAGS_SQLITE" ]; then
6390 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
6392 if [ -n "$QT_LFLAGS_ODBC" ]; then
6393 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
6395 if [ -n "$QT_LFLAGS_TDS" ]; then
6396 echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
6399 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
6400 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
6403 #dump in the OPENSSL_LIBS info
6404 if [ '!' -z "$OPENSSL_LIBS" ]; then
6405 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
6406 elif [ "$CFG_OPENSSL" = "linked" ]; then
6407 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
6410 #dump in the SDK info
6411 if [ '!' -z "$CFG_SDK" ]; then
6412 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
6416 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
6417 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
6419 # replace qmodule.pri if it differs from the newly created temp file
6420 if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
6421 rm -f "$QTMODULE.tmp"
6423 mv -f "$QTMODULE.tmp" "$QTMODULE"
6426 #-------------------------------------------------------------------------------
6427 # save configuration into .qmake.cache
6428 #-------------------------------------------------------------------------------
6430 CACHEFILE="$outpath/.qmake.cache"
6431 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
6432 cat >>"$CACHEFILE.tmp" <<EOF
6434 QT_SOURCE_TREE = \$\$quote($relpath)
6435 QT_BUILD_TREE = \$\$quote($outpath)
6436 QT_BUILD_PARTS = $CFG_BUILD_PARTS
6438 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
6439 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
6440 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
6442 include(\$\$PWD/mkspecs/qmodule.pri)
6443 CONFIG += $QMAKE_CONFIG dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
6447 #dump the qmake spec
6448 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
6449 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
6451 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
6454 # replace .qmake.cache if it differs from the newly created temp file
6455 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
6456 rm -f "$CACHEFILE.tmp"
6458 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
6461 #-------------------------------------------------------------------------------
6462 # give feedback on configuration
6463 #-------------------------------------------------------------------------------
6467 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6470 This target is using the GNU C++ compiler ($PLATFORM).
6472 Recent versions of this compiler automatically include code for
6473 exceptions, which increase both the size of the Qt libraries and
6474 the amount of memory taken by your applications.
6476 You may choose to re-run `basename $0` with the -no-exceptions
6477 option to compile Qt without exceptions. This is completely binary
6478 compatible, and existing applications will continue to work.
6486 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6489 This target is using the MIPSpro C++ compiler ($PLATFORM).
6491 You may choose to re-run `basename $0` with the -no-exceptions
6492 option to compile Qt without exceptions. This will make the
6493 size of the Qt library smaller and reduce the amount of memory
6494 taken by your applications.
6506 if [ "$XPLATFORM" = "$PLATFORM" ]; then
6507 echo "Build type: $PLATFORM"
6509 echo "Building on: $PLATFORM"
6510 echo "Building for: $XPLATFORM"
6513 echo "Architecture: $CFG_ARCH"
6514 if [ "$PLATFORM_QPA" = "yes" ]; then
6515 echo "Host architecture: $CFG_HOST_ARCH"
6518 if [ -n "$PLATFORM_NOTES" ]; then
6519 echo "Platform notes:"
6520 echo "$PLATFORM_NOTES"
6525 if [ "$OPT_VERBOSE" = "yes" ]; then
6526 echo $ECHO_N "qmake vars .......... $ECHO_C"
6527 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
6528 echo "qmake switches ......... $QMAKE_SWITCHES"
6531 echo "Build .................. $CFG_BUILD_PARTS"
6532 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
6533 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6534 echo "Debug .................. yes (combined)"
6535 if [ "$CFG_DEBUG" = "yes" ]; then
6536 echo "Default Link ........... debug"
6538 echo "Default Link ........... release"
6541 echo "Debug .................. $CFG_DEBUG"
6543 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
6544 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
6545 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
6546 echo "QtConcurrent code ...... $CFG_CONCURRENT"
6547 echo "QtGui module ........... $CFG_GUI"
6548 echo "QtWidgets module ....... $CFG_WIDGETS"
6549 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
6550 echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
6552 echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
6554 echo "Declarative debugging ...$CFG_DECLARATIVE_DEBUG"
6555 echo "STL support ............ $CFG_STL"
6556 echo "PCH support ............ $CFG_PRECOMPILE"
6557 if [ "$CFG_ARCH" = "i386" -o "$CFG_ARCH" = "x86_64" ]; then
6558 echo "MMX/3DNOW/SSE/SSE2/SSE3. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}/${CFG_SSE3}"
6559 echo "SSSE3/SSE4.1/SSE4.2..... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
6560 echo "AVX..................... ${CFG_AVX}"
6561 elif [ "$CFG_ARCH" = "arm" ]; then
6562 echo "iWMMXt support ......... ${CFG_IWMMXT}"
6563 echo "NEON support ........... ${CFG_NEON}"
6565 if [ "$CFG_ARCH" = "mips" ]; then
6566 echo "MIPS_DSP/MIPS_DSPR2..... ${CFG_MIPS_DSP}/${CFG_MIPS_DSPR2}"
6568 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
6569 echo "getaddrinfo support .... $CFG_GETADDRINFO"
6570 echo "getifaddrs support ..... $CFG_GETIFADDRS"
6571 echo "Accessibility .......... $CFG_ACCESSIBILITY"
6572 echo "NIS support ............ $CFG_NIS"
6573 echo "CUPS support ........... $CFG_CUPS"
6574 echo "Iconv support .......... $CFG_ICONV"
6575 echo "Glib support ........... $CFG_GLIB"
6576 echo "GStreamer support ...... $CFG_GSTREAMER"
6577 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
6578 echo "Large File support ..... $CFG_LARGEFILE"
6579 echo "GIF support ............ $CFG_GIF"
6580 if [ "$CFG_JPEG" = "no" ]; then
6581 echo "JPEG support ........... $CFG_JPEG"
6583 echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
6585 if [ "$CFG_PNG" = "no" ]; then
6586 echo "PNG support ............ $CFG_PNG"
6588 echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
6590 echo "zlib support ........... $CFG_ZLIB"
6591 echo "Session management ..... $CFG_SM"
6592 echo "libudev support ........ $CFG_LIBUDEV"
6594 if [ "$CFG_OPENGL" = "desktop" ]; then
6595 echo "OpenGL support ......... yes (Desktop OpenGL)"
6596 elif [ "$CFG_OPENGL" = "es2" ]; then
6597 echo "OpenGL support ......... yes (OpenGL ES 2.x)"
6599 echo "OpenGL support ......... no"
6602 if [ "$CFG_OPENVG" ]; then
6603 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
6604 echo "OpenVG support ......... ShivaVG"
6606 echo "OpenVG support ......... $CFG_OPENVG"
6609 if [ "$PLATFORM_X11" = "yes" ]; then
6610 echo "NAS sound support ...... $CFG_NAS"
6611 echo "XShape support ......... $CFG_XSHAPE"
6612 echo "XVideo support ......... $CFG_XVIDEO"
6613 echo "XSync support .......... $CFG_XSYNC"
6614 echo "Xinerama support ....... $CFG_XINERAMA"
6615 echo "Xcursor support ........ $CFG_XCURSOR"
6616 echo "Xfixes support ......... $CFG_XFIXES"
6617 echo "Xrandr support ......... $CFG_XRANDR"
6618 echo "Xi support ............. $CFG_XINPUT"
6619 echo "MIT-SHM support ........ $CFG_MITSHM"
6620 echo "FontConfig support ..... $CFG_FONTCONFIG"
6621 echo "XKB Support ............ $CFG_XKB"
6622 echo "immodule support ....... $CFG_IM"
6623 echo "GTK theme support ...... $CFG_QGTKSTYLE"
6625 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
6626 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
6627 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
6628 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
6629 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
6630 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
6631 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
6632 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
6633 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
6636 if [ "$CFG_OPENSSL" = "yes" ]; then
6637 OPENSSL_LINKAGE="(run-time)"
6638 elif [ "$CFG_OPENSSL" = "linked" ]; then
6639 OPENSSL_LINKAGE="(linked)"
6641 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
6642 echo "Alsa support ........... $CFG_ALSA"
6643 if [ "$BUILD_ON_MAC" = "yes" ]; then
6644 echo "CoreWlan support ....... $CFG_COREWLAN"
6646 echo "libICU support ......... $CFG_ICU"
6647 echo "PCRE support ........... $CFG_PCRE"
6648 if [ "$CFG_XCB_LIMITED" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6649 echo "Xcb support ............ limited (old version)"
6651 echo "Xcb support ............ $CFG_XCB"
6653 echo "Xrender support ........ $CFG_XRENDER"
6654 if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6655 echo "XInput2 support ........ $CFG_XINPUT2"
6657 echo "EGLFS support .......... $CFG_EGLFS"
6660 # complain about not being able to use dynamic plugins if we are using a static build
6661 if [ "$CFG_SHARED" = "no" ]; then
6663 echo "WARNING: Using static linking will disable the use of dynamically"
6664 echo "loaded plugins. Make sure to import all needed static plugins,"
6665 echo "or compile needed modules into the library."
6668 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
6670 echo "NOTE: When linking against OpenSSL, you can override the default"
6671 echo "library names through OPENSSL_LIBS."
6673 echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
6676 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
6678 echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
6679 echo "if you want a pure debug build."
6684 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
6689 #-------------------------------------------------------------------------------
6690 # build makefiles based on the configuration
6691 #-------------------------------------------------------------------------------
6693 echo "Finding project files. Please wait..."
6694 if [ "$CFG_NOPROCESS" != "yes" ]; then
6695 "$outpath/bin/qmake" -prl -r "${relpath}/qtbase.pro"
6696 if [ -f "${relpath}/qtbase.pro" ]; then
6697 mkfile="${outpath}/Makefile"
6698 [ -f "$mkfile" ] && chmod +w "$mkfile"
6699 QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/qtbase.pro" -o "$mkfile"
6703 # .projects -> projects to process
6704 # .projects.1 -> qt and moc
6705 # .projects.2 -> subdirs and libs
6706 # .projects.3 -> the rest
6707 rm -f .projects .projects.1 .projects.2 .projects.3
6709 QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
6710 if [ -z "$AWK" ]; then
6711 for p in `echo $QMAKE_PROJECTS`; do
6712 echo "$p" >> .projects
6715 cat >projects.awk <<EOF
6721 first = "./.projects.1.tmp"
6722 second = "./.projects.2.tmp"
6723 third = "./.projects.3.tmp"
6728 if ( ! target_file )
6730 print input_file >target_file
6735 input_file = FILENAME
6740 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
6743 } else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) {
6744 target_file = second
6749 matched_target == 0 && /^(TEMPLATE.*=)/ {
6750 if ( \$3 == "subdirs" )
6751 target_file = second
6752 else if ( \$3 == "lib" )
6758 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
6759 if ( \$0 ~ /plugin/ )
6762 target_file = second
6767 if ( ! target_file )
6769 print input_file >>target_file
6776 for p in `echo $QMAKE_PROJECTS`; do
6777 echo "$p" >> .projects.all
6780 # if you get errors about the length of the command line to awk, change the -l arg
6782 split -l 100 .projects.all .projects.all.
6783 for p in .projects.all.*; do
6784 "$AWK" -f projects.awk `cat $p`
6785 [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
6786 [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
6787 [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
6788 rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
6790 rm -f .projects.all* projects.awk
6792 [ -f .projects.1 ] && cat .projects.1 >>.projects
6793 [ -f .projects.2 ] && cat .projects.2 >>.projects
6794 rm -f .projects.1 .projects.2
6795 if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
6796 cat .projects.3 >>.projects
6800 # don't sort Qt and MOC in with the other project files
6801 # also work around a segfaulting uniq(1)
6802 if [ -f .sorted.projects.2 ]; then
6803 sort .sorted.projects.2 > .sorted.projects.2.new
6804 mv -f .sorted.projects.2.new .sorted.projects.2
6805 cat .sorted.projects.2 >> .sorted.projects.1
6807 [ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
6808 rm -f .sorted.projects.2 .sorted.projects.1
6812 if [ -f .projects ]; then
6813 uniq .projects >.tmp
6814 mv -f .tmp .projects
6815 NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
6817 if [ -f .projects.3 ]; then
6818 uniq .projects.3 >.tmp
6819 mv -f .tmp .projects.3
6820 FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
6822 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
6826 for part in $CFG_BUILD_PARTS; do
6828 tools) PART_ROOTS="$PART_ROOTS tools" ;;
6829 libs) PART_ROOTS="$PART_ROOTS src" ;;
6830 translations) PART_ROOTS="$PART_ROOTS translations" ;;
6831 examples) PART_ROOTS="$PART_ROOTS examples" ;;
6836 if [ "$CFG_DEV" = "yes" ]; then
6837 PART_ROOTS="$PART_ROOTS tests"
6840 echo "Creating makefiles. Please wait..."
6841 for file in .projects .projects.3; do
6842 [ '!' -f "$file" ] && continue
6843 for a in `cat $file`; do
6845 for r in $PART_ROOTS; do
6846 if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
6851 [ "$IN_ROOT" = "no" ] && continue
6854 *winmain/winmain.pro)
6855 if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_MINGW" != "yes" ]; then
6859 */qmake/qmake.pro) continue ;;
6860 *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*|*tools/qdoc*) SPEC=$QMAKESPEC ;;
6861 *) if [ "$CFG_NOPROCESS" = "yes" ]; then
6867 dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
6868 test -d "$dir" || mkdir -p "$dir"
6869 OUTDIR="$outpath/$dir"
6870 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
6871 # fast configure - the makefile exists, skip it
6872 # since the makefile exists, it was generated by qmake, which means we
6873 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
6875 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
6878 QMAKE_SPEC_ARGS="-spec $SPEC"
6879 echo $ECHO_N " for $a$ECHO_C"
6881 QMAKE="$outpath/bin/qmake"
6882 QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
6883 if [ "$file" = ".projects.3" ]; then
6886 cat >"${OUTDIR}/Makefile" <<EOF
6887 # ${OUTDIR}/Makefile: generated by configure
6889 # WARNING: This makefile will be replaced with a real makefile.
6890 # All changes made to this file will be lost.
6892 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
6894 cat >>"${OUTDIR}/Makefile" <<EOF
6896 all clean install qmake first Makefile: FORCE
6897 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
6905 if [ "$OPT_VERBOSE" = "yes" ]; then
6906 echo " (`basename $SPEC`)"
6907 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
6912 [ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
6913 QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
6917 rm -f .projects .projects.3
6919 #-------------------------------------------------------------------------------
6920 # check for platforms that we don't yet know about
6921 #-------------------------------------------------------------------------------
6922 if [ "$CFG_ARCH" = "unknown" ]; then
6925 NOTICE: configure was unable to determine the architecture
6926 for the $XQMAKESPEC target.
6928 Qt will not use a specialized implementation for any atomic
6929 operations. Instead a generic implemention based on either GCC
6930 intrinsics or C++11 std::atomic<T> will be used (when
6931 available). The generic implementations are generally as fast
6932 as and always as safe as a specialized implementation.
6934 If no generic implementation is available, Qt will use a
6935 fallback UNIX implementation which uses a single
6936 pthread_mutex_t to protect all atomic operations. This
6937 implementation is the slow (but safe) fallback implementation
6938 for architectures Qt does not yet support.
6942 #-------------------------------------------------------------------------------
6943 # check if the user passed the -no-zlib option, which is no longer supported
6944 #-------------------------------------------------------------------------------
6945 if [ -n "$ZLIB_FORCED" ]; then
6946 which_zlib="supplied"
6947 if [ "$CFG_ZLIB" = "system" ]; then
6953 NOTICE: The -no-zlib option was supplied but is no longer
6956 Qt now requires zlib support in all builds, so the -no-zlib
6957 option was ignored. Qt will be built using the $which_zlib
6962 #-------------------------------------------------------------------------------
6963 # check if the user passed the obsoleted -wayland or -no-wayland flag
6964 #-------------------------------------------------------------------------------
6965 if [ "$CFG_OBSOLETE_WAYLAND" = "yes" ]; then
6968 NOTICE: The -wayland and -no-wayland flags are now obsolete
6970 All configuring of QtWayland plugin and QtCompositor happens in the module
6974 #-------------------------------------------------------------------------------
6975 # check if the user passed the obsoleted -arch or -host-arch options
6976 #-------------------------------------------------------------------------------
6977 if [ "$OPT_OBSOLETE_HOST_ARG" = "yes" ]; then
6980 NOTICE: The -arch and -host-arch options are obsolete.
6982 Qt now detects the target and host architectures based on compiler
6983 output. Qt will be built using $CFG_ARCH for the target architecture
6984 and $CFG_HOST_ARCH for the host architecture (note that these two
6985 will be the same unless you are cross-compiling).
6989 #-------------------------------------------------------------------------------
6990 # finally save the executed command to another script
6991 #-------------------------------------------------------------------------------
6992 if [ `basename $0` != "config.status" ]; then
6993 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
6995 # add the system variables
6996 for varname in $SYSTEM_VARIABLES; do
6998 'if [ -n "\$'${varname}'" ]; then
6999 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
7004 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
7006 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
7007 echo "#!/bin/sh" > "$outpath/config.status"
7008 [ -n "$PKG_CONFIG_SYSROOT_DIR" ] && \
7009 echo "export PKG_CONFIG_SYSROOT_DIR=$PKG_CONFIG_SYSROOT_DIR" >> "$outpath/config.status"
7010 [ -n "$PKG_CONFIG_LIBDIR" ] && \
7011 echo "export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR" >> "$outpath/config.status"
7012 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
7013 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
7014 echo "else" >> "$outpath/config.status"
7015 echo " $CONFIG_STATUS" >> "$outpath/config.status"
7016 echo "fi" >> "$outpath/config.status"
7017 chmod +x "$outpath/config.status"
7020 if [ -n "$RPATH_MESSAGE" ]; then
7022 echo "$RPATH_MESSAGE"
7025 MAKE=`basename "$MAKE"`
7027 echo Qt is now configured for building. Just run \'$MAKE\'.
7028 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
7029 echo Once everything is built, Qt is installed.
7030 echo You should not run \'$MAKE install\'.
7032 echo Once everything is built, you must run \'$MAKE install\'.
7033 echo Qt will be installed into $QT_INSTALL_PREFIX
7036 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.