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)
678 CFG_OPENVG_LC_INCLUDES=no
679 CFG_OPENVG_SHIVA=auto
680 CFG_OPENVG_ON_OPENGL=auto
682 CFG_EGL_GLES_INCLUDES=no
687 QT_DEFAULT_BUILD_PARTS="libs examples tests"
691 CFG_AUDIO_BACKEND=auto
693 CFG_DECLARATIVE_DEBUG=yes
694 CFG_JAVASCRIPTCORE_JIT=auto
706 CFG_OBSOLETE_WAYLAND=no
719 CFG_SEPARATE_DEBUG_INFO=no
720 CFG_SEPARATE_DEBUG_INFO_NOCOPY=no
721 CFG_REDUCE_EXPORTS=auto
731 CFG_REDUCE_RELOCATIONS=auto
733 CFG_ACCESSIBILITY=auto
736 CFG_CLOCK_GETTIME=auto
737 CFG_CLOCK_MONOTONIC=auto
746 MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
750 CFG_PREFIX_INSTALL=yes
759 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
760 XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
764 OPT_CONFIRM_LICENSE=no
778 # initalize variables used for installation
787 QT_INSTALL_TRANSLATIONS=
796 #flags for SQL drivers
804 QT_LFLAGS_ODBC="-lodbc"
807 # flags for libdbus-1
811 # flags for Glib (X11 only)
815 # flags for GStreamer (X11 only)
819 #-------------------------------------------------------------------------------
820 # check SQL drivers available in this package
821 #-------------------------------------------------------------------------------
823 # opensource version removes some drivers, so force them to be off
829 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
830 for a in "$relpath/src/plugins/sqldrivers/"*; do
832 base_a=`basename "$a"`
833 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
834 eval "CFG_SQL_${base_a}=auto"
839 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
840 if [ -d "$relpath/src/plugins/imageformats" ]; then
841 for a in "$relpath/src/plugins/imageformats/"*; do
843 base_a=`basename "$a"`
844 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
849 #-------------------------------------------------------------------------------
850 # parse command line arguments
851 #-------------------------------------------------------------------------------
853 # parse the arguments, setting things to "yes" or "no"
854 while [ "$#" -gt 0 ]; do
858 #Autoconf style options
860 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
864 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
868 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
869 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
872 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
876 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
880 -no-*-*|-plugin-*-*|-qt-*-*)
881 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
882 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
886 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
889 #Qt style yes options
890 -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|-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)
891 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
894 #Qt style options that pass an argument
896 if [ "$PLATFORM_QPA" != "yes" ]; then
898 echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
902 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
906 -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-testsdir|-depths|-make|-nomake|-platform|-xplatform|-sdk|-arch|-host-arch|-mysql_config|-sysroot|-hostdatadir|-hostbindir)
907 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
911 #Qt style complex options in one command
912 -enable-*|-disable-*)
913 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
914 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
916 #Qt Builtin/System style options
917 -no-*|-system-*|-qt-*)
918 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
919 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
921 #Options that cannot be generalized
928 # this option may or may not be followed by an argument
929 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
938 # this option may or may not be followed by an argument
939 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
948 # this option may or may not be followed by an argument
949 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
957 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
958 # this option may or may not be followed by an argument
959 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
978 if [ "$1" = "-D" ]; then
982 VAL=`echo $1 | sed 's,-D,,'`
987 # this option may or may not be followed by an argument
988 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
997 if [ "$1" = "-I" ]; then
1001 VAL=`echo $1 | sed 's,-I,,'`
1006 if [ "$1" = "-L" ]; then
1010 VAL=`echo $1 | sed 's,-L,,'`
1015 if [ "$1" = "-R" ]; then
1019 VAL=`echo $1 | sed 's,-R,,'`
1024 VAL=`echo $1 | sed 's,-l,,'`
1028 if [ "$1" = "-F" ]; then
1032 VAL=`echo $1 | sed 's,-F,,'`
1037 if [ "$1" = "-fw" ]; then
1041 VAL=`echo $1 | sed 's,-fw,,'`
1049 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1056 if [ "$UNKNOWN_ARG" = "yes" ]; then
1057 echo "$1: unknown argument"
1068 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1069 CFG_ACCESSIBILITY="$VAL"
1078 CFG_USE_GNUMAKE="$VAL"
1081 CFG_MYSQL_CONFIG="$VAL"
1084 QT_INSTALL_PREFIX="$VAL"
1087 QT_HOST_PREFIX="$VAL"
1096 QT_FORCE_PKGCONFIG=yes
1099 QT_INSTALL_DOCS="$VAL"
1102 QT_INSTALL_HEADERS="$VAL"
1105 QT_INSTALL_PLUGINS="$VAL"
1108 QT_INSTALL_IMPORTS="$VAL"
1111 QT_INSTALL_DATA="$VAL"
1114 QT_INSTALL_LIBS="$VAL"
1123 QT_INSTALL_TRANSLATIONS="$VAL"
1125 sysconfdir|settingsdir)
1126 QT_INSTALL_SETTINGS="$VAL"
1129 QT_INSTALL_EXAMPLES="$VAL"
1132 QT_INSTALL_TESTS="$VAL"
1141 QT_INSTALL_BINS="$VAL"
1151 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1158 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1159 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1160 [ "$VAL" = "es2" ]; then
1162 if [ "$VAL" = "es2" ]; then
1170 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1172 if [ "$CFG_EGL" = "no" ] && [ "$VAL" != "no" ]; then
1180 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1183 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1191 if [ "$BUILD_ON_MAC" = "yes" ]; then
1198 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1199 CFG_MAC_DWARF2="$VAL"
1205 # if this is a Mac then "windows" probably means
1206 # we are cross-compiling for MinGW
1207 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" != "windows" ]; then
1208 CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL"
1217 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1218 CFG_MAC_HARFBUZZ="$VAL"
1225 if [ "$BUILD_ON_MAC" = "yes" ]; then
1226 CFG_FRAMEWORK="$VAL"
1232 if [ "$VAL" = "yes" ]; then
1234 QMakeVar add QMAKE_CFLAGS -pg
1235 QMakeVar add QMAKE_CXXFLAGS -pg
1236 QMakeVar add QMAKE_LFLAGS -pg
1237 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1243 if [ "$VAL" = "yes" ]; then
1244 QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon"
1247 exceptions|g++-exceptions)
1248 if [ "$VAL" = "no" ]; then
1250 elif [ "$VAL" = "yes" ]; then
1258 # keep compatibility with old platform names
1264 PLATFORM=hpux-acc-o64
1267 PLATFORM=hpux-acc-64
1270 PLATFORM=hpux-acc-64
1282 PLATFORM=reliant-cds-64
1285 PLATFORM=solaris-cc-64
1288 PLATFORM=unixware-cc
1291 PLATFORM=unixware-g++
1294 PLATFORM=unixware-cc
1297 PLATFORM=unixware-g++
1303 i386) NATIVE_64_ARCH="x86_64" ;;
1304 powerpc) NATIVE_64_ARCH="ppc64" ;;
1305 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1307 if [ ! -z "$NATIVE_64_ARCH" ]; then
1308 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1315 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1318 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1319 CFG_DEBUG_RELEASE="$VAL"
1325 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1326 CFG_RELEASE_QMAKE="$VAL"
1332 if [ "$VAL" = "yes" ]; then
1334 elif [ "$VAL" = "no" ]; then
1341 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1342 CFG_PREFIX_INSTALL="$VAL"
1350 developer-build|commercial|opensource)
1351 # These switches have been dealt with already
1354 if [ "$VAL" = "yes" ]; then
1356 elif [ "$VAL" = "no" ]; then
1363 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1364 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1370 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1371 if [ "$VAL" = "no" ]; then
1372 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1373 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1374 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1380 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1387 if [ "$VAL" = "no" ]; then
1394 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1402 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1409 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1416 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1423 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1430 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1437 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1444 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1451 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1458 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1459 CFG_PRECOMPILE="$VAL"
1464 separate-debug-info)
1465 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1466 CFG_SEPARATE_DEBUG_INFO="$VAL"
1467 elif [ "$VAL" = "nocopy" ] ; then
1468 CFG_SEPARATE_DEBUG_INFO="yes"
1469 CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1475 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1476 CFG_REDUCE_EXPORTS="$VAL"
1482 if [ "$VAL" = "no" ]; then
1489 if [ "$VAL" = "no" ]; then
1496 if [ "$VAL" = "no" ]; then
1503 if [ "$VAL" = "no" ]; then
1510 if [ "$VAL" = "no" ]; then
1517 if [ "$VAL" = "no" ]; then
1524 if [ "$VAL" = "no" ]; then
1531 if [ "$VAL" = "no" ]; then
1538 if [ "$VAL" = "no" ]; then
1548 if [ "$VAL" = "no" ]; then
1555 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1556 CFG_REDUCE_RELOCATIONS="$VAL"
1562 [ "$VAL" = "qt" ] && VAL=yes
1563 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1568 # No longer supported:
1569 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1572 if [ "$VAL" = "system" ]; then
1579 [ "$VAL" = "yes" ] && VAL=qt
1580 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1587 [ "$VAL" = "yes" ] && VAL=qt
1588 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1595 if [ "$VAL" = "system" ] || [ "$VAL" = "no" ]; then
1602 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1609 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1616 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1623 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1630 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1637 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1638 CFG_FONTCONFIG="$VAL"
1644 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1651 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1658 CFG_OBSOLETE_WAYLAND=yes
1661 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1668 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1675 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1682 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1689 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1696 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1697 CFG_GSTREAMER="$VAL"
1703 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1704 CFG_QGTKSTYLE="$VAL"
1710 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1713 if [ "$VAL" = "no" ]; then
1721 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1723 elif [ "$VAL" = "runtime" ]; then
1730 if [ "$VAL" = "yes" ]; then
1737 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1744 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1745 CFG_LARGEFILE="$VAL"
1751 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1758 if [ "$VAL" = "yes" ]; then
1759 CFG_OPENSSL="linked"
1765 if [ "$VAL" = "yes" ]; then
1766 CFG_DECLARATIVE_DEBUG="yes"
1768 if [ "$VAL" = "no" ]; then
1769 CFG_DECLARATIVE_DEBUG="no"
1776 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1777 CFG_JAVASCRIPTCORE_JIT="$VAL"
1783 if [ "$VAL" = "yes" ]; then
1784 OPT_CONFIRM_LICENSE="$VAL"
1790 if [ "$VAL" = "yes" ]; then
1796 sql-*|imageformat-*)
1797 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1798 # if autoconf style options were used, $VAL can be "yes" or "no"
1799 [ "$VAL" = "yes" ] && VAL=qt
1800 # now $VAL should be "no", "qt", or "plugin"... double-check
1801 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1804 # now $VAL is "no", "qt", or "plugin"
1806 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1807 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1809 # Grab the available values
1812 avail="$CFG_SQL_AVAILABLE"
1815 avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
1816 if [ "$OPT" != "plugin" ]; then
1817 # png is always built in
1823 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1827 # Check that that user's value is available.
1830 if [ "$VAL" = "$d" ]; then
1835 [ "$found" = yes ] || ERROR=yes
1837 if [ "$VAR" = "sql" ]; then
1838 # set the CFG_SQL_driver
1839 eval "CFG_SQL_$VAL=\$OPT"
1841 elif [ "$VAR" = "imageformat" ]; then
1842 [ "$OPT" = "qt" ] && OPT=yes
1843 VAL="`echo $VAL |tr a-z A-Z`"
1844 eval "CFG_$VAL=$OPT"
1848 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
1849 if [ "$OPT" = "plugin" ]; then
1852 QMakeVar add "${VAR}s" "${VAL}"
1853 elif [ "$OPT" = "no" ]; then
1854 PLUG_VAR="${VAR}-plugin"
1856 QMakeVar del "${IN_VAR}s" "$VAL"
1857 QMakeVar del "${PLUG_VAR}s" "$VAL"
1859 if [ "$ERROR" = "yes" ]; then
1860 echo "$CURRENT_OPT: unknown argument"
1865 if [ "$VAL" = "yes" ]; then
1866 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
1867 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
1871 elif [ "$VAL" = "no" ]; then
1872 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
1873 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
1882 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1889 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1896 D_FLAGS="$D_FLAGS \"$VAL\""
1899 I_FLAGS="$I_FLAGS -I\"${VAL}\""
1902 L_FLAGS="$L_FLAGS -L\"${VAL}\""
1905 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
1908 l_FLAGS="$l_FLAGS -l\"${VAL}\""
1911 if [ "$BUILD_ON_MAC" = "yes" ]; then
1912 L_FLAGS="$L_FLAGS -F\"${VAL}\""
1913 I_FLAGS="$I_FLAGS -F\"${VAL}\""
1919 if [ "$BUILD_ON_MAC" = "yes" ]; then
1920 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
1926 W_FLAGS="$W_FLAGS \"${VAL}\""
1932 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1933 CFG_PHONON_BACKEND="$VAL"
1945 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1946 CFG_AUDIO_BACKEND="$VAL"
1952 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1959 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1960 CFG_FORCE_ASSERTS="$VAL"
1966 if [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
1976 if [ "$UNKNOWN_OPT" = "yes" ]; then
1977 echo "${CURRENT_OPT}: invalid command-line switch"
1983 # update QT_CONFIG to show our current predefined configuration
1984 case "$CFG_QCONFIG" in
1985 minimal|small|medium|large|full)
1986 # these are a sequence of increasing functionality
1987 for c in minimal small medium large full; do
1988 QT_CONFIG="$QT_CONFIG $c-config"
1989 [ "$CFG_QCONFIG" = $c ] && break
1993 # not known to be sufficient for anything
1994 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
1995 echo >&2 "Error: configuration file not found:"
1996 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
1998 echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2003 #-------------------------------------------------------------------------------
2004 # build tree initialization
2005 #-------------------------------------------------------------------------------
2007 # where to find which..
2008 unixtests="$relpath/config.tests/unix"
2009 mactests="$relpath/config.tests/mac"
2010 WHICH="$unixtests/which.test"
2012 PERL=`$WHICH perl 2>/dev/null`
2014 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2016 for e in gawk nawk awk; do
2017 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2024 PERL="/usr/bin/perl"
2025 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2029 ### skip this if the user just needs help...
2030 if [ "$OPT_HELP" != "yes" ]; then
2032 # is this a shadow build?
2033 if [ "$OPT_SHADOW" = "maybe" ]; then
2035 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2036 if [ -h "$outpath" ]; then
2037 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2043 if [ "$OPT_SHADOW" = "yes" ]; then
2044 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2045 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2046 echo >&2 "Cannot proceed."
2049 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2052 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2054 echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
2055 echo "Qt can be built in release mode with separate debug information, so"
2056 echo "-debug-and-release is not necessary anymore"
2060 if [ "$CFG_SILENT" = "yes" ]; then
2061 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2064 # if the source tree is different from the build tree,
2065 # symlink or copy part of the sources
2066 if [ "$OPT_SHADOW" = "yes" ]; then
2067 echo "Preparing build tree..."
2069 if [ -z "$PERL" ]; then
2071 echo "You need perl in your PATH to make a shadow build."
2072 echo "Cannot proceed."
2076 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2078 # make a syncqt script that can be used in the shadow
2079 rm -f "$outpath/bin/syncqt"
2080 if [ -x "$relpath/bin/syncqt" ]; then
2081 mkdir -p "$outpath/bin"
2082 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2083 echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2084 chmod 755 "$outpath/bin/syncqt"
2087 for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
2088 rm -f "$outpath/bin/$i"
2089 if [ -x "$relpath/bin/$i" ]; then
2090 mkdir -p "$outpath/bin"
2091 echo "#!/bin/sh" >"$outpath/bin/$i"
2092 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2093 echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2094 chmod 755 "$outpath/bin/$i"
2098 # symlink the mkspecs directory
2099 mkdir -p "$outpath/mkspecs"
2100 rm -rf "$outpath"/mkspecs/*
2101 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2102 rm -f "$outpath/mkspecs/default"
2106 rm -rf "$outpath/mkspecs/$1"
2107 find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2108 find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2111 # Special case for mkspecs/features directory.
2112 # To be able to place .prf files into a shadow build directory,
2113 # we're creating links for files only. The directory structure is reproduced.
2114 ShadowMkspecs features
2116 # The modules dir is special, too.
2117 ShadowMkspecs modules
2119 # symlink the doc directory
2120 rm -rf "$outpath/doc"
2121 ln -s "$relpath/doc" "$outpath/doc"
2124 # symlink fonts to be able to run application from build directory
2125 if [ "$PLATFORM_QPA" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
2126 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2127 mkdir -p "${outpath}/lib"
2128 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2132 if [ "$OPT_FAST" = "auto" ]; then
2133 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2140 # find a make command
2141 if [ -z "$MAKE" ]; then
2143 for mk in gmake make; do
2144 if "$WHICH" $mk >/dev/null 2>&1; then
2149 if [ -z "$MAKE" ]; then
2150 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2151 echo >&2 "Cannot proceed."
2154 # export MAKE, we need it later in the config.tests
2160 #-------------------------------------------------------------------------------
2161 # auto-detect all that hasn't been specified in the arguments
2162 #-------------------------------------------------------------------------------
2164 if [ -z "$PLATFORM" ]; then
2166 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2168 if [ "$PLATFORM_QPA" = "yes" ]; then
2169 OSX_VERSION=`uname -r | cut -d. -f1`
2170 if [ "$OSX_VERSION" -ge 11 ]; then
2171 # We're on Lion or above. Check if we have a supported Clang version
2172 case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
2175 PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
2190 #PLATFORM=aix-g++-64
2192 #PLATFORM=aix-xlc-64
2194 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2204 # PLATFORM=dynix-g++
2210 PLATFORM=freebsd-g++
2212 - Also available for FreeBSD: freebsd-icc
2216 PLATFORM=openbsd-g++
2227 #PLATFORM=irix-cc-64
2229 - Also available for IRIX: irix-g++ irix-cc-64
2233 case "$UNAME_MACHINE" in
2235 #PLATFORM=hpuxi-acc-32
2236 PLATFORM=hpuxi-acc-64
2238 - Also available for HP-UXi: hpuxi-acc-32
2244 #PLATFORM=hpux-acc-64
2246 #PLATFORM=hpux-acc-o64
2248 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2257 - Also available for Tru64: tru64-g++
2261 case "$UNAME_MACHINE" in
2263 PLATFORM=linux-g++-64
2270 - Also available for Linux: linux-kcc linux-icc linux-cxx
2274 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2275 PLATFORM="solaris-g++"
2277 #PLATFORM=solaris-g++
2279 #PLATFORM=solaris-cc64
2282 - Also available for Solaris: solaris-g++ solaris-cc-64
2285 ReliantUNIX-*:*|SINIX-*:*)
2286 PLATFORM=reliant-cds
2287 #PLATFORM=reliant-cds-64
2289 - Also available for Reliant UNIX: reliant-cds-64
2299 #PLATFORM=unixware-g++
2300 PLATFORM=unixware-cc
2302 - Also available for OpenUNIX: unixware-g++
2306 #PLATFORM=unixware-g++
2307 PLATFORM=unixware-cc
2309 - Also available for UnixWare: unixware-g++
2316 - Also available for SCO OpenServer: sco-g++
2320 PLATFORM=unixware-g++
2323 PLATFORM=unsupported/qnx-g++
2326 if [ "$OPT_HELP" != "yes" ]; then
2328 for p in $PLATFORMS; do
2329 echo " $relconf $* -platform $p"
2332 echo " The build script does not currently recognize all" >&2
2333 echo " platforms supported by Qt." >&2
2334 echo " Rerun this script with a -platform option listed to" >&2
2335 echo " set the system/compiler combination you use." >&2
2342 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2344 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2346 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2347 case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
2349 if [ -d "$PLATFORM" ]; then
2350 QMAKESPEC="$PLATFORM"
2352 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2354 if [ -d "$XPLATFORM" ]; then
2355 XQMAKESPEC="$XPLATFORM"
2357 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2359 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2360 QT_CROSS_COMPILE=yes
2361 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2362 QTCONFIG_CONFIG="$QTCONFIG_CONFIG cross_compile"
2365 if [ "$BUILD_ON_MAC" = "yes" ]; then
2366 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2368 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2369 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2370 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2371 echo " built with 'macx-g++'" >&2
2377 # check specified platforms are supported
2378 if [ '!' -d "$QMAKESPEC" ]; then
2380 echo " The specified system/compiler is not supported:"
2384 echo " Please see the README file for a complete list."
2388 if [ '!' -d "$XQMAKESPEC" ]; then
2390 echo " The specified system/compiler is not supported:"
2394 echo " Please see the README file for a complete list."
2398 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2400 echo " The specified system/compiler port is not complete:"
2402 echo " $XQMAKESPEC/qplatformdefs.h"
2404 echo " Please contact qt-info@nokia.com."
2409 # now look at the configs and figure out what platform we are config'd for
2410 [ "$PLATFORM_QPA" != "yes" ] \
2411 && [ -n "`getXQMakeConf QMAKE_LIBS_X11`" ] \
2413 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2415 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2416 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2417 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2418 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2419 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2423 #-------------------------------------------------------------------------------
2424 # determine the system architecture
2425 #-------------------------------------------------------------------------------
2426 if [ "$OPT_VERBOSE" = "yes" ]; then
2427 echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
2430 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2431 case `basename "$XPLATFORM"` in
2434 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2436 echo "Please contact qt-info@nokia.com to upgrade your license to"
2437 echo "include this platform, or install the Qt Open Source Edition"
2438 echo "if you intend to develop free software."
2444 if [ -z "${CFG_HOST_ARCH}" ]; then
2445 case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
2447 CFG_HOST_ARCH=`echo ${UNAME_MACHINE} | sed -e 's,[-/].*$,,'`
2448 case "$CFG_HOST_ARCH" in
2453 if [ "$OPT_VERBOSE" = "yes" ]; then
2454 echo " GNU/Hurd ($CFG_HOST_ARCH)"
2458 CFG_HOST_ARCH=`uname -p`
2459 if [ "$OPT_VERBOSE" = "yes" ]; then
2460 echo " SGI ($CFG_HOST_ARCH)"
2464 case "$UNAME_MACHINE" in
2466 if [ "$OPT_VERBOSE" = "yes" ]; then
2467 echo " Sun SPARC (sparc)"
2474 if [ "$OPT_VERBOSE" = "yes" ]; then
2475 echo " 64-bit AMD 80x86 (x86_64)"
2477 CFG_HOST_ARCH=x86_64
2480 if [ "$OPT_VERBOSE" = "yes" ]; then
2481 echo " 32-bit Intel 80x86 (i386)"
2489 if [ "$OPT_VERBOSE" = "yes" ]; then
2490 echo " 64-bit IBM PowerPC (powerpc)"
2492 CFG_HOST_ARCH=powerpc
2495 if [ "$OPT_VERBOSE" = "yes" ]; then
2496 echo " HP PA-RISC (parisc)"
2498 CFG_HOST_ARCH=parisc
2501 if [ "$OPT_VERBOSE" = "yes" ]; then
2502 echo " 32-bit Intel 80x86 (i386)"
2506 *:*:x86_64|*:*:amd64)
2507 if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
2508 if [ "$OPT_VERBOSE" = "yes" ]; then
2509 echo " 32 bit on 64-bit AMD 80x86 (i386)"
2513 if [ "$OPT_VERBOSE" = "yes" ]; then
2514 echo " 64-bit AMD 80x86 (x86_64)"
2516 CFG_HOST_ARCH=x86_64
2520 if [ "$OPT_VERBOSE" = "yes" ]; then
2521 echo " 32-bit PowerPC (powerpc)"
2523 CFG_HOST_ARCH=powerpc
2526 if [ "$OPT_VERBOSE" = "yes" ]; then
2527 echo " 64-bit PowerPC (powerpc)"
2529 CFG_HOST_ARCH=powerpc
2532 if [ "$OPT_VERBOSE" = "yes" ]; then
2533 echo " IBM S/390 (s390)"
2538 if [ "$OPT_VERBOSE" = "yes" ]; then
2544 if [ "$OPT_VERBOSE" = "yes" ]; then
2545 echo " Linux on SPARC"
2550 case "$UNAME_MACHINE" in
2552 if [ "$OPT_VERBOSE" = "yes" ]; then
2553 echo " QNX on Intel 80x86 (i386)"
2560 if [ "$OPT_VERBOSE" = "yes" ]; then
2561 echo " Trying '$UNAME_MACHINE'..."
2563 CFG_HOST_ARCH="$UNAME_MACHINE"
2568 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2569 [ -z "$CFG_ARCH" ] && CFG_ARCH="windows"
2570 elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
2571 CFG_ARCH=$CFG_HOST_ARCH
2578 # previously, armv6 was a different arch
2584 if [ "$OPT_VERBOSE" = "yes" ]; then
2585 echo "System architecture: '$CFG_ARCH'"
2586 if [ "$PLATFORM_QPA" = "yes" ]; then
2587 echo "Host architecture: '$CFG_HOST_ARCH'"
2591 #-------------------------------------------------------------------------------
2592 # tests that don't need qmake (must be run before displaying help)
2593 #-------------------------------------------------------------------------------
2595 # detect build style
2596 if [ "$CFG_DEBUG" = "auto" ]; then
2597 if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2598 CFG_DEBUG_RELEASE=yes
2600 elif [ "$CFG_DEV" = "yes" ]; then
2601 CFG_DEBUG_RELEASE=no
2604 CFG_DEBUG_RELEASE=no
2608 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2609 QT_CONFIG="$QT_CONFIG build_all"
2612 if [ -z "$PKG_CONFIG" ]; then
2613 # See if PKG_CONFIG is set in the mkspec:
2614 PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
2616 if [ -z "$PKG_CONFIG" ]; then
2617 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
2620 # Work out if we can use pkg-config
2621 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
2622 if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
2624 echo >&2 "You have asked to use pkg-config and are cross-compiling."
2625 echo >&2 "Please make sure you have a correctly set-up pkg-config"
2626 echo >&2 "environment!"
2628 if [ -z "$PKG_CONFIG_PATH" ]; then
2630 echo >&2 "Warning: PKG_CONFIG_PATH has not been set. This could mean"
2631 echo >&2 "the host compiler's .pc files will be used. This is probably"
2632 echo >&2 "not what you want."
2634 elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
2636 echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
2637 echo >&2 "been set. This means your toolchain's .pc files must contain"
2638 echo >&2 "the paths to the toolchain's libraries & headers. If configure"
2639 echo >&2 "tests are failing, please check these files."
2644 echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
2645 echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
2646 echo >&2 "dependencies"
2652 if [ ! -n "$PKG_CONFIG" ]; then
2653 QT_CONFIG="$QT_CONFIG no-pkg-config"
2656 # pass on $CFG_SDK to the configure tests.
2657 if [ '!' -z "$CFG_SDK" ]; then
2658 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
2661 # find the default framework value
2662 if [ "$BUILD_ON_MAC" = "yes" ]; then
2663 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2664 CFG_FRAMEWORK="$CFG_SHARED"
2665 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2667 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2675 QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
2677 TEST_COMPILER=$QMAKE_CONF_COMPILER
2678 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
2679 if [ -z "$TEST_COMPILER" ]; then
2680 echo "ERROR: Cannot set the compiler for the configuration tests"
2686 if [ -n "$CFG_SYSROOT" ]; then
2687 if compilerSupportsFlag --sysroot="$CFG_SYSROOT"; then
2688 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting sysroot to: $CFG_SYSROOT"
2689 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
2691 echo >&2 "The compiler doesn't support the --sysroot flag, I can't set the sysroot"
2695 export SYSROOT_FLAG # used by config.tests/unix/compile.test
2697 # auto-detect precompiled header support
2698 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2699 if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2706 #auto-detect DWARF2 on the mac
2707 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
2708 if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
2715 # don't autodetect support for separate debug info on objcopy when
2716 # cross-compiling as lots of toolchains seems to have problems with this
2717 if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
2718 CFG_SEPARATE_DEBUG_INFO="no"
2721 # auto-detect support for separate debug info in objcopy
2722 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
2723 TEST_COMPILER_CFLAGS=`getXQMakeConf QMAKE_CFLAGS`
2724 TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
2725 TEST_OBJCOPY=`getXQMakeConf QMAKE_OBJCOPY`
2726 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
2727 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
2728 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
2729 CFG_SEPARATE_DEBUG_INFO=no
2733 # binutils on HP-UX is buggy; default to no.
2734 CFG_SEPARATE_DEBUG_INFO=no
2737 CFG_SEPARATE_DEBUG_INFO=yes
2743 # auto-detect -fvisibility support
2744 if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then
2745 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2746 CFG_REDUCE_EXPORTS=no
2748 CFG_REDUCE_EXPORTS=yes
2752 # detect the availability of the -Bsymbolic-functions linker optimization
2753 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
2754 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2755 CFG_REDUCE_RELOCATIONS=no
2757 CFG_REDUCE_RELOCATIONS=yes
2761 # auto-detect GNU make support
2762 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
2766 # find the default framework value
2767 if [ "$BUILD_ON_MAC" = "yes" ]; then
2768 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2769 CFG_FRAMEWORK="$CFG_SHARED"
2770 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2772 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2780 # x11 tests are done after qmake is built
2783 #setup the build parts
2784 if [ -z "$CFG_BUILD_PARTS" ]; then
2785 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
2787 # don't build tools by default when cross-compiling
2788 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2789 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
2792 for nobuild in $CFG_NOBUILD_PARTS; do
2793 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
2795 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
2797 # echo "WARNING: libs is a required part of the build."
2799 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
2802 #-------------------------------------------------------------------------------
2803 # post process QT_INSTALL_* variables
2804 #-------------------------------------------------------------------------------
2806 if [ -z "$QT_INSTALL_PREFIX" ]; then
2807 if [ "$CFG_DEV" = "yes" ]; then
2808 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
2810 QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION
2813 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
2815 if [ -z "$QT_INSTALL_DOCS" ]; then #default
2816 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2817 if [ "$BUILD_ON_MAC" = "yes" ]; then
2818 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
2821 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
2824 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
2826 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
2827 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2828 if [ "$BUILD_ON_MAC" = "yes" ]; then
2829 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2834 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
2837 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
2839 if [ -z "$QT_INSTALL_LIBS" ]; then #default
2840 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2841 if [ "$BUILD_ON_MAC" = "yes" ]; then
2842 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2843 QT_INSTALL_LIBS="/Libraries/Frameworks"
2847 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
2849 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
2851 if [ -z "$QT_INSTALL_BINS" ]; then #default
2852 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2853 if [ "$BUILD_ON_MAC" = "yes" ]; then
2854 QT_INSTALL_BINS="/Developer/Applications/Qt"
2857 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
2859 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
2861 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
2862 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2863 if [ "$BUILD_ON_MAC" = "yes" ]; then
2864 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
2867 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
2869 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
2871 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
2872 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2873 if [ "$BUILD_ON_MAC" = "yes" ]; then
2874 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
2877 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
2879 QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
2881 if [ -z "$QT_INSTALL_DATA" ]; then #default
2882 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
2884 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
2886 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
2887 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
2889 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
2891 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
2892 if [ "$BUILD_ON_MAC" = "yes" ]; then
2893 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
2895 QT_INSTALL_SETTINGS=/etc/xdg
2898 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
2900 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
2901 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2902 if [ "$BUILD_ON_MAC" = "yes" ]; then
2903 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
2906 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
2908 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
2911 if [ -z "$QT_INSTALL_TESTS" ]; then #default
2912 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2913 if [ "$BUILD_ON_MAC" = "yes" ]; then
2914 QT_INSTALL_TESTS="/Developer/Tests/Qt"
2917 [ -z "$QT_INSTALL_TESTS" ] && QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback
2919 QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
2921 #------- host paths --------
2923 if [ -z "$QT_HOST_PREFIX" ]; then
2924 QT_HOST_PREFIX=$QT_INSTALL_PREFIX
2927 QT_HOST_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_PREFIX"`
2931 if [ -z "$QT_HOST_BINS" ]; then #default
2933 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2934 if [ "$BUILD_ON_MAC" = "yes" ]; then
2935 QT_HOST_BINS="/Developer/Applications/Qt"
2938 [ -z "$QT_HOST_BINS" ] && QT_HOST_BINS="$QT_HOST_PREFIX/bin" #fallback
2940 QT_HOST_BINS="$QT_INSTALL_BINS"
2943 QT_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_BINS"`
2945 if [ -z "$QT_HOST_DATA" ]; then #default
2947 QT_HOST_DATA="$QT_HOST_PREFIX"
2949 QT_HOST_DATA="$QT_INSTALL_DATA"
2952 QT_HOST_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_DATA"`
2955 #-------------------------------------------------------------------------------
2956 # help - interactive parts of the script _after_ this section please
2957 #-------------------------------------------------------------------------------
2959 # next, emit a usage message if something failed.
2960 if [ "$OPT_HELP" = "yes" ]; then
2961 [ "x$ERROR" = "xyes" ] && echo
2962 if [ "$CFG_NIS" = "no" ]; then
2969 if [ "$CFG_CUPS" = "no" ]; then
2976 if [ "$CFG_ICONV" = "no" ]; then
2983 if [ "$CFG_LARGEFILE" = "no" ]; then
2990 if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then
2997 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
3005 if [ "$CFG_XCB" = "no" ]; then
3013 if [ "$CFG_XINPUT2" = "no" ]; then
3022 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
3023 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
3024 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-testsdir <dir>]
3025 [-release] [-debug] [-debug-and-release]
3026 [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
3027 [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
3028 [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
3029 [-plugin-sql-<driver>] [-system-sqlite]
3030 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
3031 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
3032 [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
3033 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
3034 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
3035 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
3036 [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
3037 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
3038 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info]
3039 [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
3040 [-no-audio-backend] [-audio-backend]
3041 [-no-javascript-jit] [-javascript-jit] [-no-declarative-debug] [-declarative-debug]
3042 [-no-optimized-qmake] [-optimized-qmake]
3043 [-no-openssl] [-openssl] [-openssl-linked]
3044 [-no-gtkstyle] [-gtkstyle]
3045 [-qt-pcre] [-system-pcre]
3046 [additional platform specific options (see below)]
3049 Installation options:
3051 -qpa ................ This will enable the QPA build.
3052 QPA is a window system agnostic implementation of Qt.
3054 These are optional, but you may specify install directories.
3056 -prefix <dir> ...... This will install everything relative to <dir>
3057 (default $QT_INSTALL_PREFIX)
3059 if [ "$PLATFORM_QPA" = "yes" ]; then
3062 -hostprefix [dir] .. Tools and libraries needed when developing
3063 applications are installed in [dir]. If [dir] is
3064 not given, the current build directory will be used.
3070 * -prefix-install .... Force a sandboxed "local" installation of
3071 Qt. This will install into
3072 $QT_INSTALL_PREFIX, if this option is
3073 disabled then some platforms will attempt a
3074 "system" install by placing default values to
3075 be placed in a system location other than
3078 You may use these to separate different parts of the install:
3080 -bindir <dir> ......... Executables will be installed to <dir>
3081 (default PREFIX/bin)
3082 -libdir <dir> ......... Libraries will be installed to <dir>
3083 (default PREFIX/lib)
3084 -docdir <dir> ......... Documentation will be installed to <dir>
3085 (default PREFIX/doc)
3086 -headerdir <dir> ...... Headers will be installed to <dir>
3087 (default PREFIX/include)
3088 -plugindir <dir> ...... Plugins will be installed to <dir>
3089 (default PREFIX/plugins)
3090 -importdir <dir> ...... Imports for QML will be installed to <dir>
3091 (default PREFIX/imports)
3092 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
3094 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
3095 (default PREFIX/translations)
3096 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
3097 (default PREFIX/etc/settings)
3098 -examplesdir <dir> .... Examples will be installed to <dir>
3099 (default PREFIX/examples)
3100 -testsdir <dir> ....... Tests will be installed to <dir>
3101 (default PREFIX/tests)
3103 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3106 -hostbindir <dir> .. Host executables will be installed to <dir>
3107 (default HOSTPREFIX/bin)
3108 -hostdatadir <dir> . Data used by qmake will be installed to <dir>
3109 (default HOSTPREFIX)
3116 The defaults (*) are usually acceptable. A plus (+) denotes a default value
3117 that needs to be evaluated. If the evaluation succeeds, the feature is
3118 included. Here is a short explanation of each option:
3120 * -release ........... Compile and link Qt with debugging turned off.
3121 -debug ............. Compile and link Qt with debugging turned on.
3122 -debug-and-release . Compile and link two versions of Qt, with and without
3123 debugging turned on (Mac only).
3125 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
3127 -opensource ........ Compile and link the Open-Source Edition of Qt.
3128 -commercial ........ Compile and link the Commercial Edition of Qt.
3131 * -shared ............ Create and use shared Qt libraries.
3132 -static ............ Create and use static Qt libraries.
3134 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3136 -fast .............. Configure Qt quickly by generating Makefiles only for
3137 library and subdirectory targets. All other Makefiles
3138 are created as wrappers, which will in turn run qmake.
3140 -no-largefile ...... Disables large file support.
3141 + -largefile ......... Enables Qt to access files larger than 4 GB.
3144 if [ "$PLATFORM_QPA" = "yes" ]; then
3151 if [ "$CFG_DBUS" = "no" ]; then
3160 $EXCN -no-exceptions ..... Disable exceptions on compilers that support it.
3161 $EXCY -exceptions ........ Enable exceptions on compilers that support it.
3163 -no-accessibility .. Do not compile Accessibility support.
3164 * -accessibility ..... Compile Accessibility support.
3166 $SHN -no-stl ............ Do not compile STL support.
3167 $SHY -stl ............... Compile STL support.
3169 -no-sql-<driver> ... Disable SQL <driver> entirely.
3170 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3172 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3175 Possible values for <driver>:
3176 [ $CFG_SQL_AVAILABLE ]
3178 -system-sqlite ..... Use sqlite from the operating system.
3180 -no-phonon-backend.. Do not build the platform phonon plugin.
3181 + -phonon-backend..... Build the platform phonon plugin.
3183 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
3184 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
3186 -no-declarative-debug ..... Do not build the declarative debugging support.
3187 + -declarative-debug ....... Build the declarative debugging support.
3189 -platform target ... The operating system and compiler you are building
3192 See the README file for a list of supported
3193 operating systems and compilers.
3196 if [ "${PLATFORM_QPA}" != "yes" ]; then
3198 -graphicssystem <sys> Sets an alternate graphics system. Available options are:
3199 raster - Software rasterizer
3200 opengl - Rendering via OpenGL, Experimental!
3201 openvg - Rendering via OpenVG, Experimental!
3208 -no-mmx ............ Do not compile with use of MMX instructions.
3209 -no-3dnow .......... Do not compile with use of 3DNOW instructions.
3210 -no-sse ............ Do not compile with use of SSE instructions.
3211 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3212 -no-sse3 ........... Do not compile with use of SSE3 instructions.
3213 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
3214 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
3215 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
3216 -no-avx ............ Do not compile with use of AVX instructions.
3217 -no-neon ........... Do not compile with use of NEON instructions.
3219 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3220 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3222 -testcocoon Instrument Qt with the TestCocoon code coverage tool.
3224 -D <string> ........ Add an explicit define to the preprocessor.
3225 -I <string> ........ Add an explicit include path.
3226 -L <string> ........ Add an explicit library path.
3228 -help, -h .......... Display this information.
3230 Third Party Libraries:
3232 -qt-zlib ........... Use the zlib bundled with Qt.
3233 + -system-zlib ....... Use zlib from the operating system.
3234 See http://www.gzip.org/zlib
3236 -no-gif ............ Do not compile GIF reading support.
3238 -no-libpng ......... Do not compile PNG support.
3239 -qt-libpng ......... Use the libpng bundled with Qt.
3240 + -system-libpng ..... Use libpng from the operating system.
3241 See http://www.libpng.org/pub/png
3243 -no-libjpeg ........ Do not compile JPEG support.
3244 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3245 + -system-libjpeg .... Use libjpeg from the operating system.
3246 See http://www.ijg.org
3248 -no-openssl ........ Do not compile support for OpenSSL.
3249 + -openssl ........... Enable run-time OpenSSL support.
3250 -openssl-linked .... Enabled linked OpenSSL support.
3252 -qt-pcre ........... Use the PCRE library bundled with Qt.
3253 + -system-pcre ....... Use the PCRE library from the operating system.
3257 -make <part> ....... Add part to the list of parts to be built at make time.
3258 ($QT_DEFAULT_BUILD_PARTS)
3259 -nomake <part> ..... Exclude part from the list of parts to be built.
3261 -R <string> ........ Add an explicit runtime library path to the Qt
3263 -l <string> ........ Add an explicit library.
3265 -no-rpath .......... Do not use the library install path as a runtime
3267 + -rpath ............. Link Qt libraries and executables using the library
3268 install path as a runtime library path. Equivalent
3269 to -R install_libpath
3271 -continue .......... Continue as far as possible if an error occurs.
3273 -verbose, -v ....... Print verbose information about each step of the
3276 -silent ............ Reduce the build output so that warnings and errors
3277 can be seen more easily.
3279 * -no-optimized-qmake ... Do not build qmake optimized.
3280 -optimized-qmake ...... Build qmake optimized.
3282 -no-gui ............ Don't build the Qt GUI library
3284 $NSN -no-nis ............ Do not compile NIS support.
3285 $NSY -nis ............... Compile NIS support.
3287 $CUN -no-cups ........... Do not compile CUPS support.
3288 $CUY -cups .............. Compile CUPS support.
3289 Requires cups/cups.h and libcups.so.2.
3291 $CIN -no-iconv .......... Do not compile support for iconv(3).
3292 $CIY -iconv ............. Compile support for iconv(3).
3294 $PHN -no-pch ............ Do not use precompiled header support.
3295 $PHY -pch ............... Use precompiled header support.
3297 $DBN -no-dbus ........... Do not compile the QtDBus module.
3298 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3299 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3301 -reduce-relocations ..... Reduce relocations in the libraries through extra
3302 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3303 experimental; needs GNU ld >= 2.18).
3305 -force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
3309 if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3310 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3317 elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
3325 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3329 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3330 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3332 $XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
3333 $XCBY -xcb ............... Compile Xcb support.
3339 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
3343 $X2N -no-xinput2......... Do not compile XInput2 support.
3344 $X2Y -xinput2............ Compile XInput2 support.
3350 if [ "$PLATFORM_X11" = "yes" ]; then
3351 if [ "$CFG_SM" = "no" ]; then
3358 if [ "$CFG_XSHAPE" = "no" ]; then
3365 if [ "$CFG_XVIDEO" = "no" ]; then
3372 if [ "$CFG_XINERAMA" = "no" ]; then
3379 if [ "$CFG_FONTCONFIG" = "no" ]; then
3386 if [ "$CFG_XCURSOR" = "no" ]; then
3393 if [ "$CFG_XFIXES" = "no" ]; then
3400 if [ "$CFG_XRANDR" = "no" ]; then
3407 if [ "$CFG_XRENDER" = "no" ]; then
3414 if [ "$CFG_MITSHM" = "no" ]; then
3421 if [ "$CFG_XINPUT" = "no" ]; then
3428 if [ "$CFG_XKB" = "no" ]; then
3435 if [ "$CFG_IM" = "no" ]; then
3446 -no-gtkstyle ....... Do not build the GTK theme integration.
3447 + -gtkstyle .......... Build the GTK theme integration.
3449 * -no-nas-sound ...... Do not compile in NAS sound support.
3450 -system-nas-sound .. Use NAS libaudio from the operating system.
3451 See http://radscan.com/nas.html
3453 -egl ............... Use EGL instead of GLX to manage contexts.
3454 When building for desktop OpenGL, this option will
3455 make Qt use EGL to manage contexts rather than the
3456 GLX, which is the default. Note: For OpenGL ES, EGL
3459 -no-opengl ......... Do not support OpenGL.
3460 + -opengl <api> ...... Enable OpenGL support.
3461 With no parameter, this will auto-detect the "best"
3462 OpenGL API to use. If desktop OpenGL is available, it
3463 will be used. Use desktop or es2 for <api>
3464 to force the use of the Desktop OpenGL or
3465 OpenGL ES 2 APIs instead.
3467 -no-openvg ........ Do not support OpenVG.
3468 + -openvg ........... Enable OpenVG support.
3469 Requires EGL support, typically supplied by an OpenGL
3470 or other graphics implementation.
3472 $SMN -no-sm ............. Do not support X Session Management.
3473 $SMY -sm ................ Support X Session Management, links in -lSM -lICE.
3475 $SHN -no-xshape ......... Do not compile XShape support.
3476 $SHY -xshape ............ Compile XShape support.
3477 Requires X11/extensions/shape.h.
3479 $XVN -no-xvideo ......... Do not compile XVideo support.
3480 $XVY -xvideo ............ Compile XVideo support.
3481 Requires X11/extensions/Xv.h & Xvlib.h.
3483 $SHN -no-xsync .......... Do not compile XSync support.
3484 $SHY -xsync ............. Compile XSync support.
3485 Requires X11/extensions/sync.h.
3487 $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
3488 $XAY -xinerama .......... Compile Xinerama support.
3489 Requires X11/extensions/Xinerama.h and libXinerama.
3490 By default, Xinerama support will be compiled if
3491 available and the shared libraries are dynamically
3494 $XCN -no-xcursor ........ Do not compile Xcursor support.
3495 $XCY -xcursor ........... Compile Xcursor support.
3496 Requires X11/Xcursor/Xcursor.h and libXcursor.
3497 By default, Xcursor support will be compiled if
3498 available and the shared libraries are dynamically
3501 $XFN -no-xfixes ......... Do not compile Xfixes support.
3502 $XFY -xfixes ............ Compile Xfixes support.
3503 Requires X11/extensions/Xfixes.h and libXfixes.
3504 By default, Xfixes support will be compiled if
3505 available and the shared libraries are dynamically
3508 $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
3509 $XZY -xrandr ............ Compile Xrandr support.
3510 Requires X11/extensions/Xrandr.h and libXrandr.
3512 $XRN -no-xrender ........ Do not compile Xrender support.
3513 $XRY -xrender ........... Compile Xrender support.
3514 Requires X11/extensions/Xrender.h and libXrender.
3516 $XMN -no-mitshm ......... Do not compile MIT-SHM support.
3517 $XMY -mitshm ............ Compile MIT-SHM support.
3518 Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
3520 $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
3521 $FCGY -fontconfig ........ Compile FontConfig support.
3522 Requires fontconfig/fontconfig.h, libfontconfig,
3523 freetype.h and libfreetype.
3525 $XIN -no-xinput ......... Do not compile Xinput support.
3526 $XIY -xinput ............ Compile Xinput support. This also enabled tablet support
3527 which requires IRIX with wacom.h and libXi or
3528 XFree86 with X11/extensions/XInput.h and libXi.
3530 $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
3531 $XKY -xkb ............... Compile XKB support.
3536 if [ "$BUILD_ON_MAC" = "yes" ]; then
3541 -Fstring ........... Add an explicit framework path.
3542 -fw string ......... Add an explicit framework.
3544 * -framework ......... Build Qt as a series of frameworks and
3545 link tools against those frameworks.
3546 -no-framework ...... Do not build Qt as a series of frameworks.
3548 * -dwarf2 ............ Enable dwarf2 debugging symbols.
3549 -no-dwarf2 ......... Disable dwarf2 debugging symbols.
3551 -arch <arch> ....... Build Qt for <arch>. Supported arch values: x86 x86_64.
3552 Only one arch value can be specified.
3554 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3555 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3557 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
3558 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
3559 QT_ENABLE_HARFBUZZ environment variable.
3564 if [ "$PLATFORM_QPA" = "yes" ]; then
3570 if [ "$PLATFORM_QPA" = "yes" ]; then
3573 -xplatform target ... The target platform when cross-compiling.
3575 -no-feature-<feature> Do not compile in <feature>.
3576 -feature-<feature> .. Compile in <feature>. The available features
3577 are described in src/corelib/global/qfeatures.txt
3579 -no-freetype ........ Do not compile in Freetype2 support.
3580 -qt-freetype ........ Use the libfreetype bundled with Qt.
3581 * -system-freetype .... Use libfreetype from the operating system.
3582 See http://www.freetype.org/
3584 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3585 default ($CFG_QCONFIG).
3587 -no-opengl .......... Do not support OpenGL.
3588 -opengl <api> ....... Enable OpenGL ES support
3589 With no parameter, this will attempt to auto-detect
3590 OpenGL ES 2, or regular desktop OpenGL.
3591 Use es2 for <api> to override auto-detection.
3595 if [ "$PLATFORM_QPA" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
3596 if [ "$CFG_GLIB" = "no" ]; then
3604 $GBN -no-glib ........... Do not compile Glib support.
3605 $GBY -glib .............. Compile Glib support.
3610 [ "x$ERROR" = "xyes" ] && exit 1
3615 # -----------------------------------------------------------------------------
3616 # LICENSING, INTERACTIVE PART
3617 # -----------------------------------------------------------------------------
3619 if [ "$PLATFORM_QPA" = "yes" ]; then
3620 Platform="Qt Lighthouse"
3621 elif [ "$XPLATFORM_MINGW" = "yes" ]; then
3622 Platform="Qt for Windows"
3623 elif [ -n "`getXQMakeConf grep QMAKE_LIBS_X11`" ]; then
3625 Platform="Qt for Linux/X11"
3629 echo "This is the $Platform ${EditionString} Edition."
3632 if [ "$Edition" = "OpenSource" ]; then
3634 echo "You are licensed to use this software under the terms of"
3635 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
3636 if [ -f "$relpath/LICENSE.GPL3" ]; then
3637 echo "You are also licensed to use this software under the terms of"
3638 echo "the GNU General Public License (GPL) versions 3."
3644 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3645 echo "You have already accepted the terms of the $LicenseType license."
3648 if [ -f "$relpath/LICENSE.GPL3" ]; then
3649 echo "Type '3' to view the GNU General Public License version 3."
3651 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
3652 echo "Type 'yes' to accept this license offer."
3653 echo "Type 'no' to decline this license offer."
3655 echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
3659 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
3661 elif [ "$acceptance" = "no" ]; then
3662 echo "You are not licensed to use this software."
3665 elif [ "$acceptance" = "3" ]; then
3666 more "$relpath/LICENSE.GPL3"
3667 elif [ "$acceptance" = "L" ]; then
3668 more "$relpath/LICENSE.LGPL"
3671 elif [ "$Edition" = "Preview" ]; then
3672 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
3675 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3676 echo "You have already accepted the terms of the $LicenseType license."
3679 echo "You are licensed to use this software under the terms of"
3680 echo "the $TheLicense"
3682 echo "Type '?' to read the Preview License."
3683 echo "Type 'yes' to accept this license offer."
3684 echo "Type 'no' to decline this license offer."
3686 echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
3690 if [ "$acceptance" = "yes" ]; then
3692 elif [ "$acceptance" = "no" ] ;then
3693 echo "You are not licensed to use this software."
3696 elif [ "$acceptance" = "?" ]; then
3697 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
3700 elif [ "$Edition" != "OpenSource" ]; then
3701 if [ -n "$ExpiryDate" ]; then
3702 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
3703 [ -z "$ExpiryDate" ] && ExpiryDate="0"
3704 Today=`date +%Y%m%d`
3705 if [ "$Today" -gt "$ExpiryDate" ]; then
3706 case "$LicenseType" in
3707 Commercial|Academic|Educational)
3708 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
3710 echo "NOTICE NOTICE NOTICE NOTICE"
3712 echo " Your support and upgrade period has expired."
3714 echo " You are no longer licensed to use this version of Qt."
3715 echo " Please contact qt-info@nokia.com to renew your support"
3716 echo " and upgrades for this license."
3718 echo "NOTICE NOTICE NOTICE NOTICE"
3723 echo "WARNING WARNING WARNING WARNING"
3725 echo " Your support and upgrade period has expired."
3727 echo " You may continue to use your last licensed release"
3728 echo " of Qt under the terms of your existing license"
3729 echo " agreement. But you are not entitled to technical"
3730 echo " support, nor are you entitled to use any more recent"
3731 echo " Qt releases."
3733 echo " Please contact qt-info@nokia.com to renew your"
3734 echo " support and upgrades for this license."
3736 echo "WARNING WARNING WARNING WARNING"
3743 echo "NOTICE NOTICE NOTICE NOTICE"
3745 echo " Your Evaluation license has expired."
3747 echo " You are no longer licensed to use this software. Please"
3748 echo " contact qt-info@nokia.com to purchase license, or install"
3749 echo " the Qt Open Source Edition if you intend to develop free"
3752 echo "NOTICE NOTICE NOTICE NOTICE"
3759 TheLicense=`head -n 1 "$outpath/LICENSE"`
3761 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3762 echo "You have already accepted the terms of the $TheLicense."
3765 echo "You are licensed to use this software under the terms of"
3766 echo "the $TheLicense."
3768 echo "Type '?' to view the $TheLicense."
3769 echo "Type 'yes' to accept this license offer."
3770 echo "Type 'no' to decline this license offer."
3772 echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
3776 if [ "$acceptance" = "yes" ]; then
3778 elif [ "$acceptance" = "no" ]; then
3779 echo "You are not licensed to use this software."
3782 else [ "$acceptance" = "?" ]
3783 more "$outpath/LICENSE"
3788 # this should be moved somewhere else
3791 AIX_VERSION=`uname -v`
3792 if [ "$AIX_VERSION" -lt "5" ]; then
3793 QMakeVar add QMAKE_LIBS_X11 -lbind
3800 #-------------------------------------------------------------------------------
3801 # generate qconfig.cpp
3802 #-------------------------------------------------------------------------------
3803 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
3805 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3807 static const char qt_configure_licensee_str [256 + 12] = "qt_lcnsuser=$Licensee";
3808 static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$Edition";
3810 /* Installation date */
3811 static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`";
3813 /* Installation Info */
3814 static const char qt_configure_prefix_path_strs[][256 + 12] = {
3815 "qt_prfxpath=$QT_INSTALL_PREFIX",
3816 "qt_docspath=$QT_INSTALL_DOCS",
3817 "qt_hdrspath=$QT_INSTALL_HEADERS",
3818 "qt_libspath=$QT_INSTALL_LIBS",
3819 "qt_binspath=$QT_INSTALL_BINS",
3820 "qt_plugpath=$QT_INSTALL_PLUGINS",
3821 "qt_impspath=$QT_INSTALL_IMPORTS",
3822 "qt_datapath=$QT_INSTALL_DATA",
3823 "qt_trnspath=$QT_INSTALL_TRANSLATIONS",
3824 "qt_xmplpath=$QT_INSTALL_EXAMPLES",
3825 "qt_tstspath=$QT_INSTALL_TESTS",
3826 #ifdef QT_BUILD_QMAKE
3827 "qt_ssrtpath=$CFG_SYSROOT",
3828 "qt_hpfxpath=$QT_HOST_PREFIX",
3829 "qt_hbinpath=$QT_HOST_BINS",
3830 "qt_hdatpath=$QT_HOST_DATA",
3833 static const char qt_configure_settings_path_str[256 + 12] = "qt_stngpath=$QT_INSTALL_SETTINGS";
3836 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3838 /* strlen( "qt_lcnsxxxx" ) == 12 */
3839 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
3840 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
3842 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
3845 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
3846 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
3847 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
3849 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
3850 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
3851 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
3854 # -----------------------------------------------------------------------------
3855 if [ "$LicenseType" = "Evaluation" ]; then
3856 EVALKEY=qt_qevalkey=$LicenseKeyExt
3857 elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then
3858 EVALKEY=qt_qevalkey=
3861 if [ -n "$EVALKEY" ]; then
3862 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
3863 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
3864 /* Evaluation license key */
3865 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
3867 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
3871 # -----------------------------------------------------------------------------
3873 # -----------------------------------------------------------------------------
3876 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
3878 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
3879 if [ "$OPT_SHADOW" = "yes" ]; then
3880 "$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
3881 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
3882 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
3886 # $1: input variable name (awk regexp)
3887 # $2: optional output variable name
3888 # $3: optional value transformation (sed command)
3889 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
3890 # is where the resulting variable is written to
3891 setBootstrapVariable()
3893 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
3897 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
3898 echo "Creating qmake. Please wait..."
3901 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
3902 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
3903 if [ -f "$QCONFIG_H" ]; then
3904 OLD_QCONFIG_H=$QCONFIG_H
3905 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
3908 # create temporary qconfig.h for compiling qmake, if it doesn't exist
3909 # when building qmake, we use #defines for the install paths,
3910 # however they are real functions in the library
3911 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
3912 mkdir -p "$outpath/src/corelib/global"
3913 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
3914 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
3917 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
3919 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
3920 rm -rf mkspecs/default
3921 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
3922 mkdir -p "$outpath/qmake" || exit
3924 for mkfile in GNUmakefile Makefile; do
3927 in_mkfile="${mkfile}.in"
3928 if [ "$mkfile" = "Makefile" ]; then
3929 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
3930 # (cd qmake && qmake) >/dev/null 2>&1 && continue
3932 in_mkfile="${mkfile}.unix"
3934 in_mkfile="$relpath/qmake/$in_mkfile"
3935 mkfile="$outpath/qmake/$mkfile"
3936 if [ -f "$mkfile" ]; then
3937 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
3940 [ -f "$in_mkfile" ] || continue
3942 echo "########################################################################" > "$mkfile"
3943 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
3944 echo "########################################################################" >> "$mkfile"
3947 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
3948 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
3949 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
3951 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
3952 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
3955 [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
3956 setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
3957 setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
3958 setBootstrapVariable QMAKE_CFLAGS
3959 setBootstrapVariable QMAKE_CXXFLAGS
3960 setBootstrapVariable QMAKE_LFLAGS
3962 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
3963 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
3964 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
3966 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
3967 setBootstrapVariable QMAKE_CFLAGS_RELEASE
3968 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
3969 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
3970 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
3971 elif [ "$CFG_DEBUG" = "yes" ]; then
3972 setBootstrapVariable QMAKE_CFLAGS_DEBUG
3973 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
3974 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
3975 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
3978 if [ -n "$RPATH_FLAGS" ] && [ -n "`getQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
3979 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" QMAKE_LFLAGS_RPATH
3980 for rpath in $RPATH_FLAGS; do
3981 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
3984 if [ "$BUILD_ON_MAC" = "yes" ]; then
3985 echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
3986 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
3987 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
3988 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
3989 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
3990 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
3991 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
3992 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
3993 if [ '!' -z "$CFG_SDK" ]; then
3994 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
3995 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
3996 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
3997 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
3998 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
4001 if [ '!' -z "$D_FLAGS" ]; then
4002 for DEF in $D_FLAGS; do
4003 EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
4006 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
4007 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
4008 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
4009 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
4011 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
4012 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
4013 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
4014 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
4015 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
4016 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
4017 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
4018 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
4019 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
4020 -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
4022 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
4023 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
4024 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
4025 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
4030 QMAKE_BUILD_ERROR=no
4031 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
4032 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
4033 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
4034 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
4037 #-------------------------------------------------------------------------------
4038 # tests that need qmake
4039 #-------------------------------------------------------------------------------
4041 # detect availability of float math.h functions
4042 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
4043 CFG_USE_FLOATMATH=yes
4045 CFG_USE_FLOATMATH=no
4048 # detect mmx support
4049 if [ "${CFG_MMX}" = "auto" ]; then
4050 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mmx "mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
4057 # detect 3dnow support
4058 if [ "${CFG_3DNOW}" = "auto" ]; then
4059 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/3dnow "3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
4066 # detect sse support
4067 if [ "${CFG_SSE}" = "auto" ]; then
4068 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse "sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
4075 # detect sse2 support
4076 if [ "${CFG_SSE2}" = "auto" ]; then
4077 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
4084 # detect sse3 support
4085 if [ "${CFG_SSE3}" = "auto" ]; then
4086 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse3 "sse3" $L_FLAGS $I_FLAGS $l_FLAGS "-msse3"; then
4093 # detect ssse3 support
4094 if [ "${CFG_SSSE3}" = "auto" ]; then
4095 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ssse3 "ssse3" $L_FLAGS $I_FLAGS $l_FLAGS "-mssse3"; then
4102 # detect sse4.1 support
4103 if [ "${CFG_SSE4_1}" = "auto" ]; then
4104 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
4111 # detect sse4.2 support
4112 if [ "${CFG_SSE4_2}" = "auto" ]; then
4113 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
4120 # detect avx support
4121 if [ "${CFG_AVX}" = "auto" ]; then
4122 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx "avx" $L_FLAGS $I_FLAGS $l_FLAGS "-mavx"; then
4129 # check iWMMXt support
4130 if [ "$CFG_IWMMXT" = "yes" ]; then
4131 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
4132 if [ $? != "0" ]; then
4133 echo "The iWMMXt functionality test failed!"
4134 echo " Please make sure your compiler supports iWMMXt intrinsics!"
4139 # detect neon support
4140 if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
4141 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
4148 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
4151 if [ "$CFG_ZLIB" = "no" ]; then
4152 # Note: Qt no longer support builds without zlib
4153 # So we force a "no" to be "auto" here.
4154 # If you REALLY really need no zlib support, you can still disable
4155 # it by doing the following:
4156 # add "no-zlib" to mkspecs/qconfig.pri
4157 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
4159 # There's no guarantee that Qt will build under those conditions
4164 if [ "$CFG_ZLIB" = "auto" ]; then
4165 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
4172 if [ "$CFG_LARGEFILE" = "auto" ]; then
4173 #Large files should be enabled for all Linux systems
4177 # detect how jpeg should be built
4178 if [ "$CFG_JPEG" = "auto" ]; then
4179 if [ "$CFG_SHARED" = "yes" ]; then
4186 if [ "$CFG_LIBJPEG" = "auto" ]; then
4187 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
4194 # detect how gif should be built
4195 if [ "$CFG_GIF" = "auto" ]; then
4196 if [ "$CFG_SHARED" = "yes" ]; then
4204 if [ "$CFG_LIBPNG" = "auto" ]; then
4205 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
4212 # detect accessibility
4213 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4214 CFG_ACCESSIBILITY=yes
4217 # auto-detect SQL-modules support
4218 for _SQLDR in $CFG_SQL_AVAILABLE; do
4221 if [ "$CFG_SQL_mysql" != "no" ]; then
4222 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
4223 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4224 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4225 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4226 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4227 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4228 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4230 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4231 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4232 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4233 echo " You need MySql 4 or higher."
4234 echo " If you believe this message is in error you may use the continue"
4235 echo " switch (-continue) to $0 to continue."
4240 QT_LFLAGS_MYSQL_R=""
4244 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
4245 QMakeVar add CONFIG use_libmysqlclient_r
4246 if [ "$CFG_SQL_mysql" = "auto" ]; then
4247 CFG_SQL_mysql=plugin
4249 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
4250 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
4251 if [ "$CFG_SQL_mysql" = "auto" ]; then
4252 CFG_SQL_mysql=plugin
4255 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4256 echo "MySQL support cannot be enabled due to functionality tests!"
4257 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4258 echo " If you believe this message is in error you may use the continue"
4259 echo " switch (-continue) to $0 to continue."
4264 QT_LFLAGS_MYSQL_R=""
4272 if [ "$CFG_SQL_psql" != "no" ]; then
4273 # Be careful not to use native pg_config when cross building.
4274 if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
4275 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
4276 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
4278 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
4279 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
4280 # But, respect PSQL_LIBS if set
4281 [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
4282 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
4283 if [ "$CFG_SQL_psql" = "auto" ]; then
4287 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4288 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4289 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4290 echo " If you believe this message is in error you may use the continue"
4291 echo " switch (-continue) to $0 to continue."
4302 if [ "$CFG_SQL_odbc" != "no" ]; then
4303 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
4304 if [ "$CFG_SQL_odbc" = "auto" ]; then
4308 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
4309 QT_LFLAGS_ODBC="-liodbc"
4310 if [ "$CFG_SQL_odbc" = "auto" ]; then
4314 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4315 echo "ODBC support cannot be enabled due to functionality tests!"
4316 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4317 echo " If you believe this message is in error you may use the continue"
4318 echo " switch (-continue) to $0 to continue."
4328 if [ "$CFG_SQL_oci" != "no" ]; then
4329 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
4330 if [ "$CFG_SQL_oci" = "auto" ]; then
4334 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4335 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4336 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4337 echo " If you believe this message is in error you may use the continue"
4338 echo " switch (-continue) to $0 to continue."
4347 if [ "$CFG_SQL_tds" != "no" ]; then
4348 [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
4349 [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
4350 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
4351 if [ "$CFG_SQL_tds" = "auto" ]; then
4355 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4356 echo "TDS support cannot be enabled due to functionality tests!"
4357 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4358 echo " If you believe this message is in error you may use the continue"
4359 echo " switch (-continue) to $0 to continue."
4368 if [ "$CFG_SQL_db2" != "no" ]; then
4369 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
4370 if [ "$CFG_SQL_db2" = "auto" ]; then
4374 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4375 echo "ODBC support cannot be enabled due to functionality tests!"
4376 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4377 echo " If you believe this message is in error you may use the continue"
4378 echo " switch (-continue) to $0 to continue."
4387 if [ "$CFG_SQL_ibase" != "no" ]; then
4388 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
4389 if [ "$CFG_SQL_ibase" = "auto" ]; then
4390 CFG_SQL_ibase=plugin
4393 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4394 echo "InterBase support cannot be enabled due to functionality tests!"
4395 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4396 echo " If you believe this message is in error you may use the continue"
4397 echo " switch (-continue) to $0 to continue."
4406 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4407 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
4408 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4409 CFG_SQL_sqlite2=plugin
4412 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4413 echo "SQLite2 support cannot be enabled due to functionality tests!"
4414 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4415 echo " If you believe this message is in error you may use the continue"
4416 echo " switch (-continue) to $0 to continue."
4425 if [ "$CFG_SQL_sqlite" != "no" ]; then
4426 SQLITE_AUTODETECT_FAILED="no"
4427 if [ "$CFG_SQLITE" = "system" ]; then
4428 if [ -n "$PKG_CONFIG" ]; then
4429 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4430 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4432 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
4433 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4434 CFG_SQL_sqlite=plugin
4436 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4438 SQLITE_AUTODETECT_FAILED="yes"
4441 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4442 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4443 CFG_SQL_sqlite=plugin
4446 SQLITE_AUTODETECT_FAILED="yes"
4450 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4451 echo "SQLite 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."
4460 if [ "$OPT_VERBOSE" = "yes" ]; then
4461 echo "unknown SQL driver: $_SQLDR"
4467 # auto-detect NIS support
4468 if [ "$CFG_NIS" != "no" ]; then
4469 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
4472 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4473 echo "NIS support cannot be enabled due to functionality tests!"
4474 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4475 echo " If you believe this message is in error you may use the continue"
4476 echo " switch (-continue) to $0 to continue."
4484 # auto-detect CUPS support
4485 if [ "$CFG_CUPS" != "no" ]; then
4486 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
4489 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4490 echo "Cups support cannot be enabled due to functionality tests!"
4491 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4492 echo " If you believe this message is in error you may use the continue"
4493 echo " switch (-continue) to $0 to continue."
4501 # auto-detect iconv(3) support
4502 if [ "$CFG_ICONV" != "no" ]; then
4503 if [ "$XPLATFORM_MINGW" = "yes" ] || [ "$PLATFORM_QPA" = "yes" -a "$CFG_ICONV" = "auto" ]; then
4505 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
4507 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
4509 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
4512 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4513 echo "Iconv support cannot be enabled due to functionality tests!"
4514 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4515 echo " If you believe this message is in error you may use the continue"
4516 echo " switch (-continue) to $0 to continue."
4524 # auto-detect libdbus-1 support
4525 if [ "$CFG_DBUS" != "no" ]; then
4526 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
4527 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4528 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4530 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
4531 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
4532 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
4533 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
4535 if [ "$CFG_DBUS" = "auto" ]; then
4537 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4538 # CFG_DBUS is "yes" or "linked" here
4540 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4541 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4542 echo " If you believe this message is in error you may use the continue"
4543 echo " switch (-continue) to $0 to continue."
4550 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
4552 # auto-detect Glib support
4553 if [ "$CFG_GLIB" != "no" ]; then
4554 if [ -n "$PKG_CONFIG" ]; then
4555 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4556 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4558 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
4560 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
4561 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
4563 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4564 echo "Glib support cannot be enabled due to functionality tests!"
4565 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4566 echo " If you believe this message is in error you may use the continue"
4567 echo " switch (-continue) to $0 to continue."
4576 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4577 if [ -n "$PKG_CONFIG" ]; then
4578 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4579 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4581 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
4583 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
4584 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
4586 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4587 echo "Gstreamer support cannot be enabled due to functionality tests!"
4588 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4589 echo " If you believe this message is in error you may use the continue"
4590 echo " switch (-continue) to $0 to continue."
4596 elif [ "$CFG_GLIB" = "no" ]; then
4600 # auto-detect libicu support
4601 if [ "$CFG_ICU" != "no" ]; then
4602 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $l_FLAGS; then
4603 [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
4605 if [ "$CFG_ICU" = "auto" ]; then
4607 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4610 echo "The ICU library support cannot be enabled."
4611 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4612 echo " If you believe this message is in error you may use the continue"
4613 echo " switch (-continue) to $0 to continue."
4619 # Auto-detect PulseAudio support
4620 if [ "$CFG_PULSEAUDIO" != "no" ]; then
4621 if [ -n "$PKG_CONFIG" ]; then
4622 QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4623 QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4625 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
4627 QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
4628 QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
4630 if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4631 echo "PulseAudio support cannot be enabled due to functionality tests!"
4632 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4633 echo " If you believe this message is in error you may use the continue"
4634 echo " switch (-continue) to $0 to continue."
4644 if [ "$PLATFORM_X11" = "yes" -a "$CFG_GUI" != "no" ]; then
4645 x11tests="$relpath/config.tests/x11"
4648 # work around broken X11 headers when using GCC 2.95 or later
4650 "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE=yes
4651 if [ $NOTYPE = "yes" ]; then
4652 QMakeVar add QMAKE_CXXFLAGS -fpermissive
4653 X11TESTS_FLAGS="$X11TESTS_FLAGS -fpermissive"
4656 # Check we actually have X11 :-)
4657 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4658 if [ $? != "0" ]; then
4659 echo "Basic XLib functionality test failed!"
4660 echo " You might need to modify the include and library search paths by editing"
4661 echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
4667 if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
4668 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4669 if [ "$CFG_GUI" = "no" ]; then
4670 if [ "$CFG_OPENGL" = "auto" ]; then
4673 if [ "$CFG_OPENGL" != "no" ]; then
4674 echo "OpenGL enabled, but GUI disabled."
4675 echo " You might need to either enable the GUI or disable OpenGL"
4679 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4680 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
4682 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
4684 if [ "$CFG_EGL" = "no" ]; then
4688 if [ "$CFG_OPENGL" = "yes" ]; then
4689 echo "All the OpenGL functionality tests failed!"
4690 echo " You might need to modify the include and library search paths by editing"
4691 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4692 echo " ${XQMAKESPEC}."
4699 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4700 if [ "$CFG_OPENGL" = "desktop" ]; then
4701 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4702 if [ $? != "0" ]; then
4703 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4710 elif [ "$CFG_OPENGL" = "es2" ]; then
4712 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
4713 if [ $? != "0" ]; then
4714 echo "The OpenGL ES 2.0 functionality test failed!"
4715 echo " You might need to modify the include and library search paths by editing"
4716 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4717 echo " ${XQMAKESPEC}."
4720 elif [ "$CFG_OPENGL" = "desktop" ]; then
4721 # Desktop OpenGL support
4722 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4723 if [ $? != "0" ]; then
4724 echo "The OpenGL functionality test failed!"
4725 echo " You might need to modify the include and library search paths by editing"
4726 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4727 echo " ${XQMAKESPEC}."
4732 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4733 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4734 if [ $? != "0" ]; then
4735 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4742 fi # X11/MINGW OpenGL
4745 if [ "$PLATFORM_X11" = "yes" ]; then
4746 # auto-detect Xcursor support
4747 if [ "$CFG_XCURSOR" != "no" ]; then
4748 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
4749 if [ "$CFG_XCURSOR" != "runtime" ]; then
4753 if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4754 echo "Xcursor support cannot be enabled due to functionality tests!"
4755 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4756 echo " If you believe this message is in error you may use the continue"
4757 echo " switch (-continue) to $0 to continue."
4765 # auto-detect Xfixes support
4766 if [ "$CFG_XFIXES" != "no" ]; then
4767 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xfixes "Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
4768 if [ "$CFG_XFIXES" != "runtime" ]; then
4772 if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4773 echo "Xfixes support cannot be enabled due to functionality tests!"
4774 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4775 echo " If you believe this message is in error you may use the continue"
4776 echo " switch (-continue) to $0 to continue."
4784 # auto-detect Xrandr support (resize and rotate extension)
4785 if [ "$CFG_XRANDR" != "no" ]; then
4786 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
4787 if [ "$CFG_XRANDR" != "runtime" ]; then
4791 if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4792 echo "Xrandr support cannot be enabled due to functionality tests!"
4793 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4794 echo " If you believe this message is in error you may use the continue"
4795 echo " switch (-continue) to $0 to continue."
4803 # auto-detect Xrender support
4804 if [ "$CFG_XRENDER" != "no" ]; then
4805 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
4808 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4809 echo "Xrender support cannot be enabled due to functionality tests!"
4810 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4811 echo " If you believe this message is in error you may use the continue"
4812 echo " switch (-continue) to $0 to continue."
4820 # auto-detect MIT-SHM support
4821 if [ "$CFG_MITSHM" != "no" ]; then
4822 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
4825 if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4826 echo "MITSHM support cannot be enabled due to functionality tests!"
4827 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4828 echo " If you believe this message is in error you may use the continue"
4829 echo " switch (-continue) to $0 to continue."
4837 # auto-detect FontConfig support
4838 if [ "$CFG_FONTCONFIG" != "no" ]; then
4839 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
4840 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
4841 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
4843 QT_CFLAGS_FONTCONFIG=
4844 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
4846 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
4848 QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
4849 QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
4850 CFG_LIBFREETYPE=system
4852 if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4853 echo "FontConfig support cannot be enabled due to functionality tests!"
4854 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4855 echo " If you believe this message is in error you may use the continue"
4856 echo " switch (-continue) to $0 to continue."
4864 # auto-detect Session Management support
4865 if [ "$CFG_SM" = "auto" ]; then
4866 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
4869 if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4870 echo "Session Management support cannot be enabled due to functionality tests!"
4871 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4872 echo " If you believe this message is in error you may use the continue"
4873 echo " switch (-continue) to $0 to continue."
4881 # auto-detect SHAPE support
4882 if [ "$CFG_XSHAPE" != "no" ]; then
4883 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
4886 if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4887 echo "XShape support cannot be enabled due to functionality tests!"
4888 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4889 echo " If you believe this message is in error you may use the continue"
4890 echo " switch (-continue) to $0 to continue."
4898 # auto-detect XVideo support
4899 if [ "$CFG_XVIDEO" != "no" ]; then
4900 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
4903 if [ "$CFG_XVIDEO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4904 echo "XVideo support cannot be enabled due to functionality tests!"
4905 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4906 echo " If you believe this message is in error you may use the continue"
4907 echo " switch (-continue) to $0 to continue."
4915 # auto-detect XSync support
4916 if [ "$CFG_XSYNC" != "no" ]; then
4917 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
4920 if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4921 echo "XSync support cannot be enabled due to functionality tests!"
4922 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4923 echo " If you believe this message is in error you may use the continue"
4924 echo " switch (-continue) to $0 to continue."
4932 # auto-detect Xinerama support
4933 if [ "$CFG_XINERAMA" != "no" ]; then
4934 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
4935 if [ "$CFG_XINERAMA" != "runtime" ]; then
4939 if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4940 echo "Xinerama support cannot be enabled due to functionality tests!"
4941 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4942 echo " If you believe this message is in error you may use the continue"
4943 echo " switch (-continue) to $0 to continue."
4951 # auto-detect Xinput support
4952 if [ "$CFG_XINPUT" != "no" ]; then
4953 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
4954 if [ "$CFG_XINPUT" != "runtime" ]; then
4958 if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4959 echo "Tablet and Xinput support cannot be enabled due to functionality tests!"
4960 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4961 echo " If you believe this message is in error you may use the continue"
4962 echo " switch (-continue) to $0 to continue."
4970 # auto-detect XKB support
4971 if [ "$CFG_XKB" != "no" ]; then
4972 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
4975 if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4976 echo "XKB support cannot be enabled due to functionality tests!"
4977 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4978 echo " If you believe this message is in error you may use the continue"
4979 echo " switch (-continue) to $0 to continue."
4987 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
4988 if [ -n "$PKG_CONFIG" ]; then
4989 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
4990 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
4992 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
4994 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
4995 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
4997 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4998 echo "Gtk theme support cannot be enabled due to functionality tests!"
4999 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5000 echo " If you believe this message is in error you may use the continue"
5001 echo " switch (-continue) to $0 to continue."
5007 elif [ "$CFG_GLIB" = "no" ]; then
5013 if [ "$BUILD_ON_MAC" = "yes" ]; then
5014 if [ "$CFG_PHONON" != "no" ]; then
5015 # Always enable Phonon (unless it was explicitly disabled)
5019 if [ "$CFG_COREWLAN" = "auto" ]; then
5020 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
5029 if [ "$PLATFORM_QPA" = "yes" ]; then
5030 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
5031 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
5032 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
5034 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
5037 if [ "$CFG_OPENGL" = "yes" ]; then
5038 echo "All the OpenGL functionality tests failed!"
5039 echo " You might need to modify the include and library search paths by editing"
5040 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5041 echo " ${XQMAKESPEC}."
5046 elif [ "$CFG_OPENGL" = "es2" ]; then
5048 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
5049 QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
5050 QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
5051 QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
5052 QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
5053 QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
5054 QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2"
5055 QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2"
5058 "$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
5059 if [ $? != "0" ]; then
5060 echo "The OpenGL ES 2.0 functionality test failed!"
5061 echo " You might need to modify the include and library search paths by editing"
5062 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
5063 echo " ${XQMAKESPEC}."
5066 elif [ "$CFG_OPENGL" = "desktop" ]; then
5067 # Desktop OpenGL support
5068 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5069 if [ $? != "0" ]; then
5070 echo "The OpenGL functionality test failed!"
5071 echo " You might need to modify the include and library search paths by editing"
5072 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5073 echo " ${XQMAKESPEC}."
5078 # auto-detect FontConfig support
5079 if [ "$CFG_FONTCONFIG" != "no" ]; then
5080 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
5081 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
5082 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
5084 QT_CFLAGS_FONTCONFIG=
5085 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5087 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
5088 QT_CONFIG="$QT_CONFIG fontconfig"
5089 QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
5090 QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
5091 CFG_LIBFREETYPE=system
5096 # Save these for a check later
5097 ORIG_CFG_XCB="$CFG_XCB"
5099 if [ "$CFG_LIBUDEV" != "no" ]; then
5100 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libudev 2>/dev/null; then
5101 QMAKE_INCDIR_LIBUDEV=`$PKG_CONFIG --cflags-only-I libudev 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
5102 QMAKE_LIBS_LIBUDEV=`$PKG_CONFIG --libs libudev 2>/dev/null`
5103 QMakeVar set QMAKE_INCDIR_LIBUDEV "$QMAKE_INCDIR_LIBUDEV"
5104 QMakeVar set QMAKE_LIBS_LIBUDEV "$QMAKE_LIBS_LIBUDEV"
5106 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
5108 QT_CONFIG="$QT_CONFIG libudev"
5109 elif [ "$CFG_LIBUDEV" = "yes" ]; then
5110 echo "The libudev functionality test failed!"
5114 QMakeVar add DEFINES QT_NO_LIBUDEV
5118 if [ "$CFG_EVDEV" != "no" ]; then
5119 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/evdev "evdev" $L_FLAGS $I_FLAGS $l_FLAGS; then
5121 QT_CONFIG="$QT_CONFIG evdev"
5122 elif [ "$CFG_EVDEV" = "yes" ]; then
5123 echo "The evdev functionality test failed!"
5127 QMakeVar add DEFINES QT_NO_EVDEV
5131 # Check we actually have X11 :-)
5132 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
5133 QT_CONFIG="$QT_CONFIG xlib"
5136 # auto-detect Xrender support
5137 if [ "$CFG_XRENDER" != "no" ]; then
5138 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
5140 QT_CONFIG="$QT_CONFIG xrender"
5142 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5143 echo "Xrender support cannot be enabled due to functionality tests!"
5144 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5145 echo " If you believe this message is in error you may use the continue"
5146 echo " switch (-continue) to $0 to continue."
5154 if [ "$CFG_XCB" != "no" ]; then
5155 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xcb 2>/dev/null; then
5156 QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`"
5157 QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`"
5159 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
5161 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
5162 QT_CONFIG="$QT_CONFIG xcb-render"
5165 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
5167 QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
5170 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
5171 QT_CONFIG="$QT_CONFIG xcb-xlib"
5174 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
5175 # auto-detect XInput2/Xinput support
5176 if [ "$CFG_XINPUT2" != "no" ]; then
5177 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
5181 if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5182 echo "XInput2 support cannot be enabled due to functionality tests!"
5183 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5184 echo " If you believe this message is in error you may use the continue"
5185 echo " switch (-continue) to $0 to continue."
5194 if [ "$CFG_XCB" = "yes" ]; then
5195 echo "The XCB test failed!"
5196 echo " You might need to install dependency packages."
5197 echo " See src/plugins/platforms/xcb/README."
5201 QMakeVar add DEFINES QT_NO_XCB
5205 # Detect libxkbcommon
5206 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
5207 QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
5208 QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
5209 QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
5210 QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
5212 QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
5215 if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
5216 QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
5217 QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
5218 QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
5221 if [ "$BUILD_ON_MAC" = "yes" ]; then
5222 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
5223 QT_CONFIG="$QT_CONFIG coreservices"
5225 QMakeVar add DEFINES QT_NO_CORESERVICES
5229 if [ "$PLATFORM_QPA" = "yes" ] && [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ]; then
5230 if [ "$CFG_XCB" = "no" ]; then
5231 if [ "$ORIG_CFG_XCB" = "auto" ]; then
5232 echo "No QPA platform plugin enabled!"
5233 echo " If you really want to build without a QPA platform plugin you must pass"
5234 echo " -no-xcb. Doing this will produce a Qt that"
5235 echo " cannot run GUI applications."
5236 echo " The dependencies needed for xcb to build are listed in"
5237 echo " src/plugins/platforms/xcb/README"
5247 if [ "$PLATFORM_X11" = "yes" ]; then
5248 if [ "$CFG_EGL" != "no" ]; then
5249 # detect EGL support
5250 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/egl" "EGL (EGL/egl.h)" $L_FLAGS $I_FLAGS $l_FLAGS; then
5251 # EGL specified by QMAKE_*_EGL, included with <EGL/egl.h>
5256 if [ "$EGL_VARIANT" = "none" ]; then
5257 if [ "$CFG_EGL" = "yes" ]; then
5258 echo "The EGL functionality test failed!"
5259 echo " EGL is required for OpenGL ES to manage contexts & surfaces."
5260 echo " You might need to modify the include and library search paths by editing"
5261 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in"
5262 echo " ${XQMAKESPEC}."
5266 # If QtOpenGL would be built against OpenGL ES, disable it as we can't to that if EGL is missing
5267 if [ "$CFG_OPENGL" = "es2" ]; then
5274 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
5277 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
5278 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
5279 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
5280 CFG_LIBFREETYPE=system
5287 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
5291 if [ "$CFG_STL" != "no" ]; then
5292 if [ "$HAVE_STL" = "yes" ]; then
5295 if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5296 echo "STL support cannot be enabled due to functionality tests!"
5297 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5298 echo " If you believe this message is in error you may use the continue"
5299 echo " switch (-continue) to $0 to continue."
5307 # detect POSIX clock_gettime()
5308 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
5309 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
5310 CFG_CLOCK_GETTIME=yes
5312 CFG_CLOCK_GETTIME=no
5316 # detect POSIX monotonic clocks
5317 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
5318 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
5319 CFG_CLOCK_MONOTONIC=yes
5321 CFG_CLOCK_MONOTONIC=no
5323 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
5324 CFG_CLOCK_MONOTONIC=no
5328 if [ "$CFG_MREMAP" = "auto" ]; then
5329 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
5336 # find if the platform provides getaddrinfo (ipv6 dns lookups)
5337 if [ "$CFG_GETADDRINFO" != "no" ]; then
5338 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
5341 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5342 echo "getaddrinfo support cannot be enabled due to functionality tests!"
5343 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5344 echo " If you believe this message is in error you may use the continue"
5345 echo " switch (-continue) to $0 to continue."
5353 # find if the platform provides inotify
5354 if [ "$CFG_INOTIFY" != "no" ]; then
5355 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
5358 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5359 echo "inotify support cannot be enabled due to functionality tests!"
5360 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5361 echo " If you believe this message is in error you may use the continue"
5362 echo " switch (-continue) to $0 to continue."
5370 # find if the platform provides if_nametoindex (ipv6 interface name support)
5371 if [ "$CFG_IPV6IFNAME" != "no" ]; then
5372 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
5375 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5376 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
5377 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5378 echo " If you believe this message is in error you may use the continue"
5379 echo " switch (-continue) to $0 to continue."
5387 # find if the platform provides getifaddrs (network interface enumeration)
5388 if [ "$CFG_GETIFADDRS" != "no" ]; then
5389 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
5392 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5393 echo "getifaddrs support cannot be enabled due to functionality tests!"
5394 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5395 echo " If you believe this message is in error you may use the continue"
5396 echo " switch (-continue) to $0 to continue."
5405 if [ "$CFG_OPENSSL" != "no" ]; then
5406 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
5407 if [ "$CFG_OPENSSL" = "auto" ]; then
5411 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5412 echo "OpenSSL support cannot be enabled due to functionality tests!"
5413 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5414 echo " If you believe this message is in error you may use the continue"
5415 echo " switch (-continue) to $0 to continue."
5424 if [ "$CFG_PCRE" != "qt" ]; then
5425 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pcre "PCRE" $L_FLAGS $I_FLAGS $l_FLAGS; then
5428 if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5429 echo "PCRE support cannot be enabled due to functionality tests!"
5430 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5431 echo " If you believe this message is in error you may use the continue"
5432 echo " switch (-continue) to $0 to continue."
5440 # detect OpenVG support
5441 if [ "$CFG_OPENVG" != "no" ]; then
5442 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
5443 if [ "$CFG_OPENVG" = "auto" ]; then
5446 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
5447 if [ "$CFG_OPENVG" = "auto" ]; then
5450 CFG_OPENVG_ON_OPENGL=yes
5451 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
5452 if [ "$CFG_OPENVG" = "auto" ]; then
5455 CFG_OPENVG_LC_INCLUDES=yes
5456 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
5457 if [ "$CFG_OPENVG" = "auto" ]; then
5460 CFG_OPENVG_LC_INCLUDES=yes
5461 CFG_OPENVG_ON_OPENGL=yes
5463 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5464 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
5465 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5466 echo " If you believe this message is in error you may use the continue"
5467 echo " switch (-continue) to $0 to continue."
5473 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
5474 CFG_OPENVG_SHIVA=yes
5478 if [ "$CFG_ALSA" = "auto" ]; then
5479 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
5486 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
5487 if [ "$CFG_ARCH" = "arm" ]; then
5488 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
5489 if [ $? != "0" ]; then
5490 CFG_JAVASCRIPTCORE_JIT=no
5493 case "$XPLATFORM" in
5495 CFG_JAVASCRIPTCORE_JIT=no
5501 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
5502 QMakeVar set JAVASCRIPTCORE_JIT yes
5503 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
5504 QMakeVar set JAVASCRIPTCORE_JIT no
5507 if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
5508 CFG_AUDIO_BACKEND=yes
5511 if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
5512 echo "Warning: largefile support cannot be disabled for win32."
5516 #-------------------------------------------------------------------------------
5517 # ask for all that hasn't been auto-detected or specified in the arguments
5518 #-------------------------------------------------------------------------------
5520 # enable dwarf2 support on Mac
5521 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
5522 QT_CONFIG="$QT_CONFIG dwarf2"
5525 # Set the default Mac OS X arch if there are no "-arch" arguments on the configure line
5526 if [ "$BUILD_ON_MAC" = "yes" ]; then
5527 DEFAULT_ARCH="$CFG_MAC_ARCHS"
5528 if [ -z "$DEFAULT_ARCH" ]; then
5529 case `file "${outpath}/bin/qmake"` in
5537 # unsupported/unknown
5541 if [ -n "$DEFAULT_ARCH" ]; then
5542 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting default Mac OS X architechture to $DEFAULT_ARCH."
5543 QT_CONFIG="$QT_CONFIG $DEFAULT_ARCH"
5544 QMAKE_CONFIG="$QMAKE_CONFIG $DEFAULT_ARCH"
5545 # Make the application arch follow the Qt arch for single arch builds.
5546 # (for multiple-arch builds, set CONFIG manually in the application .pro file)
5547 [ `echo "$DEFAULT_ARCH" | wc -w` -eq 1 ] && QTCONFIG_CONFIG="$QTCONFIG_CONFIG $DEFAULT_ARCH"
5552 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
5553 QT_CONFIG="$QT_CONFIG phonon-backend"
5556 # disable accessibility
5557 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
5558 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
5560 QT_CONFIG="$QT_CONFIG accessibility"
5563 # egl stuff does not belong in lighthouse, but rather in plugins
5564 if [ "$PLATFORM_QPA" = "yes" ]; then
5569 if [ "$CFG_EGL" = "no" ]; then
5570 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
5572 QT_CONFIG="$QT_CONFIG egl"
5573 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
5574 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GLES_EGL"
5579 if [ "$CFG_OPENVG" = "no" ]; then
5580 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
5582 QT_CONFIG="$QT_CONFIG openvg"
5583 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
5584 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
5586 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
5587 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
5589 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
5590 QT_CONFIG="$QT_CONFIG shivavg"
5591 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
5596 if [ "$CFG_OPENGL" = "no" ]; then
5597 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
5599 QT_CONFIG="$QT_CONFIG opengl"
5602 if [ "$CFG_OPENGL" = "es2" ]; then
5603 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
5606 if [ "$CFG_OPENGL" = "es2" ]; then
5607 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5608 QT_CONFIG="$QT_CONFIG opengles2"
5611 # safe execution environment
5612 if [ "$CFG_SXE" != "no" ]; then
5613 QT_CONFIG="$QT_CONFIG sxe"
5616 # build up the variables for output
5617 if [ "$CFG_DEBUG" = "yes" ]; then
5618 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
5619 QMAKE_CONFIG="$QMAKE_CONFIG debug"
5620 elif [ "$CFG_DEBUG" = "no" ]; then
5621 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
5622 QMAKE_CONFIG="$QMAKE_CONFIG release"
5624 if [ "$CFG_SHARED" = "yes" ]; then
5625 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
5626 QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
5627 elif [ "$CFG_SHARED" = "no" ]; then
5628 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
5629 QMAKE_CONFIG="$QMAKE_CONFIG static"
5631 if [ "$PLATFORM_QPA" = "yes" ]; then
5632 QMAKE_CONFIG="$QMAKE_CONFIG qpa"
5633 QT_CONFIG="$QT_CONFIG qpa"
5634 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
5635 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5638 if [ "$XPLATFORM_MINGW" != "yes" ]; then
5639 # Do not set this here for Windows. Let qmake do it so
5640 # debug and release precompiled headers are kept separate.
5641 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
5643 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
5644 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
5645 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
5646 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
5647 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5648 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
5650 if [ "$CFG_STL" = "no" ]; then
5651 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STL"
5653 QMAKE_CONFIG="$QMAKE_CONFIG stl"
5655 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
5656 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
5658 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
5659 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
5660 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
5661 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
5662 QMakeVar add QMAKE_CFLAGS -g
5663 QMakeVar add QMAKE_CXXFLAGS -g
5664 QT_CONFIG="$QT_CONFIG separate_debug_info"
5666 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
5667 QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
5669 [ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mmx"
5670 [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow"
5671 [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse"
5672 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
5673 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
5674 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
5675 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
5676 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
5677 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
5678 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
5679 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
5680 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
5681 QT_CONFIG="$QT_CONFIG clock-gettime"
5683 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
5684 QT_CONFIG="$QT_CONFIG clock-monotonic"
5686 if [ "$CFG_MREMAP" = "yes" ]; then
5687 QT_CONFIG="$QT_CONFIG mremap"
5689 if [ "$CFG_GETADDRINFO" = "yes" ]; then
5690 QT_CONFIG="$QT_CONFIG getaddrinfo"
5692 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
5693 QT_CONFIG="$QT_CONFIG ipv6ifname"
5695 if [ "$CFG_GETIFADDRS" = "yes" ]; then
5696 QT_CONFIG="$QT_CONFIG getifaddrs"
5698 if [ "$CFG_INOTIFY" = "yes" ]; then
5699 QT_CONFIG="$QT_CONFIG inotify"
5701 if [ "$CFG_LIBJPEG" = "no" ]; then
5703 elif [ "$CFG_LIBJPEG" = "system" ]; then
5704 QT_CONFIG="$QT_CONFIG system-jpeg"
5706 if [ "$CFG_JPEG" = "no" ]; then
5707 QT_CONFIG="$QT_CONFIG no-jpeg"
5708 elif [ "$CFG_JPEG" = "yes" ]; then
5709 QT_CONFIG="$QT_CONFIG jpeg"
5711 if [ "$CFG_LIBPNG" = "no" ]; then
5714 if [ "$CFG_LIBPNG" = "system" ]; then
5715 QT_CONFIG="$QT_CONFIG system-png"
5717 if [ "$CFG_PNG" = "no" ]; then
5718 QT_CONFIG="$QT_CONFIG no-png"
5719 elif [ "$CFG_PNG" = "yes" ]; then
5720 QT_CONFIG="$QT_CONFIG png"
5722 if [ "$CFG_GIF" = "no" ]; then
5723 QT_CONFIG="$QT_CONFIG no-gif"
5724 elif [ "$CFG_GIF" = "yes" ]; then
5725 QT_CONFIG="$QT_CONFIG gif"
5727 if [ "$CFG_LIBFREETYPE" = "no" ]; then
5728 QT_CONFIG="$QT_CONFIG no-freetype"
5729 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
5730 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
5731 QT_CONFIG="$QT_CONFIG system-freetype"
5733 QT_CONFIG="$QT_CONFIG freetype"
5735 if [ "$CFG_GUI" = "auto" ]; then
5738 if [ "$CFG_GUI" = "no" ]; then
5739 QT_CONFIG="$QT_CONFIG no-gui"
5743 if [ "x$BUILD_ON_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5744 #On Mac we implicitly link against libz, so we
5745 #never use the 3rdparty stuff.
5746 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
5748 if [ "$CFG_ZLIB" = "yes" ]; then
5749 QT_CONFIG="$QT_CONFIG zlib"
5750 elif [ "$CFG_ZLIB" = "system" ]; then
5751 QT_CONFIG="$QT_CONFIG system-zlib"
5754 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
5755 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
5756 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
5757 [ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
5758 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
5759 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
5760 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
5761 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
5762 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
5763 [ "$CFG_NAS" = "system" ] && QT_CONFIG="$QT_CONFIG nas"
5764 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
5765 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
5766 [ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
5767 [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
5768 [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
5770 if [ "$PLATFORM_X11" = "yes" ]; then
5771 [ "$CFG_SM" = "yes" ] && QT_CONFIG="$QT_CONFIG x11sm"
5773 # for some reason, the following libraries are not always built shared,
5774 # so *every* program/lib (including Qt) has to link against them
5775 if [ "$CFG_XSHAPE" = "yes" ]; then
5776 QT_CONFIG="$QT_CONFIG xshape"
5778 if [ "$CFG_XVIDEO" = "yes" ]; then
5779 QT_CONFIG="$QT_CONFIG xvideo"
5781 if [ "$CFG_XSYNC" = "yes" ]; then
5782 QT_CONFIG="$QT_CONFIG xsync"
5784 if [ "$CFG_XINERAMA" = "yes" ]; then
5785 QT_CONFIG="$QT_CONFIG xinerama"
5786 QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11'
5788 if [ "$CFG_XCURSOR" = "yes" ]; then
5789 QT_CONFIG="$QT_CONFIG xcursor"
5790 QMakeVar set QMAKE_LIBS_X11 '-lXcursor $$QMAKE_LIBS_X11'
5792 if [ "$CFG_XFIXES" = "yes" ]; then
5793 QT_CONFIG="$QT_CONFIG xfixes"
5794 QMakeVar set QMAKE_LIBS_X11 '-lXfixes $$QMAKE_LIBS_X11'
5796 if [ "$CFG_XRANDR" = "yes" ]; then
5797 QT_CONFIG="$QT_CONFIG xrandr"
5798 if [ "$CFG_XRENDER" != "yes" ]; then
5799 # libXrandr uses 1 function from libXrender, so we always have to have it :/
5800 QMakeVar set QMAKE_LIBS_X11 '-lXrandr -lXrender $$QMAKE_LIBS_X11'
5802 QMakeVar set QMAKE_LIBS_X11 '-lXrandr $$QMAKE_LIBS_X11'
5805 if [ "$CFG_XRENDER" = "yes" ]; then
5806 QT_CONFIG="$QT_CONFIG xrender"
5807 QMakeVar set QMAKE_LIBS_X11 '-lXrender $$QMAKE_LIBS_X11'
5809 if [ "$CFG_MITSHM" = "yes" ]; then
5810 QT_CONFIG="$QT_CONFIG mitshm"
5812 if [ "$CFG_FONTCONFIG" = "yes" ]; then
5813 QT_CONFIG="$QT_CONFIG fontconfig"
5815 if [ "$CFG_XINPUT" = "yes" ]; then
5816 QMakeVar set QMAKE_LIBS_X11 '-lXi $$QMAKE_LIBS_X11'
5818 if [ "$CFG_XINPUT" = "yes" ]; then
5819 QT_CONFIG="$QT_CONFIG xinput tablet"
5821 if [ "$CFG_XKB" = "yes" ]; then
5822 QT_CONFIG="$QT_CONFIG xkb"
5826 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS"
5827 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
5828 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
5830 if [ "$PLATFORM_MAC" = "yes" ]; then
5831 if [ "$CFG_RPATH" = "yes" ]; then
5832 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
5834 elif [ -z "`getXQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
5835 if [ -n "$RPATH_FLAGS" ]; then
5837 echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
5841 elif [ "$CFG_RPATH" = "yes" ]; then
5842 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
5846 if [ "$CFG_RPATH" = "yes" ]; then
5847 # set the default rpath to the library installation directory
5848 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5850 if [ -n "$RPATH_FLAGS" ]; then
5851 # add the user defined rpaths
5852 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
5856 if [ '!' -z "$I_FLAGS" ]; then
5857 # add the user define include paths
5858 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
5859 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
5862 if [ '!' -z "$W_FLAGS" ]; then
5863 # add the user defined warning flags
5864 QMakeVar add QMAKE_CFLAGS_WARN_ON "$W_FLAGS"
5865 QMakeVar add QMAKE_CXXFLAGS_WARN_ON "$W_FLAGS"
5866 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS"
5869 # turn off exceptions for the compilers that support it
5870 if [ "$XPLATFORM" != "$PLATFORM" ]; then
5871 COMPILER=`echo $XPLATFORM | cut -f 2- -d-`
5873 COMPILER=`echo $PLATFORM | cut -f 2- -d-`
5876 if [ "$CFG_EXCEPTIONS" != "no" ]; then
5877 QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
5880 if [ "$XPLATFORM_MINGW" = "yes" ]; then
5881 # mkspecs/features/win32/default_pre.prf sets "no-rtti".
5882 # Follow default behavior of configure.exe by overriding with "rtti".
5883 QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
5886 if [ "$CFG_ALSA" = "yes" ]; then
5887 QT_CONFIG="$QT_CONFIG alsa"
5890 if [ "$CFG_PULSEAUDIO" = "yes" ]; then
5891 QT_CONFIG="$QT_CONFIG pulseaudio"
5894 if [ "$CFG_COREWLAN" = "yes" ]; then
5895 QT_CONFIG="$QT_CONFIG corewlan"
5898 if [ "$CFG_ICU" = "yes" ]; then
5899 QT_CONFIG="$QT_CONFIG icu"
5902 if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
5903 QT_CONFIG="$QT_CONFIG force_asserts"
5906 if [ "$CFG_PCRE" = "qt" ]; then
5907 QMAKE_CONFIG="$QMAKE_CONFIG pcre"
5911 # Some Qt modules are too advanced in C++ for some old compilers
5912 # Detect here the platforms where they are known to work.
5914 # See Qt documentation for more information on which features are
5915 # supported and on which compilers.
5917 canBuildQtConcurrent="yes"
5918 canUseV8Snapshot="yes"
5920 case "$XPLATFORM" in
5922 # PA-RISC's assembly is too limited
5923 # gcc 3.4 on that platform can't build QtXmlPatterns
5924 # the assembly it generates cannot be compiled
5926 # Check gcc's version
5927 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5931 canBuildQtXmlPatterns="no"
5935 canBuildQtXmlPatterns="no"
5939 unsupported/vxworks-*-g++*)
5942 unsupported/vxworks-*-dcc*)
5944 canBuildQtXmlPatterns="no"
5947 # Check gcc's version
5948 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5956 canBuildQtXmlPatterns="no"
5961 # Check the compiler version
5962 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
5965 canBuildQtXmlPatterns="no"
5966 canBuildQtConcurrent="no"
5970 canBuildQtConcurrent="no"
5976 canBuildQtXmlPatterns="no"
5977 canBuildQtConcurrent="no"
5983 # Get the xlC version
5984 cat > xlcver.c <<EOF
5988 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
5993 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
5994 xlcver=`./xlcver 2>/dev/null`
5997 if [ "$OPT_VERBOSE" = "yes" ]; then
5998 if [ -n "$xlcver" ]; then
5999 echo Found IBM xlC version: $xlcver.
6001 echo Could not determine IBM xlC version, assuming oldest supported.
6008 canBuildQtXmlPatterns="no"
6009 canBuildQtConcurrent="no"
6013 canBuildQtConcurrent="no"
6019 canBuildQtConcurrent="no"
6023 if [ "$CFG_GUI" = "no" ]; then
6024 # WebKit requires QtGui
6028 if [ "$CFG_SHARED" = "no" ]; then
6030 echo "WARNING: Using static linking will disable the WebKit module."
6035 CFG_CONCURRENT="yes"
6036 if [ "$canBuildQtConcurrent" = "no" ]; then
6037 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
6040 QT_CONFIG="$QT_CONFIG concurrent"
6044 if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
6045 QT_CONFIG="$QT_CONFIG audio-backend"
6049 if [ "$CFG_WEBKIT" = "debug" ]; then
6050 QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
6054 QT_CONFIG="$QT_CONFIG v8"
6055 # Detect snapshot support
6056 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
6057 case "$CFG_HOST_ARCH,$CFG_ARCH" in
6060 *) canUseV8Snapshot="no"
6064 if [ -n "$_SBOX_DIR" -a "$CFG_ARCH" = "arm" ]; then
6065 # QEMU crashes when building inside Scratchbox with an ARM target
6066 canUseV8Snapshot="no"
6069 if [ "$CFG_V8SNAPSHOT" = "auto" ]; then
6070 CFG_V8SNAPSHOT="$canUseV8Snapshot"
6072 if [ "$CFG_V8SNAPSHOT" = "yes" -a "$canUseV8Snapshot" = "no" ]; then
6073 echo "Error: V8 snapshot was requested, but is not supported on this platform."
6076 if [ "$CFG_V8SNAPSHOT" = "yes" ]; then
6077 QT_CONFIG="$QT_CONFIG v8snapshot"
6081 if [ "$CFG_DECLARATIVE_DEBUG" = "no" ]; then
6082 QCONFIG_FLAGS="$QCONFIG_FLAGS QDECLARATIVE_NO_DEBUG_PROTOCOL"
6085 if [ "$CFG_EXCEPTIONS" = "no" ]; then
6088 QMakeVar add QMAKE_CFLAGS -fno-exceptions
6089 QMakeVar add QMAKE_CXXFLAGS -fno-exceptions
6090 QMakeVar add QMAKE_LFLAGS -fno-exceptions
6095 QMakeVar add QMAKE_CFLAGS -LANG:exceptions=off
6096 QMakeVar add QMAKE_CXXFLAGS -LANG:exceptions=off
6097 QMakeVar add QMAKE_LFLAGS -LANG:exceptions=off
6104 QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off"
6110 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
6112 case "$COMPILER_VERSION" in
6114 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
6115 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
6116 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
6119 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
6120 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
6121 QT_GCC_PATCH_VERSION=0
6131 #-------------------------------------------------------------------------------
6132 # part of configuration information goes into qconfig.h
6133 #-------------------------------------------------------------------------------
6135 case "$CFG_QCONFIG" in
6137 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
6140 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
6141 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
6142 if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
6143 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
6144 elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
6145 cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
6147 echo "#endif" >>"$tmpconfig"
6151 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6155 # define QT_EDITION $QT_EDITION
6159 CFG_ARCH_STR=`echo $CFG_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6160 CFG_HOST_ARCH_STR=`echo $CFG_HOST_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6161 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6162 /* Machine Architecture */
6163 #ifndef QT_BOOTSTRAPPED
6164 # define QT_ARCH_${CFG_ARCH_STR}
6166 # define QT_ARCH_${CFG_HOST_ARCH_STR}
6170 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
6171 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
6173 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
6174 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
6177 if [ "$CFG_FRAMEWORK" = "yes" ]; then
6178 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
6181 if [ "$BUILD_ON_MAC" = "yes" ]; then
6182 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6183 #if defined(__LP64__)
6184 # define QT_POINTER_SIZE 8
6186 # define QT_POINTER_SIZE 4
6190 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6191 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
6194 #REDUCE_RELOCATIONS is a elf/unix only thing, so not in windows configure.exe
6195 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
6196 echo "#define QT_REDUCE_RELOCATIONS" >>"$outpath/src/corelib/global/qconfig.h.new"
6200 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6202 if [ "$CFG_DEV" = "yes" ]; then
6203 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
6206 if [ "$PLATFORM_QPA" = "yes" ]; then
6207 # Add QPA to config.h
6208 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
6211 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
6212 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
6215 # Add turned on SQL drivers
6216 for DRIVER in $CFG_SQL_AVAILABLE; do
6217 eval "VAL=\$CFG_SQL_$DRIVER"
6220 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6221 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
6222 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
6225 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
6231 QMakeVar set sql-drivers "$SQL_DRIVERS"
6232 QMakeVar set sql-plugins "$SQL_PLUGINS"
6234 # Add other configuration options to the qconfig.h file
6235 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
6236 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
6237 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
6238 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
6239 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
6240 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
6241 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
6243 # X11/Unix/Mac only configs
6244 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
6245 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
6246 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
6247 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
6248 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
6249 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
6250 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
6251 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
6252 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
6253 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
6254 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
6255 [ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NAS"
6256 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
6257 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
6258 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
6260 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
6261 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
6262 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
6263 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
6264 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
6265 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
6266 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
6267 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
6268 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
6269 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
6270 [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
6271 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
6272 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
6274 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
6275 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
6276 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
6277 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
6278 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
6279 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
6280 [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
6281 [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
6283 # sort QCONFIG_FLAGS for neatness if we can
6284 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
6285 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
6287 if [ -n "$QCONFIG_FLAGS" ]; then
6288 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6289 #ifndef QT_BOOTSTRAPPED
6292 for cfg in $QCONFIG_FLAGS; do
6293 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
6294 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
6295 # figure out define logic, so we can output the correct
6296 # ifdefs to override the global defines in a project
6298 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
6299 # QT_NO_option can be forcefully turned on by QT_option
6300 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
6301 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
6302 # QT_option can be forcefully turned off by QT_NO_option
6303 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
6306 if [ -z $cfgdNeg ]; then
6307 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6314 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6315 #if defined($cfgd) && defined($cfgdNeg)
6317 #elif !defined($cfgd) && !defined($cfgdNeg)
6324 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6325 #endif // QT_BOOTSTRAPPED
6330 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
6331 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6332 #define QT_VISIBILITY_AVAILABLE
6337 if [ -n "$QT_LIBINFIX" ]; then
6338 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6339 #define QT_LIBINFIX "$QT_LIBINFIX"
6344 # avoid unecessary rebuilds by copying only if qconfig.h has changed
6345 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
6346 rm -f "$outpath/src/corelib/global/qconfig.h.new"
6348 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
6349 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
6350 chmod -w "$outpath/src/corelib/global/qconfig.h"
6351 if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then
6352 ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h"
6356 #-------------------------------------------------------------------------------
6357 # save configuration into qconfig.pri
6358 #-------------------------------------------------------------------------------
6359 QTCONFIG="$outpath/mkspecs/qconfig.pri"
6360 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
6361 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
6362 if [ "$CFG_DEBUG" = "yes" ]; then
6363 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
6364 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6365 QT_CONFIG="$QT_CONFIG release"
6367 QT_CONFIG="$QT_CONFIG debug"
6368 elif [ "$CFG_DEBUG" = "no" ]; then
6369 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
6370 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6371 QT_CONFIG="$QT_CONFIG debug"
6373 QT_CONFIG="$QT_CONFIG release"
6375 if [ "$CFG_STL" = "yes" ]; then
6376 QTCONFIG_CONFIG="$QTCONFIG_CONFIG stl"
6378 if [ "$CFG_FRAMEWORK" = "no" ]; then
6379 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
6381 QT_CONFIG="$QT_CONFIG qt_framework"
6382 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
6384 if [ "$CFG_DEV" = "yes" ]; then
6385 QT_CONFIG="$QT_CONFIG private_tests"
6388 cat >>"$QTCONFIG.tmp" <<EOF
6390 CONFIG += $QTCONFIG_CONFIG
6392 QT_EDITION = $Edition
6393 QT_CONFIG += $QT_CONFIG
6396 QT_VERSION = $QT_VERSION
6397 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
6398 QT_MINOR_VERSION = $QT_MINOR_VERSION
6399 QT_PATCH_VERSION = $QT_PATCH_VERSION
6402 QT_LIBINFIX = $QT_LIBINFIX
6403 QT_NAMESPACE = $QT_NAMESPACE
6406 if [ -n "$CFG_SYSROOT" ]; then
6407 echo "# sysroot" >>"$QTCONFIG.tmp"
6408 echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
6409 echo " QMAKE_CFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
6410 echo " QMAKE_CXXFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
6411 echo " QMAKE_LFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
6412 echo "}" >> "$QTCONFIG.tmp"
6413 echo >> "$QTCONFIG.tmp"
6415 if [ "$CFG_RPATH" = "yes" ]; then
6416 echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
6418 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
6419 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
6420 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
6421 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
6424 if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
6425 echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
6426 echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp"
6429 # replace qconfig.pri if it differs from the newly created temp file
6430 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
6431 rm -f "$QTCONFIG.tmp"
6433 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
6436 #-------------------------------------------------------------------------------
6437 # save configuration into qmodule.pri
6438 #-------------------------------------------------------------------------------
6439 QTMODULE="$outpath/mkspecs/qmodule.pri"
6441 echo "CONFIG += create_prl link_prl" >> "$QTMODULE.tmp"
6443 # Ensure we can link to uninistalled libraries
6444 if [ "$BUILD_ON_MAC" != "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
6445 echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
6447 if [ -n "$QT_CFLAGS_PSQL" ]; then
6448 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
6450 if [ -n "$QT_LFLAGS_PSQL" ]; then
6451 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
6453 if [ -n "$QT_CFLAGS_MYSQL" ]; then
6454 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
6456 if [ -n "$QT_LFLAGS_MYSQL" ]; then
6457 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
6459 if [ -n "$QT_CFLAGS_SQLITE" ]; then
6460 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
6462 if [ -n "$QT_LFLAGS_SQLITE" ]; then
6463 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
6465 if [ -n "$QT_LFLAGS_ODBC" ]; then
6466 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
6468 if [ -n "$QT_LFLAGS_TDS" ]; then
6469 echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
6472 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
6473 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
6476 #dump in the OPENSSL_LIBS info
6477 if [ '!' -z "$OPENSSL_LIBS" ]; then
6478 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
6479 elif [ "$CFG_OPENSSL" = "linked" ]; then
6480 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
6483 #dump in the SDK info
6484 if [ '!' -z "$CFG_SDK" ]; then
6485 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
6489 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
6490 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
6492 # replace qmodule.pri if it differs from the newly created temp file
6493 if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
6494 rm -f "$QTMODULE.tmp"
6496 mv -f "$QTMODULE.tmp" "$QTMODULE"
6499 #-------------------------------------------------------------------------------
6500 # save configuration into .qmake.cache
6501 #-------------------------------------------------------------------------------
6503 CACHEFILE="$outpath/.qmake.cache"
6504 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
6505 cat >>"$CACHEFILE.tmp" <<EOF
6507 QT_SOURCE_TREE = \$\$quote($relpath)
6508 QT_BUILD_TREE = \$\$quote($outpath)
6509 QT_BUILD_PARTS = $CFG_BUILD_PARTS
6511 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
6512 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
6513 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
6515 include(\$\$PWD/mkspecs/qmodule.pri)
6516 CONFIG += $QMAKE_CONFIG dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
6520 #dump the qmake spec
6521 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
6522 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
6524 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
6527 # replace .qmake.cache if it differs from the newly created temp file
6528 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
6529 rm -f "$CACHEFILE.tmp"
6531 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
6534 #-------------------------------------------------------------------------------
6535 # give feedback on configuration
6536 #-------------------------------------------------------------------------------
6540 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6543 This target is using the GNU C++ compiler ($PLATFORM).
6545 Recent versions of this compiler automatically include code for
6546 exceptions, which increase both the size of the Qt libraries and
6547 the amount of memory taken by your applications.
6549 You may choose to re-run `basename $0` with the -no-exceptions
6550 option to compile Qt without exceptions. This is completely binary
6551 compatible, and existing applications will continue to work.
6559 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6562 This target is using the MIPSpro C++ compiler ($PLATFORM).
6564 You may choose to re-run `basename $0` with the -no-exceptions
6565 option to compile Qt without exceptions. This will make the
6566 size of the Qt library smaller and reduce the amount of memory
6567 taken by your applications.
6579 if [ "$XPLATFORM" = "$PLATFORM" ]; then
6580 echo "Build type: $PLATFORM"
6582 echo "Building on: $PLATFORM"
6583 echo "Building for: $XPLATFORM"
6586 if [ ! -z "$CFG_MAC_ARCHS" ]; then
6587 echo "Architecture: $CFG_ARCH ($CFG_MAC_ARCHS )"
6589 echo "Architecture: $CFG_ARCH"
6592 if [ "$PLATFORM_QPA" = "yes" ]; then
6593 echo "Host architecture: $CFG_HOST_ARCH"
6596 if [ -n "$PLATFORM_NOTES" ]; then
6597 echo "Platform notes:"
6598 echo "$PLATFORM_NOTES"
6603 if [ "$OPT_VERBOSE" = "yes" ]; then
6604 echo $ECHO_N "qmake vars .......... $ECHO_C"
6605 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
6606 echo "qmake switches ......... $QMAKE_SWITCHES"
6609 echo "Build .................. $CFG_BUILD_PARTS"
6610 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
6611 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6612 echo "Debug .................. yes (combined)"
6613 if [ "$CFG_DEBUG" = "yes" ]; then
6614 echo "Default Link ........... debug"
6616 echo "Default Link ........... release"
6619 echo "Debug .................. $CFG_DEBUG"
6621 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
6622 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
6623 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
6624 echo "QtConcurrent code ...... $CFG_CONCURRENT"
6625 echo "QtGui module ........... $CFG_GUI"
6626 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
6627 echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
6629 echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
6631 echo "Declarative debugging ...$CFG_DECLARATIVE_DEBUG"
6632 echo "STL support ............ $CFG_STL"
6633 echo "PCH support ............ $CFG_PRECOMPILE"
6634 echo "MMX/3DNOW/SSE/SSE2/SSE3. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}/${CFG_SSE3}"
6635 echo "SSSE3/SSE4.1/SSE4.2..... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
6636 echo "AVX..................... ${CFG_AVX}"
6637 if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then
6638 echo "iWMMXt support ......... ${CFG_IWMMXT}"
6639 echo "NEON support ........... ${CFG_NEON}"
6641 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
6642 echo "getaddrinfo support .... $CFG_GETADDRINFO"
6643 echo "getifaddrs support ..... $CFG_GETIFADDRS"
6644 echo "Accessibility .......... $CFG_ACCESSIBILITY"
6645 echo "NIS support ............ $CFG_NIS"
6646 echo "CUPS support ........... $CFG_CUPS"
6647 echo "Iconv support .......... $CFG_ICONV"
6648 echo "Glib support ........... $CFG_GLIB"
6649 echo "GStreamer support ...... $CFG_GSTREAMER"
6650 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
6651 echo "Large File support ..... $CFG_LARGEFILE"
6652 echo "GIF support ............ $CFG_GIF"
6653 if [ "$CFG_JPEG" = "no" ]; then
6654 echo "JPEG support ........... $CFG_JPEG"
6656 echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
6658 if [ "$CFG_PNG" = "no" ]; then
6659 echo "PNG support ............ $CFG_PNG"
6661 echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
6663 echo "zlib support ........... $CFG_ZLIB"
6664 echo "Session management ..... $CFG_SM"
6665 echo "libudev support ........ $CFG_LIBUDEV"
6667 if [ "$CFG_OPENGL" = "desktop" ]; then
6668 echo "OpenGL support ......... yes (Desktop OpenGL)"
6669 elif [ "$CFG_OPENGL" = "es2" ]; then
6670 echo "OpenGL support ......... yes (OpenGL ES 2.x)"
6672 echo "OpenGL support ......... no"
6674 if [ "$CFG_EGL" != "no" ]; then
6675 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
6676 echo "EGL support ............ yes <GLES/egl.h>"
6678 echo "EGL support ............ yes <EGL/egl.h>"
6681 if [ "$CFG_OPENVG" ]; then
6682 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
6683 echo "OpenVG support ......... ShivaVG"
6685 echo "OpenVG support ......... $CFG_OPENVG"
6688 if [ "$PLATFORM_X11" = "yes" ]; then
6689 echo "NAS sound support ...... $CFG_NAS"
6690 echo "XShape support ......... $CFG_XSHAPE"
6691 echo "XVideo support ......... $CFG_XVIDEO"
6692 echo "XSync support .......... $CFG_XSYNC"
6693 echo "Xinerama support ....... $CFG_XINERAMA"
6694 echo "Xcursor support ........ $CFG_XCURSOR"
6695 echo "Xfixes support ......... $CFG_XFIXES"
6696 echo "Xrandr support ......... $CFG_XRANDR"
6697 echo "Xi support ............. $CFG_XINPUT"
6698 echo "MIT-SHM support ........ $CFG_MITSHM"
6699 echo "FontConfig support ..... $CFG_FONTCONFIG"
6700 echo "XKB Support ............ $CFG_XKB"
6701 echo "immodule support ....... $CFG_IM"
6702 echo "GTK theme support ...... $CFG_QGTKSTYLE"
6704 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
6705 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
6706 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
6707 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
6708 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
6709 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
6710 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
6711 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
6712 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
6715 if [ "$CFG_OPENSSL" = "yes" ]; then
6716 OPENSSL_LINKAGE="(run-time)"
6717 elif [ "$CFG_OPENSSL" = "linked" ]; then
6718 OPENSSL_LINKAGE="(linked)"
6720 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
6721 echo "Alsa support ........... $CFG_ALSA"
6722 if [ "$BUILD_ON_MAC" = "yes" ]; then
6723 echo "CoreWlan support ....... $CFG_COREWLAN"
6725 echo "libICU support ......... $CFG_ICU"
6726 echo "PCRE support ........... $CFG_PCRE"
6727 if [ "$CFG_XCB_LIMITED" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6728 echo "Xcb support ............ limited (old version)"
6730 echo "Xcb support ............ $CFG_XCB"
6732 echo "Xrender support ........ $CFG_XRENDER"
6733 if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6734 echo "XInput2 support ........ $CFG_XINPUT2"
6738 # complain about not being able to use dynamic plugins if we are using a static build
6739 if [ "$CFG_SHARED" = "no" ]; then
6741 echo "WARNING: Using static linking will disable the use of dynamically"
6742 echo "loaded plugins. Make sure to import all needed static plugins,"
6743 echo "or compile needed modules into the library."
6746 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
6748 echo "NOTE: When linking against OpenSSL, you can override the default"
6749 echo "library names through OPENSSL_LIBS."
6751 echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
6754 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
6756 echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
6757 echo "if you want a pure debug build."
6762 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
6767 #-------------------------------------------------------------------------------
6768 # build makefiles based on the configuration
6769 #-------------------------------------------------------------------------------
6771 echo "Finding project files. Please wait..."
6772 if [ "$CFG_NOPROCESS" != "yes" ]; then
6773 "$outpath/bin/qmake" -prl -r "${relpath}/qtbase.pro"
6774 if [ -f "${relpath}/qtbase.pro" ]; then
6775 mkfile="${outpath}/Makefile"
6776 [ -f "$mkfile" ] && chmod +w "$mkfile"
6777 QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/qtbase.pro" -o "$mkfile"
6781 # .projects -> projects to process
6782 # .projects.1 -> qt and moc
6783 # .projects.2 -> subdirs and libs
6784 # .projects.3 -> the rest
6785 rm -f .projects .projects.1 .projects.2 .projects.3
6787 QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
6788 if [ -z "$AWK" ]; then
6789 for p in `echo $QMAKE_PROJECTS`; do
6790 echo "$p" >> .projects
6793 cat >projects.awk <<EOF
6799 first = "./.projects.1.tmp"
6800 second = "./.projects.2.tmp"
6801 third = "./.projects.3.tmp"
6806 if ( ! target_file )
6808 print input_file >target_file
6813 input_file = FILENAME
6818 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
6821 } else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) {
6822 target_file = second
6827 matched_target == 0 && /^(TEMPLATE.*=)/ {
6828 if ( \$3 == "subdirs" )
6829 target_file = second
6830 else if ( \$3 == "lib" )
6836 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
6837 if ( \$0 ~ /plugin/ )
6840 target_file = second
6845 if ( ! target_file )
6847 print input_file >>target_file
6854 for p in `echo $QMAKE_PROJECTS`; do
6855 echo "$p" >> .projects.all
6858 # if you get errors about the length of the command line to awk, change the -l arg
6860 split -l 100 .projects.all .projects.all.
6861 for p in .projects.all.*; do
6862 "$AWK" -f projects.awk `cat $p`
6863 [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
6864 [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
6865 [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
6866 rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
6868 rm -f .projects.all* projects.awk
6870 [ -f .projects.1 ] && cat .projects.1 >>.projects
6871 [ -f .projects.2 ] && cat .projects.2 >>.projects
6872 rm -f .projects.1 .projects.2
6873 if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
6874 cat .projects.3 >>.projects
6878 # don't sort Qt and MOC in with the other project files
6879 # also work around a segfaulting uniq(1)
6880 if [ -f .sorted.projects.2 ]; then
6881 sort .sorted.projects.2 > .sorted.projects.2.new
6882 mv -f .sorted.projects.2.new .sorted.projects.2
6883 cat .sorted.projects.2 >> .sorted.projects.1
6885 [ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
6886 rm -f .sorted.projects.2 .sorted.projects.1
6890 if [ -f .projects ]; then
6891 uniq .projects >.tmp
6892 mv -f .tmp .projects
6893 NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
6895 if [ -f .projects.3 ]; then
6896 uniq .projects.3 >.tmp
6897 mv -f .tmp .projects.3
6898 FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
6900 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
6904 for part in $CFG_BUILD_PARTS; do
6906 tools) PART_ROOTS="$PART_ROOTS tools" ;;
6907 libs) PART_ROOTS="$PART_ROOTS src" ;;
6908 translations) PART_ROOTS="$PART_ROOTS translations" ;;
6909 examples) PART_ROOTS="$PART_ROOTS examples" ;;
6914 if [ "$CFG_DEV" = "yes" ]; then
6915 PART_ROOTS="$PART_ROOTS tests"
6918 echo "Creating makefiles. Please wait..."
6919 for file in .projects .projects.3; do
6920 [ '!' -f "$file" ] && continue
6921 for a in `cat $file`; do
6923 for r in $PART_ROOTS; do
6924 if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
6929 [ "$IN_ROOT" = "no" ] && continue
6932 *winmain/winmain.pro)
6933 if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_MINGW" != "yes" ]; then
6937 */qmake/qmake.pro) continue ;;
6938 *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*|*tools/qdoc*) SPEC=$QMAKESPEC ;;
6939 *) if [ "$CFG_NOPROCESS" = "yes" ]; then
6945 dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
6946 test -d "$dir" || mkdir -p "$dir"
6947 OUTDIR="$outpath/$dir"
6948 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
6949 # fast configure - the makefile exists, skip it
6950 # since the makefile exists, it was generated by qmake, which means we
6951 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
6953 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
6956 QMAKE_SPEC_ARGS="-spec $SPEC"
6957 echo $ECHO_N " for $a$ECHO_C"
6959 QMAKE="$outpath/bin/qmake"
6960 QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
6961 if [ "$file" = ".projects.3" ]; then
6964 cat >"${OUTDIR}/Makefile" <<EOF
6965 # ${OUTDIR}/Makefile: generated by configure
6967 # WARNING: This makefile will be replaced with a real makefile.
6968 # All changes made to this file will be lost.
6970 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
6972 cat >>"${OUTDIR}/Makefile" <<EOF
6974 all clean install qmake first Makefile: FORCE
6975 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
6983 if [ "$OPT_VERBOSE" = "yes" ]; then
6984 echo " (`basename $SPEC`)"
6985 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
6990 [ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
6991 QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
6995 rm -f .projects .projects.3
6997 #-------------------------------------------------------------------------------
6998 # check for platforms that we don't yet know about
6999 #-------------------------------------------------------------------------------
7000 if [ "$CFG_ARCH" = "generic" ]; then
7003 NOTICE: Atomic operations are not yet supported for this
7006 Qt will use the 'generic' architecture instead, which uses a
7007 single pthread_mutex_t to protect all atomic operations. This
7008 implementation is the slow (but safe) fallback implementation
7009 for architectures Qt does not yet support.
7013 #-------------------------------------------------------------------------------
7014 # check if the user passed the -no-zlib option, which is no longer supported
7015 #-------------------------------------------------------------------------------
7016 if [ -n "$ZLIB_FORCED" ]; then
7017 which_zlib="supplied"
7018 if [ "$CFG_ZLIB" = "system" ]; then
7024 NOTICE: The -no-zlib option was supplied but is no longer
7027 Qt now requires zlib support in all builds, so the -no-zlib
7028 option was ignored. Qt will be built using the $which_zlib
7033 #-------------------------------------------------------------------------------
7034 # check if the user passed the obsoleted -wayland or -no-wayland flag
7035 #-------------------------------------------------------------------------------
7036 if [ "$CFG_OBSOLETE_WAYLAND" = "yes" ]; then
7039 NOTICE: The -wayland and -no-wayland flags are now obsolete
7041 All configuring of QtWayland plugin and QtCompositor happens in the module
7045 #-------------------------------------------------------------------------------
7046 # finally save the executed command to another script
7047 #-------------------------------------------------------------------------------
7048 if [ `basename $0` != "config.status" ]; then
7049 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
7051 # add the system variables
7052 for varname in $SYSTEM_VARIABLES; do
7054 'if [ -n "\$'${varname}'" ]; then
7055 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
7060 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
7062 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
7063 echo "#!/bin/sh" > "$outpath/config.status"
7064 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
7065 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
7066 echo "else" >> "$outpath/config.status"
7067 echo " $CONFIG_STATUS" >> "$outpath/config.status"
7068 echo "fi" >> "$outpath/config.status"
7069 chmod +x "$outpath/config.status"
7072 if [ -n "$RPATH_MESSAGE" ]; then
7074 echo "$RPATH_MESSAGE"
7077 MAKE=`basename "$MAKE"`
7079 echo Qt is now configured for building. Just run \'$MAKE\'.
7080 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
7081 echo Once everything is built, Qt is installed.
7082 echo You should not run \'$MAKE install\'.
7084 echo Once everything is built, you must run \'$MAKE install\'.
7085 echo Qt will be installed into $QT_INSTALL_PREFIX
7088 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.