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"
642 QMakeVar add decorations "default windows styled"
643 QMakeVar add mouse-drivers "pc"
644 if [ "$UNAME_SYSTEM" = "Linux" ] ; then
645 QMakeVar add gfx-drivers "linuxfb"
646 QMakeVar add mouse-drivers "linuxtp"
648 QMakeVar add kbd-drivers "tty"
650 if [ "$CFG_DEV" = "yes" ]; then
651 QMakeVar add kbd-drivers "um"
654 # QTDIR may be set and point to an old or system-wide Qt installation
657 # the minimum version of libdbus-1 that we require:
658 MIN_DBUS_1_VERSION=0.93
660 # initalize internal variables
661 CFG_CONFIGURE_EXIT_ON_ERROR=yes
663 CFG_EXCEPTIONS=unspecified
664 CFG_GUI=auto # (yes|no|auto)
690 CFG_OPENVG_LC_INCLUDES=no
691 CFG_OPENVG_SHIVA=auto
692 CFG_OPENVG_ON_OPENGL=auto
694 CFG_EGL_GLES_INCLUDES=no
699 QT_DEFAULT_BUILD_PARTS="libs examples tests"
703 CFG_AUDIO_BACKEND=auto
705 CFG_DECLARATIVE_DEBUG=yes
706 CFG_JAVASCRIPTCORE_JIT=auto
708 CFG_GFX_AVAILABLE="linuxfb transformed qvfb vnc multiscreen directfb"
709 CFG_GFX_ON="linuxfb multiscreen"
710 CFG_GFX_PLUGIN_AVAILABLE=
713 CFG_KBD_AVAILABLE="tty linuxinput qvfb"
714 CFG_KBD_ON="tty" #default, see QMakeVar above
715 CFG_MOUSE_AVAILABLE="pc linuxtp linuxinput tslib qvfb"
716 CFG_MOUSE_ON="pc linuxtp" #default, see QMakeVar above
720 CFG_KBD_PLUGIN_AVAILABLE=
723 CFG_MOUSE_PLUGIN_AVAILABLE=
728 CFG_DECORATION_AVAILABLE="styled windows default"
729 CFG_DECORATION_ON="${CFG_DECORATION_AVAILABLE}" # all on by default
730 CFG_DECORATION_PLUGIN_AVAILABLE=
731 CFG_DECORATION_PLUGIN=
751 CFG_SEPARATE_DEBUG_INFO=no
752 CFG_SEPARATE_DEBUG_INFO_NOCOPY=no
753 CFG_REDUCE_EXPORTS=auto
763 CFG_REDUCE_RELOCATIONS=auto
765 CFG_ACCESSIBILITY=auto
768 CFG_DOUBLEFORMAT=auto
772 CFG_CLOCK_GETTIME=auto
773 CFG_CLOCK_MONOTONIC=auto
782 MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
786 CFG_PREFIX_INSTALL=yes
795 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
796 XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
800 OPT_CONFIRM_LICENSE=no
814 # initalize variables used for installation
823 QT_INSTALL_TRANSLATIONS=
829 #flags for SQL drivers
837 QT_LFLAGS_ODBC="-lodbc"
840 # flags for libdbus-1
844 # flags for Glib (X11 only)
848 # flags for GStreamer (X11 only)
852 #-------------------------------------------------------------------------------
853 # check SQL drivers, mouse drivers and decorations available in this package
854 #-------------------------------------------------------------------------------
856 # opensource version removes some drivers, so force them to be off
862 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
863 for a in "$relpath/src/plugins/sqldrivers/"*; do
865 base_a=`basename "$a"`
866 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
867 eval "CFG_SQL_${base_a}=auto"
872 CFG_DECORATION_PLUGIN_AVAILABLE=
873 if [ -d "$relpath/src/plugins/decorations" ]; then
874 for a in "$relpath/src/plugins/decorations/"*; do
876 base_a=`basename "$a"`
877 CFG_DECORATION_PLUGIN_AVAILABLE="${CFG_DECORATION_PLUGIN_AVAILABLE} ${base_a}"
882 CFG_KBD_PLUGIN_AVAILABLE=
883 if [ -d "$relpath/src/plugins/kbddrivers" ]; then
884 for a in "$relpath/src/plugins/kbddrivers/"*; do
886 base_a=`basename "$a"`
887 CFG_KBD_PLUGIN_AVAILABLE="${CFG_KBD_PLUGIN_AVAILABLE} ${base_a}"
892 CFG_MOUSE_PLUGIN_AVAILABLE=
893 if [ -d "$relpath/src/plugins/mousedrivers" ]; then
894 for a in "$relpath/src/plugins/mousedrivers/"*; do
896 base_a=`basename "$a"`
897 CFG_MOUSE_PLUGIN_AVAILABLE="${CFG_MOUSE_PLUGIN_AVAILABLE} ${base_a}"
902 CFG_GFX_PLUGIN_AVAILABLE=
903 if [ -d "$relpath/src/plugins/gfxdrivers" ]; then
904 for a in "$relpath/src/plugins/gfxdrivers/"*; do
906 base_a=`basename "$a"`
907 CFG_GFX_PLUGIN_AVAILABLE="${CFG_GFX_PLUGIN_AVAILABLE} ${base_a}"
910 CFG_GFX_OFF="$CFG_GFX_AVAILABLE" # assume all off
913 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
914 if [ -d "$relpath/src/plugins/imageformats" ]; then
915 for a in "$relpath/src/plugins/imageformats/"*; do
917 base_a=`basename "$a"`
918 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
923 #-------------------------------------------------------------------------------
924 # parse command line arguments
925 #-------------------------------------------------------------------------------
927 # parse the arguments, setting things to "yes" or "no"
928 while [ "$#" -gt 0 ]; do
932 #Autoconf style options
934 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
938 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
942 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
943 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
946 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
950 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
954 -no-*-*|-plugin-*-*|-qt-*-*)
955 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
956 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
960 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
963 #Qt style yes options
964 -incremental|-qvfb|-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|-wayland|-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|-armfpa|-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)
965 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
968 #Qt style options that pass an argument
970 if [ "$PLATFORM_QPA" != "yes" ]; then
972 echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
976 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
980 -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-testsdir|-depths|-make|-nomake|-platform|-xplatform|-sdk|-arch|-host-arch|-mysql_config|-sysroot)
981 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
985 #Qt style complex options in one command
986 -enable-*|-disable-*)
987 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
988 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
990 #Qt Builtin/System style options
991 -no-*|-system-*|-qt-*)
992 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
993 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
995 #Options that cannot be generalized
1000 -embedded-lite|-qpa)
1002 # this option may or may not be followed by an argument
1003 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1012 # this option may or may not be followed by an argument
1013 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1022 # this option may or may not be followed by an argument
1023 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1031 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1032 # this option may or may not be followed by an argument
1033 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1042 VAL=`echo $1 | sed "s,^-.*-\(.*\)-.*,\1,"`
1046 VAL=`echo $1 | sed "s,^-\(.*\)-.*,\1,"`
1060 if [ "$1" = "-D" ]; then
1064 VAL=`echo $1 | sed 's,-D,,'`
1069 # this option may or may not be followed by an argument
1070 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1079 if [ "$1" = "-I" ]; then
1083 VAL=`echo $1 | sed 's,-I,,'`
1088 if [ "$1" = "-L" ]; then
1092 VAL=`echo $1 | sed 's,-L,,'`
1097 if [ "$1" = "-R" ]; then
1101 VAL=`echo $1 | sed 's,-R,,'`
1106 VAL=`echo $1 | sed 's,-l,,'`
1110 if [ "$1" = "-F" ]; then
1114 VAL=`echo $1 | sed 's,-F,,'`
1119 if [ "$1" = "-fw" ]; then
1123 VAL=`echo $1 | sed 's,-fw,,'`
1131 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1138 if [ "$UNKNOWN_ARG" = "yes" ]; then
1139 echo "$1: unknown argument"
1150 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1151 CFG_ACCESSIBILITY="$VAL"
1160 CFG_USE_GNUMAKE="$VAL"
1163 CFG_MYSQL_CONFIG="$VAL"
1166 QT_INSTALL_PREFIX="$VAL"
1169 QT_HOST_PREFIX="$VAL"
1172 QT_FORCE_PKGCONFIG=yes
1175 QT_INSTALL_DOCS="$VAL"
1178 QT_INSTALL_HEADERS="$VAL"
1181 QT_INSTALL_PLUGINS="$VAL"
1184 QT_INSTALL_IMPORTS="$VAL"
1187 QT_INSTALL_DATA="$VAL"
1190 QT_INSTALL_LIBS="$VAL"
1199 QT_INSTALL_TRANSLATIONS="$VAL"
1201 sysconfdir|settingsdir)
1202 QT_INSTALL_SETTINGS="$VAL"
1205 QT_INSTALL_EXAMPLES="$VAL"
1208 QT_INSTALL_TESTS="$VAL"
1217 QT_INSTALL_BINS="$VAL"
1227 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1234 if [ "$VAL" = "little" ]; then
1235 CFG_ENDIAN="Q_LITTLE_ENDIAN"
1236 elif [ "$VAL" = "big" ]; then
1237 CFG_ENDIAN="Q_BIG_ENDIAN"
1243 if [ "$VAL" = "little" ]; then
1244 CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
1245 elif [ "$VAL" = "big" ]; then
1246 CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
1252 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1259 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1260 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1261 [ "$VAL" = "es2" ]; then
1263 if [ "$VAL" = "es2" ]; then
1271 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1273 if [ "$CFG_EGL" = "no" ] && [ "$VAL" != "no" ]; then
1280 qvfb) # left for commandline compatibility, not documented
1281 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1282 if [ "$VAL" = "yes" ]; then
1283 QMakeVar add gfx-drivers qvfb
1284 QMakeVar add kbd-drivers qvfb
1285 QMakeVar add mouse-drivers qvfb
1286 CFG_GFX_ON="$CFG_GFX_ON qvfb"
1287 CFG_KBD_ON="$CFG_KBD_ON qvfb"
1288 CFG_MOUSE_ON="$CFG_MOUSE_ON qvfb"
1295 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1298 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1306 if [ "$BUILD_ON_MAC" = "yes" ]; then
1313 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1314 CFG_MAC_DWARF2="$VAL"
1320 # if this is a Mac then "windows" probably means
1321 # we are cross-compiling for MinGW
1322 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" != "windows" ]; then
1323 CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL"
1332 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1333 CFG_MAC_HARFBUZZ="$VAL"
1340 if [ "$BUILD_ON_MAC" = "yes" ]; then
1341 CFG_FRAMEWORK="$VAL"
1347 if [ "$VAL" = "yes" ]; then
1349 QMakeVar add QMAKE_CFLAGS -pg
1350 QMakeVar add QMAKE_CXXFLAGS -pg
1351 QMakeVar add QMAKE_LFLAGS -pg
1352 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1358 if [ "$VAL" = "yes" ]; then
1359 QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon"
1362 exceptions|g++-exceptions)
1363 if [ "$VAL" = "no" ]; then
1365 elif [ "$VAL" = "yes" ]; then
1373 # keep compatibility with old platform names
1379 PLATFORM=hpux-acc-o64
1382 PLATFORM=hpux-acc-64
1385 PLATFORM=hpux-acc-64
1397 PLATFORM=reliant-cds-64
1400 PLATFORM=solaris-cc-64
1403 PLATFORM=unixware-cc
1406 PLATFORM=unixware-g++
1409 PLATFORM=unixware-cc
1412 PLATFORM=unixware-g++
1418 i386) NATIVE_64_ARCH="x86_64" ;;
1419 powerpc) NATIVE_64_ARCH="ppc64" ;;
1420 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1422 if [ ! -z "$NATIVE_64_ARCH" ]; then
1423 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1430 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1433 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1434 CFG_DEBUG_RELEASE="$VAL"
1440 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1441 CFG_RELEASE_QMAKE="$VAL"
1447 if [ "$VAL" = "yes" ]; then
1449 elif [ "$VAL" = "no" ]; then
1456 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1457 CFG_PREFIX_INSTALL="$VAL"
1465 developer-build|commercial|opensource)
1466 # These switches have been dealt with already
1469 if [ "$VAL" = "yes" ]; then
1471 elif [ "$VAL" = "no" ]; then
1478 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1479 CFG_INCREMENTAL="$VAL"
1485 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1486 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1492 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1493 if [ "$VAL" = "no" ]; then
1494 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1495 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1496 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1502 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1509 if [ "$VAL" = "no" ]; then
1516 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1524 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1531 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1538 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1545 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1552 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1559 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1566 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1573 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1580 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1581 CFG_PRECOMPILE="$VAL"
1586 separate-debug-info)
1587 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1588 CFG_SEPARATE_DEBUG_INFO="$VAL"
1589 elif [ "$VAL" = "nocopy" ] ; then
1590 CFG_SEPARATE_DEBUG_INFO="yes"
1591 CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1597 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1598 CFG_REDUCE_EXPORTS="$VAL"
1604 if [ "$VAL" = "no" ]; then
1611 if [ "$VAL" = "no" ]; then
1618 if [ "$VAL" = "no" ]; then
1625 if [ "$VAL" = "no" ]; then
1632 if [ "$VAL" = "no" ]; then
1639 if [ "$VAL" = "no" ]; then
1646 if [ "$VAL" = "no" ]; then
1653 if [ "$VAL" = "no" ]; then
1660 if [ "$VAL" = "no" ]; then
1670 if [ "$VAL" = "no" ]; then
1677 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1678 CFG_REDUCE_RELOCATIONS="$VAL"
1684 [ "$VAL" = "qt" ] && VAL=yes
1685 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1690 # No longer supported:
1691 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1694 if [ "$VAL" = "system" ]; then
1701 [ "$VAL" = "yes" ] && VAL=qt
1702 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1709 [ "$VAL" = "yes" ] && VAL=qt
1710 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1717 if [ "$VAL" = "system" ] || [ "$VAL" = "no" ]; then
1724 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1731 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1738 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1745 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1752 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1759 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1760 CFG_FONTCONFIG="$VAL"
1766 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1773 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1780 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1787 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1794 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1801 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1808 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1815 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1822 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1823 CFG_GSTREAMER="$VAL"
1829 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1830 CFG_QGTKSTYLE="$VAL"
1836 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1839 if [ "$VAL" = "no" ]; then
1847 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1849 elif [ "$VAL" = "runtime" ]; then
1856 if [ "$VAL" = "yes" ]; then
1863 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1870 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1871 CFG_LARGEFILE="$VAL"
1877 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1884 if [ "$VAL" = "yes" ]; then
1885 CFG_OPENSSL="linked"
1891 if [ "$VAL" = "yes" ]; then
1892 CFG_DECLARATIVE_DEBUG="yes"
1894 if [ "$VAL" = "no" ]; then
1895 CFG_DECLARATIVE_DEBUG="no"
1902 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1903 CFG_JAVASCRIPTCORE_JIT="$VAL"
1909 if [ "$VAL" = "yes" ]; then
1910 OPT_CONFIRM_LICENSE="$VAL"
1916 if [ "$VAL" = "yes" ]; then
1922 sql-*|gfx-*|decoration-*|kbd-*|mouse-*|imageformat-*)
1923 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1924 # if autoconf style options were used, $VAL can be "yes" or "no"
1925 [ "$VAL" = "yes" ] && VAL=qt
1926 # now $VAL should be "no", "qt", or "plugin"... double-check
1927 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1930 # now $VAL is "no", "qt", or "plugin"
1932 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1933 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1935 # Grab the available values
1938 avail="$CFG_SQL_AVAILABLE"
1941 avail="$CFG_GFX_AVAILABLE"
1942 if [ "$OPT" = "plugin" ]; then
1943 avail="$CFG_GFX_PLUGIN_AVAILABLE"
1947 avail="$CFG_DECORATION_AVAILABLE"
1948 if [ "$OPT" = "plugin" ]; then
1949 avail="$CFG_DECORATION_PLUGIN_AVAILABLE"
1953 avail="$CFG_KBD_AVAILABLE"
1954 if [ "$OPT" = "plugin" ]; then
1955 avail="$CFG_KBD_PLUGIN_AVAILABLE"
1959 avail="$CFG_MOUSE_AVAILABLE"
1960 if [ "$OPT" = "plugin" ]; then
1961 avail="$CFG_MOUSE_PLUGIN_AVAILABLE"
1965 avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
1966 if [ "$OPT" != "plugin" ]; then
1967 # png is always built in
1973 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1977 # Check that that user's value is available.
1980 if [ "$VAL" = "$d" ]; then
1985 [ "$found" = yes ] || ERROR=yes
1987 if [ "$VAR" = "sql" ]; then
1988 # set the CFG_SQL_driver
1989 eval "CFG_SQL_$VAL=\$OPT"
1991 elif [ "$VAR" = "imageformat" ]; then
1992 [ "$OPT" = "qt" ] && OPT=yes
1993 VAL="`echo $VAL |tr a-z A-Z`"
1994 eval "CFG_$VAL=$OPT"
1998 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
1999 if [ "$OPT" = "plugin" ]; then
2000 [ "$VAR" = "decoration" ] && QMakeVar del "${VAR}s" "$VAL"
2001 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"` && CFG_DECORATION_PLUGIN="$CFG_DECORATION_PLUGIN ${VAL}"
2002 [ "$VAR" = "kbd" ] && QMakeVar del "${VAR}s" "$VAL"
2003 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"` && CFG_KBD_PLUGIN="$CFG_KBD_PLUGIN ${VAL}"
2004 [ "$VAR" = "mouse" ] && QMakeVar del "${VAR}s" "$VAL"
2005 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_MOUSE_PLUGIN="$CFG_MOUSE_PLUGIN ${VAL}"
2006 [ "$VAR" = "gfx" ] && QMakeVar del "${VAR}s" "$VAL"
2007 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"` && CFG_GFX_PLUGIN="${CFG_GFX_PLUGIN} ${VAL}"
2010 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "decoration" ] || [ "$VAR" = "mouse" ]; then
2011 [ "$VAR" = "gfx" ] && CFG_GFX_ON="$CFG_GFX_ON $VAL"
2012 [ "$VAR" = "kbd" ] && CFG_KBD_ON="$CFG_KBD_ON $VAL"
2013 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON="$CFG_DECORATION_ON $VAL"
2014 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON="$CFG_MOUSE_ON $VAL"
2018 QMakeVar add "${VAR}s" "${VAL}"
2019 elif [ "$OPT" = "no" ]; then
2020 PLUG_VAR="${VAR}-plugin"
2021 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "mouse" ]; then
2022 IN_VAR="${VAR}-driver"
2026 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"`
2027 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"`
2028 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"`
2029 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"`
2030 QMakeVar del "${IN_VAR}s" "$VAL"
2031 QMakeVar del "${PLUG_VAR}s" "$VAL"
2033 if [ "$ERROR" = "yes" ]; then
2034 echo "$CURRENT_OPT: unknown argument"
2039 if [ "$VAL" = "yes" ]; then
2040 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
2041 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
2045 elif [ "$VAL" = "no" ]; then
2046 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
2047 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
2056 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2063 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2070 D_FLAGS="$D_FLAGS \"$VAL\""
2073 I_FLAGS="$I_FLAGS -I\"${VAL}\""
2076 L_FLAGS="$L_FLAGS -L\"${VAL}\""
2079 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
2082 l_FLAGS="$l_FLAGS -l\"${VAL}\""
2085 if [ "$BUILD_ON_MAC" = "yes" ]; then
2086 L_FLAGS="$L_FLAGS -F\"${VAL}\""
2087 I_FLAGS="$I_FLAGS -F\"${VAL}\""
2093 if [ "$BUILD_ON_MAC" = "yes" ]; then
2094 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
2100 W_FLAGS="$W_FLAGS \"${VAL}\""
2106 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2107 CFG_PHONON_BACKEND="$VAL"
2119 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2120 CFG_AUDIO_BACKEND="$VAL"
2126 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2133 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2134 CFG_FORCE_ASSERTS="$VAL"
2140 if [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
2150 if [ "$UNKNOWN_OPT" = "yes" ]; then
2151 echo "${CURRENT_OPT}: invalid command-line switch"
2157 # update QT_CONFIG to show our current predefined configuration
2158 case "$CFG_QCONFIG" in
2159 minimal|small|medium|large|full)
2160 # these are a sequence of increasing functionality
2161 for c in minimal small medium large full; do
2162 QT_CONFIG="$QT_CONFIG $c-config"
2163 [ "$CFG_QCONFIG" = $c ] && break
2167 # not known to be sufficient for anything
2168 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
2169 echo >&2 "Error: configuration file not found:"
2170 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2172 echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2177 #-------------------------------------------------------------------------------
2178 # build tree initialization
2179 #-------------------------------------------------------------------------------
2181 # where to find which..
2182 unixtests="$relpath/config.tests/unix"
2183 mactests="$relpath/config.tests/mac"
2184 WHICH="$unixtests/which.test"
2186 PERL=`$WHICH perl 2>/dev/null`
2188 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2190 for e in gawk nawk awk; do
2191 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2198 PERL="/usr/bin/perl"
2199 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2203 ### skip this if the user just needs help...
2204 if [ "$OPT_HELP" != "yes" ]; then
2206 # is this a shadow build?
2207 if [ "$OPT_SHADOW" = "maybe" ]; then
2209 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2210 if [ -h "$outpath" ]; then
2211 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2217 if [ "$OPT_SHADOW" = "yes" ]; then
2218 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2219 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2220 echo >&2 "Cannot proceed."
2223 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2226 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2228 echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
2229 echo "Qt can be built in release mode with separate debug information, so"
2230 echo "-debug-and-release is not necessary anymore"
2234 if [ "$CFG_SILENT" = "yes" ]; then
2235 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2238 # if the source tree is different from the build tree,
2239 # symlink or copy part of the sources
2240 if [ "$OPT_SHADOW" = "yes" ]; then
2241 echo "Preparing build tree..."
2243 if [ -z "$PERL" ]; then
2245 echo "You need perl in your PATH to make a shadow build."
2246 echo "Cannot proceed."
2250 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2252 # symlink the qmake directory
2253 find "$relpath/qmake" | while read a; do
2254 my_a=`echo "$a" | sed "s,^${relpath}/,${outpath}/,"`
2255 if [ '!' -f "$my_a" ]; then
2256 if [ -d "$a" ]; then
2257 # directories are created...
2260 a_dir=`dirname "$my_a"`
2261 [ -d "$a_dir" ] || mkdir -p "$a_dir"
2262 # ... and files are symlinked
2263 case `basename "$a"` in
2264 *.o|*.d|GNUmakefile*|qmake)
2275 # make a syncqt script that can be used in the shadow
2276 rm -f "$outpath/bin/syncqt"
2277 if [ -x "$relpath/bin/syncqt" ]; then
2278 mkdir -p "$outpath/bin"
2279 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2280 echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2281 chmod 755 "$outpath/bin/syncqt"
2284 for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
2285 rm -f "$outpath/bin/$i"
2286 if [ -x "$relpath/bin/$i" ]; then
2287 mkdir -p "$outpath/bin"
2288 echo "#!/bin/sh" >"$outpath/bin/$i"
2289 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2290 echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2291 chmod 755 "$outpath/bin/$i"
2295 # symlink the mkspecs directory
2296 mkdir -p "$outpath/mkspecs"
2297 rm -rf "$outpath"/mkspecs/*
2298 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2299 rm -f "$outpath/mkspecs/default"
2303 rm -rf "$outpath/mkspecs/$1"
2304 find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2305 find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2308 # Special case for mkspecs/features directory.
2309 # To be able to place .prf files into a shadow build directory,
2310 # we're creating links for files only. The directory structure is reproduced.
2311 ShadowMkspecs features
2313 # The modules dir is special, too.
2314 ShadowMkspecs modules
2316 # symlink the doc directory
2317 rm -rf "$outpath/doc"
2318 ln -s "$relpath/doc" "$outpath/doc"
2321 # symlink fonts to be able to run application from build directory
2322 if [ "$PLATFORM_QPA" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
2323 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2324 mkdir -p "${outpath}/lib"
2325 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2329 if [ "$OPT_FAST" = "auto" ]; then
2330 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2337 # find a make command
2338 if [ -z "$MAKE" ]; then
2340 for mk in gmake make; do
2341 if "$WHICH" $mk >/dev/null 2>&1; then
2346 if [ -z "$MAKE" ]; then
2347 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2348 echo >&2 "Cannot proceed."
2351 # export MAKE, we need it later in the config.tests
2357 #-------------------------------------------------------------------------------
2358 # auto-detect all that hasn't been specified in the arguments
2359 #-------------------------------------------------------------------------------
2361 if [ -z "$PLATFORM" ]; then
2363 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2365 if [ "$PLATFORM_QPA" = "yes" ]; then
2366 OSX_VERSION=`uname -r | cut -d. -f1`
2367 if [ "$OSX_VERSION" -ge 11 ]; then
2368 # We're on Lion or above. Check if we have a supported Clang version
2369 case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
2372 PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
2387 #PLATFORM=aix-g++-64
2389 #PLATFORM=aix-xlc-64
2391 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2401 # PLATFORM=dynix-g++
2407 PLATFORM=freebsd-g++
2409 - Also available for FreeBSD: freebsd-icc
2413 PLATFORM=openbsd-g++
2424 #PLATFORM=irix-cc-64
2426 - Also available for IRIX: irix-g++ irix-cc-64
2430 case "$UNAME_MACHINE" in
2432 #PLATFORM=hpuxi-acc-32
2433 PLATFORM=hpuxi-acc-64
2435 - Also available for HP-UXi: hpuxi-acc-32
2441 #PLATFORM=hpux-acc-64
2443 #PLATFORM=hpux-acc-o64
2445 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2454 - Also available for Tru64: tru64-g++
2458 case "$UNAME_MACHINE" in
2460 PLATFORM=linux-g++-64
2467 - Also available for Linux: linux-kcc linux-icc linux-cxx
2471 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2472 PLATFORM="solaris-g++"
2474 #PLATFORM=solaris-g++
2476 #PLATFORM=solaris-cc64
2479 - Also available for Solaris: solaris-g++ solaris-cc-64
2482 ReliantUNIX-*:*|SINIX-*:*)
2483 PLATFORM=reliant-cds
2484 #PLATFORM=reliant-cds-64
2486 - Also available for Reliant UNIX: reliant-cds-64
2496 #PLATFORM=unixware-g++
2497 PLATFORM=unixware-cc
2499 - Also available for OpenUNIX: unixware-g++
2503 #PLATFORM=unixware-g++
2504 PLATFORM=unixware-cc
2506 - Also available for UnixWare: unixware-g++
2513 - Also available for SCO OpenServer: sco-g++
2517 PLATFORM=unixware-g++
2520 PLATFORM=unsupported/qnx-g++
2523 if [ "$OPT_HELP" != "yes" ]; then
2525 for p in $PLATFORMS; do
2526 echo " $relconf $* -platform $p"
2529 echo " The build script does not currently recognize all" >&2
2530 echo " platforms supported by Qt." >&2
2531 echo " Rerun this script with a -platform option listed to" >&2
2532 echo " set the system/compiler combination you use." >&2
2539 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2541 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2543 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2544 case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
2546 if [ -d "$PLATFORM" ]; then
2547 QMAKESPEC="$PLATFORM"
2549 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2551 if [ -d "$XPLATFORM" ]; then
2552 XQMAKESPEC="$XPLATFORM"
2554 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2556 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2557 QT_CROSS_COMPILE=yes
2558 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2561 if [ "$BUILD_ON_MAC" = "yes" ]; then
2562 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2564 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2565 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2566 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2567 echo " built with 'macx-g++'" >&2
2573 # check specified platforms are supported
2574 if [ '!' -d "$QMAKESPEC" ]; then
2576 echo " The specified system/compiler is not supported:"
2580 echo " Please see the README file for a complete list."
2584 if [ '!' -d "$XQMAKESPEC" ]; then
2586 echo " The specified system/compiler is not supported:"
2590 echo " Please see the README file for a complete list."
2594 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2596 echo " The specified system/compiler port is not complete:"
2598 echo " $XQMAKESPEC/qplatformdefs.h"
2600 echo " Please contact qt-info@nokia.com."
2605 # now look at the configs and figure out what platform we are config'd for
2606 [ "$PLATFORM_QPA" != "yes" ] \
2607 && [ -n "`getXQMakeConf QMAKE_LIBS_X11`" ] \
2609 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2611 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2612 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2613 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2614 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2615 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2619 #-------------------------------------------------------------------------------
2620 # determine the system architecture
2621 #-------------------------------------------------------------------------------
2622 if [ "$OPT_VERBOSE" = "yes" ]; then
2623 echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
2626 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2627 case `basename "$XPLATFORM"` in
2630 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2632 echo "Please contact qt-info@nokia.com to upgrade your license to"
2633 echo "include this platform, or install the Qt Open Source Edition"
2634 echo "if you intend to develop free software."
2640 if [ -z "${CFG_HOST_ARCH}" ]; then
2641 case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
2643 CFG_HOST_ARCH=`echo ${UNAME_MACHINE} | sed -e 's,[-/].*$,,'`
2644 case "$CFG_HOST_ARCH" in
2649 if [ "$OPT_VERBOSE" = "yes" ]; then
2650 echo " GNU/Hurd ($CFG_HOST_ARCH)"
2654 CFG_HOST_ARCH=`uname -p`
2655 if [ "$OPT_VERBOSE" = "yes" ]; then
2656 echo " SGI ($CFG_HOST_ARCH)"
2660 case "$UNAME_MACHINE" in
2662 if [ "$OPT_VERBOSE" = "yes" ]; then
2663 echo " Sun SPARC (sparc)"
2670 if [ "$OPT_VERBOSE" = "yes" ]; then
2671 echo " 64-bit AMD 80x86 (x86_64)"
2673 CFG_HOST_ARCH=x86_64
2676 if [ "$OPT_VERBOSE" = "yes" ]; then
2677 echo " 32-bit Intel 80x86 (i386)"
2685 if [ "$OPT_VERBOSE" = "yes" ]; then
2686 echo " 64-bit IBM PowerPC (powerpc)"
2688 CFG_HOST_ARCH=powerpc
2691 if [ "$OPT_VERBOSE" = "yes" ]; then
2692 echo " HP PA-RISC (parisc)"
2694 CFG_HOST_ARCH=parisc
2697 if [ "$OPT_VERBOSE" = "yes" ]; then
2698 echo " 32-bit Intel 80x86 (i386)"
2702 *:*:x86_64|*:*:amd64)
2703 if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
2704 if [ "$OPT_VERBOSE" = "yes" ]; then
2705 echo " 32 bit on 64-bit AMD 80x86 (i386)"
2709 if [ "$OPT_VERBOSE" = "yes" ]; then
2710 echo " 64-bit AMD 80x86 (x86_64)"
2712 CFG_HOST_ARCH=x86_64
2716 if [ "$OPT_VERBOSE" = "yes" ]; then
2717 echo " 32-bit PowerPC (powerpc)"
2719 CFG_HOST_ARCH=powerpc
2722 if [ "$OPT_VERBOSE" = "yes" ]; then
2723 echo " 64-bit PowerPC (powerpc)"
2725 CFG_HOST_ARCH=powerpc
2728 if [ "$OPT_VERBOSE" = "yes" ]; then
2729 echo " IBM S/390 (s390)"
2734 if [ "$OPT_VERBOSE" = "yes" ]; then
2740 if [ "$OPT_VERBOSE" = "yes" ]; then
2741 echo " Linux on SPARC"
2746 case "$UNAME_MACHINE" in
2748 if [ "$OPT_VERBOSE" = "yes" ]; then
2749 echo " QNX on Intel 80x86 (i386)"
2756 if [ "$OPT_VERBOSE" = "yes" ]; then
2757 echo " Trying '$UNAME_MACHINE'..."
2759 CFG_HOST_ARCH="$UNAME_MACHINE"
2764 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2765 [ -z "$CFG_ARCH" ] && CFG_ARCH="windows"
2766 elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
2767 CFG_ARCH=$CFG_HOST_ARCH
2774 # previously, armv6 was a different arch
2780 if [ "$OPT_VERBOSE" = "yes" ]; then
2781 echo "System architecture: '$CFG_ARCH'"
2782 if [ "$PLATFORM_QPA" = "yes" ]; then
2783 echo "Host architecture: '$CFG_HOST_ARCH'"
2787 #-------------------------------------------------------------------------------
2788 # tests that don't need qmake (must be run before displaying help)
2789 #-------------------------------------------------------------------------------
2791 # detect build style
2792 if [ "$CFG_DEBUG" = "auto" ]; then
2793 if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2794 CFG_DEBUG_RELEASE=yes
2796 elif [ "$CFG_DEV" = "yes" ]; then
2797 CFG_DEBUG_RELEASE=no
2800 CFG_DEBUG_RELEASE=no
2804 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2805 QT_CONFIG="$QT_CONFIG build_all"
2808 if [ -z "$PKG_CONFIG" ]; then
2809 # See if PKG_CONFIG is set in the mkspec:
2810 PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
2812 if [ -z "$PKG_CONFIG" ]; then
2813 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
2816 # Work out if we can use pkg-config
2817 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
2818 if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
2820 echo >&2 "You have asked to use pkg-config and are cross-compiling."
2821 echo >&2 "Please make sure you have a correctly set-up pkg-config"
2822 echo >&2 "environment!"
2824 if [ -z "$PKG_CONFIG_PATH" ]; then
2826 echo >&2 "Warning: PKG_CONFIG_PATH has not been set. This could mean"
2827 echo >&2 "the host compiler's .pc files will be used. This is probably"
2828 echo >&2 "not what you want."
2830 elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
2832 echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
2833 echo >&2 "been set. This means your toolchain's .pc files must contain"
2834 echo >&2 "the paths to the toolchain's libraries & headers. If configure"
2835 echo >&2 "tests are failing, please check these files."
2840 echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
2841 echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
2842 echo >&2 "dependencies"
2848 if [ ! -n "$PKG_CONFIG" ]; then
2849 QT_CONFIG="$QT_CONFIG no-pkg-config"
2852 # pass on $CFG_SDK to the configure tests.
2853 if [ '!' -z "$CFG_SDK" ]; then
2854 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
2857 # find the default framework value
2858 if [ "$BUILD_ON_MAC" = "yes" ]; then
2859 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2860 CFG_FRAMEWORK="$CFG_SHARED"
2861 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2863 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2871 QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
2873 TEST_COMPILER=$QMAKE_CONF_COMPILER
2874 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
2875 if [ -z "$TEST_COMPILER" ]; then
2876 echo "ERROR: Cannot set the compiler for the configuration tests"
2882 if [ -n "$CFG_SYSROOT" ]; then
2883 if compilerSupportsFlag --sysroot="$CFG_SYSROOT"; then
2884 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting sysroot to: $CFG_SYSROOT"
2885 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
2887 echo >&2 "The compiler doesn't support the --sysroot flag, I can't set the sysroot"
2891 export SYSROOT_FLAG # used by config.tests/unix/compile.test
2893 # auto-detect precompiled header support
2894 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2895 if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2902 #auto-detect DWARF2 on the mac
2903 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
2904 if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
2911 # don't autodetect support for separate debug info on objcopy when
2912 # cross-compiling as lots of toolchains seems to have problems with this
2913 if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
2914 CFG_SEPARATE_DEBUG_INFO="no"
2917 # auto-detect support for separate debug info in objcopy
2918 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
2919 TEST_COMPILER_CFLAGS=`getXQMakeConf QMAKE_CFLAGS`
2920 TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
2921 TEST_OBJCOPY=`getXQMakeConf QMAKE_OBJCOPY`
2922 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
2923 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
2924 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
2925 CFG_SEPARATE_DEBUG_INFO=no
2929 # binutils on HP-UX is buggy; default to no.
2930 CFG_SEPARATE_DEBUG_INFO=no
2933 CFG_SEPARATE_DEBUG_INFO=yes
2939 # auto-detect -fvisibility support
2940 if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then
2941 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2942 CFG_REDUCE_EXPORTS=no
2944 CFG_REDUCE_EXPORTS=yes
2948 # detect the availability of the -Bsymbolic-functions linker optimization
2949 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
2950 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2951 CFG_REDUCE_RELOCATIONS=no
2953 CFG_REDUCE_RELOCATIONS=yes
2957 # auto-detect GNU make support
2958 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
2962 # find the default framework value
2963 if [ "$BUILD_ON_MAC" = "yes" ]; then
2964 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2965 CFG_FRAMEWORK="$CFG_SHARED"
2966 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2968 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2976 # x11 tests are done after qmake is built
2979 #setup the build parts
2980 if [ -z "$CFG_BUILD_PARTS" ]; then
2981 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
2983 # don't build tools by default when cross-compiling
2984 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2985 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
2988 for nobuild in $CFG_NOBUILD_PARTS; do
2989 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
2991 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
2993 # echo "WARNING: libs is a required part of the build."
2995 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
2998 #-------------------------------------------------------------------------------
2999 # post process QT_INSTALL_* variables
3000 #-------------------------------------------------------------------------------
3002 if [ -z "$QT_INSTALL_PREFIX" ]; then
3003 if [ "$CFG_DEV" = "yes" ]; then
3004 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
3006 QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION
3009 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
3011 if [ -z "$QT_INSTALL_DOCS" ]; then #default
3012 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3013 if [ "$BUILD_ON_MAC" = "yes" ]; then
3014 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
3017 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
3020 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
3022 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
3023 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3024 if [ "$BUILD_ON_MAC" = "yes" ]; then
3025 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3030 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
3033 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
3035 if [ -z "$QT_INSTALL_LIBS" ]; then #default
3036 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3037 if [ "$BUILD_ON_MAC" = "yes" ]; then
3038 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3039 QT_INSTALL_LIBS="/Libraries/Frameworks"
3043 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
3045 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
3047 if [ -z "$QT_INSTALL_BINS" ]; then #default
3048 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3049 if [ "$BUILD_ON_MAC" = "yes" ]; then
3050 QT_INSTALL_BINS="/Developer/Applications/Qt"
3053 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
3055 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
3057 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
3058 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3059 if [ "$BUILD_ON_MAC" = "yes" ]; then
3060 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
3063 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
3065 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
3067 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
3068 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3069 if [ "$BUILD_ON_MAC" = "yes" ]; then
3070 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
3073 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
3075 QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
3077 if [ -z "$QT_INSTALL_DATA" ]; then #default
3078 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
3080 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
3082 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
3083 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
3085 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
3087 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
3088 if [ "$BUILD_ON_MAC" = "yes" ]; then
3089 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
3091 QT_INSTALL_SETTINGS=/etc/xdg
3094 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
3096 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
3097 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3098 if [ "$BUILD_ON_MAC" = "yes" ]; then
3099 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
3102 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
3104 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
3107 if [ -z "$QT_INSTALL_TESTS" ]; then #default
3108 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3109 if [ "$BUILD_ON_MAC" = "yes" ]; then
3110 QT_INSTALL_TESTS="/Developer/Tests/Qt"
3113 [ -z "$QT_INSTALL_TESTS" ] && QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback
3115 QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
3117 #-------------------------------------------------------------------------------
3118 # help - interactive parts of the script _after_ this section please
3119 #-------------------------------------------------------------------------------
3121 # next, emit a usage message if something failed.
3122 if [ "$OPT_HELP" = "yes" ]; then
3123 [ "x$ERROR" = "xyes" ] && echo
3124 if [ "$CFG_NIS" = "no" ]; then
3131 if [ "$CFG_CUPS" = "no" ]; then
3138 if [ "$CFG_ICONV" = "no" ]; then
3145 if [ "$CFG_LARGEFILE" = "no" ]; then
3152 if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then
3159 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
3167 if [ "$CFG_XCB" = "no" ]; then
3175 if [ "$CFG_WAYLAND" = "no" ]; then
3182 if [ "$CFG_XINPUT2" = "no" ]; then
3191 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
3192 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
3193 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-testsdir <dir>]
3194 [-release] [-debug] [-debug-and-release]
3195 [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
3196 [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
3197 [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
3198 [-plugin-sql-<driver>] [-system-sqlite]
3199 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
3200 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
3201 [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
3202 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
3203 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
3204 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
3205 [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
3206 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
3207 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] [-armfpa]
3208 [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
3209 [-no-audio-backend] [-audio-backend]
3210 [-no-javascript-jit] [-javascript-jit] [-no-declarative-debug] [-declarative-debug]
3211 [-no-optimized-qmake] [-optimized-qmake]
3212 [-no-openssl] [-openssl] [-openssl-linked]
3213 [-no-gtkstyle] [-gtkstyle]
3214 [-qt-pcre] [-system-pcre]
3215 [additional platform specific options (see below)]
3218 Installation options:
3220 -qpa ................ This will enable the QPA build.
3221 QPA is a window system agnostic implementation of Qt.
3223 These are optional, but you may specify install directories.
3225 -prefix <dir> ...... This will install everything relative to <dir>
3226 (default $QT_INSTALL_PREFIX)
3228 if [ "$PLATFORM_QPA" = "yes" ]; then
3231 -hostprefix [dir] .. Tools and libraries needed when developing
3232 applications are installed in [dir]. If [dir] is
3233 not given, the current build directory will be used.
3238 * -prefix-install .... Force a sandboxed "local" installation of
3239 Qt. This will install into
3240 $QT_INSTALL_PREFIX, if this option is
3241 disabled then some platforms will attempt a
3242 "system" install by placing default values to
3243 be placed in a system location other than
3246 You may use these to separate different parts of the install:
3248 -bindir <dir> ......... Executables will be installed to <dir>
3249 (default PREFIX/bin)
3250 -libdir <dir> ......... Libraries will be installed to <dir>
3251 (default PREFIX/lib)
3252 -docdir <dir> ......... Documentation will be installed to <dir>
3253 (default PREFIX/doc)
3254 -headerdir <dir> ...... Headers will be installed to <dir>
3255 (default PREFIX/include)
3256 -plugindir <dir> ...... Plugins will be installed to <dir>
3257 (default PREFIX/plugins)
3258 -importdir <dir> ...... Imports for QML will be installed to <dir>
3259 (default PREFIX/imports)
3260 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
3262 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
3263 (default PREFIX/translations)
3264 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
3265 (default PREFIX/etc/settings)
3266 -examplesdir <dir> .... Examples will be installed to <dir>
3267 (default PREFIX/examples)
3268 -testsdir <dir> ....... Tests will be installed to <dir>
3269 (default PREFIX/tests)
3273 The defaults (*) are usually acceptable. A plus (+) denotes a default value
3274 that needs to be evaluated. If the evaluation succeeds, the feature is
3275 included. Here is a short explanation of each option:
3277 * -release ........... Compile and link Qt with debugging turned off.
3278 -debug ............. Compile and link Qt with debugging turned on.
3279 -debug-and-release . Compile and link two versions of Qt, with and without
3280 debugging turned on (Mac only).
3282 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
3284 -opensource ........ Compile and link the Open-Source Edition of Qt.
3285 -commercial ........ Compile and link the Commercial Edition of Qt.
3288 * -shared ............ Create and use shared Qt libraries.
3289 -static ............ Create and use static Qt libraries.
3291 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3293 -fast .............. Configure Qt quickly by generating Makefiles only for
3294 library and subdirectory targets. All other Makefiles
3295 are created as wrappers, which will in turn run qmake.
3297 -no-largefile ...... Disables large file support.
3298 + -largefile ......... Enables Qt to access files larger than 4 GB.
3301 if [ "$PLATFORM_QPA" = "yes" ]; then
3308 if [ "$CFG_DBUS" = "no" ]; then
3317 $EXCN -no-exceptions ..... Disable exceptions on compilers that support it.
3318 $EXCY -exceptions ........ Enable exceptions on compilers that support it.
3320 -no-accessibility .. Do not compile Accessibility support.
3321 * -accessibility ..... Compile Accessibility support.
3323 $SHN -no-stl ............ Do not compile STL support.
3324 $SHY -stl ............... Compile STL support.
3326 -no-sql-<driver> ... Disable SQL <driver> entirely.
3327 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3329 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3332 Possible values for <driver>:
3333 [ $CFG_SQL_AVAILABLE ]
3335 -system-sqlite ..... Use sqlite from the operating system.
3337 -no-phonon-backend.. Do not build the platform phonon plugin.
3338 + -phonon-backend..... Build the platform phonon plugin.
3340 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
3341 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
3343 -no-declarative-debug ..... Do not build the declarative debugging support.
3344 + -declarative-debug ....... Build the declarative debugging support.
3346 -platform target ... The operating system and compiler you are building
3349 See the README file for a list of supported
3350 operating systems and compilers.
3353 if [ "${PLATFORM_QPA}" != "yes" ]; then
3355 -graphicssystem <sys> Sets an alternate graphics system. Available options are:
3356 raster - Software rasterizer
3357 opengl - Rendering via OpenGL, Experimental!
3358 openvg - Rendering via OpenVG, Experimental!
3365 -no-mmx ............ Do not compile with use of MMX instructions.
3366 -no-3dnow .......... Do not compile with use of 3DNOW instructions.
3367 -no-sse ............ Do not compile with use of SSE instructions.
3368 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3369 -no-sse3 ........... Do not compile with use of SSE3 instructions.
3370 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
3371 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
3372 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
3373 -no-avx ............ Do not compile with use of AVX instructions.
3374 -no-neon ........... Do not compile with use of NEON instructions.
3376 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3377 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3379 -testcocoon Instrument Qt with the TestCocoon code coverage tool.
3381 -D <string> ........ Add an explicit define to the preprocessor.
3382 -I <string> ........ Add an explicit include path.
3383 -L <string> ........ Add an explicit library path.
3385 -help, -h .......... Display this information.
3387 Third Party Libraries:
3389 -qt-zlib ........... Use the zlib bundled with Qt.
3390 + -system-zlib ....... Use zlib from the operating system.
3391 See http://www.gzip.org/zlib
3393 -no-gif ............ Do not compile GIF reading support.
3395 -no-libpng ......... Do not compile PNG support.
3396 -qt-libpng ......... Use the libpng bundled with Qt.
3397 + -system-libpng ..... Use libpng from the operating system.
3398 See http://www.libpng.org/pub/png
3400 -no-libjpeg ........ Do not compile JPEG support.
3401 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3402 + -system-libjpeg .... Use libjpeg from the operating system.
3403 See http://www.ijg.org
3405 -no-openssl ........ Do not compile support for OpenSSL.
3406 + -openssl ........... Enable run-time OpenSSL support.
3407 -openssl-linked .... Enabled linked OpenSSL support.
3409 -qt-pcre ........... Use the PCRE library bundled with Qt.
3410 + -system-pcre ....... Use the PCRE library from the operating system.
3414 -make <part> ....... Add part to the list of parts to be built at make time.
3415 ($QT_DEFAULT_BUILD_PARTS)
3416 -nomake <part> ..... Exclude part from the list of parts to be built.
3418 -R <string> ........ Add an explicit runtime library path to the Qt
3420 -l <string> ........ Add an explicit library.
3422 -no-rpath .......... Do not use the library install path as a runtime
3424 + -rpath ............. Link Qt libraries and executables using the library
3425 install path as a runtime library path. Equivalent
3426 to -R install_libpath
3428 -continue .......... Continue as far as possible if an error occurs.
3430 -verbose, -v ....... Print verbose information about each step of the
3433 -silent ............ Reduce the build output so that warnings and errors
3434 can be seen more easily.
3436 * -no-optimized-qmake ... Do not build qmake optimized.
3437 -optimized-qmake ...... Build qmake optimized.
3439 -no-gui ............ Don't build the Qt GUI library
3441 $NSN -no-nis ............ Do not compile NIS support.
3442 $NSY -nis ............... Compile NIS support.
3444 $CUN -no-cups ........... Do not compile CUPS support.
3445 $CUY -cups .............. Compile CUPS support.
3446 Requires cups/cups.h and libcups.so.2.
3448 $CIN -no-iconv .......... Do not compile support for iconv(3).
3449 $CIY -iconv ............. Compile support for iconv(3).
3451 $PHN -no-pch ............ Do not use precompiled header support.
3452 $PHY -pch ............... Use precompiled header support.
3454 $DBN -no-dbus ........... Do not compile the QtDBus module.
3455 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3456 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3458 -reduce-relocations ..... Reduce relocations in the libraries through extra
3459 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3460 experimental; needs GNU ld >= 2.18).
3462 -force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
3466 if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3467 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3474 elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
3482 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3486 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3487 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3489 $XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
3490 $XCBY -xcb ............... Compile Xcb support.
3492 $XWN -no-wayland......... Do not compile Wayland support.
3493 $XWY -wayland .......... Compile Wayland support.
3499 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
3503 $X2N -no-xinput2......... Do not compile XInput2 support.
3504 $X2Y -xinput2............ Compile XInput2 support.
3510 if [ "$PLATFORM_X11" = "yes" ]; then
3511 if [ "$CFG_SM" = "no" ]; then
3518 if [ "$CFG_XSHAPE" = "no" ]; then
3525 if [ "$CFG_XVIDEO" = "no" ]; then
3532 if [ "$CFG_XINERAMA" = "no" ]; then
3539 if [ "$CFG_FONTCONFIG" = "no" ]; then
3546 if [ "$CFG_XCURSOR" = "no" ]; then
3553 if [ "$CFG_XFIXES" = "no" ]; then
3560 if [ "$CFG_XRANDR" = "no" ]; then
3567 if [ "$CFG_XRENDER" = "no" ]; then
3574 if [ "$CFG_MITSHM" = "no" ]; then
3581 if [ "$CFG_XINPUT" = "no" ]; then
3588 if [ "$CFG_XKB" = "no" ]; then
3595 if [ "$CFG_IM" = "no" ]; then
3606 -no-gtkstyle ....... Do not build the GTK theme integration.
3607 + -gtkstyle .......... Build the GTK theme integration.
3609 * -no-nas-sound ...... Do not compile in NAS sound support.
3610 -system-nas-sound .. Use NAS libaudio from the operating system.
3611 See http://radscan.com/nas.html
3613 -egl ............... Use EGL instead of GLX to manage contexts.
3614 When building for desktop OpenGL, this option will
3615 make Qt use EGL to manage contexts rather than the
3616 GLX, which is the default. Note: For OpenGL ES, EGL
3619 -no-opengl ......... Do not support OpenGL.
3620 + -opengl <api> ...... Enable OpenGL support.
3621 With no parameter, this will auto-detect the "best"
3622 OpenGL API to use. If desktop OpenGL is available, it
3623 will be used. Use desktop or es2 for <api>
3624 to force the use of the Desktop OpenGL or
3625 OpenGL ES 2 APIs instead.
3627 -no-openvg ........ Do not support OpenVG.
3628 + -openvg ........... Enable OpenVG support.
3629 Requires EGL support, typically supplied by an OpenGL
3630 or other graphics implementation.
3632 $SMN -no-sm ............. Do not support X Session Management.
3633 $SMY -sm ................ Support X Session Management, links in -lSM -lICE.
3635 $SHN -no-xshape ......... Do not compile XShape support.
3636 $SHY -xshape ............ Compile XShape support.
3637 Requires X11/extensions/shape.h.
3639 $XVN -no-xvideo ......... Do not compile XVideo support.
3640 $XVY -xvideo ............ Compile XVideo support.
3641 Requires X11/extensions/Xv.h & Xvlib.h.
3643 $SHN -no-xsync .......... Do not compile XSync support.
3644 $SHY -xsync ............. Compile XSync support.
3645 Requires X11/extensions/sync.h.
3647 $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
3648 $XAY -xinerama .......... Compile Xinerama support.
3649 Requires X11/extensions/Xinerama.h and libXinerama.
3650 By default, Xinerama support will be compiled if
3651 available and the shared libraries are dynamically
3654 $XCN -no-xcursor ........ Do not compile Xcursor support.
3655 $XCY -xcursor ........... Compile Xcursor support.
3656 Requires X11/Xcursor/Xcursor.h and libXcursor.
3657 By default, Xcursor support will be compiled if
3658 available and the shared libraries are dynamically
3661 $XFN -no-xfixes ......... Do not compile Xfixes support.
3662 $XFY -xfixes ............ Compile Xfixes support.
3663 Requires X11/extensions/Xfixes.h and libXfixes.
3664 By default, Xfixes support will be compiled if
3665 available and the shared libraries are dynamically
3668 $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
3669 $XZY -xrandr ............ Compile Xrandr support.
3670 Requires X11/extensions/Xrandr.h and libXrandr.
3672 $XRN -no-xrender ........ Do not compile Xrender support.
3673 $XRY -xrender ........... Compile Xrender support.
3674 Requires X11/extensions/Xrender.h and libXrender.
3676 $XMN -no-mitshm ......... Do not compile MIT-SHM support.
3677 $XMY -mitshm ............ Compile MIT-SHM support.
3678 Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
3680 $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
3681 $FCGY -fontconfig ........ Compile FontConfig support.
3682 Requires fontconfig/fontconfig.h, libfontconfig,
3683 freetype.h and libfreetype.
3685 $XIN -no-xinput ......... Do not compile Xinput support.
3686 $XIY -xinput ............ Compile Xinput support. This also enabled tablet support
3687 which requires IRIX with wacom.h and libXi or
3688 XFree86 with X11/extensions/XInput.h and libXi.
3690 $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
3691 $XKY -xkb ............... Compile XKB support.
3696 if [ "$BUILD_ON_MAC" = "yes" ]; then
3701 -Fstring ........... Add an explicit framework path.
3702 -fw string ......... Add an explicit framework.
3704 * -framework ......... Build Qt as a series of frameworks and
3705 link tools against those frameworks.
3706 -no-framework ...... Do not build Qt as a series of frameworks.
3708 * -dwarf2 ............ Enable dwarf2 debugging symbols.
3709 -no-dwarf2 ......... Disable dwarf2 debugging symbols.
3711 -arch <arch> ....... Build Qt for <arch>. Supported arch values: x86 x86_64.
3712 Only one arch value can be specified.
3714 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3715 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3717 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
3718 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
3719 QT_ENABLE_HARFBUZZ environment variable.
3724 if [ "$PLATFORM_QPA" = "yes" ]; then
3730 if [ "$PLATFORM_QPA" = "yes" ]; then
3733 -xplatform target ... The target platform when cross-compiling.
3735 -no-feature-<feature> Do not compile in <feature>.
3736 -feature-<feature> .. Compile in <feature>. The available features
3737 are described in src/corelib/global/qfeatures.txt
3739 -armfpa ............. Target platform uses the ARM-FPA floating point format.
3740 -no-armfpa .......... Target platform does not use the ARM-FPA floating point format.
3742 The floating point format is usually autodetected by configure. Use this
3743 to override the detected value.
3745 -little-endian ...... Target platform is little endian (LSB first).
3746 -big-endian ......... Target platform is big endian (MSB first).
3748 -host-little-endian . Host platform is little endian (LSB first).
3749 -host-big-endian .... Host platform is big endian (MSB first).
3751 You only need to specify the endianness when
3752 cross-compiling, otherwise the host
3753 endianness will be used.
3755 -no-freetype ........ Do not compile in Freetype2 support.
3756 -qt-freetype ........ Use the libfreetype bundled with Qt.
3757 * -system-freetype .... Use libfreetype from the operating system.
3758 See http://www.freetype.org/
3760 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3761 default ($CFG_QCONFIG).
3763 -no-opengl .......... Do not support OpenGL.
3764 -opengl <api> ....... Enable OpenGL ES support
3765 With no parameter, this will attempt to auto-detect
3766 OpenGL ES 2, or regular desktop OpenGL.
3767 Use es2 for <api> to override auto-detection.
3771 if [ "$PLATFORM_QPA" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
3772 if [ "$CFG_GLIB" = "no" ]; then
3780 $GBN -no-glib ........... Do not compile Glib support.
3781 $GBY -glib .............. Compile Glib support.
3786 [ "x$ERROR" = "xyes" ] && exit 1
3791 # -----------------------------------------------------------------------------
3792 # LICENSING, INTERACTIVE PART
3793 # -----------------------------------------------------------------------------
3795 if [ "$PLATFORM_QPA" = "yes" ]; then
3796 Platform="Qt Lighthouse"
3797 elif [ "$XPLATFORM_MINGW" = "yes" ]; then
3798 Platform="Qt for Windows"
3799 elif [ -n "`getXQMakeConf grep QMAKE_LIBS_X11`" ]; then
3801 Platform="Qt for Linux/X11"
3805 echo "This is the $Platform ${EditionString} Edition."
3808 if [ "$Edition" = "OpenSource" ]; then
3810 echo "You are licensed to use this software under the terms of"
3811 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
3812 if [ -f "$relpath/LICENSE.GPL3" ]; then
3813 echo "You are also licensed to use this software under the terms of"
3814 echo "the GNU General Public License (GPL) versions 3."
3820 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3821 echo "You have already accepted the terms of the $LicenseType license."
3824 if [ -f "$relpath/LICENSE.GPL3" ]; then
3825 echo "Type '3' to view the GNU General Public License version 3."
3827 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
3828 echo "Type 'yes' to accept this license offer."
3829 echo "Type 'no' to decline this license offer."
3831 echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
3835 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
3837 elif [ "$acceptance" = "no" ]; then
3838 echo "You are not licensed to use this software."
3841 elif [ "$acceptance" = "3" ]; then
3842 more "$relpath/LICENSE.GPL3"
3843 elif [ "$acceptance" = "L" ]; then
3844 more "$relpath/LICENSE.LGPL"
3847 elif [ "$Edition" = "Preview" ]; then
3848 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
3851 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3852 echo "You have already accepted the terms of the $LicenseType license."
3855 echo "You are licensed to use this software under the terms of"
3856 echo "the $TheLicense"
3858 echo "Type '?' to read the Preview License."
3859 echo "Type 'yes' to accept this license offer."
3860 echo "Type 'no' to decline this license offer."
3862 echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
3866 if [ "$acceptance" = "yes" ]; then
3868 elif [ "$acceptance" = "no" ] ;then
3869 echo "You are not licensed to use this software."
3872 elif [ "$acceptance" = "?" ]; then
3873 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
3876 elif [ "$Edition" != "OpenSource" ]; then
3877 if [ -n "$ExpiryDate" ]; then
3878 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
3879 [ -z "$ExpiryDate" ] && ExpiryDate="0"
3880 Today=`date +%Y%m%d`
3881 if [ "$Today" -gt "$ExpiryDate" ]; then
3882 case "$LicenseType" in
3883 Commercial|Academic|Educational)
3884 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
3886 echo "NOTICE NOTICE NOTICE NOTICE"
3888 echo " Your support and upgrade period has expired."
3890 echo " You are no longer licensed to use this version of Qt."
3891 echo " Please contact qt-info@nokia.com to renew your support"
3892 echo " and upgrades for this license."
3894 echo "NOTICE NOTICE NOTICE NOTICE"
3899 echo "WARNING WARNING WARNING WARNING"
3901 echo " Your support and upgrade period has expired."
3903 echo " You may continue to use your last licensed release"
3904 echo " of Qt under the terms of your existing license"
3905 echo " agreement. But you are not entitled to technical"
3906 echo " support, nor are you entitled to use any more recent"
3907 echo " Qt releases."
3909 echo " Please contact qt-info@nokia.com to renew your"
3910 echo " support and upgrades for this license."
3912 echo "WARNING WARNING WARNING WARNING"
3919 echo "NOTICE NOTICE NOTICE NOTICE"
3921 echo " Your Evaluation license has expired."
3923 echo " You are no longer licensed to use this software. Please"
3924 echo " contact qt-info@nokia.com to purchase license, or install"
3925 echo " the Qt Open Source Edition if you intend to develop free"
3928 echo "NOTICE NOTICE NOTICE NOTICE"
3935 TheLicense=`head -n 1 "$outpath/LICENSE"`
3937 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3938 echo "You have already accepted the terms of the $TheLicense."
3941 echo "You are licensed to use this software under the terms of"
3942 echo "the $TheLicense."
3944 echo "Type '?' to view the $TheLicense."
3945 echo "Type 'yes' to accept this license offer."
3946 echo "Type 'no' to decline this license offer."
3948 echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
3952 if [ "$acceptance" = "yes" ]; then
3954 elif [ "$acceptance" = "no" ]; then
3955 echo "You are not licensed to use this software."
3958 else [ "$acceptance" = "?" ]
3959 more "$outpath/LICENSE"
3964 # this should be moved somewhere else
3967 AIX_VERSION=`uname -v`
3968 if [ "$AIX_VERSION" -lt "5" ]; then
3969 QMakeVar add QMAKE_LIBS_X11 -lbind
3976 #-------------------------------------------------------------------------------
3977 # generate qconfig.cpp
3978 #-------------------------------------------------------------------------------
3979 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
3981 LICENSE_USER_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsuser=$Licensee"`
3982 LICENSE_PRODUCTS_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsprod=$Edition"`
3983 PREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_INSTALL_PREFIX"`
3984 DOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_INSTALL_DOCS"`
3985 HEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_INSTALL_HEADERS"`
3986 LIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_INSTALL_LIBS"`
3987 BINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_INSTALL_BINS"`
3988 PLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_INSTALL_PLUGINS"`
3989 IMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_INSTALL_IMPORTS"`
3990 DATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_INSTALL_DATA"`
3991 TRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_INSTALL_TRANSLATIONS"`
3992 SETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
3993 EXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
3994 TESTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_tstspath=$QT_INSTALL_TESTS"`
3996 TODAY=`date +%Y-%m-%d`
3997 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3999 static const char qt_configure_licensee_str [256 + 12] = "$LICENSE_USER_STR";
4000 static const char qt_configure_licensed_products_str [256 + 12] = "$LICENSE_PRODUCTS_STR";
4002 /* Installation date */
4003 static const char qt_configure_installation [12+11] = "qt_instdate=$TODAY";
4007 if [ ! -z "$QT_HOST_PREFIX" ]; then
4008 HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
4009 HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
4010 HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"`
4011 HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"`
4012 HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"`
4013 HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"`
4014 HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/IMPORTS"`
4015 HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"`
4016 HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
4017 HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
4018 HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
4019 HOSTTESTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_tstspath=$QT_INSTALL_TESTS"`
4021 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4023 #if defined(QT_BOOTSTRAPPED) || defined(QT_BUILD_QMAKE)
4024 /* Installation Info */
4025 static const char qt_configure_prefix_path_str [256 + 12] = "$HOSTPREFIX_PATH_STR";
4026 static const char qt_configure_documentation_path_str[256 + 12] = "$HOSTDOCUMENTATION_PATH_STR";
4027 static const char qt_configure_headers_path_str [256 + 12] = "$HOSTHEADERS_PATH_STR";
4028 static const char qt_configure_libraries_path_str [256 + 12] = "$HOSTLIBRARIES_PATH_STR";
4029 static const char qt_configure_binaries_path_str [256 + 12] = "$HOSTBINARIES_PATH_STR";
4030 static const char qt_configure_plugins_path_str [256 + 12] = "$HOSTPLUGINS_PATH_STR";
4031 static const char qt_configure_imports_path_str [256 + 12] = "$HOSTIMPORTS_PATH_STR";
4032 static const char qt_configure_data_path_str [256 + 12] = "$HOSTDATA_PATH_STR";
4033 static const char qt_configure_translations_path_str [256 + 12] = "$HOSTTRANSLATIONS_PATH_STR";
4034 static const char qt_configure_settings_path_str [256 + 12] = "$HOSTSETTINGS_PATH_STR";
4035 static const char qt_configure_examples_path_str [256 + 12] = "$HOSTEXAMPLES_PATH_STR";
4036 static const char qt_configure_tests_path_str [256 + 12] = "$HOSTTESTS_PATH_STR";
4037 #else // QT_BOOTSTRAPPED
4041 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4042 /* Installation Info */
4043 static const char qt_configure_prefix_path_str [256 + 12] = "$PREFIX_PATH_STR";
4044 static const char qt_configure_documentation_path_str[256 + 12] = "$DOCUMENTATION_PATH_STR";
4045 static const char qt_configure_headers_path_str [256 + 12] = "$HEADERS_PATH_STR";
4046 static const char qt_configure_libraries_path_str [256 + 12] = "$LIBRARIES_PATH_STR";
4047 static const char qt_configure_binaries_path_str [256 + 12] = "$BINARIES_PATH_STR";
4048 static const char qt_configure_plugins_path_str [256 + 12] = "$PLUGINS_PATH_STR";
4049 static const char qt_configure_imports_path_str [256 + 12] = "$IMPORTS_PATH_STR";
4050 static const char qt_configure_data_path_str [256 + 12] = "$DATA_PATH_STR";
4051 static const char qt_configure_translations_path_str [256 + 12] = "$TRANSLATIONS_PATH_STR";
4052 static const char qt_configure_settings_path_str [256 + 12] = "$SETTINGS_PATH_STR";
4053 static const char qt_configure_examples_path_str [256 + 12] = "$EXAMPLES_PATH_STR";
4054 static const char qt_configure_tests_path_str [256 + 12] = "$TESTS_PATH_STR";
4057 if [ ! -z "$QT_HOST_PREFIX" ]; then
4058 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4059 #endif // QT_BOOTSTRAPPED
4064 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4065 /* strlen( "qt_lcnsxxxx" ) == 12 */
4066 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
4067 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
4068 #define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12;
4069 #define QT_CONFIGURE_DOCUMENTATION_PATH qt_configure_documentation_path_str + 12;
4070 #define QT_CONFIGURE_HEADERS_PATH qt_configure_headers_path_str + 12;
4071 #define QT_CONFIGURE_LIBRARIES_PATH qt_configure_libraries_path_str + 12;
4072 #define QT_CONFIGURE_BINARIES_PATH qt_configure_binaries_path_str + 12;
4073 #define QT_CONFIGURE_PLUGINS_PATH qt_configure_plugins_path_str + 12;
4074 #define QT_CONFIGURE_IMPORTS_PATH qt_configure_imports_path_str + 12;
4075 #define QT_CONFIGURE_DATA_PATH qt_configure_data_path_str + 12;
4076 #define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12;
4077 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
4078 #define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;
4079 #define QT_CONFIGURE_TESTS_PATH qt_configure_tests_path_str + 12;
4082 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
4083 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
4084 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
4086 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
4087 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
4088 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
4091 # -----------------------------------------------------------------------------
4092 if [ "$LicenseType" = "Evaluation" ]; then
4093 EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey=$LicenseKeyExt"`
4094 elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then
4095 EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey="`
4098 if [ -n "$EVALKEY" ]; then
4099 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
4100 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
4101 /* Evaluation license key */
4102 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
4104 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
4108 # -----------------------------------------------------------------------------
4110 # -----------------------------------------------------------------------------
4113 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
4115 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
4116 if [ "$OPT_SHADOW" = "yes" ]; then
4117 "$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
4118 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
4119 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
4123 # $1: input variable name (awk regexp)
4124 # $2: optional output variable name
4125 # $3: optional value transformation (sed command)
4126 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
4127 # is where the resulting variable is written to
4128 setBootstrapVariable()
4130 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
4134 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
4135 echo "Creating qmake. Please wait..."
4138 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
4139 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
4140 if [ -f "$QCONFIG_H" ]; then
4141 OLD_QCONFIG_H=$QCONFIG_H
4142 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
4145 # create temporary qconfig.h for compiling qmake, if it doesn't exist
4146 # when building qmake, we use #defines for the install paths,
4147 # however they are real functions in the library
4148 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
4149 mkdir -p "$outpath/src/corelib/global"
4150 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
4151 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
4154 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
4156 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
4157 rm -rf mkspecs/default
4158 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
4160 for mkfile in GNUmakefile Makefile; do
4163 in_mkfile="${mkfile}.in"
4164 if [ "$mkfile" = "Makefile" ]; then
4165 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
4166 # (cd qmake && qmake) >/dev/null 2>&1 && continue
4168 in_mkfile="${mkfile}.unix"
4170 in_mkfile="$relpath/qmake/$in_mkfile"
4171 mkfile="$outpath/qmake/$mkfile"
4172 if [ -f "$mkfile" ]; then
4173 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
4176 [ -f "$in_mkfile" ] || continue
4178 echo "########################################################################" > "$mkfile"
4179 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
4180 echo "########################################################################" >> "$mkfile"
4183 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
4184 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
4185 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
4187 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
4188 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
4191 [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
4192 setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
4193 setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
4194 setBootstrapVariable QMAKE_CFLAGS
4195 setBootstrapVariable QMAKE_CXXFLAGS
4196 setBootstrapVariable QMAKE_LFLAGS
4198 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
4199 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
4200 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
4202 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
4203 setBootstrapVariable QMAKE_CFLAGS_RELEASE
4204 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
4205 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
4206 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
4207 elif [ "$CFG_DEBUG" = "yes" ]; then
4208 setBootstrapVariable QMAKE_CFLAGS_DEBUG
4209 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
4210 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
4211 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
4214 if [ -n "$RPATH_FLAGS" ] && [ -n "`getQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
4215 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" QMAKE_LFLAGS_RPATH
4216 for rpath in $RPATH_FLAGS; do
4217 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
4220 if [ "$BUILD_ON_MAC" = "yes" ]; then
4221 echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
4222 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
4223 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
4224 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
4225 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
4226 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
4227 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
4228 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
4229 if [ '!' -z "$CFG_SDK" ]; then
4230 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
4231 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
4232 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
4233 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
4234 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
4237 if [ '!' -z "$D_FLAGS" ]; then
4238 for DEF in $D_FLAGS; do
4239 EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
4242 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
4243 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
4244 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
4245 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
4247 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
4248 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
4249 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
4250 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
4251 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
4252 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
4253 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
4254 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
4255 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
4256 -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
4258 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
4259 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
4260 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
4261 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
4266 QMAKE_BUILD_ERROR=no
4267 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
4268 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
4269 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
4270 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
4273 #-------------------------------------------------------------------------------
4274 # tests that need qmake
4275 #-------------------------------------------------------------------------------
4277 # detect availability of float math.h functions
4278 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
4279 CFG_USE_FLOATMATH=yes
4281 CFG_USE_FLOATMATH=no
4284 # detect mmx support
4285 if [ "${CFG_MMX}" = "auto" ]; then
4286 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mmx "mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
4293 # detect 3dnow support
4294 if [ "${CFG_3DNOW}" = "auto" ]; then
4295 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/3dnow "3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
4302 # detect sse support
4303 if [ "${CFG_SSE}" = "auto" ]; then
4304 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse "sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
4311 # detect sse2 support
4312 if [ "${CFG_SSE2}" = "auto" ]; then
4313 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
4320 # detect sse3 support
4321 if [ "${CFG_SSE3}" = "auto" ]; then
4322 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse3 "sse3" $L_FLAGS $I_FLAGS $l_FLAGS "-msse3"; then
4329 # detect ssse3 support
4330 if [ "${CFG_SSSE3}" = "auto" ]; then
4331 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ssse3 "ssse3" $L_FLAGS $I_FLAGS $l_FLAGS "-mssse3"; then
4338 # detect sse4.1 support
4339 if [ "${CFG_SSE4_1}" = "auto" ]; then
4340 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
4347 # detect sse4.2 support
4348 if [ "${CFG_SSE4_2}" = "auto" ]; then
4349 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
4356 # detect avx support
4357 if [ "${CFG_AVX}" = "auto" ]; then
4358 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx "avx" $L_FLAGS $I_FLAGS $l_FLAGS "-mavx"; then
4365 # check iWMMXt support
4366 if [ "$CFG_IWMMXT" = "yes" ]; then
4367 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
4368 if [ $? != "0" ]; then
4369 echo "The iWMMXt functionality test failed!"
4370 echo " Please make sure your compiler supports iWMMXt intrinsics!"
4375 # detect neon support
4376 if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
4377 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
4384 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
4387 if [ "$CFG_ZLIB" = "no" ]; then
4388 # Note: Qt no longer support builds without zlib
4389 # So we force a "no" to be "auto" here.
4390 # If you REALLY really need no zlib support, you can still disable
4391 # it by doing the following:
4392 # add "no-zlib" to mkspecs/qconfig.pri
4393 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
4395 # There's no guarantee that Qt will build under those conditions
4400 if [ "$CFG_ZLIB" = "auto" ]; then
4401 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
4408 if [ "$CFG_LARGEFILE" = "auto" ]; then
4409 #Large files should be enabled for all Linux systems
4413 # detect how jpeg should be built
4414 if [ "$CFG_JPEG" = "auto" ]; then
4415 if [ "$CFG_SHARED" = "yes" ]; then
4422 if [ "$CFG_LIBJPEG" = "auto" ]; then
4423 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
4430 # detect how gif should be built
4431 if [ "$CFG_GIF" = "auto" ]; then
4432 if [ "$CFG_SHARED" = "yes" ]; then
4440 if [ "$CFG_LIBPNG" = "auto" ]; then
4441 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
4448 # detect accessibility
4449 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4450 CFG_ACCESSIBILITY=yes
4453 # auto-detect SQL-modules support
4454 for _SQLDR in $CFG_SQL_AVAILABLE; do
4457 if [ "$CFG_SQL_mysql" != "no" ]; then
4458 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
4459 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4460 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4461 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4462 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4463 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4464 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4466 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4467 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4468 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4469 echo " You need MySql 4 or higher."
4470 echo " If you believe this message is in error you may use the continue"
4471 echo " switch (-continue) to $0 to continue."
4476 QT_LFLAGS_MYSQL_R=""
4480 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
4481 QMakeVar add CONFIG use_libmysqlclient_r
4482 if [ "$CFG_SQL_mysql" = "auto" ]; then
4483 CFG_SQL_mysql=plugin
4485 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
4486 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
4487 if [ "$CFG_SQL_mysql" = "auto" ]; then
4488 CFG_SQL_mysql=plugin
4491 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4492 echo "MySQL support cannot be enabled due to functionality tests!"
4493 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4494 echo " If you believe this message is in error you may use the continue"
4495 echo " switch (-continue) to $0 to continue."
4500 QT_LFLAGS_MYSQL_R=""
4508 if [ "$CFG_SQL_psql" != "no" ]; then
4509 # Be careful not to use native pg_config when cross building.
4510 if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
4511 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
4512 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
4514 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
4515 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
4516 # But, respect PSQL_LIBS if set
4517 [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
4518 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
4519 if [ "$CFG_SQL_psql" = "auto" ]; then
4523 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4524 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4525 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4526 echo " If you believe this message is in error you may use the continue"
4527 echo " switch (-continue) to $0 to continue."
4538 if [ "$CFG_SQL_odbc" != "no" ]; then
4539 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
4540 if [ "$CFG_SQL_odbc" = "auto" ]; then
4544 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
4545 QT_LFLAGS_ODBC="-liodbc"
4546 if [ "$CFG_SQL_odbc" = "auto" ]; then
4550 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4551 echo "ODBC support cannot be enabled due to functionality tests!"
4552 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4553 echo " If you believe this message is in error you may use the continue"
4554 echo " switch (-continue) to $0 to continue."
4564 if [ "$CFG_SQL_oci" != "no" ]; then
4565 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
4566 if [ "$CFG_SQL_oci" = "auto" ]; then
4570 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4571 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4572 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4573 echo " If you believe this message is in error you may use the continue"
4574 echo " switch (-continue) to $0 to continue."
4583 if [ "$CFG_SQL_tds" != "no" ]; then
4584 [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
4585 [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
4586 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
4587 if [ "$CFG_SQL_tds" = "auto" ]; then
4591 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4592 echo "TDS support cannot be enabled due to functionality tests!"
4593 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4594 echo " If you believe this message is in error you may use the continue"
4595 echo " switch (-continue) to $0 to continue."
4604 if [ "$CFG_SQL_db2" != "no" ]; then
4605 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
4606 if [ "$CFG_SQL_db2" = "auto" ]; then
4610 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4611 echo "ODBC support cannot be enabled due to functionality tests!"
4612 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4613 echo " If you believe this message is in error you may use the continue"
4614 echo " switch (-continue) to $0 to continue."
4623 if [ "$CFG_SQL_ibase" != "no" ]; then
4624 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
4625 if [ "$CFG_SQL_ibase" = "auto" ]; then
4626 CFG_SQL_ibase=plugin
4629 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4630 echo "InterBase support cannot be enabled due to functionality tests!"
4631 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4632 echo " If you believe this message is in error you may use the continue"
4633 echo " switch (-continue) to $0 to continue."
4642 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4643 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
4644 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4645 CFG_SQL_sqlite2=plugin
4648 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4649 echo "SQLite2 support cannot be enabled due to functionality tests!"
4650 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4651 echo " If you believe this message is in error you may use the continue"
4652 echo " switch (-continue) to $0 to continue."
4661 if [ "$CFG_SQL_sqlite" != "no" ]; then
4662 SQLITE_AUTODETECT_FAILED="no"
4663 if [ "$CFG_SQLITE" = "system" ]; then
4664 if [ -n "$PKG_CONFIG" ]; then
4665 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4666 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4668 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
4669 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4670 CFG_SQL_sqlite=plugin
4672 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4674 SQLITE_AUTODETECT_FAILED="yes"
4677 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4678 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4679 CFG_SQL_sqlite=plugin
4682 SQLITE_AUTODETECT_FAILED="yes"
4686 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4687 echo "SQLite support cannot be enabled due to functionality tests!"
4688 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4689 echo " If you believe this message is in error you may use the continue"
4690 echo " switch (-continue) to $0 to continue."
4696 if [ "$OPT_VERBOSE" = "yes" ]; then
4697 echo "unknown SQL driver: $_SQLDR"
4703 # auto-detect NIS support
4704 if [ "$CFG_NIS" != "no" ]; then
4705 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
4708 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4709 echo "NIS support cannot be enabled due to functionality tests!"
4710 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4711 echo " If you believe this message is in error you may use the continue"
4712 echo " switch (-continue) to $0 to continue."
4720 # auto-detect CUPS support
4721 if [ "$CFG_CUPS" != "no" ]; then
4722 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
4725 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4726 echo "Cups support cannot be enabled due to functionality tests!"
4727 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4728 echo " If you believe this message is in error you may use the continue"
4729 echo " switch (-continue) to $0 to continue."
4737 # auto-detect iconv(3) support
4738 if [ "$CFG_ICONV" != "no" ]; then
4739 if [ "$XPLATFORM_MINGW" = "yes" ] || [ "$PLATFORM_QPA" = "yes" -a "$CFG_ICONV" = "auto" ]; then
4741 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
4743 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
4745 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
4748 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4749 echo "Iconv support cannot be enabled due to functionality tests!"
4750 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4751 echo " If you believe this message is in error you may use the continue"
4752 echo " switch (-continue) to $0 to continue."
4760 # auto-detect libdbus-1 support
4761 if [ "$CFG_DBUS" != "no" ]; then
4762 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
4763 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4764 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4766 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
4767 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
4768 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
4769 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
4771 if [ "$CFG_DBUS" = "auto" ]; then
4773 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4774 # CFG_DBUS is "yes" or "linked" here
4776 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4777 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4778 echo " If you believe this message is in error you may use the continue"
4779 echo " switch (-continue) to $0 to continue."
4786 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
4788 # auto-detect Glib support
4789 if [ "$CFG_GLIB" != "no" ]; then
4790 if [ -n "$PKG_CONFIG" ]; then
4791 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4792 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4794 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
4796 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
4797 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
4799 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4800 echo "Glib support cannot be enabled due to functionality tests!"
4801 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4802 echo " If you believe this message is in error you may use the continue"
4803 echo " switch (-continue) to $0 to continue."
4812 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4813 if [ -n "$PKG_CONFIG" ]; then
4814 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4815 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4817 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
4819 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
4820 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
4822 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4823 echo "Gstreamer support cannot be enabled due to functionality tests!"
4824 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4825 echo " If you believe this message is in error you may use the continue"
4826 echo " switch (-continue) to $0 to continue."
4832 elif [ "$CFG_GLIB" = "no" ]; then
4836 # auto-detect libicu support
4837 if [ "$CFG_ICU" != "no" ]; then
4838 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $l_FLAGS; then
4839 [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
4841 if [ "$CFG_ICU" = "auto" ]; then
4843 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4846 echo "The ICU library support cannot be enabled."
4847 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4848 echo " If you believe this message is in error you may use the continue"
4849 echo " switch (-continue) to $0 to continue."
4855 # Auto-detect PulseAudio support
4856 if [ "$CFG_PULSEAUDIO" != "no" ]; then
4857 if [ -n "$PKG_CONFIG" ]; then
4858 QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4859 QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4861 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
4863 QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
4864 QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
4866 if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4867 echo "PulseAudio support cannot be enabled due to functionality tests!"
4868 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4869 echo " If you believe this message is in error you may use the continue"
4870 echo " switch (-continue) to $0 to continue."
4880 if [ "$PLATFORM_X11" = "yes" -a "$CFG_GUI" != "no" ]; then
4881 x11tests="$relpath/config.tests/x11"
4884 # work around broken X11 headers when using GCC 2.95 or later
4886 "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE=yes
4887 if [ $NOTYPE = "yes" ]; then
4888 QMakeVar add QMAKE_CXXFLAGS -fpermissive
4889 X11TESTS_FLAGS="$X11TESTS_FLAGS -fpermissive"
4892 # Check we actually have X11 :-)
4893 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4894 if [ $? != "0" ]; then
4895 echo "Basic XLib functionality test failed!"
4896 echo " You might need to modify the include and library search paths by editing"
4897 echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
4903 if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
4904 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4905 if [ "$CFG_GUI" = "no" ]; then
4906 if [ "$CFG_OPENGL" = "auto" ]; then
4909 if [ "$CFG_OPENGL" != "no" ]; then
4910 echo "OpenGL enabled, but GUI disabled."
4911 echo " You might need to either enable the GUI or disable OpenGL"
4915 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4916 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
4918 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
4920 if [ "$CFG_EGL" = "no" ]; then
4924 if [ "$CFG_OPENGL" = "yes" ]; then
4925 echo "All the OpenGL functionality tests failed!"
4926 echo " You might need to modify the include and library search paths by editing"
4927 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4928 echo " ${XQMAKESPEC}."
4935 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4936 if [ "$CFG_OPENGL" = "desktop" ]; then
4937 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4938 if [ $? != "0" ]; then
4939 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4946 elif [ "$CFG_OPENGL" = "es2" ]; then
4948 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
4949 if [ $? != "0" ]; then
4950 echo "The OpenGL ES 2.0 functionality test failed!"
4951 echo " You might need to modify the include and library search paths by editing"
4952 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4953 echo " ${XQMAKESPEC}."
4956 elif [ "$CFG_OPENGL" = "desktop" ]; then
4957 # Desktop OpenGL support
4958 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4959 if [ $? != "0" ]; then
4960 echo "The OpenGL functionality test failed!"
4961 echo " You might need to modify the include and library search paths by editing"
4962 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4963 echo " ${XQMAKESPEC}."
4968 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4969 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4970 if [ $? != "0" ]; then
4971 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4978 fi # X11/MINGW OpenGL
4981 if [ "$PLATFORM_X11" = "yes" ]; then
4982 # auto-detect Xcursor support
4983 if [ "$CFG_XCURSOR" != "no" ]; then
4984 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
4985 if [ "$CFG_XCURSOR" != "runtime" ]; then
4989 if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4990 echo "Xcursor support cannot be enabled due to functionality tests!"
4991 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4992 echo " If you believe this message is in error you may use the continue"
4993 echo " switch (-continue) to $0 to continue."
5001 # auto-detect Xfixes support
5002 if [ "$CFG_XFIXES" != "no" ]; then
5003 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xfixes "Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
5004 if [ "$CFG_XFIXES" != "runtime" ]; then
5008 if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5009 echo "Xfixes support cannot be enabled due to functionality tests!"
5010 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5011 echo " If you believe this message is in error you may use the continue"
5012 echo " switch (-continue) to $0 to continue."
5020 # auto-detect Xrandr support (resize and rotate extension)
5021 if [ "$CFG_XRANDR" != "no" ]; then
5022 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
5023 if [ "$CFG_XRANDR" != "runtime" ]; then
5027 if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5028 echo "Xrandr support cannot be enabled due to functionality tests!"
5029 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5030 echo " If you believe this message is in error you may use the continue"
5031 echo " switch (-continue) to $0 to continue."
5039 # auto-detect Xrender support
5040 if [ "$CFG_XRENDER" != "no" ]; then
5041 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
5044 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5045 echo "Xrender support cannot be enabled due to functionality tests!"
5046 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5047 echo " If you believe this message is in error you may use the continue"
5048 echo " switch (-continue) to $0 to continue."
5056 # auto-detect MIT-SHM support
5057 if [ "$CFG_MITSHM" != "no" ]; then
5058 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
5061 if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5062 echo "MITSHM support cannot be enabled due to functionality tests!"
5063 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5064 echo " If you believe this message is in error you may use the continue"
5065 echo " switch (-continue) to $0 to continue."
5073 # auto-detect FontConfig support
5074 if [ "$CFG_FONTCONFIG" != "no" ]; then
5075 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
5076 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
5077 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
5079 QT_CFLAGS_FONTCONFIG=
5080 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5082 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
5084 QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
5085 QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
5086 CFG_LIBFREETYPE=system
5088 if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5089 echo "FontConfig support cannot be enabled due to functionality tests!"
5090 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5091 echo " If you believe this message is in error you may use the continue"
5092 echo " switch (-continue) to $0 to continue."
5100 # auto-detect Session Management support
5101 if [ "$CFG_SM" = "auto" ]; then
5102 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
5105 if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5106 echo "Session Management support cannot be enabled due to functionality tests!"
5107 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5108 echo " If you believe this message is in error you may use the continue"
5109 echo " switch (-continue) to $0 to continue."
5117 # auto-detect SHAPE support
5118 if [ "$CFG_XSHAPE" != "no" ]; then
5119 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
5122 if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5123 echo "XShape support cannot be enabled due to functionality tests!"
5124 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5125 echo " If you believe this message is in error you may use the continue"
5126 echo " switch (-continue) to $0 to continue."
5134 # auto-detect XVideo support
5135 if [ "$CFG_XVIDEO" != "no" ]; then
5136 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
5139 if [ "$CFG_XVIDEO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5140 echo "XVideo support cannot be enabled due to functionality tests!"
5141 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5142 echo " If you believe this message is in error you may use the continue"
5143 echo " switch (-continue) to $0 to continue."
5151 # auto-detect XSync support
5152 if [ "$CFG_XSYNC" != "no" ]; then
5153 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
5156 if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5157 echo "XSync support cannot be enabled due to functionality tests!"
5158 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5159 echo " If you believe this message is in error you may use the continue"
5160 echo " switch (-continue) to $0 to continue."
5168 # auto-detect Xinerama support
5169 if [ "$CFG_XINERAMA" != "no" ]; then
5170 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
5171 if [ "$CFG_XINERAMA" != "runtime" ]; then
5175 if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5176 echo "Xinerama support cannot be enabled due to functionality tests!"
5177 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5178 echo " If you believe this message is in error you may use the continue"
5179 echo " switch (-continue) to $0 to continue."
5187 # auto-detect Xinput support
5188 if [ "$CFG_XINPUT" != "no" ]; then
5189 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
5190 if [ "$CFG_XINPUT" != "runtime" ]; then
5194 if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5195 echo "Tablet and Xinput support cannot be enabled due to functionality tests!"
5196 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5197 echo " If you believe this message is in error you may use the continue"
5198 echo " switch (-continue) to $0 to continue."
5206 # auto-detect XKB support
5207 if [ "$CFG_XKB" != "no" ]; then
5208 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
5211 if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5212 echo "XKB support cannot be enabled due to functionality tests!"
5213 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5214 echo " If you believe this message is in error you may use the continue"
5215 echo " switch (-continue) to $0 to continue."
5223 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
5224 if [ -n "$PKG_CONFIG" ]; then
5225 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
5226 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
5228 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
5230 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
5231 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
5233 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5234 echo "Gtk theme support cannot be enabled due to functionality tests!"
5235 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5236 echo " If you believe this message is in error you may use the continue"
5237 echo " switch (-continue) to $0 to continue."
5243 elif [ "$CFG_GLIB" = "no" ]; then
5249 if [ "$BUILD_ON_MAC" = "yes" ]; then
5250 if [ "$CFG_PHONON" != "no" ]; then
5251 # Always enable Phonon (unless it was explicitly disabled)
5255 if [ "$CFG_COREWLAN" = "auto" ]; then
5256 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
5265 if [ "$PLATFORM_QPA" = "yes" ]; then
5266 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
5267 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
5268 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
5270 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
5273 if [ "$CFG_OPENGL" = "yes" ]; then
5274 echo "All the OpenGL functionality tests failed!"
5275 echo " You might need to modify the include and library search paths by editing"
5276 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5277 echo " ${XQMAKESPEC}."
5282 elif [ "$CFG_OPENGL" = "es2" ]; then
5284 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
5285 QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
5286 QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
5287 QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
5288 QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
5289 QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
5290 QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2"
5291 QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2"
5294 "$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
5295 if [ $? != "0" ]; then
5296 echo "The OpenGL ES 2.0 functionality test failed!"
5297 echo " You might need to modify the include and library search paths by editing"
5298 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
5299 echo " ${XQMAKESPEC}."
5302 elif [ "$CFG_OPENGL" = "desktop" ]; then
5303 # Desktop OpenGL support
5304 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5305 if [ $? != "0" ]; then
5306 echo "The OpenGL functionality test failed!"
5307 echo " You might need to modify the include and library search paths by editing"
5308 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5309 echo " ${XQMAKESPEC}."
5314 # auto-detect FontConfig support
5315 if [ "$CFG_FONTCONFIG" != "no" ]; then
5316 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
5317 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
5318 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
5320 QT_CFLAGS_FONTCONFIG=
5321 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5323 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
5324 QT_CONFIG="$QT_CONFIG fontconfig"
5325 QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
5326 QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
5327 CFG_LIBFREETYPE=system
5332 # Save these for a check later
5333 ORIG_CFG_WAYLAND="$CFG_WAYLAND"
5334 ORIG_CFG_XCB="$CFG_XCB"
5336 if [ "$CFG_WAYLAND" != "no" ]; then
5337 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists wayland-client 2>/dev/null; then
5338 QMAKE_CFLAGS_WAYLAND=`$PKG_CONFIG --cflags wayland-client 2>/dev/null`
5339 QMAKE_LIBS_WAYLAND=`$PKG_CONFIG --libs wayland-client 2>/dev/null`
5340 QMAKE_INCDIR_WAYLAND=`$PKG_CONFIG --cflags-only-I wayland-client 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
5341 QMAKE_LIBDIR_WAYLAND=`$PKG_CONFIG --libs-only-L wayland-client 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
5343 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/wayland "Wayland" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_WAYLAND $QMAKE_LIBS_WAYLAND; then
5345 QT_CONFIG="$QT_CONFIG wayland"
5346 elif [ "$CFG_WAYLAND" = "yes" ]; then
5347 echo "The Wayland functionality test failed!"
5351 QMakeVar add DEFINES QT_NO_WAYLAND
5355 if [ "$CFG_LIBUDEV" != "no" ]; then
5356 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libudev "libudev" $L_FLAGS $I_FLAGS $l_FLAGS; then
5358 QT_CONFIG="$QT_CONFIG libudev"
5359 elif [ "$CFG_LIBUDEV" = "yes" ]; then
5360 echo "The libudev functionality test failed!"
5364 QMakeVar add DEFINES QT_NO_LIBUDEV
5368 if [ "$CFG_EVDEV" != "no" ]; then
5369 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/evdev "evdev" $L_FLAGS $I_FLAGS $l_FLAGS; then
5371 QT_CONFIG="$QT_CONFIG evdev"
5372 elif [ "$CFG_EVDEV" = "yes" ]; then
5373 echo "The evdev functionality test failed!"
5377 QMakeVar add DEFINES QT_NO_EVDEV
5381 # Check we actually have X11 :-)
5382 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
5383 QT_CONFIG="$QT_CONFIG xlib"
5386 # auto-detect Xrender support
5387 if [ "$CFG_XRENDER" != "no" ]; then
5388 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
5390 QT_CONFIG="$QT_CONFIG xrender"
5392 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5393 echo "Xrender 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."
5404 if [ "$CFG_XCB" != "no" ]; then
5405 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xcb 2>/dev/null; then
5406 QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`"
5407 QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`"
5409 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
5411 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
5412 QT_CONFIG="$QT_CONFIG xcb-render"
5415 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
5417 QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
5420 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
5421 QT_CONFIG="$QT_CONFIG xcb-xlib"
5424 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
5425 # auto-detect XInput2/Xinput support
5426 if [ "$CFG_XINPUT2" != "no" ]; then
5427 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
5431 if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5432 echo "XInput2 support cannot be enabled due to functionality tests!"
5433 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5434 echo " If you believe this message is in error you may use the continue"
5435 echo " switch (-continue) to $0 to continue."
5444 if [ "$CFG_XCB" = "yes" ]; then
5445 echo "The XCB test failed!"
5446 echo " You might need to install dependency packages."
5447 echo " See src/plugins/platforms/xcb/README."
5451 QMakeVar add DEFINES QT_NO_XCB
5455 # Detect libxkbcommon
5456 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
5457 QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
5458 QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
5459 if [ "$CFG_WAYLAND" = "yes" ]; then
5460 QMAKE_CFLAGS_WAYLAND="$QMAKE_CFLAGS_WAYLAND $QMAKE_CFLAGS_XKBCOMMON"
5461 QMAKE_LIBS_WAYLAND="$QMAKE_LIBS_WAYLAND $QMAKE_LIBS_XKBCOMMON"
5463 QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
5464 QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
5466 if [ "$CFG_WAYLAND" = "yes" ]; then
5467 QMAKE_DEFINES_WAYLAND=QT_NO_WAYLAND_XKB
5469 QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
5472 # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
5473 if [ -n "$QMAKE_CFLAGS_WAYLAND" ] || [ -n "$QMAKE_LIBS_WAYLAND" ]; then
5474 QMakeVar set QMAKE_CFLAGS_WAYLAND "$QMAKE_CFLAGS_WAYLAND"
5475 QMakeVar set QMAKE_INCDIR_WAYLAND "$QMAKE_INCDIR_WAYLAND"
5476 QMakeVar set QMAKE_LIBS_WAYLAND "$QMAKE_LIBS_WAYLAND"
5477 QMakeVar set QMAKE_LIBDIR_WAYLAND "$QMAKE_LIBDIR_WAYLAND"
5478 QMakeVar set QMAKE_DEFINES_WAYLAND " $QMAKE_DEFINES_WAYLAND"
5481 if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
5482 QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
5483 QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
5484 QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
5487 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
5488 QT_CONFIG="$QT_CONFIG coreservices"
5490 QMakeVar add DEFINES QT_NO_CORESERVICES
5493 if [ "$PLATFORM_QPA" = "yes" ] && [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ]; then
5494 if [ "$CFG_XCB" = "no" ] && [ "$CFG_WAYLAND" = "no" ]; then
5495 if [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_WAYLAND" = "auto" ]; then
5496 echo "No QPA platform plugin enabled!"
5497 echo " If you really want to build without a QPA platform plugin you must pass"
5498 echo " -no-xcb and -no-wayland to configure. Doing this will produce a Qt that"
5499 echo " cannot run GUI applications."
5500 echo " The dependencies needed for xcb to build are listed in"
5501 echo " src/plugins/platforms/xcb/README"
5511 if [ "$PLATFORM_X11" = "yes" ]; then
5512 if [ "$CFG_EGL" != "no" ]; then
5513 # detect EGL support
5514 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
5515 # EGL specified by QMAKE_*_EGL, included with <EGL/egl.h>
5520 if [ "$EGL_VARIANT" = "none" ]; then
5521 if [ "$CFG_EGL" = "yes" ]; then
5522 echo "The EGL functionality test failed!"
5523 echo " EGL is required for OpenGL ES to manage contexts & surfaces."
5524 echo " You might need to modify the include and library search paths by editing"
5525 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in"
5526 echo " ${XQMAKESPEC}."
5530 # If QtOpenGL would be built against OpenGL ES, disable it as we can't to that if EGL is missing
5531 if [ "$CFG_OPENGL" = "es2" ]; then
5538 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
5541 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
5542 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
5543 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
5544 CFG_LIBFREETYPE=system
5550 if [ "$CFG_ENDIAN" = "auto" ]; then
5551 if [ "$XPLATFORM_MINGW" = "yes" ]; then
5552 CFG_ENDIAN="Q_LITTLE_ENDIAN"
5554 "$unixtests/endian.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "QMAKE_LFLAGS+=$SYSROOT_FLAG"
5556 if [ "$F" -eq 0 ]; then
5557 CFG_ENDIAN="Q_LITTLE_ENDIAN"
5558 elif [ "$F" -eq 1 ]; then
5559 CFG_ENDIAN="Q_BIG_ENDIAN"
5562 echo "The target system byte order could not be detected!"
5563 echo "Turn on verbose messaging (-v) to see the final report."
5564 echo "You can use the -little-endian or -big-endian switch to"
5565 echo "$0 to continue."
5571 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
5572 if [ "$BUILD_ON_MAC" = "yes" ]; then
5575 "$unixtests/endian.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5577 if [ "$F" -eq 0 ]; then
5578 CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
5579 elif [ "$F" -eq 1 ]; then
5580 CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
5583 echo "The host system byte order could not be detected!"
5584 echo "Turn on verbose messaging (-v) to see the final report."
5585 echo "You can use the -host-little-endian or -host-big-endian switch to"
5586 echo "$0 to continue."
5592 if [ "$CFG_ARMFPA" != "auto" ]; then
5593 if [ "$CFG_ARMFPA" = "yes" ]; then
5594 if [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5595 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
5597 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
5600 CFG_DOUBLEFORMAT="normal"
5605 if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then
5606 if [ "$PLATFORM_QPA" = "yes" ]; then
5607 CFG_DOUBLEFORMAT=normal
5609 "$unixtests/doubleformat.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5611 if [ "$F" -eq 10 ] && [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5612 CFG_DOUBLEFORMAT=normal
5613 elif [ "$F" -eq 11 ] && [ "$CFG_ENDIAN" = "Q_BIG_ENDIAN" ]; then
5614 CFG_DOUBLEFORMAT=normal
5615 elif [ "$F" -eq 10 ]; then
5616 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE"
5617 elif [ "$F" -eq 11 ]; then
5618 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG"
5619 elif [ "$F" -eq 12 ]; then
5620 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
5622 elif [ "$F" -eq 13 ]; then
5623 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
5627 echo "The system floating point format could not be detected."
5628 echo "This may cause data to be generated in a wrong format"
5629 echo "Turn on verbose messaging (-v) to see the final report."
5630 # we do not fail on this since this is a new test, and if it fails,
5631 # the old behavior should be correct in most cases
5632 CFG_DOUBLEFORMAT=normal
5638 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
5642 if [ "$CFG_STL" != "no" ]; then
5643 if [ "$HAVE_STL" = "yes" ]; then
5646 if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5647 echo "STL support cannot be enabled due to functionality tests!"
5648 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5649 echo " If you believe this message is in error you may use the continue"
5650 echo " switch (-continue) to $0 to continue."
5658 # detect POSIX clock_gettime()
5659 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
5660 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
5661 CFG_CLOCK_GETTIME=yes
5663 CFG_CLOCK_GETTIME=no
5667 # detect POSIX monotonic clocks
5668 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
5669 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
5670 CFG_CLOCK_MONOTONIC=yes
5672 CFG_CLOCK_MONOTONIC=no
5674 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
5675 CFG_CLOCK_MONOTONIC=no
5679 if [ "$CFG_MREMAP" = "auto" ]; then
5680 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
5687 # find if the platform provides getaddrinfo (ipv6 dns lookups)
5688 if [ "$CFG_GETADDRINFO" != "no" ]; then
5689 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
5692 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5693 echo "getaddrinfo support cannot be enabled due to functionality tests!"
5694 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5695 echo " If you believe this message is in error you may use the continue"
5696 echo " switch (-continue) to $0 to continue."
5704 # find if the platform provides inotify
5705 if [ "$CFG_INOTIFY" != "no" ]; then
5706 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
5709 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5710 echo "inotify support cannot be enabled due to functionality tests!"
5711 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5712 echo " If you believe this message is in error you may use the continue"
5713 echo " switch (-continue) to $0 to continue."
5721 # find if the platform provides if_nametoindex (ipv6 interface name support)
5722 if [ "$CFG_IPV6IFNAME" != "no" ]; then
5723 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
5726 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5727 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
5728 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5729 echo " If you believe this message is in error you may use the continue"
5730 echo " switch (-continue) to $0 to continue."
5738 # find if the platform provides getifaddrs (network interface enumeration)
5739 if [ "$CFG_GETIFADDRS" != "no" ]; then
5740 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
5743 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5744 echo "getifaddrs support cannot be enabled due to functionality tests!"
5745 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5746 echo " If you believe this message is in error you may use the continue"
5747 echo " switch (-continue) to $0 to continue."
5756 if [ "$CFG_OPENSSL" != "no" ]; then
5757 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
5758 if [ "$CFG_OPENSSL" = "auto" ]; then
5762 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5763 echo "OpenSSL support cannot be enabled due to functionality tests!"
5764 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5765 echo " If you believe this message is in error you may use the continue"
5766 echo " switch (-continue) to $0 to continue."
5775 if [ "$CFG_PCRE" != "qt" ]; then
5776 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pcre "PCRE" $L_FLAGS $I_FLAGS $l_FLAGS; then
5779 if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5780 echo "PCRE support cannot be enabled due to functionality tests!"
5781 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5782 echo " If you believe this message is in error you may use the continue"
5783 echo " switch (-continue) to $0 to continue."
5791 # detect OpenVG support
5792 if [ "$CFG_OPENVG" != "no" ]; then
5793 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
5794 if [ "$CFG_OPENVG" = "auto" ]; then
5797 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
5798 if [ "$CFG_OPENVG" = "auto" ]; then
5801 CFG_OPENVG_ON_OPENGL=yes
5802 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
5803 if [ "$CFG_OPENVG" = "auto" ]; then
5806 CFG_OPENVG_LC_INCLUDES=yes
5807 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
5808 if [ "$CFG_OPENVG" = "auto" ]; then
5811 CFG_OPENVG_LC_INCLUDES=yes
5812 CFG_OPENVG_ON_OPENGL=yes
5814 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5815 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
5816 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5817 echo " If you believe this message is in error you may use the continue"
5818 echo " switch (-continue) to $0 to continue."
5824 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
5825 CFG_OPENVG_SHIVA=yes
5829 if [ "$CFG_ALSA" = "auto" ]; then
5830 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
5837 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
5838 if [ "$CFG_ARCH" = "arm" ]; then
5839 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
5840 if [ $? != "0" ]; then
5841 CFG_JAVASCRIPTCORE_JIT=no
5844 case "$XPLATFORM" in
5846 CFG_JAVASCRIPTCORE_JIT=no
5852 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
5853 QMakeVar set JAVASCRIPTCORE_JIT yes
5854 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
5855 QMakeVar set JAVASCRIPTCORE_JIT no
5858 if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
5859 CFG_AUDIO_BACKEND=yes
5862 if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
5863 echo "Warning: largefile support cannot be disabled for win32."
5867 #-------------------------------------------------------------------------------
5868 # ask for all that hasn't been auto-detected or specified in the arguments
5869 #-------------------------------------------------------------------------------
5871 # enable dwarf2 support on Mac
5872 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
5873 QT_CONFIG="$QT_CONFIG dwarf2"
5876 # Set the default Mac OS X arch if there are no "-arch" arguments on the configure line
5877 if [ "$BUILD_ON_MAC" = "yes" ]; then
5878 DEFAULT_ARCH="$CFG_MAC_ARCHS"
5879 if [ -z "$DEFAULT_ARCH" ]; then
5880 case `file "${outpath}/bin/qmake"` in
5888 # unsupported/unknown
5892 if [ -n "$DEFAULT_ARCH" ]; then
5893 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting default Mac OS X architechture to $DEFAULT_ARCH."
5894 QT_CONFIG="$QT_CONFIG $DEFAULT_ARCH"
5895 QMAKE_CONFIG="$QMAKE_CONFIG $DEFAULT_ARCH"
5896 # Make the application arch follow the Qt arch for single arch builds.
5897 # (for multiple-arch builds, set CONFIG manually in the application .pro file)
5898 [ `echo "$DEFAULT_ARCH" | wc -w` -eq 1 ] && QTCONFIG_CONFIG="$QTCONFIG_CONFIG $DEFAULT_ARCH"
5903 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
5904 QT_CONFIG="$QT_CONFIG phonon-backend"
5907 # disable accessibility
5908 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
5909 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
5911 QT_CONFIG="$QT_CONFIG accessibility"
5914 # egl stuff does not belong in lighthouse, but rather in plugins
5915 if [ "$PLATFORM_QPA" = "yes" ]; then
5920 if [ "$CFG_EGL" = "no" ]; then
5921 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
5923 QT_CONFIG="$QT_CONFIG egl"
5924 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
5925 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GLES_EGL"
5930 if [ "$CFG_OPENVG" = "no" ]; then
5931 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
5933 QT_CONFIG="$QT_CONFIG openvg"
5934 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
5935 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
5937 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
5938 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
5940 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
5941 QT_CONFIG="$QT_CONFIG shivavg"
5942 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
5947 if [ "$CFG_OPENGL" = "no" ]; then
5948 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
5950 QT_CONFIG="$QT_CONFIG opengl"
5953 if [ "$CFG_OPENGL" = "es2" ]; then
5954 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
5957 if [ "$CFG_OPENGL" = "es2" ]; then
5958 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5959 QT_CONFIG="$QT_CONFIG opengles2"
5962 # safe execution environment
5963 if [ "$CFG_SXE" != "no" ]; then
5964 QT_CONFIG="$QT_CONFIG sxe"
5967 # build up the variables for output
5968 if [ "$CFG_DEBUG" = "yes" ]; then
5969 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
5970 QMAKE_CONFIG="$QMAKE_CONFIG debug"
5971 elif [ "$CFG_DEBUG" = "no" ]; then
5972 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
5973 QMAKE_CONFIG="$QMAKE_CONFIG release"
5975 if [ "$CFG_SHARED" = "yes" ]; then
5976 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
5977 QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
5978 elif [ "$CFG_SHARED" = "no" ]; then
5979 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
5980 QMAKE_CONFIG="$QMAKE_CONFIG static"
5982 if [ "$PLATFORM_QPA" = "yes" ]; then
5983 QMAKE_CONFIG="$QMAKE_CONFIG qpa"
5984 QT_CONFIG="$QT_CONFIG qpa"
5985 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
5986 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5989 if [ "$XPLATFORM_MINGW" != "yes" ]; then
5990 # Do not set this here for Windows. Let qmake do it so
5991 # debug and release precompiled headers are kept separate.
5992 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
5994 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
5995 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
5996 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
5997 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
5998 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5999 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
6001 if [ "$CFG_STL" = "no" ]; then
6002 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STL"
6004 QMAKE_CONFIG="$QMAKE_CONFIG stl"
6006 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
6007 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
6009 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
6010 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
6011 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
6012 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
6013 QMakeVar add QMAKE_CFLAGS -g
6014 QMakeVar add QMAKE_CXXFLAGS -g
6015 QT_CONFIG="$QT_CONFIG separate_debug_info"
6017 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
6018 QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
6020 [ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mmx"
6021 [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow"
6022 [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse"
6023 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
6024 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
6025 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
6026 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
6027 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
6028 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
6029 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
6030 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
6031 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
6032 QT_CONFIG="$QT_CONFIG clock-gettime"
6034 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
6035 QT_CONFIG="$QT_CONFIG clock-monotonic"
6037 if [ "$CFG_MREMAP" = "yes" ]; then
6038 QT_CONFIG="$QT_CONFIG mremap"
6040 if [ "$CFG_GETADDRINFO" = "yes" ]; then
6041 QT_CONFIG="$QT_CONFIG getaddrinfo"
6043 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
6044 QT_CONFIG="$QT_CONFIG ipv6ifname"
6046 if [ "$CFG_GETIFADDRS" = "yes" ]; then
6047 QT_CONFIG="$QT_CONFIG getifaddrs"
6049 if [ "$CFG_INOTIFY" = "yes" ]; then
6050 QT_CONFIG="$QT_CONFIG inotify"
6052 if [ "$CFG_LIBJPEG" = "no" ]; then
6054 elif [ "$CFG_LIBJPEG" = "system" ]; then
6055 QT_CONFIG="$QT_CONFIG system-jpeg"
6057 if [ "$CFG_JPEG" = "no" ]; then
6058 QT_CONFIG="$QT_CONFIG no-jpeg"
6059 elif [ "$CFG_JPEG" = "yes" ]; then
6060 QT_CONFIG="$QT_CONFIG jpeg"
6062 if [ "$CFG_LIBPNG" = "no" ]; then
6065 if [ "$CFG_LIBPNG" = "system" ]; then
6066 QT_CONFIG="$QT_CONFIG system-png"
6068 if [ "$CFG_PNG" = "no" ]; then
6069 QT_CONFIG="$QT_CONFIG no-png"
6070 elif [ "$CFG_PNG" = "yes" ]; then
6071 QT_CONFIG="$QT_CONFIG png"
6073 if [ "$CFG_GIF" = "no" ]; then
6074 QT_CONFIG="$QT_CONFIG no-gif"
6075 elif [ "$CFG_GIF" = "yes" ]; then
6076 QT_CONFIG="$QT_CONFIG gif"
6078 if [ "$CFG_LIBFREETYPE" = "no" ]; then
6079 QT_CONFIG="$QT_CONFIG no-freetype"
6080 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
6081 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
6082 QT_CONFIG="$QT_CONFIG system-freetype"
6084 QT_CONFIG="$QT_CONFIG freetype"
6086 if [ "$CFG_GUI" = "auto" ]; then
6089 if [ "$CFG_GUI" = "no" ]; then
6090 QT_CONFIG="$QT_CONFIG no-gui"
6092 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GUI"
6096 if [ "x$BUILD_ON_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
6097 #On Mac we implicitly link against libz, so we
6098 #never use the 3rdparty stuff.
6099 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
6101 if [ "$CFG_ZLIB" = "yes" ]; then
6102 QT_CONFIG="$QT_CONFIG zlib"
6103 elif [ "$CFG_ZLIB" = "system" ]; then
6104 QT_CONFIG="$QT_CONFIG system-zlib"
6107 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
6108 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
6109 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
6110 [ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
6111 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
6112 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
6113 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
6114 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
6115 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
6116 [ "$CFG_NAS" = "system" ] && QT_CONFIG="$QT_CONFIG nas"
6117 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
6118 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
6119 [ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
6120 [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
6121 [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
6123 if [ "$PLATFORM_X11" = "yes" ]; then
6124 [ "$CFG_SM" = "yes" ] && QT_CONFIG="$QT_CONFIG x11sm"
6126 # for some reason, the following libraries are not always built shared,
6127 # so *every* program/lib (including Qt) has to link against them
6128 if [ "$CFG_XSHAPE" = "yes" ]; then
6129 QT_CONFIG="$QT_CONFIG xshape"
6131 if [ "$CFG_XVIDEO" = "yes" ]; then
6132 QT_CONFIG="$QT_CONFIG xvideo"
6134 if [ "$CFG_XSYNC" = "yes" ]; then
6135 QT_CONFIG="$QT_CONFIG xsync"
6137 if [ "$CFG_XINERAMA" = "yes" ]; then
6138 QT_CONFIG="$QT_CONFIG xinerama"
6139 QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11'
6141 if [ "$CFG_XCURSOR" = "yes" ]; then
6142 QT_CONFIG="$QT_CONFIG xcursor"
6143 QMakeVar set QMAKE_LIBS_X11 '-lXcursor $$QMAKE_LIBS_X11'
6145 if [ "$CFG_XFIXES" = "yes" ]; then
6146 QT_CONFIG="$QT_CONFIG xfixes"
6147 QMakeVar set QMAKE_LIBS_X11 '-lXfixes $$QMAKE_LIBS_X11'
6149 if [ "$CFG_XRANDR" = "yes" ]; then
6150 QT_CONFIG="$QT_CONFIG xrandr"
6151 if [ "$CFG_XRENDER" != "yes" ]; then
6152 # libXrandr uses 1 function from libXrender, so we always have to have it :/
6153 QMakeVar set QMAKE_LIBS_X11 '-lXrandr -lXrender $$QMAKE_LIBS_X11'
6155 QMakeVar set QMAKE_LIBS_X11 '-lXrandr $$QMAKE_LIBS_X11'
6158 if [ "$CFG_XRENDER" = "yes" ]; then
6159 QT_CONFIG="$QT_CONFIG xrender"
6160 QMakeVar set QMAKE_LIBS_X11 '-lXrender $$QMAKE_LIBS_X11'
6162 if [ "$CFG_MITSHM" = "yes" ]; then
6163 QT_CONFIG="$QT_CONFIG mitshm"
6165 if [ "$CFG_FONTCONFIG" = "yes" ]; then
6166 QT_CONFIG="$QT_CONFIG fontconfig"
6168 if [ "$CFG_XINPUT" = "yes" ]; then
6169 QMakeVar set QMAKE_LIBS_X11 '-lXi $$QMAKE_LIBS_X11'
6171 if [ "$CFG_XINPUT" = "yes" ]; then
6172 QT_CONFIG="$QT_CONFIG xinput tablet"
6174 if [ "$CFG_XKB" = "yes" ]; then
6175 QT_CONFIG="$QT_CONFIG xkb"
6179 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS"
6180 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
6181 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
6183 if [ "$PLATFORM_MAC" = "yes" ]; then
6184 if [ "$CFG_RPATH" = "yes" ]; then
6185 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
6187 elif [ -z "`getXQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
6188 if [ -n "$RPATH_FLAGS" ]; then
6190 echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
6194 elif [ "$CFG_RPATH" = "yes" ]; then
6195 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
6199 if [ "$CFG_RPATH" = "yes" ]; then
6200 # set the default rpath to the library installation directory
6201 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
6203 if [ -n "$RPATH_FLAGS" ]; then
6204 # add the user defined rpaths
6205 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
6209 if [ '!' -z "$I_FLAGS" ]; then
6210 # add the user define include paths
6211 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
6212 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
6215 if [ '!' -z "$W_FLAGS" ]; then
6216 # add the user defined warning flags
6217 QMakeVar add QMAKE_CFLAGS_WARN_ON "$W_FLAGS"
6218 QMakeVar add QMAKE_CXXFLAGS_WARN_ON "$W_FLAGS"
6219 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS"
6222 # turn off exceptions for the compilers that support it
6223 if [ "$XPLATFORM" != "$PLATFORM" ]; then
6224 COMPILER=`echo $XPLATFORM | cut -f 2- -d-`
6226 COMPILER=`echo $PLATFORM | cut -f 2- -d-`
6229 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6230 QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
6233 if [ "$XPLATFORM_MINGW" = "yes" ]; then
6234 # mkspecs/features/win32/default_pre.prf sets "no-rtti".
6235 # Follow default behavior of configure.exe by overriding with "rtti".
6236 QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
6239 if [ "$CFG_ALSA" = "yes" ]; then
6240 QT_CONFIG="$QT_CONFIG alsa"
6243 if [ "$CFG_PULSEAUDIO" = "yes" ]; then
6244 QT_CONFIG="$QT_CONFIG pulseaudio"
6247 if [ "$CFG_COREWLAN" = "yes" ]; then
6248 QT_CONFIG="$QT_CONFIG corewlan"
6251 if [ "$CFG_ICU" = "yes" ]; then
6252 QT_CONFIG="$QT_CONFIG icu"
6255 if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
6256 QT_CONFIG="$QT_CONFIG force_asserts"
6259 if [ "$CFG_PCRE" = "qt" ]; then
6260 QMAKE_CONFIG="$QMAKE_CONFIG pcre"
6264 # Some Qt modules are too advanced in C++ for some old compilers
6265 # Detect here the platforms where they are known to work.
6267 # See Qt documentation for more information on which features are
6268 # supported and on which compilers.
6270 canBuildQtConcurrent="yes"
6271 canUseV8Snapshot="yes"
6273 case "$XPLATFORM" in
6275 # PA-RISC's assembly is too limited
6276 # gcc 3.4 on that platform can't build QtXmlPatterns
6277 # the assembly it generates cannot be compiled
6279 # Check gcc's version
6280 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
6284 canBuildQtXmlPatterns="no"
6288 canBuildQtXmlPatterns="no"
6292 unsupported/vxworks-*-g++*)
6295 unsupported/vxworks-*-dcc*)
6297 canBuildQtXmlPatterns="no"
6300 # Check gcc's version
6301 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
6309 canBuildQtXmlPatterns="no"
6314 # Check the compiler version
6315 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
6318 canBuildQtXmlPatterns="no"
6319 canBuildQtConcurrent="no"
6323 canBuildQtConcurrent="no"
6329 canBuildQtXmlPatterns="no"
6330 canBuildQtConcurrent="no"
6336 # Get the xlC version
6337 cat > xlcver.c <<EOF
6341 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
6346 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
6347 xlcver=`./xlcver 2>/dev/null`
6350 if [ "$OPT_VERBOSE" = "yes" ]; then
6351 if [ -n "$xlcver" ]; then
6352 echo Found IBM xlC version: $xlcver.
6354 echo Could not determine IBM xlC version, assuming oldest supported.
6361 canBuildQtXmlPatterns="no"
6362 canBuildQtConcurrent="no"
6366 canBuildQtConcurrent="no"
6372 canBuildQtConcurrent="no"
6376 if [ "$CFG_GUI" = "no" ]; then
6377 # WebKit requires QtGui
6381 if [ "$CFG_SHARED" = "no" ]; then
6383 echo "WARNING: Using static linking will disable the WebKit module."
6388 CFG_CONCURRENT="yes"
6389 if [ "$canBuildQtConcurrent" = "no" ]; then
6390 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
6393 QT_CONFIG="$QT_CONFIG concurrent"
6397 if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
6398 QT_CONFIG="$QT_CONFIG audio-backend"
6402 if [ "$CFG_WEBKIT" = "debug" ]; then
6403 QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
6407 QT_CONFIG="$QT_CONFIG v8"
6408 # Detect snapshot support
6409 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
6410 case "$CFG_HOST_ARCH,$CFG_ARCH" in
6413 *) canUseV8Snapshot="no"
6417 if [ -n "$_SBOX_DIR" -a "$CFG_ARCH" = "arm" ]; then
6418 # QEMU crashes when building inside Scratchbox with an ARM target
6419 canUseV8Snapshot="no"
6422 if [ "$CFG_V8SNAPSHOT" = "auto" ]; then
6423 CFG_V8SNAPSHOT="$canUseV8Snapshot"
6425 if [ "$CFG_V8SNAPSHOT" = "yes" -a "$canUseV8Snapshot" = "no" ]; then
6426 echo "Error: V8 snapshot was requested, but is not supported on this platform."
6429 if [ "$CFG_V8SNAPSHOT" = "yes" ]; then
6430 QT_CONFIG="$QT_CONFIG v8snapshot"
6434 if [ "$CFG_DECLARATIVE_DEBUG" = "no" ]; then
6435 QCONFIG_FLAGS="$QCONFIG_FLAGS QDECLARATIVE_NO_DEBUG_PROTOCOL"
6438 if [ "$CFG_EXCEPTIONS" = "no" ]; then
6441 QMakeVar add QMAKE_CFLAGS -fno-exceptions
6442 QMakeVar add QMAKE_CXXFLAGS -fno-exceptions
6443 QMakeVar add QMAKE_LFLAGS -fno-exceptions
6448 QMakeVar add QMAKE_CFLAGS -LANG:exceptions=off
6449 QMakeVar add QMAKE_CXXFLAGS -LANG:exceptions=off
6450 QMakeVar add QMAKE_LFLAGS -LANG:exceptions=off
6457 QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off"
6463 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
6465 case "$COMPILER_VERSION" in
6467 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
6468 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
6469 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
6472 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
6473 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
6474 QT_GCC_PATCH_VERSION=0
6484 #-------------------------------------------------------------------------------
6485 # part of configuration information goes into qconfig.h
6486 #-------------------------------------------------------------------------------
6488 case "$CFG_QCONFIG" in
6490 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
6493 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
6494 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
6495 if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
6496 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
6497 elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
6498 cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
6500 echo "#endif" >>"$tmpconfig"
6504 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6508 # define QT_EDITION $QT_EDITION
6511 /* Machine byte-order */
6512 #define Q_BIG_ENDIAN 4321
6513 #define Q_LITTLE_ENDIAN 1234
6516 echo "#ifdef QT_BOOTSTRAPPED" >>"$outpath/src/corelib/global/qconfig.h.new"
6517 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
6518 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6519 #if defined(__BIG_ENDIAN__)
6520 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6521 #elif defined(__LITTLE_ENDIAN__)
6522 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6524 # error "Unable to determine byte order!"
6528 echo "#define Q_BYTE_ORDER $CFG_HOST_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6530 echo "#else" >>"$outpath/src/corelib/global/qconfig.h.new"
6531 if [ "$CFG_ENDIAN" = "auto" ]; then
6532 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6533 #if defined(__BIG_ENDIAN__)
6534 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6535 #elif defined(__LITTLE_ENDIAN__)
6536 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6538 # error "Unable to determine byte order!"
6542 echo "#define Q_BYTE_ORDER $CFG_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6544 echo "#endif" >>"$outpath/src/corelib/global/qconfig.h.new"
6546 if [ "$CFG_DOUBLEFORMAT" != "normal" ]; then
6547 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6548 /* Non-IEEE double format */
6549 #define Q_DOUBLE_LITTLE "01234567"
6550 #define Q_DOUBLE_BIG "76543210"
6551 #define Q_DOUBLE_LITTLE_SWAPPED "45670123"
6552 #define Q_DOUBLE_BIG_SWAPPED "32107654"
6553 #define Q_DOUBLE_FORMAT $CFG_DOUBLEFORMAT
6556 if [ "$CFG_ARMFPA" = "yes" ]; then
6557 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
6558 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6559 #ifndef QT_BOOTSTRAPPED
6564 echo "#define QT_ARMFPA" >>"$outpath/src/corelib/global/qconfig.h.new"
6568 CFG_ARCH_STR=`echo $CFG_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6569 CFG_HOST_ARCH_STR=`echo $CFG_HOST_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6570 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6571 /* Machine Architecture */
6572 #ifndef QT_BOOTSTRAPPED
6573 # define QT_ARCH_${CFG_ARCH_STR}
6575 # define QT_ARCH_${CFG_HOST_ARCH_STR}
6579 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
6580 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
6582 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
6583 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
6586 if [ "$CFG_FRAMEWORK" = "yes" ]; then
6587 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
6590 if [ "$BUILD_ON_MAC" = "yes" ]; then
6591 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6592 #if defined(__LP64__)
6593 # define QT_POINTER_SIZE 8
6595 # define QT_POINTER_SIZE 4
6599 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6600 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
6603 #REDUCE_RELOCATIONS is a elf/unix only thing, so not in windows configure.exe
6604 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
6605 echo "#define QT_REDUCE_RELOCATIONS" >>"$outpath/src/corelib/global/qconfig.h.new"
6609 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6611 if [ "$CFG_DEV" = "yes" ]; then
6612 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
6615 if [ "$PLATFORM_QPA" = "yes" ]; then
6616 # Add QPA to config.h
6617 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
6620 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
6621 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
6624 # Add turned on SQL drivers
6625 for DRIVER in $CFG_SQL_AVAILABLE; do
6626 eval "VAL=\$CFG_SQL_$DRIVER"
6629 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6630 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
6631 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
6634 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
6640 QMakeVar set sql-drivers "$SQL_DRIVERS"
6641 QMakeVar set sql-plugins "$SQL_PLUGINS"
6643 # Add other configuration options to the qconfig.h file
6644 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
6645 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
6646 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
6647 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
6648 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
6649 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
6650 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
6652 # X11/Unix/Mac only configs
6653 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
6654 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
6655 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
6656 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
6657 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
6658 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
6659 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
6660 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
6661 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
6662 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
6663 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
6664 [ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NAS"
6665 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
6666 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
6667 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
6669 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
6670 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
6671 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
6672 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
6673 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
6674 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
6675 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
6676 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
6677 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
6678 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
6679 [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
6680 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
6681 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
6683 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
6684 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
6685 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
6686 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
6687 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
6688 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
6689 [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
6690 [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
6692 # sort QCONFIG_FLAGS for neatness if we can
6693 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
6694 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
6696 if [ -n "$QCONFIG_FLAGS" ]; then
6697 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6698 #ifndef QT_BOOTSTRAPPED
6701 for cfg in $QCONFIG_FLAGS; do
6702 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
6703 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
6704 # figure out define logic, so we can output the correct
6705 # ifdefs to override the global defines in a project
6707 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
6708 # QT_NO_option can be forcefully turned on by QT_option
6709 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
6710 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
6711 # QT_option can be forcefully turned off by QT_NO_option
6712 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
6715 if [ -z $cfgdNeg ]; then
6716 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6723 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6724 #if defined($cfgd) && defined($cfgdNeg)
6726 #elif !defined($cfgd) && !defined($cfgdNeg)
6733 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6734 #endif // QT_BOOTSTRAPPED
6739 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
6740 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6741 #define QT_VISIBILITY_AVAILABLE
6746 if [ -n "$QT_LIBINFIX" ]; then
6747 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6748 #define QT_LIBINFIX "$QT_LIBINFIX"
6753 # avoid unecessary rebuilds by copying only if qconfig.h has changed
6754 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
6755 rm -f "$outpath/src/corelib/global/qconfig.h.new"
6757 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
6758 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
6759 chmod -w "$outpath/src/corelib/global/qconfig.h"
6760 if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then
6761 ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h"
6765 #-------------------------------------------------------------------------------
6766 # save configuration into qconfig.pri
6767 #-------------------------------------------------------------------------------
6768 QTCONFIG="$outpath/mkspecs/qconfig.pri"
6769 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
6770 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
6771 if [ "$CFG_DEBUG" = "yes" ]; then
6772 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
6773 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6774 QT_CONFIG="$QT_CONFIG release"
6776 QT_CONFIG="$QT_CONFIG debug"
6777 elif [ "$CFG_DEBUG" = "no" ]; then
6778 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
6779 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6780 QT_CONFIG="$QT_CONFIG debug"
6782 QT_CONFIG="$QT_CONFIG release"
6784 if [ "$CFG_STL" = "yes" ]; then
6785 QTCONFIG_CONFIG="$QTCONFIG_CONFIG stl"
6787 if [ "$CFG_FRAMEWORK" = "no" ]; then
6788 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
6790 QT_CONFIG="$QT_CONFIG qt_framework"
6791 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
6793 if [ "$CFG_DEV" = "yes" ]; then
6794 QT_CONFIG="$QT_CONFIG private_tests"
6797 cat >>"$QTCONFIG.tmp" <<EOF
6799 CONFIG += $QTCONFIG_CONFIG
6801 QT_EDITION = $Edition
6802 QT_CONFIG += $QT_CONFIG
6805 QT_VERSION = $QT_VERSION
6806 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
6807 QT_MINOR_VERSION = $QT_MINOR_VERSION
6808 QT_PATCH_VERSION = $QT_PATCH_VERSION
6811 QT_LIBINFIX = $QT_LIBINFIX
6812 QT_NAMESPACE = $QT_NAMESPACE
6815 if [ -n "$CFG_SYSROOT" ]; then
6816 echo "# sysroot" >>"$QTCONFIG.tmp"
6817 echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
6818 echo " QT_SYSROOT += \$\$quote($CFG_SYSROOT)" >>"$QTCONFIG.tmp"
6819 echo " QMAKE_CFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
6820 echo " QMAKE_CXXFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
6821 echo " QMAKE_LFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
6822 echo "}" >> "$QTCONFIG.tmp"
6823 echo >> "$QTCONFIG.tmp"
6825 if [ "$CFG_RPATH" = "yes" ]; then
6826 echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
6828 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
6829 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
6830 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
6831 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
6834 if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
6835 echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
6836 echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp"
6839 # replace qconfig.pri if it differs from the newly created temp file
6840 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
6841 rm -f "$QTCONFIG.tmp"
6843 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
6846 #-------------------------------------------------------------------------------
6847 # save configuration into qmodule.pri
6848 #-------------------------------------------------------------------------------
6849 QTMODULE="$outpath/mkspecs/qmodule.pri"
6851 echo "CONFIG += create_prl link_prl" >> "$QTMODULE.tmp"
6853 # Ensure we can link to uninistalled libraries
6854 if [ "$BUILD_ON_MAC" != "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
6855 echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
6857 if [ -n "$QT_CFLAGS_PSQL" ]; then
6858 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
6860 if [ -n "$QT_LFLAGS_PSQL" ]; then
6861 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
6863 if [ -n "$QT_CFLAGS_MYSQL" ]; then
6864 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
6866 if [ -n "$QT_LFLAGS_MYSQL" ]; then
6867 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
6869 if [ -n "$QT_CFLAGS_SQLITE" ]; then
6870 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
6872 if [ -n "$QT_LFLAGS_SQLITE" ]; then
6873 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
6875 if [ -n "$QT_LFLAGS_ODBC" ]; then
6876 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
6878 if [ -n "$QT_LFLAGS_TDS" ]; then
6879 echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
6882 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
6883 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
6886 #dump in the OPENSSL_LIBS info
6887 if [ '!' -z "$OPENSSL_LIBS" ]; then
6888 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
6889 elif [ "$CFG_OPENSSL" = "linked" ]; then
6890 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
6893 #dump in the SDK info
6894 if [ '!' -z "$CFG_SDK" ]; then
6895 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
6899 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
6900 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
6902 # replace qmodule.pri if it differs from the newly created temp file
6903 if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
6904 rm -f "$QTMODULE.tmp"
6906 mv -f "$QTMODULE.tmp" "$QTMODULE"
6909 #-------------------------------------------------------------------------------
6910 # save configuration into .qmake.cache
6911 #-------------------------------------------------------------------------------
6913 CACHEFILE="$outpath/.qmake.cache"
6914 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
6915 cat >>"$CACHEFILE.tmp" <<EOF
6917 QT_SOURCE_TREE = \$\$quote($relpath)
6918 QT_BUILD_TREE = \$\$quote($outpath)
6919 QT_BUILD_PARTS = $CFG_BUILD_PARTS
6921 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
6922 QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
6923 QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
6924 QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
6925 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
6926 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
6928 include(\$\$PWD/mkspecs/qmodule.pri)
6929 CONFIG += $QMAKE_CONFIG dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
6930 QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
6931 QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
6935 #dump the qmake spec
6936 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
6937 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
6939 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
6944 [ "$CFG_INCREMENTAL" = "auto" ] && "$WHICH" p4 >/dev/null 2>&1 && [ "$CFG_DEV" = "yes" ] && CFG_INCREMENTAL="yes"
6945 if [ "$CFG_INCREMENTAL" = "yes" ]; then
6946 find "$relpath" -perm u+w -mtime -3 | grep 'cpp$' | while read f; do
6947 # don't need to worry about generated files
6948 [ -r `echo $f | sed "s,cpp$,ui,"` ] && continue
6949 basename "$f" | grep '^moc_' >/dev/null 2>&1 && continue
6951 INCREMENTAL="$INCREMENTAL `basename \"$f\" | sed 's,.cpp,.o,'`"
6953 [ '!' -z "$INCREMENTAL" ] && echo "QMAKE_INCREMENTAL += $INCREMENTAL" >> "$CACHEFILE.tmp"
6954 [ -r "$outpath/.qmake.incremental" ] && echo "include($outpath/.qmake.incremental)" >> "$CACHEFILE.tmp"
6957 # replace .qmake.cache if it differs from the newly created temp file
6958 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
6959 rm -f "$CACHEFILE.tmp"
6961 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
6964 #-------------------------------------------------------------------------------
6965 # give feedback on configuration
6966 #-------------------------------------------------------------------------------
6970 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6973 This target is using the GNU C++ compiler ($PLATFORM).
6975 Recent versions of this compiler automatically include code for
6976 exceptions, which increase both the size of the Qt libraries and
6977 the amount of memory taken by your applications.
6979 You may choose to re-run `basename $0` with the -no-exceptions
6980 option to compile Qt without exceptions. This is completely binary
6981 compatible, and existing applications will continue to work.
6989 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6992 This target is using the MIPSpro C++ compiler ($PLATFORM).
6994 You may choose to re-run `basename $0` with the -no-exceptions
6995 option to compile Qt without exceptions. This will make the
6996 size of the Qt library smaller and reduce the amount of memory
6997 taken by your applications.
7009 if [ "$XPLATFORM" = "$PLATFORM" ]; then
7010 echo "Build type: $PLATFORM"
7012 echo "Building on: $PLATFORM"
7013 echo "Building for: $XPLATFORM"
7016 if [ ! -z "$CFG_MAC_ARCHS" ]; then
7017 echo "Architecture: $CFG_ARCH ($CFG_MAC_ARCHS )"
7019 echo "Architecture: $CFG_ARCH"
7022 if [ "$PLATFORM_QPA" = "yes" ]; then
7023 echo "Host architecture: $CFG_HOST_ARCH"
7026 if [ -n "$PLATFORM_NOTES" ]; then
7027 echo "Platform notes:"
7028 echo "$PLATFORM_NOTES"
7033 if [ "$OPT_VERBOSE" = "yes" ]; then
7034 echo $ECHO_N "qmake vars .......... $ECHO_C"
7035 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
7036 echo "qmake switches ......... $QMAKE_SWITCHES"
7039 [ "$CFG_INCREMENTAL" = "yes" ] && [ '!' -z "$INCREMENTAL" ] && echo "Incremental ............ $INCREMENTAL"
7040 echo "Build .................. $CFG_BUILD_PARTS"
7041 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
7042 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
7043 echo "Debug .................. yes (combined)"
7044 if [ "$CFG_DEBUG" = "yes" ]; then
7045 echo "Default Link ........... debug"
7047 echo "Default Link ........... release"
7050 echo "Debug .................. $CFG_DEBUG"
7052 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
7053 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
7054 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
7055 echo "QtConcurrent code ...... $CFG_CONCURRENT"
7056 echo "QtGui module ........... $CFG_GUI"
7057 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
7058 echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
7060 echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
7062 echo "Declarative debugging ...$CFG_DECLARATIVE_DEBUG"
7063 echo "STL support ............ $CFG_STL"
7064 echo "PCH support ............ $CFG_PRECOMPILE"
7065 echo "MMX/3DNOW/SSE/SSE2/SSE3. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}/${CFG_SSE3}"
7066 echo "SSSE3/SSE4.1/SSE4.2..... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
7067 echo "AVX..................... ${CFG_AVX}"
7068 if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then
7069 echo "iWMMXt support ......... ${CFG_IWMMXT}"
7070 echo "NEON support ........... ${CFG_NEON}"
7072 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
7073 echo "getaddrinfo support .... $CFG_GETADDRINFO"
7074 echo "getifaddrs support ..... $CFG_GETIFADDRS"
7075 echo "Accessibility .......... $CFG_ACCESSIBILITY"
7076 echo "NIS support ............ $CFG_NIS"
7077 echo "CUPS support ........... $CFG_CUPS"
7078 echo "Iconv support .......... $CFG_ICONV"
7079 echo "Glib support ........... $CFG_GLIB"
7080 echo "GStreamer support ...... $CFG_GSTREAMER"
7081 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
7082 echo "Large File support ..... $CFG_LARGEFILE"
7083 echo "GIF support ............ $CFG_GIF"
7084 if [ "$CFG_JPEG" = "no" ]; then
7085 echo "JPEG support ........... $CFG_JPEG"
7087 echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
7089 if [ "$CFG_PNG" = "no" ]; then
7090 echo "PNG support ............ $CFG_PNG"
7092 echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
7094 echo "zlib support ........... $CFG_ZLIB"
7095 echo "Session management ..... $CFG_SM"
7097 if [ "$CFG_OPENGL" = "desktop" ]; then
7098 echo "OpenGL support ......... yes (Desktop OpenGL)"
7099 elif [ "$CFG_OPENGL" = "es2" ]; then
7100 echo "OpenGL support ......... yes (OpenGL ES 2.x)"
7102 echo "OpenGL support ......... no"
7104 if [ "$CFG_EGL" != "no" ]; then
7105 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
7106 echo "EGL support ............ yes <GLES/egl.h>"
7108 echo "EGL support ............ yes <EGL/egl.h>"
7111 if [ "$CFG_OPENVG" ]; then
7112 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
7113 echo "OpenVG support ......... ShivaVG"
7115 echo "OpenVG support ......... $CFG_OPENVG"
7118 if [ "$PLATFORM_X11" = "yes" ]; then
7119 echo "NAS sound support ...... $CFG_NAS"
7120 echo "XShape support ......... $CFG_XSHAPE"
7121 echo "XVideo support ......... $CFG_XVIDEO"
7122 echo "XSync support .......... $CFG_XSYNC"
7123 echo "Xinerama support ....... $CFG_XINERAMA"
7124 echo "Xcursor support ........ $CFG_XCURSOR"
7125 echo "Xfixes support ......... $CFG_XFIXES"
7126 echo "Xrandr support ......... $CFG_XRANDR"
7127 echo "Xi support ............. $CFG_XINPUT"
7128 echo "MIT-SHM support ........ $CFG_MITSHM"
7129 echo "FontConfig support ..... $CFG_FONTCONFIG"
7130 echo "XKB Support ............ $CFG_XKB"
7131 echo "immodule support ....... $CFG_IM"
7132 echo "GTK theme support ...... $CFG_QGTKSTYLE"
7134 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
7135 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
7136 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
7137 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
7138 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
7139 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
7140 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
7141 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
7142 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
7145 if [ "$CFG_OPENSSL" = "yes" ]; then
7146 OPENSSL_LINKAGE="(run-time)"
7147 elif [ "$CFG_OPENSSL" = "linked" ]; then
7148 OPENSSL_LINKAGE="(linked)"
7150 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
7151 echo "Alsa support ........... $CFG_ALSA"
7152 if [ "$BUILD_ON_MAC" = "yes" ]; then
7153 echo "CoreWlan support ....... $CFG_COREWLAN"
7155 echo "libICU support ......... $CFG_ICU"
7156 echo "PCRE support ........... $CFG_PCRE"
7157 if [ "$CFG_XCB_LIMITED" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
7158 echo "Xcb support ............ limited (old version)"
7160 echo "Xcb support ............ $CFG_XCB"
7162 echo "Xrender support ........ $CFG_XRENDER"
7163 if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
7164 echo "XInput2 support ........ $CFG_XINPUT2"
7168 # complain about not being able to use dynamic plugins if we are using a static build
7169 if [ "$CFG_SHARED" = "no" ]; then
7171 echo "WARNING: Using static linking will disable the use of dynamically"
7172 echo "loaded plugins. Make sure to import all needed static plugins,"
7173 echo "or compile needed modules into the library."
7176 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
7178 echo "NOTE: When linking against OpenSSL, you can override the default"
7179 echo "library names through OPENSSL_LIBS."
7181 echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
7184 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
7186 echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
7187 echo "if you want a pure debug build."
7192 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
7197 #-------------------------------------------------------------------------------
7198 # build makefiles based on the configuration
7199 #-------------------------------------------------------------------------------
7201 echo "Finding project files. Please wait..."
7202 if [ "$CFG_NOPROCESS" != "yes" ]; then
7203 "$outpath/bin/qmake" -prl -r "${relpath}/qtbase.pro"
7204 if [ -f "${relpath}/qtbase.pro" ]; then
7205 mkfile="${outpath}/Makefile"
7206 [ -f "$mkfile" ] && chmod +w "$mkfile"
7207 QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/qtbase.pro" -o "$mkfile"
7211 # .projects -> projects to process
7212 # .projects.1 -> qt and moc
7213 # .projects.2 -> subdirs and libs
7214 # .projects.3 -> the rest
7215 rm -f .projects .projects.1 .projects.2 .projects.3
7217 QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
7218 if [ -z "$AWK" ]; then
7219 for p in `echo $QMAKE_PROJECTS`; do
7220 echo "$p" >> .projects
7223 cat >projects.awk <<EOF
7229 first = "./.projects.1.tmp"
7230 second = "./.projects.2.tmp"
7231 third = "./.projects.3.tmp"
7236 if ( ! target_file )
7238 print input_file >target_file
7243 input_file = FILENAME
7248 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
7251 } else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) {
7252 target_file = second
7257 matched_target == 0 && /^(TEMPLATE.*=)/ {
7258 if ( \$3 == "subdirs" )
7259 target_file = second
7260 else if ( \$3 == "lib" )
7266 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
7267 if ( \$0 ~ /plugin/ )
7270 target_file = second
7275 if ( ! target_file )
7277 print input_file >>target_file
7284 for p in `echo $QMAKE_PROJECTS`; do
7285 echo "$p" >> .projects.all
7288 # if you get errors about the length of the command line to awk, change the -l arg
7290 split -l 100 .projects.all .projects.all.
7291 for p in .projects.all.*; do
7292 "$AWK" -f projects.awk `cat $p`
7293 [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
7294 [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
7295 [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
7296 rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
7298 rm -f .projects.all* projects.awk
7300 [ -f .projects.1 ] && cat .projects.1 >>.projects
7301 [ -f .projects.2 ] && cat .projects.2 >>.projects
7302 rm -f .projects.1 .projects.2
7303 if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
7304 cat .projects.3 >>.projects
7308 # don't sort Qt and MOC in with the other project files
7309 # also work around a segfaulting uniq(1)
7310 if [ -f .sorted.projects.2 ]; then
7311 sort .sorted.projects.2 > .sorted.projects.2.new
7312 mv -f .sorted.projects.2.new .sorted.projects.2
7313 cat .sorted.projects.2 >> .sorted.projects.1
7315 [ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
7316 rm -f .sorted.projects.2 .sorted.projects.1
7320 if [ -f .projects ]; then
7321 uniq .projects >.tmp
7322 mv -f .tmp .projects
7323 NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
7325 if [ -f .projects.3 ]; then
7326 uniq .projects.3 >.tmp
7327 mv -f .tmp .projects.3
7328 FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
7330 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
7334 for part in $CFG_BUILD_PARTS; do
7336 tools) PART_ROOTS="$PART_ROOTS tools" ;;
7337 libs) PART_ROOTS="$PART_ROOTS src" ;;
7338 translations) PART_ROOTS="$PART_ROOTS translations" ;;
7339 examples) PART_ROOTS="$PART_ROOTS examples" ;;
7344 if [ "$CFG_DEV" = "yes" ]; then
7345 PART_ROOTS="$PART_ROOTS tests"
7348 echo "Creating makefiles. Please wait..."
7349 for file in .projects .projects.3; do
7350 [ '!' -f "$file" ] && continue
7351 for a in `cat $file`; do
7353 for r in $PART_ROOTS; do
7354 if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
7359 [ "$IN_ROOT" = "no" ] && continue
7362 *winmain/winmain.pro)
7363 if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_MINGW" != "yes" ]; then
7367 */qmake/qmake.pro) continue ;;
7368 *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*) SPEC=$QMAKESPEC ;;
7369 *) if [ "$CFG_NOPROCESS" = "yes" ]; then
7375 dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
7376 test -d "$dir" || mkdir -p "$dir"
7377 OUTDIR="$outpath/$dir"
7378 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
7379 # fast configure - the makefile exists, skip it
7380 # since the makefile exists, it was generated by qmake, which means we
7381 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
7383 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
7386 QMAKE_SPEC_ARGS="-spec $SPEC"
7387 echo $ECHO_N " for $a$ECHO_C"
7389 QMAKE="$outpath/bin/qmake"
7390 QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
7391 if [ "$file" = ".projects.3" ]; then
7394 cat >"${OUTDIR}/Makefile" <<EOF
7395 # ${OUTDIR}/Makefile: generated by configure
7397 # WARNING: This makefile will be replaced with a real makefile.
7398 # All changes made to this file will be lost.
7400 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
7402 cat >>"${OUTDIR}/Makefile" <<EOF
7404 all clean install qmake first Makefile: FORCE
7405 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
7413 if [ "$OPT_VERBOSE" = "yes" ]; then
7414 echo " (`basename $SPEC`)"
7415 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7420 [ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
7421 QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7425 rm -f .projects .projects.3
7427 #-------------------------------------------------------------------------------
7428 # check for platforms that we don't yet know about
7429 #-------------------------------------------------------------------------------
7430 if [ "$CFG_ARCH" = "generic" ]; then
7433 NOTICE: Atomic operations are not yet supported for this
7436 Qt will use the 'generic' architecture instead, which uses a
7437 single pthread_mutex_t to protect all atomic operations. This
7438 implementation is the slow (but safe) fallback implementation
7439 for architectures Qt does not yet support.
7443 #-------------------------------------------------------------------------------
7444 # check if the user passed the -no-zlib option, which is no longer supported
7445 #-------------------------------------------------------------------------------
7446 if [ -n "$ZLIB_FORCED" ]; then
7447 which_zlib="supplied"
7448 if [ "$CFG_ZLIB" = "system" ]; then
7454 NOTICE: The -no-zlib option was supplied but is no longer
7457 Qt now requires zlib support in all builds, so the -no-zlib
7458 option was ignored. Qt will be built using the $which_zlib
7463 #-------------------------------------------------------------------------------
7464 # finally save the executed command to another script
7465 #-------------------------------------------------------------------------------
7466 if [ `basename $0` != "config.status" ]; then
7467 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
7469 # add the system variables
7470 for varname in $SYSTEM_VARIABLES; do
7472 'if [ -n "\$'${varname}'" ]; then
7473 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
7478 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
7480 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
7481 echo "#!/bin/sh" > "$outpath/config.status"
7482 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
7483 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
7484 echo "else" >> "$outpath/config.status"
7485 echo " $CONFIG_STATUS" >> "$outpath/config.status"
7486 echo "fi" >> "$outpath/config.status"
7487 chmod +x "$outpath/config.status"
7490 if [ -n "$RPATH_MESSAGE" ]; then
7492 echo "$RPATH_MESSAGE"
7495 MAKE=`basename "$MAKE"`
7497 echo Qt is now configured for building. Just run \'$MAKE\'.
7498 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
7499 echo Once everything is built, Qt is installed.
7500 echo You should not run \'$MAKE install\'.
7502 echo Once everything is built, you must run \'$MAKE install\'.
7503 echo Qt will be installed into $QT_INSTALL_PREFIX
7506 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.