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_CLOCK_GETTIME=auto
769 CFG_CLOCK_MONOTONIC=auto
778 MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
782 CFG_PREFIX_INSTALL=yes
791 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
792 XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
796 OPT_CONFIRM_LICENSE=no
810 # initalize variables used for installation
819 QT_INSTALL_TRANSLATIONS=
828 #flags for SQL drivers
836 QT_LFLAGS_ODBC="-lodbc"
839 # flags for libdbus-1
843 # flags for Glib (X11 only)
847 # flags for GStreamer (X11 only)
851 #-------------------------------------------------------------------------------
852 # check SQL drivers, mouse drivers and decorations available in this package
853 #-------------------------------------------------------------------------------
855 # opensource version removes some drivers, so force them to be off
861 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
862 for a in "$relpath/src/plugins/sqldrivers/"*; do
864 base_a=`basename "$a"`
865 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
866 eval "CFG_SQL_${base_a}=auto"
871 CFG_DECORATION_PLUGIN_AVAILABLE=
872 if [ -d "$relpath/src/plugins/decorations" ]; then
873 for a in "$relpath/src/plugins/decorations/"*; do
875 base_a=`basename "$a"`
876 CFG_DECORATION_PLUGIN_AVAILABLE="${CFG_DECORATION_PLUGIN_AVAILABLE} ${base_a}"
881 CFG_KBD_PLUGIN_AVAILABLE=
882 if [ -d "$relpath/src/plugins/kbddrivers" ]; then
883 for a in "$relpath/src/plugins/kbddrivers/"*; do
885 base_a=`basename "$a"`
886 CFG_KBD_PLUGIN_AVAILABLE="${CFG_KBD_PLUGIN_AVAILABLE} ${base_a}"
891 CFG_MOUSE_PLUGIN_AVAILABLE=
892 if [ -d "$relpath/src/plugins/mousedrivers" ]; then
893 for a in "$relpath/src/plugins/mousedrivers/"*; do
895 base_a=`basename "$a"`
896 CFG_MOUSE_PLUGIN_AVAILABLE="${CFG_MOUSE_PLUGIN_AVAILABLE} ${base_a}"
901 CFG_GFX_PLUGIN_AVAILABLE=
902 if [ -d "$relpath/src/plugins/gfxdrivers" ]; then
903 for a in "$relpath/src/plugins/gfxdrivers/"*; do
905 base_a=`basename "$a"`
906 CFG_GFX_PLUGIN_AVAILABLE="${CFG_GFX_PLUGIN_AVAILABLE} ${base_a}"
909 CFG_GFX_OFF="$CFG_GFX_AVAILABLE" # assume all off
912 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
913 if [ -d "$relpath/src/plugins/imageformats" ]; then
914 for a in "$relpath/src/plugins/imageformats/"*; do
916 base_a=`basename "$a"`
917 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
922 #-------------------------------------------------------------------------------
923 # parse command line arguments
924 #-------------------------------------------------------------------------------
926 # parse the arguments, setting things to "yes" or "no"
927 while [ "$#" -gt 0 ]; do
931 #Autoconf style options
933 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
937 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
941 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
942 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
945 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
949 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
953 -no-*-*|-plugin-*-*|-qt-*-*)
954 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
955 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
959 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
962 #Qt style yes options
963 -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|-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)
964 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
967 #Qt style options that pass an argument
969 if [ "$PLATFORM_QPA" != "yes" ]; then
971 echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
975 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
979 -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-testsdir|-depths|-make|-nomake|-platform|-xplatform|-sdk|-arch|-host-arch|-mysql_config|-sysroot|-hostdatadir|-hostbindir)
980 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
984 #Qt style complex options in one command
985 -enable-*|-disable-*)
986 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
987 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
989 #Qt Builtin/System style options
990 -no-*|-system-*|-qt-*)
991 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
992 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
994 #Options that cannot be generalized
1001 # this option may or may not be followed by an argument
1002 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1011 # this option may or may not be followed by an argument
1012 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1021 # this option may or may not be followed by an argument
1022 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1030 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1031 # this option may or may not be followed by an argument
1032 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1051 if [ "$1" = "-D" ]; then
1055 VAL=`echo $1 | sed 's,-D,,'`
1060 # this option may or may not be followed by an argument
1061 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1070 if [ "$1" = "-I" ]; then
1074 VAL=`echo $1 | sed 's,-I,,'`
1079 if [ "$1" = "-L" ]; then
1083 VAL=`echo $1 | sed 's,-L,,'`
1088 if [ "$1" = "-R" ]; then
1092 VAL=`echo $1 | sed 's,-R,,'`
1097 VAL=`echo $1 | sed 's,-l,,'`
1101 if [ "$1" = "-F" ]; then
1105 VAL=`echo $1 | sed 's,-F,,'`
1110 if [ "$1" = "-fw" ]; then
1114 VAL=`echo $1 | sed 's,-fw,,'`
1122 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1129 if [ "$UNKNOWN_ARG" = "yes" ]; then
1130 echo "$1: unknown argument"
1141 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1142 CFG_ACCESSIBILITY="$VAL"
1151 CFG_USE_GNUMAKE="$VAL"
1154 CFG_MYSQL_CONFIG="$VAL"
1157 QT_INSTALL_PREFIX="$VAL"
1160 QT_HOST_PREFIX="$VAL"
1169 QT_FORCE_PKGCONFIG=yes
1172 QT_INSTALL_DOCS="$VAL"
1175 QT_INSTALL_HEADERS="$VAL"
1178 QT_INSTALL_PLUGINS="$VAL"
1181 QT_INSTALL_IMPORTS="$VAL"
1184 QT_INSTALL_DATA="$VAL"
1187 QT_INSTALL_LIBS="$VAL"
1196 QT_INSTALL_TRANSLATIONS="$VAL"
1198 sysconfdir|settingsdir)
1199 QT_INSTALL_SETTINGS="$VAL"
1202 QT_INSTALL_EXAMPLES="$VAL"
1205 QT_INSTALL_TESTS="$VAL"
1214 QT_INSTALL_BINS="$VAL"
1224 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1231 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1232 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1233 [ "$VAL" = "es2" ]; then
1235 if [ "$VAL" = "es2" ]; then
1243 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1245 if [ "$CFG_EGL" = "no" ] && [ "$VAL" != "no" ]; then
1252 qvfb) # left for commandline compatibility, not documented
1253 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1254 if [ "$VAL" = "yes" ]; then
1255 QMakeVar add gfx-drivers qvfb
1256 QMakeVar add kbd-drivers qvfb
1257 QMakeVar add mouse-drivers qvfb
1258 CFG_GFX_ON="$CFG_GFX_ON qvfb"
1259 CFG_KBD_ON="$CFG_KBD_ON qvfb"
1260 CFG_MOUSE_ON="$CFG_MOUSE_ON qvfb"
1267 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1270 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1278 if [ "$BUILD_ON_MAC" = "yes" ]; then
1285 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1286 CFG_MAC_DWARF2="$VAL"
1292 # if this is a Mac then "windows" probably means
1293 # we are cross-compiling for MinGW
1294 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" != "windows" ]; then
1295 CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL"
1304 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1305 CFG_MAC_HARFBUZZ="$VAL"
1312 if [ "$BUILD_ON_MAC" = "yes" ]; then
1313 CFG_FRAMEWORK="$VAL"
1319 if [ "$VAL" = "yes" ]; then
1321 QMakeVar add QMAKE_CFLAGS -pg
1322 QMakeVar add QMAKE_CXXFLAGS -pg
1323 QMakeVar add QMAKE_LFLAGS -pg
1324 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1330 if [ "$VAL" = "yes" ]; then
1331 QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon"
1334 exceptions|g++-exceptions)
1335 if [ "$VAL" = "no" ]; then
1337 elif [ "$VAL" = "yes" ]; then
1345 # keep compatibility with old platform names
1351 PLATFORM=hpux-acc-o64
1354 PLATFORM=hpux-acc-64
1357 PLATFORM=hpux-acc-64
1369 PLATFORM=reliant-cds-64
1372 PLATFORM=solaris-cc-64
1375 PLATFORM=unixware-cc
1378 PLATFORM=unixware-g++
1381 PLATFORM=unixware-cc
1384 PLATFORM=unixware-g++
1390 i386) NATIVE_64_ARCH="x86_64" ;;
1391 powerpc) NATIVE_64_ARCH="ppc64" ;;
1392 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1394 if [ ! -z "$NATIVE_64_ARCH" ]; then
1395 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1402 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1405 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1406 CFG_DEBUG_RELEASE="$VAL"
1412 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1413 CFG_RELEASE_QMAKE="$VAL"
1419 if [ "$VAL" = "yes" ]; then
1421 elif [ "$VAL" = "no" ]; then
1428 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1429 CFG_PREFIX_INSTALL="$VAL"
1437 developer-build|commercial|opensource)
1438 # These switches have been dealt with already
1441 if [ "$VAL" = "yes" ]; then
1443 elif [ "$VAL" = "no" ]; then
1450 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1451 CFG_INCREMENTAL="$VAL"
1457 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1458 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1464 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1465 if [ "$VAL" = "no" ]; then
1466 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1467 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1468 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1474 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1481 if [ "$VAL" = "no" ]; then
1488 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1496 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1503 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1510 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1517 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1524 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1531 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1538 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1545 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1552 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1553 CFG_PRECOMPILE="$VAL"
1558 separate-debug-info)
1559 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1560 CFG_SEPARATE_DEBUG_INFO="$VAL"
1561 elif [ "$VAL" = "nocopy" ] ; then
1562 CFG_SEPARATE_DEBUG_INFO="yes"
1563 CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1569 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1570 CFG_REDUCE_EXPORTS="$VAL"
1576 if [ "$VAL" = "no" ]; then
1583 if [ "$VAL" = "no" ]; then
1590 if [ "$VAL" = "no" ]; then
1597 if [ "$VAL" = "no" ]; then
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
1642 if [ "$VAL" = "no" ]; then
1649 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1650 CFG_REDUCE_RELOCATIONS="$VAL"
1656 [ "$VAL" = "qt" ] && VAL=yes
1657 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1662 # No longer supported:
1663 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1666 if [ "$VAL" = "system" ]; then
1673 [ "$VAL" = "yes" ] && VAL=qt
1674 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1681 [ "$VAL" = "yes" ] && VAL=qt
1682 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1689 if [ "$VAL" = "system" ] || [ "$VAL" = "no" ]; then
1696 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1703 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1710 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1717 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1724 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1731 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1732 CFG_FONTCONFIG="$VAL"
1738 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1745 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1752 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1759 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
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
1795 CFG_GSTREAMER="$VAL"
1801 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1802 CFG_QGTKSTYLE="$VAL"
1808 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1811 if [ "$VAL" = "no" ]; then
1819 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1821 elif [ "$VAL" = "runtime" ]; then
1828 if [ "$VAL" = "yes" ]; then
1835 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1842 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1843 CFG_LARGEFILE="$VAL"
1849 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1856 if [ "$VAL" = "yes" ]; then
1857 CFG_OPENSSL="linked"
1863 if [ "$VAL" = "yes" ]; then
1864 CFG_DECLARATIVE_DEBUG="yes"
1866 if [ "$VAL" = "no" ]; then
1867 CFG_DECLARATIVE_DEBUG="no"
1874 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1875 CFG_JAVASCRIPTCORE_JIT="$VAL"
1881 if [ "$VAL" = "yes" ]; then
1882 OPT_CONFIRM_LICENSE="$VAL"
1888 if [ "$VAL" = "yes" ]; then
1894 sql-*|gfx-*|decoration-*|kbd-*|mouse-*|imageformat-*)
1895 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1896 # if autoconf style options were used, $VAL can be "yes" or "no"
1897 [ "$VAL" = "yes" ] && VAL=qt
1898 # now $VAL should be "no", "qt", or "plugin"... double-check
1899 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1902 # now $VAL is "no", "qt", or "plugin"
1904 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1905 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1907 # Grab the available values
1910 avail="$CFG_SQL_AVAILABLE"
1913 avail="$CFG_GFX_AVAILABLE"
1914 if [ "$OPT" = "plugin" ]; then
1915 avail="$CFG_GFX_PLUGIN_AVAILABLE"
1919 avail="$CFG_DECORATION_AVAILABLE"
1920 if [ "$OPT" = "plugin" ]; then
1921 avail="$CFG_DECORATION_PLUGIN_AVAILABLE"
1925 avail="$CFG_KBD_AVAILABLE"
1926 if [ "$OPT" = "plugin" ]; then
1927 avail="$CFG_KBD_PLUGIN_AVAILABLE"
1931 avail="$CFG_MOUSE_AVAILABLE"
1932 if [ "$OPT" = "plugin" ]; then
1933 avail="$CFG_MOUSE_PLUGIN_AVAILABLE"
1937 avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
1938 if [ "$OPT" != "plugin" ]; then
1939 # png is always built in
1945 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1949 # Check that that user's value is available.
1952 if [ "$VAL" = "$d" ]; then
1957 [ "$found" = yes ] || ERROR=yes
1959 if [ "$VAR" = "sql" ]; then
1960 # set the CFG_SQL_driver
1961 eval "CFG_SQL_$VAL=\$OPT"
1963 elif [ "$VAR" = "imageformat" ]; then
1964 [ "$OPT" = "qt" ] && OPT=yes
1965 VAL="`echo $VAL |tr a-z A-Z`"
1966 eval "CFG_$VAL=$OPT"
1970 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
1971 if [ "$OPT" = "plugin" ]; then
1972 [ "$VAR" = "decoration" ] && QMakeVar del "${VAR}s" "$VAL"
1973 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"` && CFG_DECORATION_PLUGIN="$CFG_DECORATION_PLUGIN ${VAL}"
1974 [ "$VAR" = "kbd" ] && QMakeVar del "${VAR}s" "$VAL"
1975 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"` && CFG_KBD_PLUGIN="$CFG_KBD_PLUGIN ${VAL}"
1976 [ "$VAR" = "mouse" ] && QMakeVar del "${VAR}s" "$VAL"
1977 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_MOUSE_PLUGIN="$CFG_MOUSE_PLUGIN ${VAL}"
1978 [ "$VAR" = "gfx" ] && QMakeVar del "${VAR}s" "$VAL"
1979 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"` && CFG_GFX_PLUGIN="${CFG_GFX_PLUGIN} ${VAL}"
1982 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "decoration" ] || [ "$VAR" = "mouse" ]; then
1983 [ "$VAR" = "gfx" ] && CFG_GFX_ON="$CFG_GFX_ON $VAL"
1984 [ "$VAR" = "kbd" ] && CFG_KBD_ON="$CFG_KBD_ON $VAL"
1985 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON="$CFG_DECORATION_ON $VAL"
1986 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON="$CFG_MOUSE_ON $VAL"
1990 QMakeVar add "${VAR}s" "${VAL}"
1991 elif [ "$OPT" = "no" ]; then
1992 PLUG_VAR="${VAR}-plugin"
1993 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "mouse" ]; then
1994 IN_VAR="${VAR}-driver"
1998 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"`
1999 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"`
2000 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"`
2001 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"`
2002 QMakeVar del "${IN_VAR}s" "$VAL"
2003 QMakeVar del "${PLUG_VAR}s" "$VAL"
2005 if [ "$ERROR" = "yes" ]; then
2006 echo "$CURRENT_OPT: unknown argument"
2011 if [ "$VAL" = "yes" ]; then
2012 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
2013 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
2017 elif [ "$VAL" = "no" ]; then
2018 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
2019 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
2028 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2035 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2042 D_FLAGS="$D_FLAGS \"$VAL\""
2045 I_FLAGS="$I_FLAGS -I\"${VAL}\""
2048 L_FLAGS="$L_FLAGS -L\"${VAL}\""
2051 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
2054 l_FLAGS="$l_FLAGS -l\"${VAL}\""
2057 if [ "$BUILD_ON_MAC" = "yes" ]; then
2058 L_FLAGS="$L_FLAGS -F\"${VAL}\""
2059 I_FLAGS="$I_FLAGS -F\"${VAL}\""
2065 if [ "$BUILD_ON_MAC" = "yes" ]; then
2066 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
2072 W_FLAGS="$W_FLAGS \"${VAL}\""
2078 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2079 CFG_PHONON_BACKEND="$VAL"
2091 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2092 CFG_AUDIO_BACKEND="$VAL"
2098 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2105 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2106 CFG_FORCE_ASSERTS="$VAL"
2112 if [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
2122 if [ "$UNKNOWN_OPT" = "yes" ]; then
2123 echo "${CURRENT_OPT}: invalid command-line switch"
2129 # update QT_CONFIG to show our current predefined configuration
2130 case "$CFG_QCONFIG" in
2131 minimal|small|medium|large|full)
2132 # these are a sequence of increasing functionality
2133 for c in minimal small medium large full; do
2134 QT_CONFIG="$QT_CONFIG $c-config"
2135 [ "$CFG_QCONFIG" = $c ] && break
2139 # not known to be sufficient for anything
2140 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
2141 echo >&2 "Error: configuration file not found:"
2142 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2144 echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2149 #-------------------------------------------------------------------------------
2150 # build tree initialization
2151 #-------------------------------------------------------------------------------
2153 # where to find which..
2154 unixtests="$relpath/config.tests/unix"
2155 mactests="$relpath/config.tests/mac"
2156 WHICH="$unixtests/which.test"
2158 PERL=`$WHICH perl 2>/dev/null`
2160 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2162 for e in gawk nawk awk; do
2163 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2170 PERL="/usr/bin/perl"
2171 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2175 ### skip this if the user just needs help...
2176 if [ "$OPT_HELP" != "yes" ]; then
2178 # is this a shadow build?
2179 if [ "$OPT_SHADOW" = "maybe" ]; then
2181 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2182 if [ -h "$outpath" ]; then
2183 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2189 if [ "$OPT_SHADOW" = "yes" ]; then
2190 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2191 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2192 echo >&2 "Cannot proceed."
2195 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2198 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2200 echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
2201 echo "Qt can be built in release mode with separate debug information, so"
2202 echo "-debug-and-release is not necessary anymore"
2206 if [ "$CFG_SILENT" = "yes" ]; then
2207 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2210 # if the source tree is different from the build tree,
2211 # symlink or copy part of the sources
2212 if [ "$OPT_SHADOW" = "yes" ]; then
2213 echo "Preparing build tree..."
2215 if [ -z "$PERL" ]; then
2217 echo "You need perl in your PATH to make a shadow build."
2218 echo "Cannot proceed."
2222 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2224 # symlink the qmake directory
2225 find "$relpath/qmake" | while read a; do
2226 my_a=`echo "$a" | sed "s,^${relpath}/,${outpath}/,"`
2227 if [ '!' -f "$my_a" ]; then
2228 if [ -d "$a" ]; then
2229 # directories are created...
2232 a_dir=`dirname "$my_a"`
2233 [ -d "$a_dir" ] || mkdir -p "$a_dir"
2234 # ... and files are symlinked
2235 case `basename "$a"` in
2236 *.o|*.d|GNUmakefile*|qmake)
2247 # make a syncqt script that can be used in the shadow
2248 rm -f "$outpath/bin/syncqt"
2249 if [ -x "$relpath/bin/syncqt" ]; then
2250 mkdir -p "$outpath/bin"
2251 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2252 echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2253 chmod 755 "$outpath/bin/syncqt"
2256 for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
2257 rm -f "$outpath/bin/$i"
2258 if [ -x "$relpath/bin/$i" ]; then
2259 mkdir -p "$outpath/bin"
2260 echo "#!/bin/sh" >"$outpath/bin/$i"
2261 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2262 echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2263 chmod 755 "$outpath/bin/$i"
2267 # symlink the mkspecs directory
2268 mkdir -p "$outpath/mkspecs"
2269 rm -rf "$outpath"/mkspecs/*
2270 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2271 rm -f "$outpath/mkspecs/default"
2275 rm -rf "$outpath/mkspecs/$1"
2276 find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2277 find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2280 # Special case for mkspecs/features directory.
2281 # To be able to place .prf files into a shadow build directory,
2282 # we're creating links for files only. The directory structure is reproduced.
2283 ShadowMkspecs features
2285 # The modules dir is special, too.
2286 ShadowMkspecs modules
2288 # symlink the doc directory
2289 rm -rf "$outpath/doc"
2290 ln -s "$relpath/doc" "$outpath/doc"
2293 # symlink fonts to be able to run application from build directory
2294 if [ "$PLATFORM_QPA" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
2295 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2296 mkdir -p "${outpath}/lib"
2297 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2301 if [ "$OPT_FAST" = "auto" ]; then
2302 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2309 # find a make command
2310 if [ -z "$MAKE" ]; then
2312 for mk in gmake make; do
2313 if "$WHICH" $mk >/dev/null 2>&1; then
2318 if [ -z "$MAKE" ]; then
2319 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2320 echo >&2 "Cannot proceed."
2323 # export MAKE, we need it later in the config.tests
2329 #-------------------------------------------------------------------------------
2330 # auto-detect all that hasn't been specified in the arguments
2331 #-------------------------------------------------------------------------------
2333 if [ -z "$PLATFORM" ]; then
2335 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2337 if [ "$PLATFORM_QPA" = "yes" ]; then
2338 OSX_VERSION=`uname -r | cut -d. -f1`
2339 if [ "$OSX_VERSION" -ge 11 ]; then
2340 # We're on Lion or above. Check if we have a supported Clang version
2341 case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
2344 PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
2359 #PLATFORM=aix-g++-64
2361 #PLATFORM=aix-xlc-64
2363 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2373 # PLATFORM=dynix-g++
2379 PLATFORM=freebsd-g++
2381 - Also available for FreeBSD: freebsd-icc
2385 PLATFORM=openbsd-g++
2396 #PLATFORM=irix-cc-64
2398 - Also available for IRIX: irix-g++ irix-cc-64
2402 case "$UNAME_MACHINE" in
2404 #PLATFORM=hpuxi-acc-32
2405 PLATFORM=hpuxi-acc-64
2407 - Also available for HP-UXi: hpuxi-acc-32
2413 #PLATFORM=hpux-acc-64
2415 #PLATFORM=hpux-acc-o64
2417 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2426 - Also available for Tru64: tru64-g++
2430 case "$UNAME_MACHINE" in
2432 PLATFORM=linux-g++-64
2439 - Also available for Linux: linux-kcc linux-icc linux-cxx
2443 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2444 PLATFORM="solaris-g++"
2446 #PLATFORM=solaris-g++
2448 #PLATFORM=solaris-cc64
2451 - Also available for Solaris: solaris-g++ solaris-cc-64
2454 ReliantUNIX-*:*|SINIX-*:*)
2455 PLATFORM=reliant-cds
2456 #PLATFORM=reliant-cds-64
2458 - Also available for Reliant UNIX: reliant-cds-64
2468 #PLATFORM=unixware-g++
2469 PLATFORM=unixware-cc
2471 - Also available for OpenUNIX: unixware-g++
2475 #PLATFORM=unixware-g++
2476 PLATFORM=unixware-cc
2478 - Also available for UnixWare: unixware-g++
2485 - Also available for SCO OpenServer: sco-g++
2489 PLATFORM=unixware-g++
2492 PLATFORM=unsupported/qnx-g++
2495 if [ "$OPT_HELP" != "yes" ]; then
2497 for p in $PLATFORMS; do
2498 echo " $relconf $* -platform $p"
2501 echo " The build script does not currently recognize all" >&2
2502 echo " platforms supported by Qt." >&2
2503 echo " Rerun this script with a -platform option listed to" >&2
2504 echo " set the system/compiler combination you use." >&2
2511 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2513 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2515 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2516 case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
2518 if [ -d "$PLATFORM" ]; then
2519 QMAKESPEC="$PLATFORM"
2521 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2523 if [ -d "$XPLATFORM" ]; then
2524 XQMAKESPEC="$XPLATFORM"
2526 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2528 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2529 QT_CROSS_COMPILE=yes
2530 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2533 if [ "$BUILD_ON_MAC" = "yes" ]; then
2534 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2536 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2537 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2538 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2539 echo " built with 'macx-g++'" >&2
2545 # check specified platforms are supported
2546 if [ '!' -d "$QMAKESPEC" ]; then
2548 echo " The specified system/compiler is not supported:"
2552 echo " Please see the README file for a complete list."
2556 if [ '!' -d "$XQMAKESPEC" ]; then
2558 echo " The specified system/compiler is not supported:"
2562 echo " Please see the README file for a complete list."
2566 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2568 echo " The specified system/compiler port is not complete:"
2570 echo " $XQMAKESPEC/qplatformdefs.h"
2572 echo " Please contact qt-info@nokia.com."
2577 # now look at the configs and figure out what platform we are config'd for
2578 [ "$PLATFORM_QPA" != "yes" ] \
2579 && [ -n "`getXQMakeConf QMAKE_LIBS_X11`" ] \
2581 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2583 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2584 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2585 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2586 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2587 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2591 #-------------------------------------------------------------------------------
2592 # determine the system architecture
2593 #-------------------------------------------------------------------------------
2594 if [ "$OPT_VERBOSE" = "yes" ]; then
2595 echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
2598 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2599 case `basename "$XPLATFORM"` in
2602 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2604 echo "Please contact qt-info@nokia.com to upgrade your license to"
2605 echo "include this platform, or install the Qt Open Source Edition"
2606 echo "if you intend to develop free software."
2612 if [ -z "${CFG_HOST_ARCH}" ]; then
2613 case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
2615 CFG_HOST_ARCH=`echo ${UNAME_MACHINE} | sed -e 's,[-/].*$,,'`
2616 case "$CFG_HOST_ARCH" in
2621 if [ "$OPT_VERBOSE" = "yes" ]; then
2622 echo " GNU/Hurd ($CFG_HOST_ARCH)"
2626 CFG_HOST_ARCH=`uname -p`
2627 if [ "$OPT_VERBOSE" = "yes" ]; then
2628 echo " SGI ($CFG_HOST_ARCH)"
2632 case "$UNAME_MACHINE" in
2634 if [ "$OPT_VERBOSE" = "yes" ]; then
2635 echo " Sun SPARC (sparc)"
2642 if [ "$OPT_VERBOSE" = "yes" ]; then
2643 echo " 64-bit AMD 80x86 (x86_64)"
2645 CFG_HOST_ARCH=x86_64
2648 if [ "$OPT_VERBOSE" = "yes" ]; then
2649 echo " 32-bit Intel 80x86 (i386)"
2657 if [ "$OPT_VERBOSE" = "yes" ]; then
2658 echo " 64-bit IBM PowerPC (powerpc)"
2660 CFG_HOST_ARCH=powerpc
2663 if [ "$OPT_VERBOSE" = "yes" ]; then
2664 echo " HP PA-RISC (parisc)"
2666 CFG_HOST_ARCH=parisc
2669 if [ "$OPT_VERBOSE" = "yes" ]; then
2670 echo " 32-bit Intel 80x86 (i386)"
2674 *:*:x86_64|*:*:amd64)
2675 if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
2676 if [ "$OPT_VERBOSE" = "yes" ]; then
2677 echo " 32 bit on 64-bit AMD 80x86 (i386)"
2681 if [ "$OPT_VERBOSE" = "yes" ]; then
2682 echo " 64-bit AMD 80x86 (x86_64)"
2684 CFG_HOST_ARCH=x86_64
2688 if [ "$OPT_VERBOSE" = "yes" ]; then
2689 echo " 32-bit PowerPC (powerpc)"
2691 CFG_HOST_ARCH=powerpc
2694 if [ "$OPT_VERBOSE" = "yes" ]; then
2695 echo " 64-bit PowerPC (powerpc)"
2697 CFG_HOST_ARCH=powerpc
2700 if [ "$OPT_VERBOSE" = "yes" ]; then
2701 echo " IBM S/390 (s390)"
2706 if [ "$OPT_VERBOSE" = "yes" ]; then
2712 if [ "$OPT_VERBOSE" = "yes" ]; then
2713 echo " Linux on SPARC"
2718 case "$UNAME_MACHINE" in
2720 if [ "$OPT_VERBOSE" = "yes" ]; then
2721 echo " QNX on Intel 80x86 (i386)"
2728 if [ "$OPT_VERBOSE" = "yes" ]; then
2729 echo " Trying '$UNAME_MACHINE'..."
2731 CFG_HOST_ARCH="$UNAME_MACHINE"
2736 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2737 [ -z "$CFG_ARCH" ] && CFG_ARCH="windows"
2738 elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
2739 CFG_ARCH=$CFG_HOST_ARCH
2746 # previously, armv6 was a different arch
2752 if [ "$OPT_VERBOSE" = "yes" ]; then
2753 echo "System architecture: '$CFG_ARCH'"
2754 if [ "$PLATFORM_QPA" = "yes" ]; then
2755 echo "Host architecture: '$CFG_HOST_ARCH'"
2759 #-------------------------------------------------------------------------------
2760 # tests that don't need qmake (must be run before displaying help)
2761 #-------------------------------------------------------------------------------
2763 # detect build style
2764 if [ "$CFG_DEBUG" = "auto" ]; then
2765 if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2766 CFG_DEBUG_RELEASE=yes
2768 elif [ "$CFG_DEV" = "yes" ]; then
2769 CFG_DEBUG_RELEASE=no
2772 CFG_DEBUG_RELEASE=no
2776 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2777 QT_CONFIG="$QT_CONFIG build_all"
2780 if [ -z "$PKG_CONFIG" ]; then
2781 # See if PKG_CONFIG is set in the mkspec:
2782 PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
2784 if [ -z "$PKG_CONFIG" ]; then
2785 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
2788 # Work out if we can use pkg-config
2789 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
2790 if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
2792 echo >&2 "You have asked to use pkg-config and are cross-compiling."
2793 echo >&2 "Please make sure you have a correctly set-up pkg-config"
2794 echo >&2 "environment!"
2796 if [ -z "$PKG_CONFIG_PATH" ]; then
2798 echo >&2 "Warning: PKG_CONFIG_PATH has not been set. This could mean"
2799 echo >&2 "the host compiler's .pc files will be used. This is probably"
2800 echo >&2 "not what you want."
2802 elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
2804 echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
2805 echo >&2 "been set. This means your toolchain's .pc files must contain"
2806 echo >&2 "the paths to the toolchain's libraries & headers. If configure"
2807 echo >&2 "tests are failing, please check these files."
2812 echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
2813 echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
2814 echo >&2 "dependencies"
2820 if [ ! -n "$PKG_CONFIG" ]; then
2821 QT_CONFIG="$QT_CONFIG no-pkg-config"
2824 # pass on $CFG_SDK to the configure tests.
2825 if [ '!' -z "$CFG_SDK" ]; then
2826 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
2829 # find the default framework value
2830 if [ "$BUILD_ON_MAC" = "yes" ]; then
2831 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2832 CFG_FRAMEWORK="$CFG_SHARED"
2833 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2835 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2843 QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
2845 TEST_COMPILER=$QMAKE_CONF_COMPILER
2846 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
2847 if [ -z "$TEST_COMPILER" ]; then
2848 echo "ERROR: Cannot set the compiler for the configuration tests"
2854 if [ -n "$CFG_SYSROOT" ]; then
2855 if compilerSupportsFlag --sysroot="$CFG_SYSROOT"; then
2856 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting sysroot to: $CFG_SYSROOT"
2857 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
2859 echo >&2 "The compiler doesn't support the --sysroot flag, I can't set the sysroot"
2863 export SYSROOT_FLAG # used by config.tests/unix/compile.test
2865 # auto-detect precompiled header support
2866 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2867 if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2874 #auto-detect DWARF2 on the mac
2875 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
2876 if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
2883 # don't autodetect support for separate debug info on objcopy when
2884 # cross-compiling as lots of toolchains seems to have problems with this
2885 if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
2886 CFG_SEPARATE_DEBUG_INFO="no"
2889 # auto-detect support for separate debug info in objcopy
2890 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
2891 TEST_COMPILER_CFLAGS=`getXQMakeConf QMAKE_CFLAGS`
2892 TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
2893 TEST_OBJCOPY=`getXQMakeConf QMAKE_OBJCOPY`
2894 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
2895 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
2896 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
2897 CFG_SEPARATE_DEBUG_INFO=no
2901 # binutils on HP-UX is buggy; default to no.
2902 CFG_SEPARATE_DEBUG_INFO=no
2905 CFG_SEPARATE_DEBUG_INFO=yes
2911 # auto-detect -fvisibility support
2912 if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then
2913 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2914 CFG_REDUCE_EXPORTS=no
2916 CFG_REDUCE_EXPORTS=yes
2920 # detect the availability of the -Bsymbolic-functions linker optimization
2921 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
2922 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2923 CFG_REDUCE_RELOCATIONS=no
2925 CFG_REDUCE_RELOCATIONS=yes
2929 # auto-detect GNU make support
2930 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
2934 # find the default framework value
2935 if [ "$BUILD_ON_MAC" = "yes" ]; then
2936 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2937 CFG_FRAMEWORK="$CFG_SHARED"
2938 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2940 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2948 # x11 tests are done after qmake is built
2951 #setup the build parts
2952 if [ -z "$CFG_BUILD_PARTS" ]; then
2953 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
2955 # don't build tools by default when cross-compiling
2956 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2957 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
2960 for nobuild in $CFG_NOBUILD_PARTS; do
2961 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
2963 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
2965 # echo "WARNING: libs is a required part of the build."
2967 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
2970 #-------------------------------------------------------------------------------
2971 # post process QT_INSTALL_* variables
2972 #-------------------------------------------------------------------------------
2974 if [ -z "$QT_INSTALL_PREFIX" ]; then
2975 if [ "$CFG_DEV" = "yes" ]; then
2976 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
2978 QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION
2981 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
2983 if [ -z "$QT_INSTALL_DOCS" ]; then #default
2984 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2985 if [ "$BUILD_ON_MAC" = "yes" ]; then
2986 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
2989 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
2992 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
2994 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
2995 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2996 if [ "$BUILD_ON_MAC" = "yes" ]; then
2997 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3002 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
3005 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
3007 if [ -z "$QT_INSTALL_LIBS" ]; then #default
3008 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3009 if [ "$BUILD_ON_MAC" = "yes" ]; then
3010 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3011 QT_INSTALL_LIBS="/Libraries/Frameworks"
3015 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
3017 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
3019 if [ -z "$QT_INSTALL_BINS" ]; then #default
3020 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3021 if [ "$BUILD_ON_MAC" = "yes" ]; then
3022 QT_INSTALL_BINS="/Developer/Applications/Qt"
3025 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
3027 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
3029 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
3030 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3031 if [ "$BUILD_ON_MAC" = "yes" ]; then
3032 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
3035 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
3037 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
3039 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
3040 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3041 if [ "$BUILD_ON_MAC" = "yes" ]; then
3042 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
3045 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
3047 QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
3049 if [ -z "$QT_INSTALL_DATA" ]; then #default
3050 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
3052 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
3054 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
3055 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
3057 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
3059 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
3060 if [ "$BUILD_ON_MAC" = "yes" ]; then
3061 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
3063 QT_INSTALL_SETTINGS=/etc/xdg
3066 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
3068 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
3069 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3070 if [ "$BUILD_ON_MAC" = "yes" ]; then
3071 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
3074 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
3076 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
3079 if [ -z "$QT_INSTALL_TESTS" ]; then #default
3080 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3081 if [ "$BUILD_ON_MAC" = "yes" ]; then
3082 QT_INSTALL_TESTS="/Developer/Tests/Qt"
3085 [ -z "$QT_INSTALL_TESTS" ] && QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback
3087 QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
3089 #------- host paths --------
3091 if [ -z "$QT_HOST_PREFIX" ]; then
3092 QT_HOST_PREFIX=$QT_INSTALL_PREFIX
3095 QT_HOST_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_PREFIX"`
3099 if [ -z "$QT_HOST_BINS" ]; then #default
3101 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3102 if [ "$BUILD_ON_MAC" = "yes" ]; then
3103 QT_HOST_BINS="/Developer/Applications/Qt"
3106 [ -z "$QT_HOST_BINS" ] && QT_HOST_BINS="$QT_HOST_PREFIX/bin" #fallback
3108 QT_HOST_BINS="$QT_INSTALL_BINS"
3111 QT_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_BINS"`
3113 if [ -z "$QT_HOST_DATA" ]; then #default
3115 QT_HOST_DATA="$QT_HOST_PREFIX"
3117 QT_HOST_DATA="$QT_INSTALL_DATA"
3120 QT_HOST_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_DATA"`
3123 #-------------------------------------------------------------------------------
3124 # help - interactive parts of the script _after_ this section please
3125 #-------------------------------------------------------------------------------
3127 # next, emit a usage message if something failed.
3128 if [ "$OPT_HELP" = "yes" ]; then
3129 [ "x$ERROR" = "xyes" ] && echo
3130 if [ "$CFG_NIS" = "no" ]; then
3137 if [ "$CFG_CUPS" = "no" ]; then
3144 if [ "$CFG_ICONV" = "no" ]; then
3151 if [ "$CFG_LARGEFILE" = "no" ]; then
3158 if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then
3165 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
3173 if [ "$CFG_XCB" = "no" ]; then
3181 if [ "$CFG_WAYLAND" = "no" ]; then
3188 if [ "$CFG_XINPUT2" = "no" ]; then
3197 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
3198 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
3199 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-testsdir <dir>]
3200 [-release] [-debug] [-debug-and-release]
3201 [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
3202 [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
3203 [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
3204 [-plugin-sql-<driver>] [-system-sqlite]
3205 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
3206 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
3207 [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
3208 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
3209 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
3210 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
3211 [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
3212 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
3213 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info]
3214 [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
3215 [-no-audio-backend] [-audio-backend]
3216 [-no-javascript-jit] [-javascript-jit] [-no-declarative-debug] [-declarative-debug]
3217 [-no-optimized-qmake] [-optimized-qmake]
3218 [-no-openssl] [-openssl] [-openssl-linked]
3219 [-no-gtkstyle] [-gtkstyle]
3220 [-qt-pcre] [-system-pcre]
3221 [additional platform specific options (see below)]
3224 Installation options:
3226 -qpa ................ This will enable the QPA build.
3227 QPA is a window system agnostic implementation of Qt.
3229 These are optional, but you may specify install directories.
3231 -prefix <dir> ...... This will install everything relative to <dir>
3232 (default $QT_INSTALL_PREFIX)
3234 if [ "$PLATFORM_QPA" = "yes" ]; then
3237 -hostprefix [dir] .. Tools and libraries needed when developing
3238 applications are installed in [dir]. If [dir] is
3239 not given, the current build directory will be used.
3245 * -prefix-install .... Force a sandboxed "local" installation of
3246 Qt. This will install into
3247 $QT_INSTALL_PREFIX, if this option is
3248 disabled then some platforms will attempt a
3249 "system" install by placing default values to
3250 be placed in a system location other than
3253 You may use these to separate different parts of the install:
3255 -bindir <dir> ......... Executables will be installed to <dir>
3256 (default PREFIX/bin)
3257 -libdir <dir> ......... Libraries will be installed to <dir>
3258 (default PREFIX/lib)
3259 -docdir <dir> ......... Documentation will be installed to <dir>
3260 (default PREFIX/doc)
3261 -headerdir <dir> ...... Headers will be installed to <dir>
3262 (default PREFIX/include)
3263 -plugindir <dir> ...... Plugins will be installed to <dir>
3264 (default PREFIX/plugins)
3265 -importdir <dir> ...... Imports for QML will be installed to <dir>
3266 (default PREFIX/imports)
3267 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
3269 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
3270 (default PREFIX/translations)
3271 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
3272 (default PREFIX/etc/settings)
3273 -examplesdir <dir> .... Examples will be installed to <dir>
3274 (default PREFIX/examples)
3275 -testsdir <dir> ....... Tests will be installed to <dir>
3276 (default PREFIX/tests)
3278 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3281 -hostbindir <dir> .. Host executables will be installed to <dir>
3282 (default HOSTPREFIX/bin)
3283 -hostdatadir <dir> . Data used by qmake will be installed to <dir>
3284 (default HOSTPREFIX)
3291 The defaults (*) are usually acceptable. A plus (+) denotes a default value
3292 that needs to be evaluated. If the evaluation succeeds, the feature is
3293 included. Here is a short explanation of each option:
3295 * -release ........... Compile and link Qt with debugging turned off.
3296 -debug ............. Compile and link Qt with debugging turned on.
3297 -debug-and-release . Compile and link two versions of Qt, with and without
3298 debugging turned on (Mac only).
3300 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
3302 -opensource ........ Compile and link the Open-Source Edition of Qt.
3303 -commercial ........ Compile and link the Commercial Edition of Qt.
3306 * -shared ............ Create and use shared Qt libraries.
3307 -static ............ Create and use static Qt libraries.
3309 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3311 -fast .............. Configure Qt quickly by generating Makefiles only for
3312 library and subdirectory targets. All other Makefiles
3313 are created as wrappers, which will in turn run qmake.
3315 -no-largefile ...... Disables large file support.
3316 + -largefile ......... Enables Qt to access files larger than 4 GB.
3319 if [ "$PLATFORM_QPA" = "yes" ]; then
3326 if [ "$CFG_DBUS" = "no" ]; then
3335 $EXCN -no-exceptions ..... Disable exceptions on compilers that support it.
3336 $EXCY -exceptions ........ Enable exceptions on compilers that support it.
3338 -no-accessibility .. Do not compile Accessibility support.
3339 * -accessibility ..... Compile Accessibility support.
3341 $SHN -no-stl ............ Do not compile STL support.
3342 $SHY -stl ............... Compile STL support.
3344 -no-sql-<driver> ... Disable SQL <driver> entirely.
3345 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3347 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3350 Possible values for <driver>:
3351 [ $CFG_SQL_AVAILABLE ]
3353 -system-sqlite ..... Use sqlite from the operating system.
3355 -no-phonon-backend.. Do not build the platform phonon plugin.
3356 + -phonon-backend..... Build the platform phonon plugin.
3358 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
3359 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
3361 -no-declarative-debug ..... Do not build the declarative debugging support.
3362 + -declarative-debug ....... Build the declarative debugging support.
3364 -platform target ... The operating system and compiler you are building
3367 See the README file for a list of supported
3368 operating systems and compilers.
3371 if [ "${PLATFORM_QPA}" != "yes" ]; then
3373 -graphicssystem <sys> Sets an alternate graphics system. Available options are:
3374 raster - Software rasterizer
3375 opengl - Rendering via OpenGL, Experimental!
3376 openvg - Rendering via OpenVG, Experimental!
3383 -no-mmx ............ Do not compile with use of MMX instructions.
3384 -no-3dnow .......... Do not compile with use of 3DNOW instructions.
3385 -no-sse ............ Do not compile with use of SSE instructions.
3386 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3387 -no-sse3 ........... Do not compile with use of SSE3 instructions.
3388 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
3389 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
3390 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
3391 -no-avx ............ Do not compile with use of AVX instructions.
3392 -no-neon ........... Do not compile with use of NEON instructions.
3394 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3395 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3397 -testcocoon Instrument Qt with the TestCocoon code coverage tool.
3399 -D <string> ........ Add an explicit define to the preprocessor.
3400 -I <string> ........ Add an explicit include path.
3401 -L <string> ........ Add an explicit library path.
3403 -help, -h .......... Display this information.
3405 Third Party Libraries:
3407 -qt-zlib ........... Use the zlib bundled with Qt.
3408 + -system-zlib ....... Use zlib from the operating system.
3409 See http://www.gzip.org/zlib
3411 -no-gif ............ Do not compile GIF reading support.
3413 -no-libpng ......... Do not compile PNG support.
3414 -qt-libpng ......... Use the libpng bundled with Qt.
3415 + -system-libpng ..... Use libpng from the operating system.
3416 See http://www.libpng.org/pub/png
3418 -no-libjpeg ........ Do not compile JPEG support.
3419 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3420 + -system-libjpeg .... Use libjpeg from the operating system.
3421 See http://www.ijg.org
3423 -no-openssl ........ Do not compile support for OpenSSL.
3424 + -openssl ........... Enable run-time OpenSSL support.
3425 -openssl-linked .... Enabled linked OpenSSL support.
3427 -qt-pcre ........... Use the PCRE library bundled with Qt.
3428 + -system-pcre ....... Use the PCRE library from the operating system.
3432 -make <part> ....... Add part to the list of parts to be built at make time.
3433 ($QT_DEFAULT_BUILD_PARTS)
3434 -nomake <part> ..... Exclude part from the list of parts to be built.
3436 -R <string> ........ Add an explicit runtime library path to the Qt
3438 -l <string> ........ Add an explicit library.
3440 -no-rpath .......... Do not use the library install path as a runtime
3442 + -rpath ............. Link Qt libraries and executables using the library
3443 install path as a runtime library path. Equivalent
3444 to -R install_libpath
3446 -continue .......... Continue as far as possible if an error occurs.
3448 -verbose, -v ....... Print verbose information about each step of the
3451 -silent ............ Reduce the build output so that warnings and errors
3452 can be seen more easily.
3454 * -no-optimized-qmake ... Do not build qmake optimized.
3455 -optimized-qmake ...... Build qmake optimized.
3457 -no-gui ............ Don't build the Qt GUI library
3459 $NSN -no-nis ............ Do not compile NIS support.
3460 $NSY -nis ............... Compile NIS support.
3462 $CUN -no-cups ........... Do not compile CUPS support.
3463 $CUY -cups .............. Compile CUPS support.
3464 Requires cups/cups.h and libcups.so.2.
3466 $CIN -no-iconv .......... Do not compile support for iconv(3).
3467 $CIY -iconv ............. Compile support for iconv(3).
3469 $PHN -no-pch ............ Do not use precompiled header support.
3470 $PHY -pch ............... Use precompiled header support.
3472 $DBN -no-dbus ........... Do not compile the QtDBus module.
3473 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3474 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3476 -reduce-relocations ..... Reduce relocations in the libraries through extra
3477 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3478 experimental; needs GNU ld >= 2.18).
3480 -force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
3484 if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3485 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3492 elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
3500 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3504 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3505 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3507 $XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
3508 $XCBY -xcb ............... Compile Xcb support.
3510 $XWN -no-wayland......... Do not compile Wayland support.
3511 $XWY -wayland .......... Compile Wayland support.
3517 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
3521 $X2N -no-xinput2......... Do not compile XInput2 support.
3522 $X2Y -xinput2............ Compile XInput2 support.
3528 if [ "$PLATFORM_X11" = "yes" ]; then
3529 if [ "$CFG_SM" = "no" ]; then
3536 if [ "$CFG_XSHAPE" = "no" ]; then
3543 if [ "$CFG_XVIDEO" = "no" ]; then
3550 if [ "$CFG_XINERAMA" = "no" ]; then
3557 if [ "$CFG_FONTCONFIG" = "no" ]; then
3564 if [ "$CFG_XCURSOR" = "no" ]; then
3571 if [ "$CFG_XFIXES" = "no" ]; then
3578 if [ "$CFG_XRANDR" = "no" ]; then
3585 if [ "$CFG_XRENDER" = "no" ]; then
3592 if [ "$CFG_MITSHM" = "no" ]; then
3599 if [ "$CFG_XINPUT" = "no" ]; then
3606 if [ "$CFG_XKB" = "no" ]; then
3613 if [ "$CFG_IM" = "no" ]; then
3624 -no-gtkstyle ....... Do not build the GTK theme integration.
3625 + -gtkstyle .......... Build the GTK theme integration.
3627 * -no-nas-sound ...... Do not compile in NAS sound support.
3628 -system-nas-sound .. Use NAS libaudio from the operating system.
3629 See http://radscan.com/nas.html
3631 -egl ............... Use EGL instead of GLX to manage contexts.
3632 When building for desktop OpenGL, this option will
3633 make Qt use EGL to manage contexts rather than the
3634 GLX, which is the default. Note: For OpenGL ES, EGL
3637 -no-opengl ......... Do not support OpenGL.
3638 + -opengl <api> ...... Enable OpenGL support.
3639 With no parameter, this will auto-detect the "best"
3640 OpenGL API to use. If desktop OpenGL is available, it
3641 will be used. Use desktop or es2 for <api>
3642 to force the use of the Desktop OpenGL or
3643 OpenGL ES 2 APIs instead.
3645 -no-openvg ........ Do not support OpenVG.
3646 + -openvg ........... Enable OpenVG support.
3647 Requires EGL support, typically supplied by an OpenGL
3648 or other graphics implementation.
3650 $SMN -no-sm ............. Do not support X Session Management.
3651 $SMY -sm ................ Support X Session Management, links in -lSM -lICE.
3653 $SHN -no-xshape ......... Do not compile XShape support.
3654 $SHY -xshape ............ Compile XShape support.
3655 Requires X11/extensions/shape.h.
3657 $XVN -no-xvideo ......... Do not compile XVideo support.
3658 $XVY -xvideo ............ Compile XVideo support.
3659 Requires X11/extensions/Xv.h & Xvlib.h.
3661 $SHN -no-xsync .......... Do not compile XSync support.
3662 $SHY -xsync ............. Compile XSync support.
3663 Requires X11/extensions/sync.h.
3665 $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
3666 $XAY -xinerama .......... Compile Xinerama support.
3667 Requires X11/extensions/Xinerama.h and libXinerama.
3668 By default, Xinerama support will be compiled if
3669 available and the shared libraries are dynamically
3672 $XCN -no-xcursor ........ Do not compile Xcursor support.
3673 $XCY -xcursor ........... Compile Xcursor support.
3674 Requires X11/Xcursor/Xcursor.h and libXcursor.
3675 By default, Xcursor support will be compiled if
3676 available and the shared libraries are dynamically
3679 $XFN -no-xfixes ......... Do not compile Xfixes support.
3680 $XFY -xfixes ............ Compile Xfixes support.
3681 Requires X11/extensions/Xfixes.h and libXfixes.
3682 By default, Xfixes support will be compiled if
3683 available and the shared libraries are dynamically
3686 $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
3687 $XZY -xrandr ............ Compile Xrandr support.
3688 Requires X11/extensions/Xrandr.h and libXrandr.
3690 $XRN -no-xrender ........ Do not compile Xrender support.
3691 $XRY -xrender ........... Compile Xrender support.
3692 Requires X11/extensions/Xrender.h and libXrender.
3694 $XMN -no-mitshm ......... Do not compile MIT-SHM support.
3695 $XMY -mitshm ............ Compile MIT-SHM support.
3696 Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
3698 $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
3699 $FCGY -fontconfig ........ Compile FontConfig support.
3700 Requires fontconfig/fontconfig.h, libfontconfig,
3701 freetype.h and libfreetype.
3703 $XIN -no-xinput ......... Do not compile Xinput support.
3704 $XIY -xinput ............ Compile Xinput support. This also enabled tablet support
3705 which requires IRIX with wacom.h and libXi or
3706 XFree86 with X11/extensions/XInput.h and libXi.
3708 $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
3709 $XKY -xkb ............... Compile XKB support.
3714 if [ "$BUILD_ON_MAC" = "yes" ]; then
3719 -Fstring ........... Add an explicit framework path.
3720 -fw string ......... Add an explicit framework.
3722 * -framework ......... Build Qt as a series of frameworks and
3723 link tools against those frameworks.
3724 -no-framework ...... Do not build Qt as a series of frameworks.
3726 * -dwarf2 ............ Enable dwarf2 debugging symbols.
3727 -no-dwarf2 ......... Disable dwarf2 debugging symbols.
3729 -arch <arch> ....... Build Qt for <arch>. Supported arch values: x86 x86_64.
3730 Only one arch value can be specified.
3732 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3733 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3735 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
3736 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
3737 QT_ENABLE_HARFBUZZ environment variable.
3742 if [ "$PLATFORM_QPA" = "yes" ]; then
3748 if [ "$PLATFORM_QPA" = "yes" ]; then
3751 -xplatform target ... The target platform when cross-compiling.
3753 -no-feature-<feature> Do not compile in <feature>.
3754 -feature-<feature> .. Compile in <feature>. The available features
3755 are described in src/corelib/global/qfeatures.txt
3757 -no-freetype ........ Do not compile in Freetype2 support.
3758 -qt-freetype ........ Use the libfreetype bundled with Qt.
3759 * -system-freetype .... Use libfreetype from the operating system.
3760 See http://www.freetype.org/
3762 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3763 default ($CFG_QCONFIG).
3765 -no-opengl .......... Do not support OpenGL.
3766 -opengl <api> ....... Enable OpenGL ES support
3767 With no parameter, this will attempt to auto-detect
3768 OpenGL ES 2, or regular desktop OpenGL.
3769 Use es2 for <api> to override auto-detection.
3773 if [ "$PLATFORM_QPA" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
3774 if [ "$CFG_GLIB" = "no" ]; then
3782 $GBN -no-glib ........... Do not compile Glib support.
3783 $GBY -glib .............. Compile Glib support.
3788 [ "x$ERROR" = "xyes" ] && exit 1
3793 # -----------------------------------------------------------------------------
3794 # LICENSING, INTERACTIVE PART
3795 # -----------------------------------------------------------------------------
3797 if [ "$PLATFORM_QPA" = "yes" ]; then
3798 Platform="Qt Lighthouse"
3799 elif [ "$XPLATFORM_MINGW" = "yes" ]; then
3800 Platform="Qt for Windows"
3801 elif [ -n "`getXQMakeConf grep QMAKE_LIBS_X11`" ]; then
3803 Platform="Qt for Linux/X11"
3807 echo "This is the $Platform ${EditionString} Edition."
3810 if [ "$Edition" = "OpenSource" ]; then
3812 echo "You are licensed to use this software under the terms of"
3813 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
3814 if [ -f "$relpath/LICENSE.GPL3" ]; then
3815 echo "You are also licensed to use this software under the terms of"
3816 echo "the GNU General Public License (GPL) versions 3."
3822 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3823 echo "You have already accepted the terms of the $LicenseType license."
3826 if [ -f "$relpath/LICENSE.GPL3" ]; then
3827 echo "Type '3' to view the GNU General Public License version 3."
3829 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
3830 echo "Type 'yes' to accept this license offer."
3831 echo "Type 'no' to decline this license offer."
3833 echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
3837 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
3839 elif [ "$acceptance" = "no" ]; then
3840 echo "You are not licensed to use this software."
3843 elif [ "$acceptance" = "3" ]; then
3844 more "$relpath/LICENSE.GPL3"
3845 elif [ "$acceptance" = "L" ]; then
3846 more "$relpath/LICENSE.LGPL"
3849 elif [ "$Edition" = "Preview" ]; then
3850 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
3853 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3854 echo "You have already accepted the terms of the $LicenseType license."
3857 echo "You are licensed to use this software under the terms of"
3858 echo "the $TheLicense"
3860 echo "Type '?' to read the Preview License."
3861 echo "Type 'yes' to accept this license offer."
3862 echo "Type 'no' to decline this license offer."
3864 echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
3868 if [ "$acceptance" = "yes" ]; then
3870 elif [ "$acceptance" = "no" ] ;then
3871 echo "You are not licensed to use this software."
3874 elif [ "$acceptance" = "?" ]; then
3875 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
3878 elif [ "$Edition" != "OpenSource" ]; then
3879 if [ -n "$ExpiryDate" ]; then
3880 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
3881 [ -z "$ExpiryDate" ] && ExpiryDate="0"
3882 Today=`date +%Y%m%d`
3883 if [ "$Today" -gt "$ExpiryDate" ]; then
3884 case "$LicenseType" in
3885 Commercial|Academic|Educational)
3886 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
3888 echo "NOTICE NOTICE NOTICE NOTICE"
3890 echo " Your support and upgrade period has expired."
3892 echo " You are no longer licensed to use this version of Qt."
3893 echo " Please contact qt-info@nokia.com to renew your support"
3894 echo " and upgrades for this license."
3896 echo "NOTICE NOTICE NOTICE NOTICE"
3901 echo "WARNING WARNING WARNING WARNING"
3903 echo " Your support and upgrade period has expired."
3905 echo " You may continue to use your last licensed release"
3906 echo " of Qt under the terms of your existing license"
3907 echo " agreement. But you are not entitled to technical"
3908 echo " support, nor are you entitled to use any more recent"
3909 echo " Qt releases."
3911 echo " Please contact qt-info@nokia.com to renew your"
3912 echo " support and upgrades for this license."
3914 echo "WARNING WARNING WARNING WARNING"
3921 echo "NOTICE NOTICE NOTICE NOTICE"
3923 echo " Your Evaluation license has expired."
3925 echo " You are no longer licensed to use this software. Please"
3926 echo " contact qt-info@nokia.com to purchase license, or install"
3927 echo " the Qt Open Source Edition if you intend to develop free"
3930 echo "NOTICE NOTICE NOTICE NOTICE"
3937 TheLicense=`head -n 1 "$outpath/LICENSE"`
3939 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3940 echo "You have already accepted the terms of the $TheLicense."
3943 echo "You are licensed to use this software under the terms of"
3944 echo "the $TheLicense."
3946 echo "Type '?' to view the $TheLicense."
3947 echo "Type 'yes' to accept this license offer."
3948 echo "Type 'no' to decline this license offer."
3950 echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
3954 if [ "$acceptance" = "yes" ]; then
3956 elif [ "$acceptance" = "no" ]; then
3957 echo "You are not licensed to use this software."
3960 else [ "$acceptance" = "?" ]
3961 more "$outpath/LICENSE"
3966 # this should be moved somewhere else
3969 AIX_VERSION=`uname -v`
3970 if [ "$AIX_VERSION" -lt "5" ]; then
3971 QMakeVar add QMAKE_LIBS_X11 -lbind
3978 #-------------------------------------------------------------------------------
3979 # generate qconfig.cpp
3980 #-------------------------------------------------------------------------------
3981 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
3983 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3985 static const char qt_configure_licensee_str [256 + 12] = "qt_lcnsuser=$Licensee";
3986 static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$Edition";
3988 /* Installation date */
3989 static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`";
3991 /* Installation Info */
3992 static const char qt_configure_prefix_path_strs[][256 + 12] = {
3993 "qt_prfxpath=$QT_INSTALL_PREFIX",
3994 "qt_docspath=$QT_INSTALL_DOCS",
3995 "qt_hdrspath=$QT_INSTALL_HEADERS",
3996 "qt_libspath=$QT_INSTALL_LIBS",
3997 "qt_binspath=$QT_INSTALL_BINS",
3998 "qt_plugpath=$QT_INSTALL_PLUGINS",
3999 "qt_impspath=$QT_INSTALL_IMPORTS",
4000 "qt_datapath=$QT_INSTALL_DATA",
4001 "qt_trnspath=$QT_INSTALL_TRANSLATIONS",
4002 "qt_xmplpath=$QT_INSTALL_EXAMPLES",
4003 "qt_tstspath=$QT_INSTALL_TESTS",
4004 #ifdef QT_BUILD_QMAKE
4005 "qt_ssrtpath=$CFG_SYSROOT",
4006 "qt_hpfxpath=$QT_HOST_PREFIX",
4007 "qt_hbinpath=$QT_HOST_BINS",
4008 "qt_hdatpath=$QT_HOST_DATA",
4011 static const char qt_configure_settings_path_str[256 + 12] = "qt_stngpath=$QT_INSTALL_SETTINGS";
4014 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4016 /* strlen( "qt_lcnsxxxx" ) == 12 */
4017 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
4018 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
4020 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
4023 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
4024 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
4025 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
4027 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
4028 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
4029 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
4032 # -----------------------------------------------------------------------------
4033 if [ "$LicenseType" = "Evaluation" ]; then
4034 EVALKEY=qt_qevalkey=$LicenseKeyExt
4035 elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then
4036 EVALKEY=qt_qevalkey=
4039 if [ -n "$EVALKEY" ]; then
4040 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
4041 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
4042 /* Evaluation license key */
4043 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
4045 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
4049 # -----------------------------------------------------------------------------
4051 # -----------------------------------------------------------------------------
4054 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
4056 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
4057 if [ "$OPT_SHADOW" = "yes" ]; then
4058 "$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
4059 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
4060 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
4064 # $1: input variable name (awk regexp)
4065 # $2: optional output variable name
4066 # $3: optional value transformation (sed command)
4067 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
4068 # is where the resulting variable is written to
4069 setBootstrapVariable()
4071 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
4075 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
4076 echo "Creating qmake. Please wait..."
4079 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
4080 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
4081 if [ -f "$QCONFIG_H" ]; then
4082 OLD_QCONFIG_H=$QCONFIG_H
4083 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
4086 # create temporary qconfig.h for compiling qmake, if it doesn't exist
4087 # when building qmake, we use #defines for the install paths,
4088 # however they are real functions in the library
4089 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
4090 mkdir -p "$outpath/src/corelib/global"
4091 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
4092 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
4095 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
4097 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
4098 rm -rf mkspecs/default
4099 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
4101 for mkfile in GNUmakefile Makefile; do
4104 in_mkfile="${mkfile}.in"
4105 if [ "$mkfile" = "Makefile" ]; then
4106 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
4107 # (cd qmake && qmake) >/dev/null 2>&1 && continue
4109 in_mkfile="${mkfile}.unix"
4111 in_mkfile="$relpath/qmake/$in_mkfile"
4112 mkfile="$outpath/qmake/$mkfile"
4113 if [ -f "$mkfile" ]; then
4114 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
4117 [ -f "$in_mkfile" ] || continue
4119 echo "########################################################################" > "$mkfile"
4120 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
4121 echo "########################################################################" >> "$mkfile"
4124 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
4125 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
4126 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
4128 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
4129 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
4132 [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
4133 setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
4134 setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
4135 setBootstrapVariable QMAKE_CFLAGS
4136 setBootstrapVariable QMAKE_CXXFLAGS
4137 setBootstrapVariable QMAKE_LFLAGS
4139 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
4140 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
4141 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
4143 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
4144 setBootstrapVariable QMAKE_CFLAGS_RELEASE
4145 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
4146 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
4147 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
4148 elif [ "$CFG_DEBUG" = "yes" ]; then
4149 setBootstrapVariable QMAKE_CFLAGS_DEBUG
4150 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
4151 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
4152 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
4155 if [ -n "$RPATH_FLAGS" ] && [ -n "`getQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
4156 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" QMAKE_LFLAGS_RPATH
4157 for rpath in $RPATH_FLAGS; do
4158 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
4161 if [ "$BUILD_ON_MAC" = "yes" ]; then
4162 echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
4163 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
4164 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
4165 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
4166 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
4167 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
4168 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
4169 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
4170 if [ '!' -z "$CFG_SDK" ]; then
4171 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
4172 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
4173 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
4174 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
4175 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
4178 if [ '!' -z "$D_FLAGS" ]; then
4179 for DEF in $D_FLAGS; do
4180 EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
4183 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
4184 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
4185 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
4186 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
4188 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
4189 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
4190 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
4191 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
4192 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
4193 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
4194 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
4195 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
4196 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
4197 -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
4199 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
4200 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
4201 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
4202 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
4207 QMAKE_BUILD_ERROR=no
4208 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
4209 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
4210 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
4211 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
4214 #-------------------------------------------------------------------------------
4215 # tests that need qmake
4216 #-------------------------------------------------------------------------------
4218 # detect availability of float math.h functions
4219 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
4220 CFG_USE_FLOATMATH=yes
4222 CFG_USE_FLOATMATH=no
4225 # detect mmx support
4226 if [ "${CFG_MMX}" = "auto" ]; then
4227 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mmx "mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
4234 # detect 3dnow support
4235 if [ "${CFG_3DNOW}" = "auto" ]; then
4236 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/3dnow "3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
4243 # detect sse support
4244 if [ "${CFG_SSE}" = "auto" ]; then
4245 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse "sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
4252 # detect sse2 support
4253 if [ "${CFG_SSE2}" = "auto" ]; then
4254 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
4261 # detect sse3 support
4262 if [ "${CFG_SSE3}" = "auto" ]; then
4263 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse3 "sse3" $L_FLAGS $I_FLAGS $l_FLAGS "-msse3"; then
4270 # detect ssse3 support
4271 if [ "${CFG_SSSE3}" = "auto" ]; then
4272 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ssse3 "ssse3" $L_FLAGS $I_FLAGS $l_FLAGS "-mssse3"; then
4279 # detect sse4.1 support
4280 if [ "${CFG_SSE4_1}" = "auto" ]; then
4281 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
4288 # detect sse4.2 support
4289 if [ "${CFG_SSE4_2}" = "auto" ]; then
4290 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
4297 # detect avx support
4298 if [ "${CFG_AVX}" = "auto" ]; then
4299 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx "avx" $L_FLAGS $I_FLAGS $l_FLAGS "-mavx"; then
4306 # check iWMMXt support
4307 if [ "$CFG_IWMMXT" = "yes" ]; then
4308 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
4309 if [ $? != "0" ]; then
4310 echo "The iWMMXt functionality test failed!"
4311 echo " Please make sure your compiler supports iWMMXt intrinsics!"
4316 # detect neon support
4317 if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
4318 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
4325 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
4328 if [ "$CFG_ZLIB" = "no" ]; then
4329 # Note: Qt no longer support builds without zlib
4330 # So we force a "no" to be "auto" here.
4331 # If you REALLY really need no zlib support, you can still disable
4332 # it by doing the following:
4333 # add "no-zlib" to mkspecs/qconfig.pri
4334 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
4336 # There's no guarantee that Qt will build under those conditions
4341 if [ "$CFG_ZLIB" = "auto" ]; then
4342 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
4349 if [ "$CFG_LARGEFILE" = "auto" ]; then
4350 #Large files should be enabled for all Linux systems
4354 # detect how jpeg should be built
4355 if [ "$CFG_JPEG" = "auto" ]; then
4356 if [ "$CFG_SHARED" = "yes" ]; then
4363 if [ "$CFG_LIBJPEG" = "auto" ]; then
4364 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
4371 # detect how gif should be built
4372 if [ "$CFG_GIF" = "auto" ]; then
4373 if [ "$CFG_SHARED" = "yes" ]; then
4381 if [ "$CFG_LIBPNG" = "auto" ]; then
4382 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
4389 # detect accessibility
4390 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4391 CFG_ACCESSIBILITY=yes
4394 # auto-detect SQL-modules support
4395 for _SQLDR in $CFG_SQL_AVAILABLE; do
4398 if [ "$CFG_SQL_mysql" != "no" ]; then
4399 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
4400 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4401 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4402 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4403 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4404 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4405 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4407 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4408 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4409 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4410 echo " You need MySql 4 or higher."
4411 echo " If you believe this message is in error you may use the continue"
4412 echo " switch (-continue) to $0 to continue."
4417 QT_LFLAGS_MYSQL_R=""
4421 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
4422 QMakeVar add CONFIG use_libmysqlclient_r
4423 if [ "$CFG_SQL_mysql" = "auto" ]; then
4424 CFG_SQL_mysql=plugin
4426 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
4427 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
4428 if [ "$CFG_SQL_mysql" = "auto" ]; then
4429 CFG_SQL_mysql=plugin
4432 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4433 echo "MySQL support cannot be enabled due to functionality tests!"
4434 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4435 echo " If you believe this message is in error you may use the continue"
4436 echo " switch (-continue) to $0 to continue."
4441 QT_LFLAGS_MYSQL_R=""
4449 if [ "$CFG_SQL_psql" != "no" ]; then
4450 # Be careful not to use native pg_config when cross building.
4451 if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
4452 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
4453 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
4455 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
4456 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
4457 # But, respect PSQL_LIBS if set
4458 [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
4459 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
4460 if [ "$CFG_SQL_psql" = "auto" ]; then
4464 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4465 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4466 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4467 echo " If you believe this message is in error you may use the continue"
4468 echo " switch (-continue) to $0 to continue."
4479 if [ "$CFG_SQL_odbc" != "no" ]; then
4480 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
4481 if [ "$CFG_SQL_odbc" = "auto" ]; then
4485 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
4486 QT_LFLAGS_ODBC="-liodbc"
4487 if [ "$CFG_SQL_odbc" = "auto" ]; then
4491 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4492 echo "ODBC 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."
4505 if [ "$CFG_SQL_oci" != "no" ]; then
4506 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
4507 if [ "$CFG_SQL_oci" = "auto" ]; then
4511 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4512 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4513 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4514 echo " If you believe this message is in error you may use the continue"
4515 echo " switch (-continue) to $0 to continue."
4524 if [ "$CFG_SQL_tds" != "no" ]; then
4525 [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
4526 [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
4527 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
4528 if [ "$CFG_SQL_tds" = "auto" ]; then
4532 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4533 echo "TDS support cannot be enabled due to functionality tests!"
4534 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4535 echo " If you believe this message is in error you may use the continue"
4536 echo " switch (-continue) to $0 to continue."
4545 if [ "$CFG_SQL_db2" != "no" ]; then
4546 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
4547 if [ "$CFG_SQL_db2" = "auto" ]; then
4551 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4552 echo "ODBC support cannot be enabled due to functionality tests!"
4553 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4554 echo " If you believe this message is in error you may use the continue"
4555 echo " switch (-continue) to $0 to continue."
4564 if [ "$CFG_SQL_ibase" != "no" ]; then
4565 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
4566 if [ "$CFG_SQL_ibase" = "auto" ]; then
4567 CFG_SQL_ibase=plugin
4570 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4571 echo "InterBase 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_sqlite2" != "no" ]; then
4584 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
4585 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4586 CFG_SQL_sqlite2=plugin
4589 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4590 echo "SQLite2 support cannot be enabled due to functionality tests!"
4591 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4592 echo " If you believe this message is in error you may use the continue"
4593 echo " switch (-continue) to $0 to continue."
4602 if [ "$CFG_SQL_sqlite" != "no" ]; then
4603 SQLITE_AUTODETECT_FAILED="no"
4604 if [ "$CFG_SQLITE" = "system" ]; then
4605 if [ -n "$PKG_CONFIG" ]; then
4606 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4607 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4609 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
4610 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4611 CFG_SQL_sqlite=plugin
4613 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4615 SQLITE_AUTODETECT_FAILED="yes"
4618 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4619 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4620 CFG_SQL_sqlite=plugin
4623 SQLITE_AUTODETECT_FAILED="yes"
4627 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4628 echo "SQLite support cannot be enabled due to functionality tests!"
4629 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4630 echo " If you believe this message is in error you may use the continue"
4631 echo " switch (-continue) to $0 to continue."
4637 if [ "$OPT_VERBOSE" = "yes" ]; then
4638 echo "unknown SQL driver: $_SQLDR"
4644 # auto-detect NIS support
4645 if [ "$CFG_NIS" != "no" ]; then
4646 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
4649 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4650 echo "NIS support cannot be enabled due to functionality tests!"
4651 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4652 echo " If you believe this message is in error you may use the continue"
4653 echo " switch (-continue) to $0 to continue."
4661 # auto-detect CUPS support
4662 if [ "$CFG_CUPS" != "no" ]; then
4663 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
4666 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4667 echo "Cups support cannot be enabled due to functionality tests!"
4668 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4669 echo " If you believe this message is in error you may use the continue"
4670 echo " switch (-continue) to $0 to continue."
4678 # auto-detect iconv(3) support
4679 if [ "$CFG_ICONV" != "no" ]; then
4680 if [ "$XPLATFORM_MINGW" = "yes" ] || [ "$PLATFORM_QPA" = "yes" -a "$CFG_ICONV" = "auto" ]; then
4682 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
4684 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
4686 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
4689 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4690 echo "Iconv support cannot be enabled due to functionality tests!"
4691 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4692 echo " If you believe this message is in error you may use the continue"
4693 echo " switch (-continue) to $0 to continue."
4701 # auto-detect libdbus-1 support
4702 if [ "$CFG_DBUS" != "no" ]; then
4703 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
4704 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4705 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4707 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
4708 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
4709 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
4710 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
4712 if [ "$CFG_DBUS" = "auto" ]; then
4714 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4715 # CFG_DBUS is "yes" or "linked" here
4717 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4718 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4719 echo " If you believe this message is in error you may use the continue"
4720 echo " switch (-continue) to $0 to continue."
4727 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
4729 # auto-detect Glib support
4730 if [ "$CFG_GLIB" != "no" ]; then
4731 if [ -n "$PKG_CONFIG" ]; then
4732 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4733 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4735 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
4737 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
4738 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
4740 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4741 echo "Glib support cannot be enabled due to functionality tests!"
4742 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4743 echo " If you believe this message is in error you may use the continue"
4744 echo " switch (-continue) to $0 to continue."
4753 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4754 if [ -n "$PKG_CONFIG" ]; then
4755 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4756 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4758 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
4760 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
4761 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
4763 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4764 echo "Gstreamer support cannot be enabled due to functionality tests!"
4765 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4766 echo " If you believe this message is in error you may use the continue"
4767 echo " switch (-continue) to $0 to continue."
4773 elif [ "$CFG_GLIB" = "no" ]; then
4777 # auto-detect libicu support
4778 if [ "$CFG_ICU" != "no" ]; then
4779 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $l_FLAGS; then
4780 [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
4782 if [ "$CFG_ICU" = "auto" ]; then
4784 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4787 echo "The ICU library support cannot be enabled."
4788 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4789 echo " If you believe this message is in error you may use the continue"
4790 echo " switch (-continue) to $0 to continue."
4796 # Auto-detect PulseAudio support
4797 if [ "$CFG_PULSEAUDIO" != "no" ]; then
4798 if [ -n "$PKG_CONFIG" ]; then
4799 QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4800 QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4802 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
4804 QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
4805 QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
4807 if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4808 echo "PulseAudio support cannot be enabled due to functionality tests!"
4809 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4810 echo " If you believe this message is in error you may use the continue"
4811 echo " switch (-continue) to $0 to continue."
4821 if [ "$PLATFORM_X11" = "yes" -a "$CFG_GUI" != "no" ]; then
4822 x11tests="$relpath/config.tests/x11"
4825 # work around broken X11 headers when using GCC 2.95 or later
4827 "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE=yes
4828 if [ $NOTYPE = "yes" ]; then
4829 QMakeVar add QMAKE_CXXFLAGS -fpermissive
4830 X11TESTS_FLAGS="$X11TESTS_FLAGS -fpermissive"
4833 # Check we actually have X11 :-)
4834 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4835 if [ $? != "0" ]; then
4836 echo "Basic XLib functionality test failed!"
4837 echo " You might need to modify the include and library search paths by editing"
4838 echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
4844 if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
4845 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4846 if [ "$CFG_GUI" = "no" ]; then
4847 if [ "$CFG_OPENGL" = "auto" ]; then
4850 if [ "$CFG_OPENGL" != "no" ]; then
4851 echo "OpenGL enabled, but GUI disabled."
4852 echo " You might need to either enable the GUI or disable OpenGL"
4856 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4857 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
4859 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
4861 if [ "$CFG_EGL" = "no" ]; then
4865 if [ "$CFG_OPENGL" = "yes" ]; then
4866 echo "All the OpenGL functionality tests failed!"
4867 echo " You might need to modify the include and library search paths by editing"
4868 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4869 echo " ${XQMAKESPEC}."
4876 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4877 if [ "$CFG_OPENGL" = "desktop" ]; then
4878 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4879 if [ $? != "0" ]; then
4880 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4887 elif [ "$CFG_OPENGL" = "es2" ]; then
4889 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
4890 if [ $? != "0" ]; then
4891 echo "The OpenGL ES 2.0 functionality test failed!"
4892 echo " You might need to modify the include and library search paths by editing"
4893 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4894 echo " ${XQMAKESPEC}."
4897 elif [ "$CFG_OPENGL" = "desktop" ]; then
4898 # Desktop OpenGL support
4899 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4900 if [ $? != "0" ]; then
4901 echo "The OpenGL functionality test failed!"
4902 echo " You might need to modify the include and library search paths by editing"
4903 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4904 echo " ${XQMAKESPEC}."
4909 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4910 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4911 if [ $? != "0" ]; then
4912 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4919 fi # X11/MINGW OpenGL
4922 if [ "$PLATFORM_X11" = "yes" ]; then
4923 # auto-detect Xcursor support
4924 if [ "$CFG_XCURSOR" != "no" ]; then
4925 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
4926 if [ "$CFG_XCURSOR" != "runtime" ]; then
4930 if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4931 echo "Xcursor support cannot be enabled due to functionality tests!"
4932 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4933 echo " If you believe this message is in error you may use the continue"
4934 echo " switch (-continue) to $0 to continue."
4942 # auto-detect Xfixes support
4943 if [ "$CFG_XFIXES" != "no" ]; then
4944 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xfixes "Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
4945 if [ "$CFG_XFIXES" != "runtime" ]; then
4949 if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4950 echo "Xfixes support cannot be enabled due to functionality tests!"
4951 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4952 echo " If you believe this message is in error you may use the continue"
4953 echo " switch (-continue) to $0 to continue."
4961 # auto-detect Xrandr support (resize and rotate extension)
4962 if [ "$CFG_XRANDR" != "no" ]; then
4963 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
4964 if [ "$CFG_XRANDR" != "runtime" ]; then
4968 if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4969 echo "Xrandr support cannot be enabled due to functionality tests!"
4970 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4971 echo " If you believe this message is in error you may use the continue"
4972 echo " switch (-continue) to $0 to continue."
4980 # auto-detect Xrender support
4981 if [ "$CFG_XRENDER" != "no" ]; then
4982 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
4985 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4986 echo "Xrender support cannot be enabled due to functionality tests!"
4987 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4988 echo " If you believe this message is in error you may use the continue"
4989 echo " switch (-continue) to $0 to continue."
4997 # auto-detect MIT-SHM support
4998 if [ "$CFG_MITSHM" != "no" ]; then
4999 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
5002 if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5003 echo "MITSHM support cannot be enabled due to functionality tests!"
5004 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5005 echo " If you believe this message is in error you may use the continue"
5006 echo " switch (-continue) to $0 to continue."
5014 # auto-detect FontConfig support
5015 if [ "$CFG_FONTCONFIG" != "no" ]; then
5016 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
5017 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
5018 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
5020 QT_CFLAGS_FONTCONFIG=
5021 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5023 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
5025 QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
5026 QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
5027 CFG_LIBFREETYPE=system
5029 if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5030 echo "FontConfig support cannot be enabled due to functionality tests!"
5031 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5032 echo " If you believe this message is in error you may use the continue"
5033 echo " switch (-continue) to $0 to continue."
5041 # auto-detect Session Management support
5042 if [ "$CFG_SM" = "auto" ]; then
5043 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
5046 if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5047 echo "Session Management support cannot be enabled due to functionality tests!"
5048 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5049 echo " If you believe this message is in error you may use the continue"
5050 echo " switch (-continue) to $0 to continue."
5058 # auto-detect SHAPE support
5059 if [ "$CFG_XSHAPE" != "no" ]; then
5060 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
5063 if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5064 echo "XShape support cannot be enabled due to functionality tests!"
5065 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5066 echo " If you believe this message is in error you may use the continue"
5067 echo " switch (-continue) to $0 to continue."
5075 # auto-detect XVideo support
5076 if [ "$CFG_XVIDEO" != "no" ]; then
5077 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
5080 if [ "$CFG_XVIDEO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5081 echo "XVideo support cannot be enabled due to functionality tests!"
5082 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5083 echo " If you believe this message is in error you may use the continue"
5084 echo " switch (-continue) to $0 to continue."
5092 # auto-detect XSync support
5093 if [ "$CFG_XSYNC" != "no" ]; then
5094 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
5097 if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5098 echo "XSync support cannot be enabled due to functionality tests!"
5099 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5100 echo " If you believe this message is in error you may use the continue"
5101 echo " switch (-continue) to $0 to continue."
5109 # auto-detect Xinerama support
5110 if [ "$CFG_XINERAMA" != "no" ]; then
5111 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
5112 if [ "$CFG_XINERAMA" != "runtime" ]; then
5116 if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5117 echo "Xinerama support cannot be enabled due to functionality tests!"
5118 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5119 echo " If you believe this message is in error you may use the continue"
5120 echo " switch (-continue) to $0 to continue."
5128 # auto-detect Xinput support
5129 if [ "$CFG_XINPUT" != "no" ]; then
5130 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
5131 if [ "$CFG_XINPUT" != "runtime" ]; then
5135 if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5136 echo "Tablet and Xinput support cannot be enabled due to functionality tests!"
5137 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5138 echo " If you believe this message is in error you may use the continue"
5139 echo " switch (-continue) to $0 to continue."
5147 # auto-detect XKB support
5148 if [ "$CFG_XKB" != "no" ]; then
5149 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
5152 if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5153 echo "XKB support cannot be enabled due to functionality tests!"
5154 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5155 echo " If you believe this message is in error you may use the continue"
5156 echo " switch (-continue) to $0 to continue."
5164 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
5165 if [ -n "$PKG_CONFIG" ]; then
5166 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
5167 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
5169 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
5171 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
5172 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
5174 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5175 echo "Gtk theme support cannot be enabled due to functionality tests!"
5176 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5177 echo " If you believe this message is in error you may use the continue"
5178 echo " switch (-continue) to $0 to continue."
5184 elif [ "$CFG_GLIB" = "no" ]; then
5190 if [ "$BUILD_ON_MAC" = "yes" ]; then
5191 if [ "$CFG_PHONON" != "no" ]; then
5192 # Always enable Phonon (unless it was explicitly disabled)
5196 if [ "$CFG_COREWLAN" = "auto" ]; then
5197 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
5206 if [ "$PLATFORM_QPA" = "yes" ]; then
5207 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
5208 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
5209 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
5211 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
5214 if [ "$CFG_OPENGL" = "yes" ]; then
5215 echo "All the OpenGL functionality tests failed!"
5216 echo " You might need to modify the include and library search paths by editing"
5217 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5218 echo " ${XQMAKESPEC}."
5223 elif [ "$CFG_OPENGL" = "es2" ]; then
5225 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
5226 QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
5227 QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
5228 QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
5229 QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
5230 QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
5231 QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2"
5232 QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2"
5235 "$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
5236 if [ $? != "0" ]; then
5237 echo "The OpenGL ES 2.0 functionality test failed!"
5238 echo " You might need to modify the include and library search paths by editing"
5239 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
5240 echo " ${XQMAKESPEC}."
5243 elif [ "$CFG_OPENGL" = "desktop" ]; then
5244 # Desktop OpenGL support
5245 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5246 if [ $? != "0" ]; then
5247 echo "The OpenGL functionality test failed!"
5248 echo " You might need to modify the include and library search paths by editing"
5249 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5250 echo " ${XQMAKESPEC}."
5255 # auto-detect FontConfig support
5256 if [ "$CFG_FONTCONFIG" != "no" ]; then
5257 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
5258 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
5259 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
5261 QT_CFLAGS_FONTCONFIG=
5262 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5264 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
5265 QT_CONFIG="$QT_CONFIG fontconfig"
5266 QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
5267 QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
5268 CFG_LIBFREETYPE=system
5273 # Save these for a check later
5274 ORIG_CFG_WAYLAND="$CFG_WAYLAND"
5275 ORIG_CFG_XCB="$CFG_XCB"
5277 if [ "$CFG_WAYLAND" != "no" ]; then
5278 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists wayland-client 2>/dev/null; then
5279 QMAKE_CFLAGS_WAYLAND=`$PKG_CONFIG --cflags wayland-client 2>/dev/null`
5280 QMAKE_LIBS_WAYLAND=`$PKG_CONFIG --libs wayland-client 2>/dev/null`
5281 QMAKE_INCDIR_WAYLAND=`$PKG_CONFIG --cflags-only-I wayland-client 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
5282 QMAKE_LIBDIR_WAYLAND=`$PKG_CONFIG --libs-only-L wayland-client 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
5284 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
5286 QT_CONFIG="$QT_CONFIG wayland"
5287 elif [ "$CFG_WAYLAND" = "yes" ]; then
5288 echo "The Wayland functionality test failed!"
5292 QMakeVar add DEFINES QT_NO_WAYLAND
5296 if [ "$CFG_LIBUDEV" != "no" ]; then
5297 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libudev "libudev" $L_FLAGS $I_FLAGS $l_FLAGS; then
5299 QT_CONFIG="$QT_CONFIG libudev"
5300 elif [ "$CFG_LIBUDEV" = "yes" ]; then
5301 echo "The libudev functionality test failed!"
5305 QMakeVar add DEFINES QT_NO_LIBUDEV
5309 if [ "$CFG_EVDEV" != "no" ]; then
5310 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/evdev "evdev" $L_FLAGS $I_FLAGS $l_FLAGS; then
5312 QT_CONFIG="$QT_CONFIG evdev"
5313 elif [ "$CFG_EVDEV" = "yes" ]; then
5314 echo "The evdev functionality test failed!"
5318 QMakeVar add DEFINES QT_NO_EVDEV
5322 # Check we actually have X11 :-)
5323 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
5324 QT_CONFIG="$QT_CONFIG xlib"
5327 # auto-detect Xrender support
5328 if [ "$CFG_XRENDER" != "no" ]; then
5329 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
5331 QT_CONFIG="$QT_CONFIG xrender"
5333 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5334 echo "Xrender support cannot be enabled due to functionality tests!"
5335 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5336 echo " If you believe this message is in error you may use the continue"
5337 echo " switch (-continue) to $0 to continue."
5345 if [ "$CFG_XCB" != "no" ]; then
5346 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xcb 2>/dev/null; then
5347 QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`"
5348 QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`"
5350 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
5352 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
5353 QT_CONFIG="$QT_CONFIG xcb-render"
5356 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
5358 QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
5361 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
5362 QT_CONFIG="$QT_CONFIG xcb-xlib"
5365 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
5366 # auto-detect XInput2/Xinput support
5367 if [ "$CFG_XINPUT2" != "no" ]; then
5368 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
5372 if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5373 echo "XInput2 support cannot be enabled due to functionality tests!"
5374 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5375 echo " If you believe this message is in error you may use the continue"
5376 echo " switch (-continue) to $0 to continue."
5385 if [ "$CFG_XCB" = "yes" ]; then
5386 echo "The XCB test failed!"
5387 echo " You might need to install dependency packages."
5388 echo " See src/plugins/platforms/xcb/README."
5392 QMakeVar add DEFINES QT_NO_XCB
5396 # Detect libxkbcommon
5397 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
5398 QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
5399 QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
5400 if [ "$CFG_WAYLAND" = "yes" ]; then
5401 QMAKE_CFLAGS_WAYLAND="$QMAKE_CFLAGS_WAYLAND $QMAKE_CFLAGS_XKBCOMMON"
5402 QMAKE_LIBS_WAYLAND="$QMAKE_LIBS_WAYLAND $QMAKE_LIBS_XKBCOMMON"
5404 QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
5405 QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
5407 if [ "$CFG_WAYLAND" = "yes" ]; then
5408 QMAKE_DEFINES_WAYLAND=QT_NO_WAYLAND_XKB
5410 QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
5413 # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
5414 if [ -n "$QMAKE_CFLAGS_WAYLAND" ] || [ -n "$QMAKE_LIBS_WAYLAND" ]; then
5415 QMakeVar set QMAKE_CFLAGS_WAYLAND "$QMAKE_CFLAGS_WAYLAND"
5416 QMakeVar set QMAKE_INCDIR_WAYLAND "$QMAKE_INCDIR_WAYLAND"
5417 QMakeVar set QMAKE_LIBS_WAYLAND "$QMAKE_LIBS_WAYLAND"
5418 QMakeVar set QMAKE_LIBDIR_WAYLAND "$QMAKE_LIBDIR_WAYLAND"
5419 QMakeVar set QMAKE_DEFINES_WAYLAND " $QMAKE_DEFINES_WAYLAND"
5422 if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
5423 QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
5424 QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
5425 QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
5428 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
5429 QT_CONFIG="$QT_CONFIG coreservices"
5431 QMakeVar add DEFINES QT_NO_CORESERVICES
5434 if [ "$PLATFORM_QPA" = "yes" ] && [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ]; then
5435 if [ "$CFG_XCB" = "no" ] && [ "$CFG_WAYLAND" = "no" ]; then
5436 if [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_WAYLAND" = "auto" ]; then
5437 echo "No QPA platform plugin enabled!"
5438 echo " If you really want to build without a QPA platform plugin you must pass"
5439 echo " -no-xcb and -no-wayland to configure. Doing this will produce a Qt that"
5440 echo " cannot run GUI applications."
5441 echo " The dependencies needed for xcb to build are listed in"
5442 echo " src/plugins/platforms/xcb/README"
5452 if [ "$PLATFORM_X11" = "yes" ]; then
5453 if [ "$CFG_EGL" != "no" ]; then
5454 # detect EGL support
5455 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
5456 # EGL specified by QMAKE_*_EGL, included with <EGL/egl.h>
5461 if [ "$EGL_VARIANT" = "none" ]; then
5462 if [ "$CFG_EGL" = "yes" ]; then
5463 echo "The EGL functionality test failed!"
5464 echo " EGL is required for OpenGL ES to manage contexts & surfaces."
5465 echo " You might need to modify the include and library search paths by editing"
5466 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in"
5467 echo " ${XQMAKESPEC}."
5471 # If QtOpenGL would be built against OpenGL ES, disable it as we can't to that if EGL is missing
5472 if [ "$CFG_OPENGL" = "es2" ]; then
5479 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
5482 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
5483 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
5484 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
5485 CFG_LIBFREETYPE=system
5492 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
5496 if [ "$CFG_STL" != "no" ]; then
5497 if [ "$HAVE_STL" = "yes" ]; then
5500 if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5501 echo "STL support cannot be enabled due to functionality tests!"
5502 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5503 echo " If you believe this message is in error you may use the continue"
5504 echo " switch (-continue) to $0 to continue."
5512 # detect POSIX clock_gettime()
5513 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
5514 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
5515 CFG_CLOCK_GETTIME=yes
5517 CFG_CLOCK_GETTIME=no
5521 # detect POSIX monotonic clocks
5522 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
5523 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
5524 CFG_CLOCK_MONOTONIC=yes
5526 CFG_CLOCK_MONOTONIC=no
5528 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
5529 CFG_CLOCK_MONOTONIC=no
5533 if [ "$CFG_MREMAP" = "auto" ]; then
5534 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
5541 # find if the platform provides getaddrinfo (ipv6 dns lookups)
5542 if [ "$CFG_GETADDRINFO" != "no" ]; then
5543 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
5546 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5547 echo "getaddrinfo support cannot be enabled due to functionality tests!"
5548 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5549 echo " If you believe this message is in error you may use the continue"
5550 echo " switch (-continue) to $0 to continue."
5558 # find if the platform provides inotify
5559 if [ "$CFG_INOTIFY" != "no" ]; then
5560 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
5563 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5564 echo "inotify support cannot be enabled due to functionality tests!"
5565 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5566 echo " If you believe this message is in error you may use the continue"
5567 echo " switch (-continue) to $0 to continue."
5575 # find if the platform provides if_nametoindex (ipv6 interface name support)
5576 if [ "$CFG_IPV6IFNAME" != "no" ]; then
5577 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
5580 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5581 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
5582 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5583 echo " If you believe this message is in error you may use the continue"
5584 echo " switch (-continue) to $0 to continue."
5592 # find if the platform provides getifaddrs (network interface enumeration)
5593 if [ "$CFG_GETIFADDRS" != "no" ]; then
5594 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
5597 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5598 echo "getifaddrs support cannot be enabled due to functionality tests!"
5599 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5600 echo " If you believe this message is in error you may use the continue"
5601 echo " switch (-continue) to $0 to continue."
5610 if [ "$CFG_OPENSSL" != "no" ]; then
5611 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
5612 if [ "$CFG_OPENSSL" = "auto" ]; then
5616 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5617 echo "OpenSSL support cannot be enabled due to functionality tests!"
5618 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5619 echo " If you believe this message is in error you may use the continue"
5620 echo " switch (-continue) to $0 to continue."
5629 if [ "$CFG_PCRE" != "qt" ]; then
5630 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pcre "PCRE" $L_FLAGS $I_FLAGS $l_FLAGS; then
5633 if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5634 echo "PCRE support cannot be enabled due to functionality tests!"
5635 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5636 echo " If you believe this message is in error you may use the continue"
5637 echo " switch (-continue) to $0 to continue."
5645 # detect OpenVG support
5646 if [ "$CFG_OPENVG" != "no" ]; then
5647 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
5648 if [ "$CFG_OPENVG" = "auto" ]; then
5651 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
5652 if [ "$CFG_OPENVG" = "auto" ]; then
5655 CFG_OPENVG_ON_OPENGL=yes
5656 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
5657 if [ "$CFG_OPENVG" = "auto" ]; then
5660 CFG_OPENVG_LC_INCLUDES=yes
5661 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
5662 if [ "$CFG_OPENVG" = "auto" ]; then
5665 CFG_OPENVG_LC_INCLUDES=yes
5666 CFG_OPENVG_ON_OPENGL=yes
5668 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5669 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
5670 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5671 echo " If you believe this message is in error you may use the continue"
5672 echo " switch (-continue) to $0 to continue."
5678 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
5679 CFG_OPENVG_SHIVA=yes
5683 if [ "$CFG_ALSA" = "auto" ]; then
5684 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
5691 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
5692 if [ "$CFG_ARCH" = "arm" ]; then
5693 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
5694 if [ $? != "0" ]; then
5695 CFG_JAVASCRIPTCORE_JIT=no
5698 case "$XPLATFORM" in
5700 CFG_JAVASCRIPTCORE_JIT=no
5706 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
5707 QMakeVar set JAVASCRIPTCORE_JIT yes
5708 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
5709 QMakeVar set JAVASCRIPTCORE_JIT no
5712 if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
5713 CFG_AUDIO_BACKEND=yes
5716 if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
5717 echo "Warning: largefile support cannot be disabled for win32."
5721 #-------------------------------------------------------------------------------
5722 # ask for all that hasn't been auto-detected or specified in the arguments
5723 #-------------------------------------------------------------------------------
5725 # enable dwarf2 support on Mac
5726 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
5727 QT_CONFIG="$QT_CONFIG dwarf2"
5730 # Set the default Mac OS X arch if there are no "-arch" arguments on the configure line
5731 if [ "$BUILD_ON_MAC" = "yes" ]; then
5732 DEFAULT_ARCH="$CFG_MAC_ARCHS"
5733 if [ -z "$DEFAULT_ARCH" ]; then
5734 case `file "${outpath}/bin/qmake"` in
5742 # unsupported/unknown
5746 if [ -n "$DEFAULT_ARCH" ]; then
5747 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting default Mac OS X architechture to $DEFAULT_ARCH."
5748 QT_CONFIG="$QT_CONFIG $DEFAULT_ARCH"
5749 QMAKE_CONFIG="$QMAKE_CONFIG $DEFAULT_ARCH"
5750 # Make the application arch follow the Qt arch for single arch builds.
5751 # (for multiple-arch builds, set CONFIG manually in the application .pro file)
5752 [ `echo "$DEFAULT_ARCH" | wc -w` -eq 1 ] && QTCONFIG_CONFIG="$QTCONFIG_CONFIG $DEFAULT_ARCH"
5757 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
5758 QT_CONFIG="$QT_CONFIG phonon-backend"
5761 # disable accessibility
5762 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
5763 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
5765 QT_CONFIG="$QT_CONFIG accessibility"
5768 # egl stuff does not belong in lighthouse, but rather in plugins
5769 if [ "$PLATFORM_QPA" = "yes" ]; then
5774 if [ "$CFG_EGL" = "no" ]; then
5775 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
5777 QT_CONFIG="$QT_CONFIG egl"
5778 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
5779 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GLES_EGL"
5784 if [ "$CFG_OPENVG" = "no" ]; then
5785 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
5787 QT_CONFIG="$QT_CONFIG openvg"
5788 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
5789 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
5791 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
5792 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
5794 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
5795 QT_CONFIG="$QT_CONFIG shivavg"
5796 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
5801 if [ "$CFG_OPENGL" = "no" ]; then
5802 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
5804 QT_CONFIG="$QT_CONFIG opengl"
5807 if [ "$CFG_OPENGL" = "es2" ]; then
5808 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
5811 if [ "$CFG_OPENGL" = "es2" ]; then
5812 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5813 QT_CONFIG="$QT_CONFIG opengles2"
5816 # safe execution environment
5817 if [ "$CFG_SXE" != "no" ]; then
5818 QT_CONFIG="$QT_CONFIG sxe"
5821 # build up the variables for output
5822 if [ "$CFG_DEBUG" = "yes" ]; then
5823 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
5824 QMAKE_CONFIG="$QMAKE_CONFIG debug"
5825 elif [ "$CFG_DEBUG" = "no" ]; then
5826 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
5827 QMAKE_CONFIG="$QMAKE_CONFIG release"
5829 if [ "$CFG_SHARED" = "yes" ]; then
5830 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
5831 QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
5832 elif [ "$CFG_SHARED" = "no" ]; then
5833 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
5834 QMAKE_CONFIG="$QMAKE_CONFIG static"
5836 if [ "$PLATFORM_QPA" = "yes" ]; then
5837 QMAKE_CONFIG="$QMAKE_CONFIG qpa"
5838 QT_CONFIG="$QT_CONFIG qpa"
5839 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
5840 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5843 if [ "$XPLATFORM_MINGW" != "yes" ]; then
5844 # Do not set this here for Windows. Let qmake do it so
5845 # debug and release precompiled headers are kept separate.
5846 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
5848 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
5849 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
5850 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
5851 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
5852 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5853 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
5855 if [ "$CFG_STL" = "no" ]; then
5856 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STL"
5858 QMAKE_CONFIG="$QMAKE_CONFIG stl"
5860 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
5861 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
5863 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
5864 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
5865 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
5866 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
5867 QMakeVar add QMAKE_CFLAGS -g
5868 QMakeVar add QMAKE_CXXFLAGS -g
5869 QT_CONFIG="$QT_CONFIG separate_debug_info"
5871 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
5872 QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
5874 [ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mmx"
5875 [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow"
5876 [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse"
5877 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
5878 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
5879 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
5880 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
5881 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
5882 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
5883 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
5884 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
5885 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
5886 QT_CONFIG="$QT_CONFIG clock-gettime"
5888 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
5889 QT_CONFIG="$QT_CONFIG clock-monotonic"
5891 if [ "$CFG_MREMAP" = "yes" ]; then
5892 QT_CONFIG="$QT_CONFIG mremap"
5894 if [ "$CFG_GETADDRINFO" = "yes" ]; then
5895 QT_CONFIG="$QT_CONFIG getaddrinfo"
5897 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
5898 QT_CONFIG="$QT_CONFIG ipv6ifname"
5900 if [ "$CFG_GETIFADDRS" = "yes" ]; then
5901 QT_CONFIG="$QT_CONFIG getifaddrs"
5903 if [ "$CFG_INOTIFY" = "yes" ]; then
5904 QT_CONFIG="$QT_CONFIG inotify"
5906 if [ "$CFG_LIBJPEG" = "no" ]; then
5908 elif [ "$CFG_LIBJPEG" = "system" ]; then
5909 QT_CONFIG="$QT_CONFIG system-jpeg"
5911 if [ "$CFG_JPEG" = "no" ]; then
5912 QT_CONFIG="$QT_CONFIG no-jpeg"
5913 elif [ "$CFG_JPEG" = "yes" ]; then
5914 QT_CONFIG="$QT_CONFIG jpeg"
5916 if [ "$CFG_LIBPNG" = "no" ]; then
5919 if [ "$CFG_LIBPNG" = "system" ]; then
5920 QT_CONFIG="$QT_CONFIG system-png"
5922 if [ "$CFG_PNG" = "no" ]; then
5923 QT_CONFIG="$QT_CONFIG no-png"
5924 elif [ "$CFG_PNG" = "yes" ]; then
5925 QT_CONFIG="$QT_CONFIG png"
5927 if [ "$CFG_GIF" = "no" ]; then
5928 QT_CONFIG="$QT_CONFIG no-gif"
5929 elif [ "$CFG_GIF" = "yes" ]; then
5930 QT_CONFIG="$QT_CONFIG gif"
5932 if [ "$CFG_LIBFREETYPE" = "no" ]; then
5933 QT_CONFIG="$QT_CONFIG no-freetype"
5934 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
5935 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
5936 QT_CONFIG="$QT_CONFIG system-freetype"
5938 QT_CONFIG="$QT_CONFIG freetype"
5940 if [ "$CFG_GUI" = "auto" ]; then
5943 if [ "$CFG_GUI" = "no" ]; then
5944 QT_CONFIG="$QT_CONFIG no-gui"
5946 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GUI"
5950 if [ "x$BUILD_ON_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5951 #On Mac we implicitly link against libz, so we
5952 #never use the 3rdparty stuff.
5953 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
5955 if [ "$CFG_ZLIB" = "yes" ]; then
5956 QT_CONFIG="$QT_CONFIG zlib"
5957 elif [ "$CFG_ZLIB" = "system" ]; then
5958 QT_CONFIG="$QT_CONFIG system-zlib"
5961 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
5962 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
5963 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
5964 [ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
5965 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
5966 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
5967 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
5968 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
5969 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
5970 [ "$CFG_NAS" = "system" ] && QT_CONFIG="$QT_CONFIG nas"
5971 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
5972 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
5973 [ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
5974 [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
5975 [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
5977 if [ "$PLATFORM_X11" = "yes" ]; then
5978 [ "$CFG_SM" = "yes" ] && QT_CONFIG="$QT_CONFIG x11sm"
5980 # for some reason, the following libraries are not always built shared,
5981 # so *every* program/lib (including Qt) has to link against them
5982 if [ "$CFG_XSHAPE" = "yes" ]; then
5983 QT_CONFIG="$QT_CONFIG xshape"
5985 if [ "$CFG_XVIDEO" = "yes" ]; then
5986 QT_CONFIG="$QT_CONFIG xvideo"
5988 if [ "$CFG_XSYNC" = "yes" ]; then
5989 QT_CONFIG="$QT_CONFIG xsync"
5991 if [ "$CFG_XINERAMA" = "yes" ]; then
5992 QT_CONFIG="$QT_CONFIG xinerama"
5993 QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11'
5995 if [ "$CFG_XCURSOR" = "yes" ]; then
5996 QT_CONFIG="$QT_CONFIG xcursor"
5997 QMakeVar set QMAKE_LIBS_X11 '-lXcursor $$QMAKE_LIBS_X11'
5999 if [ "$CFG_XFIXES" = "yes" ]; then
6000 QT_CONFIG="$QT_CONFIG xfixes"
6001 QMakeVar set QMAKE_LIBS_X11 '-lXfixes $$QMAKE_LIBS_X11'
6003 if [ "$CFG_XRANDR" = "yes" ]; then
6004 QT_CONFIG="$QT_CONFIG xrandr"
6005 if [ "$CFG_XRENDER" != "yes" ]; then
6006 # libXrandr uses 1 function from libXrender, so we always have to have it :/
6007 QMakeVar set QMAKE_LIBS_X11 '-lXrandr -lXrender $$QMAKE_LIBS_X11'
6009 QMakeVar set QMAKE_LIBS_X11 '-lXrandr $$QMAKE_LIBS_X11'
6012 if [ "$CFG_XRENDER" = "yes" ]; then
6013 QT_CONFIG="$QT_CONFIG xrender"
6014 QMakeVar set QMAKE_LIBS_X11 '-lXrender $$QMAKE_LIBS_X11'
6016 if [ "$CFG_MITSHM" = "yes" ]; then
6017 QT_CONFIG="$QT_CONFIG mitshm"
6019 if [ "$CFG_FONTCONFIG" = "yes" ]; then
6020 QT_CONFIG="$QT_CONFIG fontconfig"
6022 if [ "$CFG_XINPUT" = "yes" ]; then
6023 QMakeVar set QMAKE_LIBS_X11 '-lXi $$QMAKE_LIBS_X11'
6025 if [ "$CFG_XINPUT" = "yes" ]; then
6026 QT_CONFIG="$QT_CONFIG xinput tablet"
6028 if [ "$CFG_XKB" = "yes" ]; then
6029 QT_CONFIG="$QT_CONFIG xkb"
6033 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS"
6034 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
6035 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
6037 if [ "$PLATFORM_MAC" = "yes" ]; then
6038 if [ "$CFG_RPATH" = "yes" ]; then
6039 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
6041 elif [ -z "`getXQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
6042 if [ -n "$RPATH_FLAGS" ]; then
6044 echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
6048 elif [ "$CFG_RPATH" = "yes" ]; then
6049 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
6053 if [ "$CFG_RPATH" = "yes" ]; then
6054 # set the default rpath to the library installation directory
6055 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
6057 if [ -n "$RPATH_FLAGS" ]; then
6058 # add the user defined rpaths
6059 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
6063 if [ '!' -z "$I_FLAGS" ]; then
6064 # add the user define include paths
6065 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
6066 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
6069 if [ '!' -z "$W_FLAGS" ]; then
6070 # add the user defined warning flags
6071 QMakeVar add QMAKE_CFLAGS_WARN_ON "$W_FLAGS"
6072 QMakeVar add QMAKE_CXXFLAGS_WARN_ON "$W_FLAGS"
6073 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS"
6076 # turn off exceptions for the compilers that support it
6077 if [ "$XPLATFORM" != "$PLATFORM" ]; then
6078 COMPILER=`echo $XPLATFORM | cut -f 2- -d-`
6080 COMPILER=`echo $PLATFORM | cut -f 2- -d-`
6083 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6084 QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
6087 if [ "$XPLATFORM_MINGW" = "yes" ]; then
6088 # mkspecs/features/win32/default_pre.prf sets "no-rtti".
6089 # Follow default behavior of configure.exe by overriding with "rtti".
6090 QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
6093 if [ "$CFG_ALSA" = "yes" ]; then
6094 QT_CONFIG="$QT_CONFIG alsa"
6097 if [ "$CFG_PULSEAUDIO" = "yes" ]; then
6098 QT_CONFIG="$QT_CONFIG pulseaudio"
6101 if [ "$CFG_COREWLAN" = "yes" ]; then
6102 QT_CONFIG="$QT_CONFIG corewlan"
6105 if [ "$CFG_ICU" = "yes" ]; then
6106 QT_CONFIG="$QT_CONFIG icu"
6109 if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
6110 QT_CONFIG="$QT_CONFIG force_asserts"
6113 if [ "$CFG_PCRE" = "qt" ]; then
6114 QMAKE_CONFIG="$QMAKE_CONFIG pcre"
6118 # Some Qt modules are too advanced in C++ for some old compilers
6119 # Detect here the platforms where they are known to work.
6121 # See Qt documentation for more information on which features are
6122 # supported and on which compilers.
6124 canBuildQtConcurrent="yes"
6125 canUseV8Snapshot="yes"
6127 case "$XPLATFORM" in
6129 # PA-RISC's assembly is too limited
6130 # gcc 3.4 on that platform can't build QtXmlPatterns
6131 # the assembly it generates cannot be compiled
6133 # Check gcc's version
6134 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
6138 canBuildQtXmlPatterns="no"
6142 canBuildQtXmlPatterns="no"
6146 unsupported/vxworks-*-g++*)
6149 unsupported/vxworks-*-dcc*)
6151 canBuildQtXmlPatterns="no"
6154 # Check gcc's version
6155 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
6163 canBuildQtXmlPatterns="no"
6168 # Check the compiler version
6169 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
6172 canBuildQtXmlPatterns="no"
6173 canBuildQtConcurrent="no"
6177 canBuildQtConcurrent="no"
6183 canBuildQtXmlPatterns="no"
6184 canBuildQtConcurrent="no"
6190 # Get the xlC version
6191 cat > xlcver.c <<EOF
6195 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
6200 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
6201 xlcver=`./xlcver 2>/dev/null`
6204 if [ "$OPT_VERBOSE" = "yes" ]; then
6205 if [ -n "$xlcver" ]; then
6206 echo Found IBM xlC version: $xlcver.
6208 echo Could not determine IBM xlC version, assuming oldest supported.
6215 canBuildQtXmlPatterns="no"
6216 canBuildQtConcurrent="no"
6220 canBuildQtConcurrent="no"
6226 canBuildQtConcurrent="no"
6230 if [ "$CFG_GUI" = "no" ]; then
6231 # WebKit requires QtGui
6235 if [ "$CFG_SHARED" = "no" ]; then
6237 echo "WARNING: Using static linking will disable the WebKit module."
6242 CFG_CONCURRENT="yes"
6243 if [ "$canBuildQtConcurrent" = "no" ]; then
6244 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
6247 QT_CONFIG="$QT_CONFIG concurrent"
6251 if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
6252 QT_CONFIG="$QT_CONFIG audio-backend"
6256 if [ "$CFG_WEBKIT" = "debug" ]; then
6257 QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
6261 QT_CONFIG="$QT_CONFIG v8"
6262 # Detect snapshot support
6263 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
6264 case "$CFG_HOST_ARCH,$CFG_ARCH" in
6267 *) canUseV8Snapshot="no"
6271 if [ -n "$_SBOX_DIR" -a "$CFG_ARCH" = "arm" ]; then
6272 # QEMU crashes when building inside Scratchbox with an ARM target
6273 canUseV8Snapshot="no"
6276 if [ "$CFG_V8SNAPSHOT" = "auto" ]; then
6277 CFG_V8SNAPSHOT="$canUseV8Snapshot"
6279 if [ "$CFG_V8SNAPSHOT" = "yes" -a "$canUseV8Snapshot" = "no" ]; then
6280 echo "Error: V8 snapshot was requested, but is not supported on this platform."
6283 if [ "$CFG_V8SNAPSHOT" = "yes" ]; then
6284 QT_CONFIG="$QT_CONFIG v8snapshot"
6288 if [ "$CFG_DECLARATIVE_DEBUG" = "no" ]; then
6289 QCONFIG_FLAGS="$QCONFIG_FLAGS QDECLARATIVE_NO_DEBUG_PROTOCOL"
6292 if [ "$CFG_EXCEPTIONS" = "no" ]; then
6295 QMakeVar add QMAKE_CFLAGS -fno-exceptions
6296 QMakeVar add QMAKE_CXXFLAGS -fno-exceptions
6297 QMakeVar add QMAKE_LFLAGS -fno-exceptions
6302 QMakeVar add QMAKE_CFLAGS -LANG:exceptions=off
6303 QMakeVar add QMAKE_CXXFLAGS -LANG:exceptions=off
6304 QMakeVar add QMAKE_LFLAGS -LANG:exceptions=off
6311 QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off"
6317 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
6319 case "$COMPILER_VERSION" in
6321 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
6322 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
6323 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
6326 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
6327 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
6328 QT_GCC_PATCH_VERSION=0
6338 #-------------------------------------------------------------------------------
6339 # part of configuration information goes into qconfig.h
6340 #-------------------------------------------------------------------------------
6342 case "$CFG_QCONFIG" in
6344 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
6347 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
6348 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
6349 if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
6350 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
6351 elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
6352 cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
6354 echo "#endif" >>"$tmpconfig"
6358 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6362 # define QT_EDITION $QT_EDITION
6366 CFG_ARCH_STR=`echo $CFG_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6367 CFG_HOST_ARCH_STR=`echo $CFG_HOST_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6368 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6369 /* Machine Architecture */
6370 #ifndef QT_BOOTSTRAPPED
6371 # define QT_ARCH_${CFG_ARCH_STR}
6373 # define QT_ARCH_${CFG_HOST_ARCH_STR}
6377 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
6378 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
6380 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
6381 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
6384 if [ "$CFG_FRAMEWORK" = "yes" ]; then
6385 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
6388 if [ "$BUILD_ON_MAC" = "yes" ]; then
6389 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6390 #if defined(__LP64__)
6391 # define QT_POINTER_SIZE 8
6393 # define QT_POINTER_SIZE 4
6397 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6398 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
6401 #REDUCE_RELOCATIONS is a elf/unix only thing, so not in windows configure.exe
6402 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
6403 echo "#define QT_REDUCE_RELOCATIONS" >>"$outpath/src/corelib/global/qconfig.h.new"
6407 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6409 if [ "$CFG_DEV" = "yes" ]; then
6410 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
6413 if [ "$PLATFORM_QPA" = "yes" ]; then
6414 # Add QPA to config.h
6415 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
6418 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
6419 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
6422 # Add turned on SQL drivers
6423 for DRIVER in $CFG_SQL_AVAILABLE; do
6424 eval "VAL=\$CFG_SQL_$DRIVER"
6427 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6428 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
6429 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
6432 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
6438 QMakeVar set sql-drivers "$SQL_DRIVERS"
6439 QMakeVar set sql-plugins "$SQL_PLUGINS"
6441 # Add other configuration options to the qconfig.h file
6442 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
6443 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
6444 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
6445 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
6446 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
6447 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
6448 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
6450 # X11/Unix/Mac only configs
6451 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
6452 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
6453 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
6454 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
6455 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
6456 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
6457 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
6458 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
6459 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
6460 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
6461 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
6462 [ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NAS"
6463 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
6464 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
6465 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
6467 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
6468 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
6469 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
6470 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
6471 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
6472 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
6473 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
6474 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
6475 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
6476 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
6477 [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
6478 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
6479 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
6481 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
6482 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
6483 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
6484 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
6485 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
6486 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
6487 [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
6488 [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
6490 # sort QCONFIG_FLAGS for neatness if we can
6491 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
6492 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
6494 if [ -n "$QCONFIG_FLAGS" ]; then
6495 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6496 #ifndef QT_BOOTSTRAPPED
6499 for cfg in $QCONFIG_FLAGS; do
6500 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
6501 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
6502 # figure out define logic, so we can output the correct
6503 # ifdefs to override the global defines in a project
6505 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
6506 # QT_NO_option can be forcefully turned on by QT_option
6507 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
6508 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
6509 # QT_option can be forcefully turned off by QT_NO_option
6510 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
6513 if [ -z $cfgdNeg ]; then
6514 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6521 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6522 #if defined($cfgd) && defined($cfgdNeg)
6524 #elif !defined($cfgd) && !defined($cfgdNeg)
6531 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6532 #endif // QT_BOOTSTRAPPED
6537 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
6538 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6539 #define QT_VISIBILITY_AVAILABLE
6544 if [ -n "$QT_LIBINFIX" ]; then
6545 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6546 #define QT_LIBINFIX "$QT_LIBINFIX"
6551 # avoid unecessary rebuilds by copying only if qconfig.h has changed
6552 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
6553 rm -f "$outpath/src/corelib/global/qconfig.h.new"
6555 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
6556 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
6557 chmod -w "$outpath/src/corelib/global/qconfig.h"
6558 if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then
6559 ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h"
6563 #-------------------------------------------------------------------------------
6564 # save configuration into qconfig.pri
6565 #-------------------------------------------------------------------------------
6566 QTCONFIG="$outpath/mkspecs/qconfig.pri"
6567 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
6568 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
6569 if [ "$CFG_DEBUG" = "yes" ]; then
6570 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
6571 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6572 QT_CONFIG="$QT_CONFIG release"
6574 QT_CONFIG="$QT_CONFIG debug"
6575 elif [ "$CFG_DEBUG" = "no" ]; then
6576 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
6577 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6578 QT_CONFIG="$QT_CONFIG debug"
6580 QT_CONFIG="$QT_CONFIG release"
6582 if [ "$CFG_STL" = "yes" ]; then
6583 QTCONFIG_CONFIG="$QTCONFIG_CONFIG stl"
6585 if [ "$CFG_FRAMEWORK" = "no" ]; then
6586 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
6588 QT_CONFIG="$QT_CONFIG qt_framework"
6589 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
6591 if [ "$CFG_DEV" = "yes" ]; then
6592 QT_CONFIG="$QT_CONFIG private_tests"
6595 cat >>"$QTCONFIG.tmp" <<EOF
6597 CONFIG += $QTCONFIG_CONFIG
6599 QT_EDITION = $Edition
6600 QT_CONFIG += $QT_CONFIG
6603 QT_VERSION = $QT_VERSION
6604 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
6605 QT_MINOR_VERSION = $QT_MINOR_VERSION
6606 QT_PATCH_VERSION = $QT_PATCH_VERSION
6609 QT_LIBINFIX = $QT_LIBINFIX
6610 QT_NAMESPACE = $QT_NAMESPACE
6613 if [ -n "$CFG_SYSROOT" ]; then
6614 echo "# sysroot" >>"$QTCONFIG.tmp"
6615 echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
6616 echo " QMAKE_CFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
6617 echo " QMAKE_CXXFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
6618 echo " QMAKE_LFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
6619 echo "}" >> "$QTCONFIG.tmp"
6620 echo >> "$QTCONFIG.tmp"
6622 if [ "$CFG_RPATH" = "yes" ]; then
6623 echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
6625 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
6626 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
6627 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
6628 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
6631 if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
6632 echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
6633 echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp"
6636 # replace qconfig.pri if it differs from the newly created temp file
6637 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
6638 rm -f "$QTCONFIG.tmp"
6640 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
6643 #-------------------------------------------------------------------------------
6644 # save configuration into qmodule.pri
6645 #-------------------------------------------------------------------------------
6646 QTMODULE="$outpath/mkspecs/qmodule.pri"
6648 echo "CONFIG += create_prl link_prl" >> "$QTMODULE.tmp"
6650 # Ensure we can link to uninistalled libraries
6651 if [ "$BUILD_ON_MAC" != "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
6652 echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
6654 if [ -n "$QT_CFLAGS_PSQL" ]; then
6655 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
6657 if [ -n "$QT_LFLAGS_PSQL" ]; then
6658 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
6660 if [ -n "$QT_CFLAGS_MYSQL" ]; then
6661 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
6663 if [ -n "$QT_LFLAGS_MYSQL" ]; then
6664 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
6666 if [ -n "$QT_CFLAGS_SQLITE" ]; then
6667 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
6669 if [ -n "$QT_LFLAGS_SQLITE" ]; then
6670 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
6672 if [ -n "$QT_LFLAGS_ODBC" ]; then
6673 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
6675 if [ -n "$QT_LFLAGS_TDS" ]; then
6676 echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
6679 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
6680 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
6683 #dump in the OPENSSL_LIBS info
6684 if [ '!' -z "$OPENSSL_LIBS" ]; then
6685 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
6686 elif [ "$CFG_OPENSSL" = "linked" ]; then
6687 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
6690 #dump in the SDK info
6691 if [ '!' -z "$CFG_SDK" ]; then
6692 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
6696 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
6697 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
6699 # replace qmodule.pri if it differs from the newly created temp file
6700 if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
6701 rm -f "$QTMODULE.tmp"
6703 mv -f "$QTMODULE.tmp" "$QTMODULE"
6706 #-------------------------------------------------------------------------------
6707 # save configuration into .qmake.cache
6708 #-------------------------------------------------------------------------------
6710 CACHEFILE="$outpath/.qmake.cache"
6711 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
6712 cat >>"$CACHEFILE.tmp" <<EOF
6714 QT_SOURCE_TREE = \$\$quote($relpath)
6715 QT_BUILD_TREE = \$\$quote($outpath)
6716 QT_BUILD_PARTS = $CFG_BUILD_PARTS
6718 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
6719 QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
6720 QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
6721 QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
6722 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
6723 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
6725 include(\$\$PWD/mkspecs/qmodule.pri)
6726 CONFIG += $QMAKE_CONFIG dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
6727 QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
6728 QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
6732 #dump the qmake spec
6733 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
6734 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
6736 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
6741 [ "$CFG_INCREMENTAL" = "auto" ] && "$WHICH" p4 >/dev/null 2>&1 && [ "$CFG_DEV" = "yes" ] && CFG_INCREMENTAL="yes"
6742 if [ "$CFG_INCREMENTAL" = "yes" ]; then
6743 find "$relpath" -perm u+w -mtime -3 | grep 'cpp$' | while read f; do
6744 # don't need to worry about generated files
6745 [ -r `echo $f | sed "s,cpp$,ui,"` ] && continue
6746 basename "$f" | grep '^moc_' >/dev/null 2>&1 && continue
6748 INCREMENTAL="$INCREMENTAL `basename \"$f\" | sed 's,.cpp,.o,'`"
6750 [ '!' -z "$INCREMENTAL" ] && echo "QMAKE_INCREMENTAL += $INCREMENTAL" >> "$CACHEFILE.tmp"
6751 [ -r "$outpath/.qmake.incremental" ] && echo "include($outpath/.qmake.incremental)" >> "$CACHEFILE.tmp"
6754 # replace .qmake.cache if it differs from the newly created temp file
6755 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
6756 rm -f "$CACHEFILE.tmp"
6758 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
6761 #-------------------------------------------------------------------------------
6762 # give feedback on configuration
6763 #-------------------------------------------------------------------------------
6767 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6770 This target is using the GNU C++ compiler ($PLATFORM).
6772 Recent versions of this compiler automatically include code for
6773 exceptions, which increase both the size of the Qt libraries and
6774 the amount of memory taken by your applications.
6776 You may choose to re-run `basename $0` with the -no-exceptions
6777 option to compile Qt without exceptions. This is completely binary
6778 compatible, and existing applications will continue to work.
6786 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6789 This target is using the MIPSpro C++ compiler ($PLATFORM).
6791 You may choose to re-run `basename $0` with the -no-exceptions
6792 option to compile Qt without exceptions. This will make the
6793 size of the Qt library smaller and reduce the amount of memory
6794 taken by your applications.
6806 if [ "$XPLATFORM" = "$PLATFORM" ]; then
6807 echo "Build type: $PLATFORM"
6809 echo "Building on: $PLATFORM"
6810 echo "Building for: $XPLATFORM"
6813 if [ ! -z "$CFG_MAC_ARCHS" ]; then
6814 echo "Architecture: $CFG_ARCH ($CFG_MAC_ARCHS )"
6816 echo "Architecture: $CFG_ARCH"
6819 if [ "$PLATFORM_QPA" = "yes" ]; then
6820 echo "Host architecture: $CFG_HOST_ARCH"
6823 if [ -n "$PLATFORM_NOTES" ]; then
6824 echo "Platform notes:"
6825 echo "$PLATFORM_NOTES"
6830 if [ "$OPT_VERBOSE" = "yes" ]; then
6831 echo $ECHO_N "qmake vars .......... $ECHO_C"
6832 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
6833 echo "qmake switches ......... $QMAKE_SWITCHES"
6836 [ "$CFG_INCREMENTAL" = "yes" ] && [ '!' -z "$INCREMENTAL" ] && echo "Incremental ............ $INCREMENTAL"
6837 echo "Build .................. $CFG_BUILD_PARTS"
6838 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
6839 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6840 echo "Debug .................. yes (combined)"
6841 if [ "$CFG_DEBUG" = "yes" ]; then
6842 echo "Default Link ........... debug"
6844 echo "Default Link ........... release"
6847 echo "Debug .................. $CFG_DEBUG"
6849 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
6850 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
6851 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
6852 echo "QtConcurrent code ...... $CFG_CONCURRENT"
6853 echo "QtGui module ........... $CFG_GUI"
6854 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
6855 echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
6857 echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
6859 echo "Declarative debugging ...$CFG_DECLARATIVE_DEBUG"
6860 echo "STL support ............ $CFG_STL"
6861 echo "PCH support ............ $CFG_PRECOMPILE"
6862 echo "MMX/3DNOW/SSE/SSE2/SSE3. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}/${CFG_SSE3}"
6863 echo "SSSE3/SSE4.1/SSE4.2..... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
6864 echo "AVX..................... ${CFG_AVX}"
6865 if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then
6866 echo "iWMMXt support ......... ${CFG_IWMMXT}"
6867 echo "NEON support ........... ${CFG_NEON}"
6869 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
6870 echo "getaddrinfo support .... $CFG_GETADDRINFO"
6871 echo "getifaddrs support ..... $CFG_GETIFADDRS"
6872 echo "Accessibility .......... $CFG_ACCESSIBILITY"
6873 echo "NIS support ............ $CFG_NIS"
6874 echo "CUPS support ........... $CFG_CUPS"
6875 echo "Iconv support .......... $CFG_ICONV"
6876 echo "Glib support ........... $CFG_GLIB"
6877 echo "GStreamer support ...... $CFG_GSTREAMER"
6878 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
6879 echo "Large File support ..... $CFG_LARGEFILE"
6880 echo "GIF support ............ $CFG_GIF"
6881 if [ "$CFG_JPEG" = "no" ]; then
6882 echo "JPEG support ........... $CFG_JPEG"
6884 echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
6886 if [ "$CFG_PNG" = "no" ]; then
6887 echo "PNG support ............ $CFG_PNG"
6889 echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
6891 echo "zlib support ........... $CFG_ZLIB"
6892 echo "Session management ..... $CFG_SM"
6894 if [ "$CFG_OPENGL" = "desktop" ]; then
6895 echo "OpenGL support ......... yes (Desktop OpenGL)"
6896 elif [ "$CFG_OPENGL" = "es2" ]; then
6897 echo "OpenGL support ......... yes (OpenGL ES 2.x)"
6899 echo "OpenGL support ......... no"
6901 if [ "$CFG_EGL" != "no" ]; then
6902 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
6903 echo "EGL support ............ yes <GLES/egl.h>"
6905 echo "EGL support ............ yes <EGL/egl.h>"
6908 if [ "$CFG_OPENVG" ]; then
6909 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
6910 echo "OpenVG support ......... ShivaVG"
6912 echo "OpenVG support ......... $CFG_OPENVG"
6915 if [ "$PLATFORM_X11" = "yes" ]; then
6916 echo "NAS sound support ...... $CFG_NAS"
6917 echo "XShape support ......... $CFG_XSHAPE"
6918 echo "XVideo support ......... $CFG_XVIDEO"
6919 echo "XSync support .......... $CFG_XSYNC"
6920 echo "Xinerama support ....... $CFG_XINERAMA"
6921 echo "Xcursor support ........ $CFG_XCURSOR"
6922 echo "Xfixes support ......... $CFG_XFIXES"
6923 echo "Xrandr support ......... $CFG_XRANDR"
6924 echo "Xi support ............. $CFG_XINPUT"
6925 echo "MIT-SHM support ........ $CFG_MITSHM"
6926 echo "FontConfig support ..... $CFG_FONTCONFIG"
6927 echo "XKB Support ............ $CFG_XKB"
6928 echo "immodule support ....... $CFG_IM"
6929 echo "GTK theme support ...... $CFG_QGTKSTYLE"
6931 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
6932 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
6933 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
6934 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
6935 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
6936 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
6937 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
6938 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
6939 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
6942 if [ "$CFG_OPENSSL" = "yes" ]; then
6943 OPENSSL_LINKAGE="(run-time)"
6944 elif [ "$CFG_OPENSSL" = "linked" ]; then
6945 OPENSSL_LINKAGE="(linked)"
6947 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
6948 echo "Alsa support ........... $CFG_ALSA"
6949 if [ "$BUILD_ON_MAC" = "yes" ]; then
6950 echo "CoreWlan support ....... $CFG_COREWLAN"
6952 echo "libICU support ......... $CFG_ICU"
6953 echo "PCRE support ........... $CFG_PCRE"
6954 if [ "$CFG_XCB_LIMITED" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6955 echo "Xcb support ............ limited (old version)"
6957 echo "Xcb support ............ $CFG_XCB"
6959 echo "Xrender support ........ $CFG_XRENDER"
6960 if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6961 echo "XInput2 support ........ $CFG_XINPUT2"
6965 # complain about not being able to use dynamic plugins if we are using a static build
6966 if [ "$CFG_SHARED" = "no" ]; then
6968 echo "WARNING: Using static linking will disable the use of dynamically"
6969 echo "loaded plugins. Make sure to import all needed static plugins,"
6970 echo "or compile needed modules into the library."
6973 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
6975 echo "NOTE: When linking against OpenSSL, you can override the default"
6976 echo "library names through OPENSSL_LIBS."
6978 echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
6981 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
6983 echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
6984 echo "if you want a pure debug build."
6989 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
6994 #-------------------------------------------------------------------------------
6995 # build makefiles based on the configuration
6996 #-------------------------------------------------------------------------------
6998 echo "Finding project files. Please wait..."
6999 if [ "$CFG_NOPROCESS" != "yes" ]; then
7000 "$outpath/bin/qmake" -prl -r "${relpath}/qtbase.pro"
7001 if [ -f "${relpath}/qtbase.pro" ]; then
7002 mkfile="${outpath}/Makefile"
7003 [ -f "$mkfile" ] && chmod +w "$mkfile"
7004 QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/qtbase.pro" -o "$mkfile"
7008 # .projects -> projects to process
7009 # .projects.1 -> qt and moc
7010 # .projects.2 -> subdirs and libs
7011 # .projects.3 -> the rest
7012 rm -f .projects .projects.1 .projects.2 .projects.3
7014 QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
7015 if [ -z "$AWK" ]; then
7016 for p in `echo $QMAKE_PROJECTS`; do
7017 echo "$p" >> .projects
7020 cat >projects.awk <<EOF
7026 first = "./.projects.1.tmp"
7027 second = "./.projects.2.tmp"
7028 third = "./.projects.3.tmp"
7033 if ( ! target_file )
7035 print input_file >target_file
7040 input_file = FILENAME
7045 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
7048 } else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) {
7049 target_file = second
7054 matched_target == 0 && /^(TEMPLATE.*=)/ {
7055 if ( \$3 == "subdirs" )
7056 target_file = second
7057 else if ( \$3 == "lib" )
7063 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
7064 if ( \$0 ~ /plugin/ )
7067 target_file = second
7072 if ( ! target_file )
7074 print input_file >>target_file
7081 for p in `echo $QMAKE_PROJECTS`; do
7082 echo "$p" >> .projects.all
7085 # if you get errors about the length of the command line to awk, change the -l arg
7087 split -l 100 .projects.all .projects.all.
7088 for p in .projects.all.*; do
7089 "$AWK" -f projects.awk `cat $p`
7090 [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
7091 [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
7092 [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
7093 rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
7095 rm -f .projects.all* projects.awk
7097 [ -f .projects.1 ] && cat .projects.1 >>.projects
7098 [ -f .projects.2 ] && cat .projects.2 >>.projects
7099 rm -f .projects.1 .projects.2
7100 if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
7101 cat .projects.3 >>.projects
7105 # don't sort Qt and MOC in with the other project files
7106 # also work around a segfaulting uniq(1)
7107 if [ -f .sorted.projects.2 ]; then
7108 sort .sorted.projects.2 > .sorted.projects.2.new
7109 mv -f .sorted.projects.2.new .sorted.projects.2
7110 cat .sorted.projects.2 >> .sorted.projects.1
7112 [ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
7113 rm -f .sorted.projects.2 .sorted.projects.1
7117 if [ -f .projects ]; then
7118 uniq .projects >.tmp
7119 mv -f .tmp .projects
7120 NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
7122 if [ -f .projects.3 ]; then
7123 uniq .projects.3 >.tmp
7124 mv -f .tmp .projects.3
7125 FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
7127 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
7131 for part in $CFG_BUILD_PARTS; do
7133 tools) PART_ROOTS="$PART_ROOTS tools" ;;
7134 libs) PART_ROOTS="$PART_ROOTS src" ;;
7135 translations) PART_ROOTS="$PART_ROOTS translations" ;;
7136 examples) PART_ROOTS="$PART_ROOTS examples" ;;
7141 if [ "$CFG_DEV" = "yes" ]; then
7142 PART_ROOTS="$PART_ROOTS tests"
7145 echo "Creating makefiles. Please wait..."
7146 for file in .projects .projects.3; do
7147 [ '!' -f "$file" ] && continue
7148 for a in `cat $file`; do
7150 for r in $PART_ROOTS; do
7151 if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
7156 [ "$IN_ROOT" = "no" ] && continue
7159 *winmain/winmain.pro)
7160 if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_MINGW" != "yes" ]; then
7164 */qmake/qmake.pro) continue ;;
7165 *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*) SPEC=$QMAKESPEC ;;
7166 *) if [ "$CFG_NOPROCESS" = "yes" ]; then
7172 dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
7173 test -d "$dir" || mkdir -p "$dir"
7174 OUTDIR="$outpath/$dir"
7175 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
7176 # fast configure - the makefile exists, skip it
7177 # since the makefile exists, it was generated by qmake, which means we
7178 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
7180 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
7183 QMAKE_SPEC_ARGS="-spec $SPEC"
7184 echo $ECHO_N " for $a$ECHO_C"
7186 QMAKE="$outpath/bin/qmake"
7187 QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
7188 if [ "$file" = ".projects.3" ]; then
7191 cat >"${OUTDIR}/Makefile" <<EOF
7192 # ${OUTDIR}/Makefile: generated by configure
7194 # WARNING: This makefile will be replaced with a real makefile.
7195 # All changes made to this file will be lost.
7197 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
7199 cat >>"${OUTDIR}/Makefile" <<EOF
7201 all clean install qmake first Makefile: FORCE
7202 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
7210 if [ "$OPT_VERBOSE" = "yes" ]; then
7211 echo " (`basename $SPEC`)"
7212 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7217 [ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
7218 QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7222 rm -f .projects .projects.3
7224 #-------------------------------------------------------------------------------
7225 # check for platforms that we don't yet know about
7226 #-------------------------------------------------------------------------------
7227 if [ "$CFG_ARCH" = "generic" ]; then
7230 NOTICE: Atomic operations are not yet supported for this
7233 Qt will use the 'generic' architecture instead, which uses a
7234 single pthread_mutex_t to protect all atomic operations. This
7235 implementation is the slow (but safe) fallback implementation
7236 for architectures Qt does not yet support.
7240 #-------------------------------------------------------------------------------
7241 # check if the user passed the -no-zlib option, which is no longer supported
7242 #-------------------------------------------------------------------------------
7243 if [ -n "$ZLIB_FORCED" ]; then
7244 which_zlib="supplied"
7245 if [ "$CFG_ZLIB" = "system" ]; then
7251 NOTICE: The -no-zlib option was supplied but is no longer
7254 Qt now requires zlib support in all builds, so the -no-zlib
7255 option was ignored. Qt will be built using the $which_zlib
7260 #-------------------------------------------------------------------------------
7261 # finally save the executed command to another script
7262 #-------------------------------------------------------------------------------
7263 if [ `basename $0` != "config.status" ]; then
7264 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
7266 # add the system variables
7267 for varname in $SYSTEM_VARIABLES; do
7269 'if [ -n "\$'${varname}'" ]; then
7270 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
7275 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
7277 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
7278 echo "#!/bin/sh" > "$outpath/config.status"
7279 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
7280 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
7281 echo "else" >> "$outpath/config.status"
7282 echo " $CONFIG_STATUS" >> "$outpath/config.status"
7283 echo "fi" >> "$outpath/config.status"
7284 chmod +x "$outpath/config.status"
7287 if [ -n "$RPATH_MESSAGE" ]; then
7289 echo "$RPATH_MESSAGE"
7292 MAKE=`basename "$MAKE"`
7294 echo Qt is now configured for building. Just run \'$MAKE\'.
7295 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
7296 echo Once everything is built, Qt is installed.
7297 echo You should not run \'$MAKE install\'.
7299 echo Once everything is built, you must run \'$MAKE install\'.
7300 echo Qt will be installed into $QT_INSTALL_PREFIX
7303 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.