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
366 echo "No license exists to enable Qt QPA. Disabling."
373 COMMERCIAL_USER="yes"
387 if [ "$COMMERCIAL_USER" = "ask" ]; then
389 echo "Which edition of Qt do you want to use ?"
391 echo "Type 'c' if you want to use the Commercial Edition."
392 echo "Type 'o' if you want to use the Open Source Edition."
396 if [ "$commercial" = "c" ]; then
397 COMMERCIAL_USER="yes"
399 elif [ "$commercial" = "o" ]; then
406 if [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes" ]; then
407 # Commercial preview release
408 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
411 QT_EDITION="QT_EDITION_DESKTOP"
412 LicenseType="Technology Preview"
413 elif [ $COMMERCIAL_USER = "yes" ]; then
414 # one of commercial editions
415 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
416 [ "$PLATFORM_QPA" = "maybe" ] && PLATFORM_QPA=no
418 # read in the license file
419 if [ -f "$LICENSE_FILE" ]; then
420 . "$LICENSE_FILE" >/dev/null 2>&1
421 if [ -z "$LicenseKeyExt" ]; then
423 echo "You are using an old license file."
425 echo "Please install the license file supplied by Nokia,"
426 echo "or install the Qt Open Source Edition if you intend to"
427 echo "develop free software."
430 if [ -z "$Licensee" ]; then
432 echo "Invalid license key. Please check the license key."
436 if [ -z "$LicenseKeyExt" ]; then
438 echo $ECHO_N "Please enter your license key: $ECHO_C"
440 Licensee="Unknown user"
445 echo "$LicenseKeyExt" | grep ".....*-....*-....*-....*-.....*-.....*-...." >/dev/null 2>&1 \
446 && LicenseValid="yes" \
448 if [ "$LicenseValid" != "yes" ]; then
450 echo "Invalid license key. Please check the license key."
453 ProductCode=`echo $LicenseKeyExt | cut -f 1 -d - | cut -b 1`
454 PlatformCode=`echo $LicenseKeyExt | cut -f 2 -d -`
455 LicenseTypeCode=`echo $LicenseKeyExt | cut -f 3 -d -`
456 LicenseFeatureCode=`echo $LicenseKeyExt | cut -f 4 -d - | cut -b 1`
458 # determine which edition we are licensed to use
459 case "$LicenseTypeCode" in
461 LicenseType="Commercial"
465 QT_EDITION="QT_EDITION_UNIVERSAL"
468 Edition="FullFramework"
469 EditionString="Full Framework"
470 QT_EDITION="QT_EDITION_DESKTOP"
473 Edition="GUIFramework"
474 EditionString="GUI Framework"
475 QT_EDITION="QT_EDITION_DESKTOPLIGHT"
480 LicenseType="Evaluation"
481 QMakeVar add DEFINES QT_EVAL
485 QT_EDITION="QT_EDITION_EVALUATION"
490 if [ -z "$LicenseType" -o -z "$Edition" -o -z "$QT_EDITION" ]; then
492 echo "Invalid license key. Please check the license key."
496 # verify that we are licensed to use Qt on this platform
498 case "$PlatformCode" in
501 PlatformCode=`echo "$PlatformCode" | sed 'h;y/8NPQRTZ/UCWX9M7/;x;G;s/\(.\)....\(.\)./\1\2/'`
505 PlatformCode=`echo "$PlatformCode" | sed 's/.$//'`
508 ### EMBEDDED_QPA logic missing ###
509 case "$PlatformCode,$PLATFORM_MAC,$PLATFORM_QWS" in
510 X9,* | XC,* | XU,* | XW,* | XM,*)
512 LICENSE_EXTENSION="-ALLOS"
514 8M,* | KM,* | S9,* | SC,* | SM,* | SU,* | SW,* | X9,* | XC,* | XU,* | XW,*)
515 # Qt for Embedded Linux
516 LICENSE_EXTENSION="-EMBEDDED"
518 6M,*,no | N7,*,no | N9,*,no | NX,*,no)
520 LICENSE_EXTENSION="-EMBEDDED"
522 FM,*,no | LM,yes,* | ZM,no,no)
524 LICENSE_EXTENSION="-DESKTOP"
528 [ "$PLATFORM_MAC" = "yes" ] && Platform='Mac OS X'
530 echo "You are not licensed for the $Platform platform."
532 echo "Please contact qt-info@nokia.com to upgrade your license to"
533 echo "include the $Platform platform, or install the Qt Open Source Edition"
534 echo "if you intend to develop free software."
539 if test -r "$relpath/.LICENSE"; then
540 # Generic, non-final license
542 line=`sed 'y/a-z/A-Z/;q' "$relpath"/.LICENSE`
547 *TECHNOLOGY?PREVIEW*)
554 echo >&2 "Invalid license files; cannot continue"
559 EditionString="$Edition"
560 QT_EDITION="QT_EDITION_DESKTOP"
563 case "$LicenseFeatureCode" in
566 case "$LicenseType" in
568 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}-US" "$outpath/LICENSE"
571 cp -f "$relpath/.LICENSE-EVALUATION-US" "$outpath/LICENSE"
577 case "$LicenseType" in
579 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}" "$outpath/LICENSE"
582 cp -f "$relpath/.LICENSE-EVALUATION" "$outpath/LICENSE"
588 echo "Invalid license key. Please check the license key."
592 case "$LicenseFeatureCode" in
600 if [ '!' -f "$outpath/LICENSE" ]; then
601 echo "The LICENSE, LICENSE.GPL3 LICENSE.LGPL file shipped with"
602 echo "this software has disappeared."
604 echo "Sorry, you are not licensed to use this software."
605 echo "Try re-installing."
609 elif [ $COMMERCIAL_USER = "no" ]; then
610 # Open Source edition - may only be used under the terms of the GPL or LGPL.
611 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
612 Licensee="Open Source"
614 EditionString="Open Source"
615 QT_EDITION="QT_EDITION_OPENSOURCE"
618 #-------------------------------------------------------------------------------
619 # initalize variables
620 #-------------------------------------------------------------------------------
622 SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
623 for varname in $SYSTEM_VARIABLES; do
624 qmakevarname="${varname}"
625 # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
626 if [ "${varname}" = "LDFLAGS" ]; then
627 qmakevarname="LFLAGS"
628 elif [ "${varname}" = "LD" ]; then
632 'if [ -n "\$'${varname}'" ]; then
633 QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'"
637 # Use CC/CXX to run config.tests
638 mkdir -p "$outpath/config.tests"
639 rm -f "$outpath/config.tests/.qmake.cache"
640 cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
642 QMakeVar add styles "cde mac motif plastique cleanlooks windows"
643 QMakeVar add decorations "default windows styled"
644 QMakeVar add mouse-drivers "pc"
645 if [ "$UNAME_SYSTEM" = "Linux" ] ; then
646 QMakeVar add gfx-drivers "linuxfb"
647 QMakeVar add mouse-drivers "linuxtp"
649 QMakeVar add kbd-drivers "tty"
651 if [ "$CFG_DEV" = "yes" ]; then
652 QMakeVar add kbd-drivers "um"
655 # QTDIR may be set and point to an old or system-wide Qt installation
658 # the minimum version of libdbus-1 that we require:
659 MIN_DBUS_1_VERSION=0.93
661 # initalize internal variables
662 CFG_CONFIGURE_EXIT_ON_ERROR=yes
664 CFG_EXCEPTIONS=unspecified
665 CFG_GUI=auto # (yes|no|auto)
691 CFG_OPENVG_LC_INCLUDES=no
692 CFG_OPENVG_SHIVA=auto
693 CFG_OPENVG_ON_OPENGL=auto
695 CFG_EGL_GLES_INCLUDES=no
700 QT_DEFAULT_BUILD_PARTS="libs examples tests"
704 CFG_AUDIO_BACKEND=auto
706 CFG_DECLARATIVE_DEBUG=yes
707 CFG_JAVASCRIPTCORE_JIT=auto
709 CFG_GFX_AVAILABLE="linuxfb transformed qvfb vnc multiscreen directfb"
710 CFG_GFX_ON="linuxfb multiscreen"
711 CFG_GFX_PLUGIN_AVAILABLE=
714 CFG_KBD_AVAILABLE="tty linuxinput qvfb"
715 CFG_KBD_ON="tty" #default, see QMakeVar above
716 CFG_MOUSE_AVAILABLE="pc linuxtp linuxinput tslib qvfb"
717 CFG_MOUSE_ON="pc linuxtp" #default, see QMakeVar above
721 CFG_KBD_PLUGIN_AVAILABLE=
724 CFG_MOUSE_PLUGIN_AVAILABLE=
729 CFG_DECORATION_AVAILABLE="styled windows default"
730 CFG_DECORATION_ON="${CFG_DECORATION_AVAILABLE}" # all on by default
731 CFG_DECORATION_PLUGIN_AVAILABLE=
732 CFG_DECORATION_PLUGIN=
752 CFG_SEPARATE_DEBUG_INFO=no
753 CFG_SEPARATE_DEBUG_INFO_NOCOPY=no
754 CFG_REDUCE_EXPORTS=auto
764 CFG_REDUCE_RELOCATIONS=auto
766 CFG_ACCESSIBILITY=auto
769 CFG_DOUBLEFORMAT=auto
773 CFG_CLOCK_GETTIME=auto
774 CFG_CLOCK_MONOTONIC=auto
783 MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
787 CFG_PREFIX_INSTALL=yes
796 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
797 XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
801 OPT_CONFIRM_LICENSE=no
815 # initalize variables used for installation
824 QT_INSTALL_TRANSLATIONS=
830 #flags for SQL drivers
838 QT_LFLAGS_ODBC="-lodbc"
841 # flags for libdbus-1
845 # flags for Glib (X11 only)
849 # flags for GStreamer (X11 only)
853 #-------------------------------------------------------------------------------
854 # check SQL drivers, mouse drivers and decorations available in this package
855 #-------------------------------------------------------------------------------
857 # opensource version removes some drivers, so force them to be off
863 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
864 for a in "$relpath/src/plugins/sqldrivers/"*; do
866 base_a=`basename "$a"`
867 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
868 eval "CFG_SQL_${base_a}=auto"
873 CFG_DECORATION_PLUGIN_AVAILABLE=
874 if [ -d "$relpath/src/plugins/decorations" ]; then
875 for a in "$relpath/src/plugins/decorations/"*; do
877 base_a=`basename "$a"`
878 CFG_DECORATION_PLUGIN_AVAILABLE="${CFG_DECORATION_PLUGIN_AVAILABLE} ${base_a}"
883 CFG_KBD_PLUGIN_AVAILABLE=
884 if [ -d "$relpath/src/plugins/kbddrivers" ]; then
885 for a in "$relpath/src/plugins/kbddrivers/"*; do
887 base_a=`basename "$a"`
888 CFG_KBD_PLUGIN_AVAILABLE="${CFG_KBD_PLUGIN_AVAILABLE} ${base_a}"
893 CFG_MOUSE_PLUGIN_AVAILABLE=
894 if [ -d "$relpath/src/plugins/mousedrivers" ]; then
895 for a in "$relpath/src/plugins/mousedrivers/"*; do
897 base_a=`basename "$a"`
898 CFG_MOUSE_PLUGIN_AVAILABLE="${CFG_MOUSE_PLUGIN_AVAILABLE} ${base_a}"
903 CFG_GFX_PLUGIN_AVAILABLE=
904 if [ -d "$relpath/src/plugins/gfxdrivers" ]; then
905 for a in "$relpath/src/plugins/gfxdrivers/"*; do
907 base_a=`basename "$a"`
908 CFG_GFX_PLUGIN_AVAILABLE="${CFG_GFX_PLUGIN_AVAILABLE} ${base_a}"
911 CFG_GFX_OFF="$CFG_GFX_AVAILABLE" # assume all off
914 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
915 if [ -d "$relpath/src/plugins/imageformats" ]; then
916 for a in "$relpath/src/plugins/imageformats/"*; do
918 base_a=`basename "$a"`
919 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
924 #-------------------------------------------------------------------------------
925 # parse command line arguments
926 #-------------------------------------------------------------------------------
928 # parse the arguments, setting things to "yes" or "no"
929 while [ "$#" -gt 0 ]; do
933 #Autoconf style options
935 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
939 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
943 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
944 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
947 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
951 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
955 -no-*-*|-plugin-*-*|-qt-*-*)
956 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
957 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
961 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
964 #Qt style yes options
965 -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-xcb|-wayland|-nis|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-debug-and-release|-exceptions|-harfbuzz|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-phonon-backend|-audio-backend|-declarative-debug|-javascript-jit|-rpath|-force-pkg-config|-icu|-force-asserts|-testcocoon)
966 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
969 #Qt style options that pass an argument
971 if [ "$PLATFORM_QPA" != "yes" ]; then
973 echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
977 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
981 -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-testsdir|-depths|-make|-nomake|-platform|-xplatform|-sdk|-arch|-host-arch|-mysql_config|-sysroot)
982 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
986 #Qt style complex options in one command
987 -enable-*|-disable-*)
988 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
989 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
991 #Qt Builtin/System style options
992 -no-*|-system-*|-qt-*)
993 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
994 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
996 #Options that cannot be generalized
1001 -embedded-lite|-qpa)
1003 # this option may or may not be followed by an argument
1004 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1013 # this option may or may not be followed by an argument
1014 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1023 # this option may or may not be followed by an argument
1024 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1032 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1033 # this option may or may not be followed by an argument
1034 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1043 VAL=`echo $1 | sed "s,^-.*-\(.*\)-.*,\1,"`
1047 VAL=`echo $1 | sed "s,^-\(.*\)-.*,\1,"`
1061 if [ "$1" = "-D" ]; then
1065 VAL=`echo $1 | sed 's,-D,,'`
1070 # this option may or may not be followed by an argument
1071 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1080 if [ "$1" = "-I" ]; then
1084 VAL=`echo $1 | sed 's,-I,,'`
1089 if [ "$1" = "-L" ]; then
1093 VAL=`echo $1 | sed 's,-L,,'`
1098 if [ "$1" = "-R" ]; then
1102 VAL=`echo $1 | sed 's,-R,,'`
1107 VAL=`echo $1 | sed 's,-l,,'`
1111 if [ "$1" = "-F" ]; then
1115 VAL=`echo $1 | sed 's,-F,,'`
1120 if [ "$1" = "-fw" ]; then
1124 VAL=`echo $1 | sed 's,-fw,,'`
1132 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1139 if [ "$UNKNOWN_ARG" = "yes" ]; then
1140 echo "$1: unknown argument"
1151 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1152 CFG_ACCESSIBILITY="$VAL"
1161 CFG_USE_GNUMAKE="$VAL"
1164 CFG_MYSQL_CONFIG="$VAL"
1167 QT_INSTALL_PREFIX="$VAL"
1170 QT_HOST_PREFIX="$VAL"
1173 QT_FORCE_PKGCONFIG=yes
1176 QT_INSTALL_DOCS="$VAL"
1179 QT_INSTALL_HEADERS="$VAL"
1182 QT_INSTALL_PLUGINS="$VAL"
1185 QT_INSTALL_IMPORTS="$VAL"
1188 QT_INSTALL_DATA="$VAL"
1191 QT_INSTALL_LIBS="$VAL"
1200 QT_INSTALL_TRANSLATIONS="$VAL"
1202 sysconfdir|settingsdir)
1203 QT_INSTALL_SETTINGS="$VAL"
1206 QT_INSTALL_EXAMPLES="$VAL"
1209 QT_INSTALL_TESTS="$VAL"
1218 QT_INSTALL_BINS="$VAL"
1229 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1236 if [ "$VAL" = "little" ]; then
1237 CFG_ENDIAN="Q_LITTLE_ENDIAN"
1238 elif [ "$VAL" = "big" ]; then
1239 CFG_ENDIAN="Q_BIG_ENDIAN"
1245 if [ "$VAL" = "little" ]; then
1246 CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
1247 elif [ "$VAL" = "big" ]; then
1248 CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
1254 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1261 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1262 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1263 [ "$VAL" = "es2" ]; then
1265 if [ "$VAL" = "es2" ]; then
1273 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1275 if [ "$CFG_EGL" = "no" ] && [ "$VAL" != "no" ]; then
1282 qvfb) # left for commandline compatibility, not documented
1283 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1284 if [ "$VAL" = "yes" ]; then
1285 QMakeVar add gfx-drivers qvfb
1286 QMakeVar add kbd-drivers qvfb
1287 QMakeVar add mouse-drivers qvfb
1288 CFG_GFX_ON="$CFG_GFX_ON qvfb"
1289 CFG_KBD_ON="$CFG_KBD_ON qvfb"
1290 CFG_MOUSE_ON="$CFG_MOUSE_ON qvfb"
1297 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1300 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1308 if [ "$BUILD_ON_MAC" = "yes" ]; then
1315 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1316 CFG_MAC_DWARF2="$VAL"
1322 # if this is a Mac then "windows" probably means
1323 # we are cross-compiling for MinGW
1324 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" != "windows" ]; then
1325 CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL"
1334 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1335 CFG_MAC_HARFBUZZ="$VAL"
1342 if [ "$BUILD_ON_MAC" = "yes" ]; then
1343 CFG_FRAMEWORK="$VAL"
1349 if [ "$VAL" = "yes" ]; then
1351 QMakeVar add QMAKE_CFLAGS -pg
1352 QMakeVar add QMAKE_CXXFLAGS -pg
1353 QMakeVar add QMAKE_LFLAGS -pg
1354 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1360 if [ "$VAL" = "yes" ]; then
1361 QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon"
1364 exceptions|g++-exceptions)
1365 if [ "$VAL" = "no" ]; then
1367 elif [ "$VAL" = "yes" ]; then
1375 # keep compatibility with old platform names
1381 PLATFORM=hpux-acc-o64
1384 PLATFORM=hpux-acc-64
1387 PLATFORM=hpux-acc-64
1399 PLATFORM=reliant-cds-64
1402 PLATFORM=solaris-cc-64
1405 PLATFORM=unixware-cc
1408 PLATFORM=unixware-g++
1411 PLATFORM=unixware-cc
1414 PLATFORM=unixware-g++
1420 i386) NATIVE_64_ARCH="x86_64" ;;
1421 powerpc) NATIVE_64_ARCH="ppc64" ;;
1422 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1424 if [ ! -z "$NATIVE_64_ARCH" ]; then
1425 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1432 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1435 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1436 CFG_DEBUG_RELEASE="$VAL"
1442 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1443 CFG_RELEASE_QMAKE="$VAL"
1449 if [ "$VAL" = "yes" ]; then
1451 elif [ "$VAL" = "no" ]; then
1458 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1459 CFG_PREFIX_INSTALL="$VAL"
1467 developer-build|commercial|opensource)
1468 # These switches have been dealt with already
1471 if [ "$VAL" = "yes" ]; then
1473 elif [ "$VAL" = "no" ]; then
1480 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1481 CFG_INCREMENTAL="$VAL"
1487 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1488 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1494 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1495 if [ "$VAL" = "no" ]; then
1496 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1497 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1498 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1504 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1511 if [ "$VAL" = "no" ]; then
1518 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1526 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1533 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1540 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1547 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1554 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1561 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1568 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1575 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1582 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1583 CFG_PRECOMPILE="$VAL"
1588 separate-debug-info)
1589 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1590 CFG_SEPARATE_DEBUG_INFO="$VAL"
1591 elif [ "$VAL" = "nocopy" ] ; then
1592 CFG_SEPARATE_DEBUG_INFO="yes"
1593 CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1599 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1600 CFG_REDUCE_EXPORTS="$VAL"
1606 if [ "$VAL" = "no" ]; then
1613 if [ "$VAL" = "no" ]; then
1620 if [ "$VAL" = "no" ]; then
1627 if [ "$VAL" = "no" ]; then
1634 if [ "$VAL" = "no" ]; then
1641 if [ "$VAL" = "no" ]; then
1648 if [ "$VAL" = "no" ]; then
1655 if [ "$VAL" = "no" ]; then
1662 if [ "$VAL" = "no" ]; then
1672 if [ "$VAL" = "no" ]; then
1679 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1680 CFG_REDUCE_RELOCATIONS="$VAL"
1686 [ "$VAL" = "qt" ] && VAL=yes
1687 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1692 # No longer supported:
1693 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1696 if [ "$VAL" = "system" ]; then
1703 [ "$VAL" = "yes" ] && VAL=qt
1704 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1711 [ "$VAL" = "yes" ] && VAL=qt
1712 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1719 if [ "$VAL" = "system" ] || [ "$VAL" = "no" ]; then
1726 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1733 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1740 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1747 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1754 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1761 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1762 CFG_FONTCONFIG="$VAL"
1768 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1775 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1782 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1789 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1796 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1803 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1810 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1817 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1824 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1825 CFG_GSTREAMER="$VAL"
1831 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1832 CFG_QGTKSTYLE="$VAL"
1838 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1841 if [ "$VAL" = "no" ]; then
1849 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1851 elif [ "$VAL" = "runtime" ]; then
1858 if [ "$VAL" = "yes" ]; then
1865 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1872 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1873 CFG_LARGEFILE="$VAL"
1879 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1886 if [ "$VAL" = "yes" ]; then
1887 CFG_OPENSSL="linked"
1893 if [ "$VAL" = "yes" ]; then
1894 CFG_DECLARATIVE_DEBUG="yes"
1896 if [ "$VAL" = "no" ]; then
1897 CFG_DECLARATIVE_DEBUG="no"
1904 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1905 CFG_JAVASCRIPTCORE_JIT="$VAL"
1911 if [ "$VAL" = "yes" ]; then
1912 OPT_CONFIRM_LICENSE="$VAL"
1918 if [ "$VAL" = "yes" ]; then
1924 sql-*|gfx-*|decoration-*|kbd-*|mouse-*|imageformat-*)
1925 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1926 # if autoconf style options were used, $VAL can be "yes" or "no"
1927 [ "$VAL" = "yes" ] && VAL=qt
1928 # now $VAL should be "no", "qt", or "plugin"... double-check
1929 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1932 # now $VAL is "no", "qt", or "plugin"
1934 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1935 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1937 # Grab the available values
1940 avail="$CFG_SQL_AVAILABLE"
1943 avail="$CFG_GFX_AVAILABLE"
1944 if [ "$OPT" = "plugin" ]; then
1945 avail="$CFG_GFX_PLUGIN_AVAILABLE"
1949 avail="$CFG_DECORATION_AVAILABLE"
1950 if [ "$OPT" = "plugin" ]; then
1951 avail="$CFG_DECORATION_PLUGIN_AVAILABLE"
1955 avail="$CFG_KBD_AVAILABLE"
1956 if [ "$OPT" = "plugin" ]; then
1957 avail="$CFG_KBD_PLUGIN_AVAILABLE"
1961 avail="$CFG_MOUSE_AVAILABLE"
1962 if [ "$OPT" = "plugin" ]; then
1963 avail="$CFG_MOUSE_PLUGIN_AVAILABLE"
1967 avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
1968 if [ "$OPT" != "plugin" ]; then
1969 # png is always built in
1975 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1979 # Check that that user's value is available.
1982 if [ "$VAL" = "$d" ]; then
1987 [ "$found" = yes ] || ERROR=yes
1989 if [ "$VAR" = "sql" ]; then
1990 # set the CFG_SQL_driver
1991 eval "CFG_SQL_$VAL=\$OPT"
1993 elif [ "$VAR" = "imageformat" ]; then
1994 [ "$OPT" = "qt" ] && OPT=yes
1995 VAL="`echo $VAL |tr a-z A-Z`"
1996 eval "CFG_$VAL=$OPT"
2000 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
2001 if [ "$OPT" = "plugin" ]; then
2002 [ "$VAR" = "decoration" ] && QMakeVar del "${VAR}s" "$VAL"
2003 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"` && CFG_DECORATION_PLUGIN="$CFG_DECORATION_PLUGIN ${VAL}"
2004 [ "$VAR" = "kbd" ] && QMakeVar del "${VAR}s" "$VAL"
2005 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"` && CFG_KBD_PLUGIN="$CFG_KBD_PLUGIN ${VAL}"
2006 [ "$VAR" = "mouse" ] && QMakeVar del "${VAR}s" "$VAL"
2007 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_MOUSE_PLUGIN="$CFG_MOUSE_PLUGIN ${VAL}"
2008 [ "$VAR" = "gfx" ] && QMakeVar del "${VAR}s" "$VAL"
2009 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"` && CFG_GFX_PLUGIN="${CFG_GFX_PLUGIN} ${VAL}"
2012 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "decoration" ] || [ "$VAR" = "mouse" ]; then
2013 [ "$VAR" = "gfx" ] && CFG_GFX_ON="$CFG_GFX_ON $VAL"
2014 [ "$VAR" = "kbd" ] && CFG_KBD_ON="$CFG_KBD_ON $VAL"
2015 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON="$CFG_DECORATION_ON $VAL"
2016 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON="$CFG_MOUSE_ON $VAL"
2020 QMakeVar add "${VAR}s" "${VAL}"
2021 elif [ "$OPT" = "no" ]; then
2022 PLUG_VAR="${VAR}-plugin"
2023 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "mouse" ]; then
2024 IN_VAR="${VAR}-driver"
2028 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"`
2029 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"`
2030 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"`
2031 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"`
2032 QMakeVar del "${IN_VAR}s" "$VAL"
2033 QMakeVar del "${PLUG_VAR}s" "$VAL"
2035 if [ "$ERROR" = "yes" ]; then
2036 echo "$CURRENT_OPT: unknown argument"
2041 if [ "$VAL" = "yes" ]; then
2042 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
2043 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
2047 elif [ "$VAL" = "no" ]; then
2048 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
2049 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
2058 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2065 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2072 D_FLAGS="$D_FLAGS \"$VAL\""
2075 I_FLAGS="$I_FLAGS -I\"${VAL}\""
2078 L_FLAGS="$L_FLAGS -L\"${VAL}\""
2081 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
2084 l_FLAGS="$l_FLAGS -l\"${VAL}\""
2087 if [ "$BUILD_ON_MAC" = "yes" ]; then
2088 L_FLAGS="$L_FLAGS -F\"${VAL}\""
2089 I_FLAGS="$I_FLAGS -F\"${VAL}\""
2095 if [ "$BUILD_ON_MAC" = "yes" ]; then
2096 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
2102 W_FLAGS="$W_FLAGS \"${VAL}\""
2108 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2109 CFG_PHONON_BACKEND="$VAL"
2121 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2122 CFG_AUDIO_BACKEND="$VAL"
2128 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2135 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2136 CFG_FORCE_ASSERTS="$VAL"
2142 if [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
2152 if [ "$UNKNOWN_OPT" = "yes" ]; then
2153 echo "${CURRENT_OPT}: invalid command-line switch"
2159 # update QT_CONFIG to show our current predefined configuration
2160 case "$CFG_QCONFIG" in
2161 minimal|small|medium|large|full)
2162 # these are a sequence of increasing functionality
2163 for c in minimal small medium large full; do
2164 QT_CONFIG="$QT_CONFIG $c-config"
2165 [ "$CFG_QCONFIG" = $c ] && break
2169 # not known to be sufficient for anything
2170 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
2171 echo >&2 "Error: configuration file not found:"
2172 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2174 echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2179 #-------------------------------------------------------------------------------
2180 # build tree initialization
2181 #-------------------------------------------------------------------------------
2183 # where to find which..
2184 unixtests="$relpath/config.tests/unix"
2185 mactests="$relpath/config.tests/mac"
2186 WHICH="$unixtests/which.test"
2188 PERL=`$WHICH perl 2>/dev/null`
2190 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2192 for e in gawk nawk awk; do
2193 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2200 PERL="/usr/bin/perl"
2201 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2205 ### skip this if the user just needs help...
2206 if [ "$OPT_HELP" != "yes" ]; then
2208 # is this a shadow build?
2209 if [ "$OPT_SHADOW" = "maybe" ]; then
2211 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2212 if [ -h "$outpath" ]; then
2213 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2219 if [ "$OPT_SHADOW" = "yes" ]; then
2220 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2221 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2222 echo >&2 "Cannot proceed."
2225 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2228 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2230 echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
2231 echo "Qt can be built in release mode with separate debug information, so"
2232 echo "-debug-and-release is not necessary anymore"
2236 if [ "$CFG_SILENT" = "yes" ]; then
2237 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2240 # if the source tree is different from the build tree,
2241 # symlink or copy part of the sources
2242 if [ "$OPT_SHADOW" = "yes" ]; then
2243 echo "Preparing build tree..."
2245 if [ -z "$PERL" ]; then
2247 echo "You need perl in your PATH to make a shadow build."
2248 echo "Cannot proceed."
2252 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2254 # symlink the qmake directory
2255 find "$relpath/qmake" | while read a; do
2256 my_a=`echo "$a" | sed "s,^${relpath}/,${outpath}/,"`
2257 if [ '!' -f "$my_a" ]; then
2258 if [ -d "$a" ]; then
2259 # directories are created...
2262 a_dir=`dirname "$my_a"`
2263 [ -d "$a_dir" ] || mkdir -p "$a_dir"
2264 # ... and files are symlinked
2265 case `basename "$a"` in
2266 *.o|*.d|GNUmakefile*|qmake)
2277 # make a syncqt script that can be used in the shadow
2278 rm -f "$outpath/bin/syncqt"
2279 if [ -x "$relpath/bin/syncqt" ]; then
2280 mkdir -p "$outpath/bin"
2281 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2282 echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2283 chmod 755 "$outpath/bin/syncqt"
2286 for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
2287 rm -f "$outpath/bin/$i"
2288 if [ -x "$relpath/bin/$i" ]; then
2289 mkdir -p "$outpath/bin"
2290 echo "#!/bin/sh" >"$outpath/bin/$i"
2291 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2292 echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2293 chmod 755 "$outpath/bin/$i"
2297 # symlink the mkspecs directory
2298 mkdir -p "$outpath/mkspecs"
2299 rm -rf "$outpath"/mkspecs/*
2300 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2301 rm -f "$outpath/mkspecs/default"
2305 rm -rf "$outpath/mkspecs/$1"
2306 find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2307 find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2310 # Special case for mkspecs/features directory.
2311 # To be able to place .prf files into a shadow build directory,
2312 # we're creating links for files only. The directory structure is reproduced.
2313 ShadowMkspecs features
2315 # The modules dir is special, too.
2316 ShadowMkspecs modules
2318 # symlink the doc directory
2319 rm -rf "$outpath/doc"
2320 ln -s "$relpath/doc" "$outpath/doc"
2323 # symlink fonts to be able to run application from build directory
2324 if [ "$PLATFORM_QPA" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
2325 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2326 mkdir -p "${outpath}/lib"
2327 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2331 if [ "$OPT_FAST" = "auto" ]; then
2332 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2339 # find a make command
2340 if [ -z "$MAKE" ]; then
2342 for mk in gmake make; do
2343 if "$WHICH" $mk >/dev/null 2>&1; then
2348 if [ -z "$MAKE" ]; then
2349 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2350 echo >&2 "Cannot proceed."
2353 # export MAKE, we need it later in the config.tests
2359 #-------------------------------------------------------------------------------
2360 # auto-detect all that hasn't been specified in the arguments
2361 #-------------------------------------------------------------------------------
2363 if [ -z "$PLATFORM" ]; then
2365 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2367 if [ "$PLATFORM_QPA" = "yes" ]; then
2368 OSX_VERSION=`uname -r | cut -d. -f1`
2369 if [ "$OSX_VERSION" -ge 11 ]; then
2370 # We're on Lion or above. Check if we have a supported Clang version
2371 case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
2374 PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
2389 #PLATFORM=aix-g++-64
2391 #PLATFORM=aix-xlc-64
2393 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2403 # PLATFORM=dynix-g++
2409 PLATFORM=freebsd-g++
2411 - Also available for FreeBSD: freebsd-icc
2415 PLATFORM=openbsd-g++
2426 #PLATFORM=irix-cc-64
2428 - Also available for IRIX: irix-g++ irix-cc-64
2432 case "$UNAME_MACHINE" in
2434 #PLATFORM=hpuxi-acc-32
2435 PLATFORM=hpuxi-acc-64
2437 - Also available for HP-UXi: hpuxi-acc-32
2443 #PLATFORM=hpux-acc-64
2445 #PLATFORM=hpux-acc-o64
2447 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2456 - Also available for Tru64: tru64-g++
2460 case "$UNAME_MACHINE" in
2462 PLATFORM=linux-g++-64
2469 - Also available for Linux: linux-kcc linux-icc linux-cxx
2473 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2474 PLATFORM="solaris-g++"
2476 #PLATFORM=solaris-g++
2478 #PLATFORM=solaris-cc64
2481 - Also available for Solaris: solaris-g++ solaris-cc-64
2484 ReliantUNIX-*:*|SINIX-*:*)
2485 PLATFORM=reliant-cds
2486 #PLATFORM=reliant-cds-64
2488 - Also available for Reliant UNIX: reliant-cds-64
2498 #PLATFORM=unixware-g++
2499 PLATFORM=unixware-cc
2501 - Also available for OpenUNIX: unixware-g++
2505 #PLATFORM=unixware-g++
2506 PLATFORM=unixware-cc
2508 - Also available for UnixWare: unixware-g++
2515 - Also available for SCO OpenServer: sco-g++
2519 PLATFORM=unixware-g++
2522 PLATFORM=unsupported/qnx-g++
2525 if [ "$OPT_HELP" != "yes" ]; then
2527 for p in $PLATFORMS; do
2528 echo " $relconf $* -platform $p"
2531 echo " The build script does not currently recognize all" >&2
2532 echo " platforms supported by Qt." >&2
2533 echo " Rerun this script with a -platform option listed to" >&2
2534 echo " set the system/compiler combination you use." >&2
2541 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2543 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2545 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2546 case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
2548 if [ -d "$PLATFORM" ]; then
2549 QMAKESPEC="$PLATFORM"
2551 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2553 if [ -d "$XPLATFORM" ]; then
2554 XQMAKESPEC="$XPLATFORM"
2556 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2558 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2559 QT_CROSS_COMPILE=yes
2560 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2563 if [ "$BUILD_ON_MAC" = "yes" ]; then
2564 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2566 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2567 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2568 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2569 echo " built with 'macx-g++'" >&2
2575 # check specified platforms are supported
2576 if [ '!' -d "$QMAKESPEC" ]; then
2578 echo " The specified system/compiler is not supported:"
2582 echo " Please see the README file for a complete list."
2586 if [ '!' -d "$XQMAKESPEC" ]; then
2588 echo " The specified system/compiler is not supported:"
2592 echo " Please see the README file for a complete list."
2596 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2598 echo " The specified system/compiler port is not complete:"
2600 echo " $XQMAKESPEC/qplatformdefs.h"
2602 echo " Please contact qt-info@nokia.com."
2607 # now look at the configs and figure out what platform we are config'd for
2608 [ "$PLATFORM_QPA" != "yes" ] \
2609 && [ -n "`getXQMakeConf QMAKE_LIBS_X11`" ] \
2611 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2613 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2614 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2615 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2616 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2617 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2621 #-------------------------------------------------------------------------------
2622 # determine the system architecture
2623 #-------------------------------------------------------------------------------
2624 if [ "$OPT_VERBOSE" = "yes" ]; then
2625 echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
2628 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2629 case `basename "$XPLATFORM"` in
2632 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2634 echo "Please contact qt-info@nokia.com to upgrade your license to"
2635 echo "include this platform, or install the Qt Open Source Edition"
2636 echo "if you intend to develop free software."
2642 if [ -z "${CFG_HOST_ARCH}" ]; then
2643 case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
2645 CFG_HOST_ARCH=`echo ${UNAME_MACHINE} | sed -e 's,[-/].*$,,'`
2646 case "$CFG_HOST_ARCH" in
2651 if [ "$OPT_VERBOSE" = "yes" ]; then
2652 echo " GNU/Hurd ($CFG_HOST_ARCH)"
2656 CFG_HOST_ARCH=`uname -p`
2657 if [ "$OPT_VERBOSE" = "yes" ]; then
2658 echo " SGI ($CFG_HOST_ARCH)"
2662 case "$UNAME_MACHINE" in
2664 if [ "$OPT_VERBOSE" = "yes" ]; then
2665 echo " Sun SPARC (sparc)"
2672 if [ "$OPT_VERBOSE" = "yes" ]; then
2673 echo " 64-bit AMD 80x86 (x86_64)"
2675 CFG_HOST_ARCH=x86_64
2678 if [ "$OPT_VERBOSE" = "yes" ]; then
2679 echo " 32-bit Intel 80x86 (i386)"
2687 if [ "$OPT_VERBOSE" = "yes" ]; then
2688 echo " 64-bit IBM PowerPC (powerpc)"
2690 CFG_HOST_ARCH=powerpc
2693 if [ "$OPT_VERBOSE" = "yes" ]; then
2694 echo " HP PA-RISC (parisc)"
2696 CFG_HOST_ARCH=parisc
2699 if [ "$OPT_VERBOSE" = "yes" ]; then
2700 echo " 32-bit Intel 80x86 (i386)"
2704 *:*:x86_64|*:*:amd64)
2705 if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
2706 if [ "$OPT_VERBOSE" = "yes" ]; then
2707 echo " 32 bit on 64-bit AMD 80x86 (i386)"
2711 if [ "$OPT_VERBOSE" = "yes" ]; then
2712 echo " 64-bit AMD 80x86 (x86_64)"
2714 CFG_HOST_ARCH=x86_64
2718 if [ "$OPT_VERBOSE" = "yes" ]; then
2719 echo " 32-bit PowerPC (powerpc)"
2721 CFG_HOST_ARCH=powerpc
2724 if [ "$OPT_VERBOSE" = "yes" ]; then
2725 echo " 64-bit PowerPC (powerpc)"
2727 CFG_HOST_ARCH=powerpc
2730 if [ "$OPT_VERBOSE" = "yes" ]; then
2731 echo " IBM S/390 (s390)"
2736 if [ "$OPT_VERBOSE" = "yes" ]; then
2742 if [ "$OPT_VERBOSE" = "yes" ]; then
2743 echo " Linux on SPARC"
2748 case "$UNAME_MACHINE" in
2750 if [ "$OPT_VERBOSE" = "yes" ]; then
2751 echo " QNX on Intel 80x86 (i386)"
2758 if [ "$OPT_VERBOSE" = "yes" ]; then
2759 echo " Trying '$UNAME_MACHINE'..."
2761 CFG_HOST_ARCH="$UNAME_MACHINE"
2766 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2767 [ -z "$CFG_ARCH" ] && CFG_ARCH="windows"
2768 elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
2769 CFG_ARCH=$CFG_HOST_ARCH
2776 # previously, armv6 was a different arch
2782 if [ "$OPT_VERBOSE" = "yes" ]; then
2783 echo "System architecture: '$CFG_ARCH'"
2784 if [ "$PLATFORM_QPA" = "yes" ]; then
2785 echo "Host architecture: '$CFG_HOST_ARCH'"
2789 #-------------------------------------------------------------------------------
2790 # tests that don't need qmake (must be run before displaying help)
2791 #-------------------------------------------------------------------------------
2793 # detect build style
2794 if [ "$CFG_DEBUG" = "auto" ]; then
2795 if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2796 CFG_DEBUG_RELEASE=yes
2798 elif [ "$CFG_DEV" = "yes" ]; then
2799 CFG_DEBUG_RELEASE=no
2802 CFG_DEBUG_RELEASE=no
2806 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2807 QT_CONFIG="$QT_CONFIG build_all"
2810 if [ -z "$PKG_CONFIG" ]; then
2811 # See if PKG_CONFIG is set in the mkspec:
2812 PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
2814 if [ -z "$PKG_CONFIG" ]; then
2815 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
2818 # Work out if we can use pkg-config
2819 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
2820 if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
2822 echo >&2 "You have asked to use pkg-config and are cross-compiling."
2823 echo >&2 "Please make sure you have a correctly set-up pkg-config"
2824 echo >&2 "environment!"
2826 if [ -z "$PKG_CONFIG_PATH" ]; then
2828 echo >&2 "Warning: PKG_CONFIG_PATH has not been set. This could mean"
2829 echo >&2 "the host compiler's .pc files will be used. This is probably"
2830 echo >&2 "not what you want."
2832 elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
2834 echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
2835 echo >&2 "been set. This means your toolchain's .pc files must contain"
2836 echo >&2 "the paths to the toolchain's libraries & headers. If configure"
2837 echo >&2 "tests are failing, please check these files."
2842 echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
2843 echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
2844 echo >&2 "dependencies"
2850 if [ ! -n "$PKG_CONFIG" ]; then
2851 QT_CONFIG="$QT_CONFIG no-pkg-config"
2854 # pass on $CFG_SDK to the configure tests.
2855 if [ '!' -z "$CFG_SDK" ]; then
2856 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
2859 # find the default framework value
2860 if [ "$BUILD_ON_MAC" = "yes" ]; then
2861 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2862 CFG_FRAMEWORK="$CFG_SHARED"
2863 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2865 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2873 QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
2875 TEST_COMPILER=$QMAKE_CONF_COMPILER
2876 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
2877 if [ -z "$TEST_COMPILER" ]; then
2878 echo "ERROR: Cannot set the compiler for the configuration tests"
2884 if [ -n "$CFG_SYSROOT" ]; then
2885 if compilerSupportsFlag --sysroot="$CFG_SYSROOT"; then
2886 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting sysroot to: $CFG_SYSROOT"
2887 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
2889 echo >&2 "The compiler doesn't support the --sysroot flag, I can't set the sysroot"
2893 export SYSROOT_FLAG # used by config.tests/unix/compile.test
2895 # auto-detect precompiled header support
2896 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2897 if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2904 #auto-detect DWARF2 on the mac
2905 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
2906 if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
2913 # don't autodetect support for separate debug info on objcopy when
2914 # cross-compiling as lots of toolchains seems to have problems with this
2915 if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
2916 CFG_SEPARATE_DEBUG_INFO="no"
2919 # auto-detect support for separate debug info in objcopy
2920 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
2921 TEST_COMPILER_CFLAGS=`getXQMakeConf QMAKE_CFLAGS`
2922 TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
2923 TEST_OBJCOPY=`getXQMakeConf QMAKE_OBJCOPY`
2924 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
2925 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
2926 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
2927 CFG_SEPARATE_DEBUG_INFO=no
2931 # binutils on HP-UX is buggy; default to no.
2932 CFG_SEPARATE_DEBUG_INFO=no
2935 CFG_SEPARATE_DEBUG_INFO=yes
2941 # auto-detect -fvisibility support
2942 if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then
2943 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2944 CFG_REDUCE_EXPORTS=no
2946 CFG_REDUCE_EXPORTS=yes
2950 # detect the availability of the -Bsymbolic-functions linker optimization
2951 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
2952 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2953 CFG_REDUCE_RELOCATIONS=no
2955 CFG_REDUCE_RELOCATIONS=yes
2959 # auto-detect GNU make support
2960 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
2964 # find the default framework value
2965 if [ "$BUILD_ON_MAC" = "yes" ]; then
2966 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2967 CFG_FRAMEWORK="$CFG_SHARED"
2968 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2970 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2978 # x11 tests are done after qmake is built
2981 #setup the build parts
2982 if [ -z "$CFG_BUILD_PARTS" ]; then
2983 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
2985 # don't build tools by default when cross-compiling
2986 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2987 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
2990 for nobuild in $CFG_NOBUILD_PARTS; do
2991 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
2993 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
2995 # echo "WARNING: libs is a required part of the build."
2997 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
3000 #-------------------------------------------------------------------------------
3001 # post process QT_INSTALL_* variables
3002 #-------------------------------------------------------------------------------
3004 if [ -z "$QT_INSTALL_PREFIX" ]; then
3005 if [ "$CFG_DEV" = "yes" ]; then
3006 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
3008 QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION
3011 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
3013 if [ -z "$QT_INSTALL_DOCS" ]; then #default
3014 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3015 if [ "$BUILD_ON_MAC" = "yes" ]; then
3016 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
3019 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
3022 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
3024 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
3025 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3026 if [ "$BUILD_ON_MAC" = "yes" ]; then
3027 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3032 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
3035 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
3037 if [ -z "$QT_INSTALL_LIBS" ]; then #default
3038 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3039 if [ "$BUILD_ON_MAC" = "yes" ]; then
3040 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3041 QT_INSTALL_LIBS="/Libraries/Frameworks"
3045 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
3047 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
3049 if [ -z "$QT_INSTALL_BINS" ]; then #default
3050 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3051 if [ "$BUILD_ON_MAC" = "yes" ]; then
3052 QT_INSTALL_BINS="/Developer/Applications/Qt"
3055 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
3057 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
3059 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
3060 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3061 if [ "$BUILD_ON_MAC" = "yes" ]; then
3062 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
3065 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
3067 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
3069 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
3070 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3071 if [ "$BUILD_ON_MAC" = "yes" ]; then
3072 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
3075 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
3077 QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
3079 if [ -z "$QT_INSTALL_DATA" ]; then #default
3080 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
3082 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
3084 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
3085 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
3087 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
3089 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
3090 if [ "$BUILD_ON_MAC" = "yes" ]; then
3091 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
3093 QT_INSTALL_SETTINGS=/etc/xdg
3096 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
3098 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
3099 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3100 if [ "$BUILD_ON_MAC" = "yes" ]; then
3101 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
3104 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
3106 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
3109 if [ -z "$QT_INSTALL_TESTS" ]; then #default
3110 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3111 if [ "$BUILD_ON_MAC" = "yes" ]; then
3112 QT_INSTALL_TESTS="/Developer/Tests/Qt"
3115 [ -z "$QT_INSTALL_TESTS" ] && QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback
3117 QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
3119 #-------------------------------------------------------------------------------
3120 # help - interactive parts of the script _after_ this section please
3121 #-------------------------------------------------------------------------------
3123 # next, emit a usage message if something failed.
3124 if [ "$OPT_HELP" = "yes" ]; then
3125 [ "x$ERROR" = "xyes" ] && echo
3126 if [ "$CFG_NIS" = "no" ]; then
3133 if [ "$CFG_CUPS" = "no" ]; then
3140 if [ "$CFG_ICONV" = "no" ]; then
3147 if [ "$CFG_LARGEFILE" = "no" ]; then
3154 if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then
3161 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
3169 if [ "$CFG_XCB" = "no" ]; then
3177 if [ "$CFG_WAYLAND" = "no" ]; then
3184 if [ "$CFG_XINPUT2" = "no" ]; then
3193 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
3194 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
3195 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-testsdir <dir>]
3196 [-release] [-debug] [-debug-and-release]
3197 [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
3198 [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
3199 [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
3200 [-plugin-sql-<driver>] [-system-sqlite]
3201 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
3202 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
3203 [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
3204 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
3205 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
3206 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
3207 [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
3208 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
3209 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] [-armfpa]
3210 [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
3211 [-no-audio-backend] [-audio-backend]
3212 [-no-javascript-jit] [-javascript-jit] [-no-declarative-debug] [-declarative-debug]
3213 [-no-optimized-qmake] [-optimized-qmake]
3214 [-no-openssl] [-openssl] [-openssl-linked]
3215 [-no-gtkstyle] [-gtkstyle]
3216 [-qt-pcre] [-system-pcre]
3217 [additional platform specific options (see below)]
3220 Installation options:
3222 -qpa ................ This will enable the QPA build.
3223 QPA is a window system agnostic implementation of Qt.
3225 These are optional, but you may specify install directories.
3227 -prefix <dir> ...... This will install everything relative to <dir>
3228 (default $QT_INSTALL_PREFIX)
3230 if [ "$PLATFORM_QPA" = "yes" ]; then
3233 -hostprefix [dir] .. Tools and libraries needed when developing
3234 applications are installed in [dir]. If [dir] is
3235 not given, the current build directory will be used.
3240 * -prefix-install .... Force a sandboxed "local" installation of
3241 Qt. This will install into
3242 $QT_INSTALL_PREFIX, if this option is
3243 disabled then some platforms will attempt a
3244 "system" install by placing default values to
3245 be placed in a system location other than
3248 You may use these to separate different parts of the install:
3250 -bindir <dir> ......... Executables will be installed to <dir>
3251 (default PREFIX/bin)
3252 -libdir <dir> ......... Libraries will be installed to <dir>
3253 (default PREFIX/lib)
3254 -docdir <dir> ......... Documentation will be installed to <dir>
3255 (default PREFIX/doc)
3256 -headerdir <dir> ...... Headers will be installed to <dir>
3257 (default PREFIX/include)
3258 -plugindir <dir> ...... Plugins will be installed to <dir>
3259 (default PREFIX/plugins)
3260 -importdir <dir> ...... Imports for QML will be installed to <dir>
3261 (default PREFIX/imports)
3262 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
3264 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
3265 (default PREFIX/translations)
3266 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
3267 (default PREFIX/etc/settings)
3268 -examplesdir <dir> .... Examples will be installed to <dir>
3269 (default PREFIX/examples)
3270 -testsdir <dir> ....... Tests will be installed to <dir>
3271 (default PREFIX/tests)
3275 The defaults (*) are usually acceptable. A plus (+) denotes a default value
3276 that needs to be evaluated. If the evaluation succeeds, the feature is
3277 included. Here is a short explanation of each option:
3279 * -release ........... Compile and link Qt with debugging turned off.
3280 -debug ............. Compile and link Qt with debugging turned on.
3281 -debug-and-release . Compile and link two versions of Qt, with and without
3282 debugging turned on (Mac only).
3284 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
3286 -opensource ........ Compile and link the Open-Source Edition of Qt.
3287 -commercial ........ Compile and link the Commercial Edition of Qt.
3290 * -shared ............ Create and use shared Qt libraries.
3291 -static ............ Create and use static Qt libraries.
3293 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3295 -fast .............. Configure Qt quickly by generating Makefiles only for
3296 library and subdirectory targets. All other Makefiles
3297 are created as wrappers, which will in turn run qmake.
3299 -no-largefile ...... Disables large file support.
3300 + -largefile ......... Enables Qt to access files larger than 4 GB.
3303 if [ "$PLATFORM_QPA" = "yes" ]; then
3310 if [ "$CFG_DBUS" = "no" ]; then
3319 $EXCN -no-exceptions ..... Disable exceptions on compilers that support it.
3320 $EXCY -exceptions ........ Enable exceptions on compilers that support it.
3322 -no-accessibility .. Do not compile Accessibility support.
3323 * -accessibility ..... Compile Accessibility support.
3325 $SHN -no-stl ............ Do not compile STL support.
3326 $SHY -stl ............... Compile STL support.
3328 -no-sql-<driver> ... Disable SQL <driver> entirely.
3329 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3331 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3334 Possible values for <driver>:
3335 [ $CFG_SQL_AVAILABLE ]
3337 -system-sqlite ..... Use sqlite from the operating system.
3339 -no-phonon-backend.. Do not build the platform phonon plugin.
3340 + -phonon-backend..... Build the platform phonon plugin.
3342 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
3343 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
3345 -no-declarative-debug ..... Do not build the declarative debugging support.
3346 + -declarative-debug ....... Build the declarative debugging support.
3348 -platform target ... The operating system and compiler you are building
3351 See the README file for a list of supported
3352 operating systems and compilers.
3355 if [ "${PLATFORM_QPA}" != "yes" ]; then
3357 -graphicssystem <sys> Sets an alternate graphics system. Available options are:
3358 raster - Software rasterizer
3359 opengl - Rendering via OpenGL, Experimental!
3360 openvg - Rendering via OpenVG, Experimental!
3367 -no-mmx ............ Do not compile with use of MMX instructions.
3368 -no-3dnow .......... Do not compile with use of 3DNOW instructions.
3369 -no-sse ............ Do not compile with use of SSE instructions.
3370 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3371 -no-sse3 ........... Do not compile with use of SSE3 instructions.
3372 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
3373 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
3374 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
3375 -no-avx ............ Do not compile with use of AVX instructions.
3376 -no-neon ........... Do not compile with use of NEON instructions.
3378 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3379 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3381 -testcocoon Instrument Qt with the TestCocoon code coverage tool.
3383 -D <string> ........ Add an explicit define to the preprocessor.
3384 -I <string> ........ Add an explicit include path.
3385 -L <string> ........ Add an explicit library path.
3387 -help, -h .......... Display this information.
3389 Third Party Libraries:
3391 -qt-zlib ........... Use the zlib bundled with Qt.
3392 + -system-zlib ....... Use zlib from the operating system.
3393 See http://www.gzip.org/zlib
3395 -no-gif ............ Do not compile GIF reading support.
3397 -no-libpng ......... Do not compile PNG support.
3398 -qt-libpng ......... Use the libpng bundled with Qt.
3399 + -system-libpng ..... Use libpng from the operating system.
3400 See http://www.libpng.org/pub/png
3402 -no-libjpeg ........ Do not compile JPEG support.
3403 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3404 + -system-libjpeg .... Use libjpeg from the operating system.
3405 See http://www.ijg.org
3407 -no-openssl ........ Do not compile support for OpenSSL.
3408 + -openssl ........... Enable run-time OpenSSL support.
3409 -openssl-linked .... Enabled linked OpenSSL support.
3411 -qt-pcre ........... Use the PCRE library bundled with Qt.
3412 + -system-pcre ....... Use the PCRE library from the operating system.
3416 -make <part> ....... Add part to the list of parts to be built at make time.
3417 ($QT_DEFAULT_BUILD_PARTS)
3418 -nomake <part> ..... Exclude part from the list of parts to be built.
3420 -R <string> ........ Add an explicit runtime library path to the Qt
3422 -l <string> ........ Add an explicit library.
3424 -no-rpath .......... Do not use the library install path as a runtime
3426 + -rpath ............. Link Qt libraries and executables using the library
3427 install path as a runtime library path. Equivalent
3428 to -R install_libpath
3430 -continue .......... Continue as far as possible if an error occurs.
3432 -verbose, -v ....... Print verbose information about each step of the
3435 -silent ............ Reduce the build output so that warnings and errors
3436 can be seen more easily.
3438 * -no-optimized-qmake ... Do not build qmake optimized.
3439 -optimized-qmake ...... Build qmake optimized.
3441 -no-gui ............ Don't build the Qt GUI library
3443 $NSN -no-nis ............ Do not compile NIS support.
3444 $NSY -nis ............... Compile NIS support.
3446 $CUN -no-cups ........... Do not compile CUPS support.
3447 $CUY -cups .............. Compile CUPS support.
3448 Requires cups/cups.h and libcups.so.2.
3450 $CIN -no-iconv .......... Do not compile support for iconv(3).
3451 $CIY -iconv ............. Compile support for iconv(3).
3453 $PHN -no-pch ............ Do not use precompiled header support.
3454 $PHY -pch ............... Use precompiled header support.
3456 $DBN -no-dbus ........... Do not compile the QtDBus module.
3457 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3458 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3460 -reduce-relocations ..... Reduce relocations in the libraries through extra
3461 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3462 experimental; needs GNU ld >= 2.18).
3464 -force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
3468 if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3469 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3476 elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
3484 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3488 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3489 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3491 $XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
3492 $XCBY -xcb ............... Compile Xcb support.
3494 $XWN -no-wayland......... Do not compile Wayland support.
3495 $XWY -wayland .......... Compile Wayland support.
3501 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
3505 $X2N -no-xinput2......... Do not compile XInput2 support.
3506 $X2Y -xinput2............ Compile XInput2 support.
3512 if [ "$PLATFORM_X11" = "yes" ]; then
3513 if [ "$CFG_SM" = "no" ]; then
3520 if [ "$CFG_XSHAPE" = "no" ]; then
3527 if [ "$CFG_XVIDEO" = "no" ]; then
3534 if [ "$CFG_XINERAMA" = "no" ]; then
3541 if [ "$CFG_FONTCONFIG" = "no" ]; then
3548 if [ "$CFG_XCURSOR" = "no" ]; then
3555 if [ "$CFG_XFIXES" = "no" ]; then
3562 if [ "$CFG_XRANDR" = "no" ]; then
3569 if [ "$CFG_XRENDER" = "no" ]; then
3576 if [ "$CFG_MITSHM" = "no" ]; then
3583 if [ "$CFG_XINPUT" = "no" ]; then
3590 if [ "$CFG_XKB" = "no" ]; then
3597 if [ "$CFG_IM" = "no" ]; then
3608 -no-gtkstyle ....... Do not build the GTK theme integration.
3609 + -gtkstyle .......... Build the GTK theme integration.
3611 * -no-nas-sound ...... Do not compile in NAS sound support.
3612 -system-nas-sound .. Use NAS libaudio from the operating system.
3613 See http://radscan.com/nas.html
3615 -egl ............... Use EGL instead of GLX to manage contexts.
3616 When building for desktop OpenGL, this option will
3617 make Qt use EGL to manage contexts rather than the
3618 GLX, which is the default. Note: For OpenGL ES, EGL
3621 -no-opengl ......... Do not support OpenGL.
3622 + -opengl <api> ...... Enable OpenGL support.
3623 With no parameter, this will auto-detect the "best"
3624 OpenGL API to use. If desktop OpenGL is available, it
3625 will be used. Use desktop or es2 for <api>
3626 to force the use of the Desktop OpenGL or
3627 OpenGL ES 2 APIs instead.
3629 -no-openvg ........ Do not support OpenVG.
3630 + -openvg ........... Enable OpenVG support.
3631 Requires EGL support, typically supplied by an OpenGL
3632 or other graphics implementation.
3634 $SMN -no-sm ............. Do not support X Session Management.
3635 $SMY -sm ................ Support X Session Management, links in -lSM -lICE.
3637 $SHN -no-xshape ......... Do not compile XShape support.
3638 $SHY -xshape ............ Compile XShape support.
3639 Requires X11/extensions/shape.h.
3641 $XVN -no-xvideo ......... Do not compile XVideo support.
3642 $XVY -xvideo ............ Compile XVideo support.
3643 Requires X11/extensions/Xv.h & Xvlib.h.
3645 $SHN -no-xsync .......... Do not compile XSync support.
3646 $SHY -xsync ............. Compile XSync support.
3647 Requires X11/extensions/sync.h.
3649 $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
3650 $XAY -xinerama .......... Compile Xinerama support.
3651 Requires X11/extensions/Xinerama.h and libXinerama.
3652 By default, Xinerama support will be compiled if
3653 available and the shared libraries are dynamically
3656 $XCN -no-xcursor ........ Do not compile Xcursor support.
3657 $XCY -xcursor ........... Compile Xcursor support.
3658 Requires X11/Xcursor/Xcursor.h and libXcursor.
3659 By default, Xcursor support will be compiled if
3660 available and the shared libraries are dynamically
3663 $XFN -no-xfixes ......... Do not compile Xfixes support.
3664 $XFY -xfixes ............ Compile Xfixes support.
3665 Requires X11/extensions/Xfixes.h and libXfixes.
3666 By default, Xfixes support will be compiled if
3667 available and the shared libraries are dynamically
3670 $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
3671 $XZY -xrandr ............ Compile Xrandr support.
3672 Requires X11/extensions/Xrandr.h and libXrandr.
3674 $XRN -no-xrender ........ Do not compile Xrender support.
3675 $XRY -xrender ........... Compile Xrender support.
3676 Requires X11/extensions/Xrender.h and libXrender.
3678 $XMN -no-mitshm ......... Do not compile MIT-SHM support.
3679 $XMY -mitshm ............ Compile MIT-SHM support.
3680 Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
3682 $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
3683 $FCGY -fontconfig ........ Compile FontConfig support.
3684 Requires fontconfig/fontconfig.h, libfontconfig,
3685 freetype.h and libfreetype.
3687 $XIN -no-xinput ......... Do not compile Xinput support.
3688 $XIY -xinput ............ Compile Xinput support. This also enabled tablet support
3689 which requires IRIX with wacom.h and libXi or
3690 XFree86 with X11/extensions/XInput.h and libXi.
3692 $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
3693 $XKY -xkb ............... Compile XKB support.
3698 if [ "$BUILD_ON_MAC" = "yes" ]; then
3703 -Fstring ........... Add an explicit framework path.
3704 -fw string ......... Add an explicit framework.
3706 * -framework ......... Build Qt as a series of frameworks and
3707 link tools against those frameworks.
3708 -no-framework ...... Do not build Qt as a series of frameworks.
3710 * -dwarf2 ............ Enable dwarf2 debugging symbols.
3711 -no-dwarf2 ......... Disable dwarf2 debugging symbols.
3713 -arch <arch> ....... Build Qt for <arch>. Supported arch values: x86 x86_64.
3714 Only one arch value can be specified.
3716 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3717 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3719 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
3720 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
3721 QT_ENABLE_HARFBUZZ environment variable.
3726 if [ "$PLATFORM_QPA" = "yes" ]; then
3732 if [ "$PLATFORM_QPA" = "yes" ]; then
3735 -xplatform target ... The target platform when cross-compiling.
3737 -no-feature-<feature> Do not compile in <feature>.
3738 -feature-<feature> .. Compile in <feature>. The available features
3739 are described in src/corelib/global/qfeatures.txt
3741 -armfpa ............. Target platform uses the ARM-FPA floating point format.
3742 -no-armfpa .......... Target platform does not use the ARM-FPA floating point format.
3744 The floating point format is usually autodetected by configure. Use this
3745 to override the detected value.
3747 -little-endian ...... Target platform is little endian (LSB first).
3748 -big-endian ......... Target platform is big endian (MSB first).
3750 -host-little-endian . Host platform is little endian (LSB first).
3751 -host-big-endian .... Host platform is big endian (MSB first).
3753 You only need to specify the endianness when
3754 cross-compiling, otherwise the host
3755 endianness will be used.
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 LICENSE_USER_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsuser=$Licensee"`
3984 LICENSE_PRODUCTS_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsprod=$Edition"`
3985 PREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_INSTALL_PREFIX"`
3986 DOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_INSTALL_DOCS"`
3987 HEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_INSTALL_HEADERS"`
3988 LIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_INSTALL_LIBS"`
3989 BINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_INSTALL_BINS"`
3990 PLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_INSTALL_PLUGINS"`
3991 IMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_INSTALL_IMPORTS"`
3992 DATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_INSTALL_DATA"`
3993 TRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_INSTALL_TRANSLATIONS"`
3994 SETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
3995 EXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
3996 TESTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_tstspath=$QT_INSTALL_TESTS"`
3998 TODAY=`date +%Y-%m-%d`
3999 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4001 static const char qt_configure_licensee_str [256 + 12] = "$LICENSE_USER_STR";
4002 static const char qt_configure_licensed_products_str [256 + 12] = "$LICENSE_PRODUCTS_STR";
4004 /* Installation date */
4005 static const char qt_configure_installation [12+11] = "qt_instdate=$TODAY";
4009 if [ ! -z "$QT_HOST_PREFIX" ]; then
4010 HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
4011 HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
4012 HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"`
4013 HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"`
4014 HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"`
4015 HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"`
4016 HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/IMPORTS"`
4017 HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"`
4018 HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
4019 HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
4020 HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
4021 HOSTTESTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_tstspath=$QT_INSTALL_TESTS"`
4023 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4025 #if defined(QT_BOOTSTRAPPED) || defined(QT_BUILD_QMAKE)
4026 /* Installation Info */
4027 static const char qt_configure_prefix_path_str [256 + 12] = "$HOSTPREFIX_PATH_STR";
4028 static const char qt_configure_documentation_path_str[256 + 12] = "$HOSTDOCUMENTATION_PATH_STR";
4029 static const char qt_configure_headers_path_str [256 + 12] = "$HOSTHEADERS_PATH_STR";
4030 static const char qt_configure_libraries_path_str [256 + 12] = "$HOSTLIBRARIES_PATH_STR";
4031 static const char qt_configure_binaries_path_str [256 + 12] = "$HOSTBINARIES_PATH_STR";
4032 static const char qt_configure_plugins_path_str [256 + 12] = "$HOSTPLUGINS_PATH_STR";
4033 static const char qt_configure_imports_path_str [256 + 12] = "$HOSTIMPORTS_PATH_STR";
4034 static const char qt_configure_data_path_str [256 + 12] = "$HOSTDATA_PATH_STR";
4035 static const char qt_configure_translations_path_str [256 + 12] = "$HOSTTRANSLATIONS_PATH_STR";
4036 static const char qt_configure_settings_path_str [256 + 12] = "$HOSTSETTINGS_PATH_STR";
4037 static const char qt_configure_examples_path_str [256 + 12] = "$HOSTEXAMPLES_PATH_STR";
4038 static const char qt_configure_tests_path_str [256 + 12] = "$HOSTTESTS_PATH_STR";
4039 #else // QT_BOOTSTRAPPED
4043 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4044 /* Installation Info */
4045 static const char qt_configure_prefix_path_str [256 + 12] = "$PREFIX_PATH_STR";
4046 static const char qt_configure_documentation_path_str[256 + 12] = "$DOCUMENTATION_PATH_STR";
4047 static const char qt_configure_headers_path_str [256 + 12] = "$HEADERS_PATH_STR";
4048 static const char qt_configure_libraries_path_str [256 + 12] = "$LIBRARIES_PATH_STR";
4049 static const char qt_configure_binaries_path_str [256 + 12] = "$BINARIES_PATH_STR";
4050 static const char qt_configure_plugins_path_str [256 + 12] = "$PLUGINS_PATH_STR";
4051 static const char qt_configure_imports_path_str [256 + 12] = "$IMPORTS_PATH_STR";
4052 static const char qt_configure_data_path_str [256 + 12] = "$DATA_PATH_STR";
4053 static const char qt_configure_translations_path_str [256 + 12] = "$TRANSLATIONS_PATH_STR";
4054 static const char qt_configure_settings_path_str [256 + 12] = "$SETTINGS_PATH_STR";
4055 static const char qt_configure_examples_path_str [256 + 12] = "$EXAMPLES_PATH_STR";
4056 static const char qt_configure_tests_path_str [256 + 12] = "$TESTS_PATH_STR";
4059 if [ ! -z "$QT_HOST_PREFIX" ]; then
4060 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4061 #endif // QT_BOOTSTRAPPED
4066 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4067 /* strlen( "qt_lcnsxxxx" ) == 12 */
4068 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
4069 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
4070 #define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12;
4071 #define QT_CONFIGURE_DOCUMENTATION_PATH qt_configure_documentation_path_str + 12;
4072 #define QT_CONFIGURE_HEADERS_PATH qt_configure_headers_path_str + 12;
4073 #define QT_CONFIGURE_LIBRARIES_PATH qt_configure_libraries_path_str + 12;
4074 #define QT_CONFIGURE_BINARIES_PATH qt_configure_binaries_path_str + 12;
4075 #define QT_CONFIGURE_PLUGINS_PATH qt_configure_plugins_path_str + 12;
4076 #define QT_CONFIGURE_IMPORTS_PATH qt_configure_imports_path_str + 12;
4077 #define QT_CONFIGURE_DATA_PATH qt_configure_data_path_str + 12;
4078 #define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12;
4079 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
4080 #define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;
4081 #define QT_CONFIGURE_TESTS_PATH qt_configure_tests_path_str + 12;
4084 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
4085 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
4086 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
4088 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
4089 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
4090 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
4093 # -----------------------------------------------------------------------------
4094 if [ "$LicenseType" = "Evaluation" ]; then
4095 EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey=$LicenseKeyExt"`
4096 elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then
4097 EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey="`
4100 if [ -n "$EVALKEY" ]; then
4101 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
4102 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
4103 /* Evaluation license key */
4104 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
4106 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
4110 # -----------------------------------------------------------------------------
4112 # -----------------------------------------------------------------------------
4115 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
4117 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
4118 if [ "$OPT_SHADOW" = "yes" ]; then
4119 "$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
4120 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
4121 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
4125 # $1: input variable name (awk regexp)
4126 # $2: optional output variable name
4127 # $3: optional value transformation (sed command)
4128 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
4129 # is where the resulting variable is written to
4130 setBootstrapVariable()
4132 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
4136 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
4137 echo "Creating qmake. Please wait..."
4140 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
4141 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
4142 if [ -f "$QCONFIG_H" ]; then
4143 OLD_QCONFIG_H=$QCONFIG_H
4144 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
4147 # create temporary qconfig.h for compiling qmake, if it doesn't exist
4148 # when building qmake, we use #defines for the install paths,
4149 # however they are real functions in the library
4150 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
4151 mkdir -p "$outpath/src/corelib/global"
4152 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
4153 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
4156 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
4158 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
4159 rm -rf mkspecs/default
4160 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
4162 for mkfile in GNUmakefile Makefile; do
4165 in_mkfile="${mkfile}.in"
4166 if [ "$mkfile" = "Makefile" ]; then
4167 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
4168 # (cd qmake && qmake) >/dev/null 2>&1 && continue
4170 in_mkfile="${mkfile}.unix"
4172 in_mkfile="$relpath/qmake/$in_mkfile"
4173 mkfile="$outpath/qmake/$mkfile"
4174 if [ -f "$mkfile" ]; then
4175 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
4178 [ -f "$in_mkfile" ] || continue
4180 echo "########################################################################" > "$mkfile"
4181 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
4182 echo "########################################################################" >> "$mkfile"
4185 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
4186 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
4187 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
4189 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
4190 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
4193 [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
4194 setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
4195 setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
4196 setBootstrapVariable QMAKE_CFLAGS
4197 setBootstrapVariable QMAKE_CXXFLAGS
4198 setBootstrapVariable QMAKE_LFLAGS
4200 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
4201 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
4202 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
4204 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
4205 setBootstrapVariable QMAKE_CFLAGS_RELEASE
4206 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
4207 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
4208 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
4209 elif [ "$CFG_DEBUG" = "yes" ]; then
4210 setBootstrapVariable QMAKE_CFLAGS_DEBUG
4211 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
4212 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
4213 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
4216 if [ -n "$RPATH_FLAGS" ] && [ -n "`getQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
4217 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" QMAKE_LFLAGS_RPATH
4218 for rpath in $RPATH_FLAGS; do
4219 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
4222 if [ "$BUILD_ON_MAC" = "yes" ]; then
4223 echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
4224 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
4225 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
4226 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
4227 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
4228 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
4229 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
4230 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
4231 if [ '!' -z "$CFG_SDK" ]; then
4232 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
4233 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
4234 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
4235 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
4236 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
4239 if [ '!' -z "$D_FLAGS" ]; then
4240 for DEF in $D_FLAGS; do
4241 EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
4244 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
4245 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
4246 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
4247 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
4249 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
4250 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
4251 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
4252 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
4253 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
4254 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
4255 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
4256 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
4257 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
4258 -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
4260 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
4261 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
4262 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
4263 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
4268 QMAKE_BUILD_ERROR=no
4269 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
4270 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
4271 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
4272 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
4275 #-------------------------------------------------------------------------------
4276 # tests that need qmake
4277 #-------------------------------------------------------------------------------
4279 # detect availability of float math.h functions
4280 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
4281 CFG_USE_FLOATMATH=yes
4283 CFG_USE_FLOATMATH=no
4286 # detect mmx support
4287 if [ "${CFG_MMX}" = "auto" ]; then
4288 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mmx "mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
4295 # detect 3dnow support
4296 if [ "${CFG_3DNOW}" = "auto" ]; then
4297 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/3dnow "3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
4304 # detect sse support
4305 if [ "${CFG_SSE}" = "auto" ]; then
4306 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse "sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
4313 # detect sse2 support
4314 if [ "${CFG_SSE2}" = "auto" ]; then
4315 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
4322 # detect sse3 support
4323 if [ "${CFG_SSE3}" = "auto" ]; then
4324 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse3 "sse3" $L_FLAGS $I_FLAGS $l_FLAGS "-msse3"; then
4331 # detect ssse3 support
4332 if [ "${CFG_SSSE3}" = "auto" ]; then
4333 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ssse3 "ssse3" $L_FLAGS $I_FLAGS $l_FLAGS "-mssse3"; then
4340 # detect sse4.1 support
4341 if [ "${CFG_SSE4_1}" = "auto" ]; then
4342 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
4349 # detect sse4.2 support
4350 if [ "${CFG_SSE4_2}" = "auto" ]; then
4351 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
4358 # detect avx support
4359 if [ "${CFG_AVX}" = "auto" ]; then
4360 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx "avx" $L_FLAGS $I_FLAGS $l_FLAGS "-mavx"; then
4367 # check iWMMXt support
4368 if [ "$CFG_IWMMXT" = "yes" ]; then
4369 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
4370 if [ $? != "0" ]; then
4371 echo "The iWMMXt functionality test failed!"
4372 echo " Please make sure your compiler supports iWMMXt intrinsics!"
4377 # detect neon support
4378 if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
4379 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
4386 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
4389 if [ "$CFG_ZLIB" = "no" ]; then
4390 # Note: Qt no longer support builds without zlib
4391 # So we force a "no" to be "auto" here.
4392 # If you REALLY really need no zlib support, you can still disable
4393 # it by doing the following:
4394 # add "no-zlib" to mkspecs/qconfig.pri
4395 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
4397 # There's no guarantee that Qt will build under those conditions
4402 if [ "$CFG_ZLIB" = "auto" ]; then
4403 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
4410 if [ "$CFG_LARGEFILE" = "auto" ]; then
4411 #Large files should be enabled for all Linux systems
4415 # detect how jpeg should be built
4416 if [ "$CFG_JPEG" = "auto" ]; then
4417 if [ "$CFG_SHARED" = "yes" ]; then
4424 if [ "$CFG_LIBJPEG" = "auto" ]; then
4425 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
4432 # detect how gif should be built
4433 if [ "$CFG_GIF" = "auto" ]; then
4434 if [ "$CFG_SHARED" = "yes" ]; then
4442 if [ "$CFG_LIBPNG" = "auto" ]; then
4443 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
4450 # detect accessibility
4451 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4452 CFG_ACCESSIBILITY=yes
4455 # auto-detect SQL-modules support
4456 for _SQLDR in $CFG_SQL_AVAILABLE; do
4459 if [ "$CFG_SQL_mysql" != "no" ]; then
4460 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
4461 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4462 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4463 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4464 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4465 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4466 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4468 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4469 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4470 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4471 echo " You need MySql 4 or higher."
4472 echo " If you believe this message is in error you may use the continue"
4473 echo " switch (-continue) to $0 to continue."
4478 QT_LFLAGS_MYSQL_R=""
4482 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
4483 QMakeVar add CONFIG use_libmysqlclient_r
4484 if [ "$CFG_SQL_mysql" = "auto" ]; then
4485 CFG_SQL_mysql=plugin
4487 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
4488 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
4489 if [ "$CFG_SQL_mysql" = "auto" ]; then
4490 CFG_SQL_mysql=plugin
4493 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4494 echo "MySQL support cannot be enabled due to functionality tests!"
4495 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4496 echo " If you believe this message is in error you may use the continue"
4497 echo " switch (-continue) to $0 to continue."
4502 QT_LFLAGS_MYSQL_R=""
4510 if [ "$CFG_SQL_psql" != "no" ]; then
4511 # Be careful not to use native pg_config when cross building.
4512 if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
4513 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
4514 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
4516 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
4517 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
4518 # But, respect PSQL_LIBS if set
4519 [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
4520 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
4521 if [ "$CFG_SQL_psql" = "auto" ]; then
4525 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4526 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4527 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4528 echo " If you believe this message is in error you may use the continue"
4529 echo " switch (-continue) to $0 to continue."
4540 if [ "$CFG_SQL_odbc" != "no" ]; then
4541 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
4542 if [ "$CFG_SQL_odbc" = "auto" ]; then
4546 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
4547 QT_LFLAGS_ODBC="-liodbc"
4548 if [ "$CFG_SQL_odbc" = "auto" ]; then
4552 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4553 echo "ODBC support cannot be enabled due to functionality tests!"
4554 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4555 echo " If you believe this message is in error you may use the continue"
4556 echo " switch (-continue) to $0 to continue."
4566 if [ "$CFG_SQL_oci" != "no" ]; then
4567 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
4568 if [ "$CFG_SQL_oci" = "auto" ]; then
4572 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4573 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4574 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4575 echo " If you believe this message is in error you may use the continue"
4576 echo " switch (-continue) to $0 to continue."
4585 if [ "$CFG_SQL_tds" != "no" ]; then
4586 [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
4587 [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
4588 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
4589 if [ "$CFG_SQL_tds" = "auto" ]; then
4593 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4594 echo "TDS support cannot be enabled due to functionality tests!"
4595 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4596 echo " If you believe this message is in error you may use the continue"
4597 echo " switch (-continue) to $0 to continue."
4606 if [ "$CFG_SQL_db2" != "no" ]; then
4607 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
4608 if [ "$CFG_SQL_db2" = "auto" ]; then
4612 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4613 echo "ODBC support cannot be enabled due to functionality tests!"
4614 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4615 echo " If you believe this message is in error you may use the continue"
4616 echo " switch (-continue) to $0 to continue."
4625 if [ "$CFG_SQL_ibase" != "no" ]; then
4626 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
4627 if [ "$CFG_SQL_ibase" = "auto" ]; then
4628 CFG_SQL_ibase=plugin
4631 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4632 echo "InterBase support cannot be enabled due to functionality tests!"
4633 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4634 echo " If you believe this message is in error you may use the continue"
4635 echo " switch (-continue) to $0 to continue."
4644 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4645 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
4646 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4647 CFG_SQL_sqlite2=plugin
4650 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4651 echo "SQLite2 support cannot be enabled due to functionality tests!"
4652 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4653 echo " If you believe this message is in error you may use the continue"
4654 echo " switch (-continue) to $0 to continue."
4663 if [ "$CFG_SQL_sqlite" != "no" ]; then
4664 SQLITE_AUTODETECT_FAILED="no"
4665 if [ "$CFG_SQLITE" = "system" ]; then
4666 if [ -n "$PKG_CONFIG" ]; then
4667 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4668 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4670 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
4671 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4672 CFG_SQL_sqlite=plugin
4674 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4676 SQLITE_AUTODETECT_FAILED="yes"
4679 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4680 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4681 CFG_SQL_sqlite=plugin
4684 SQLITE_AUTODETECT_FAILED="yes"
4688 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4689 echo "SQLite support cannot be enabled due to functionality tests!"
4690 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4691 echo " If you believe this message is in error you may use the continue"
4692 echo " switch (-continue) to $0 to continue."
4698 if [ "$OPT_VERBOSE" = "yes" ]; then
4699 echo "unknown SQL driver: $_SQLDR"
4705 # auto-detect NIS support
4706 if [ "$CFG_NIS" != "no" ]; then
4707 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
4710 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4711 echo "NIS support cannot be enabled due to functionality tests!"
4712 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4713 echo " If you believe this message is in error you may use the continue"
4714 echo " switch (-continue) to $0 to continue."
4722 # auto-detect CUPS support
4723 if [ "$CFG_CUPS" != "no" ]; then
4724 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
4727 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4728 echo "Cups support cannot be enabled due to functionality tests!"
4729 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4730 echo " If you believe this message is in error you may use the continue"
4731 echo " switch (-continue) to $0 to continue."
4739 # auto-detect iconv(3) support
4740 if [ "$CFG_ICONV" != "no" ]; then
4741 if [ "$XPLATFORM_MINGW" = "yes" ] || [ "$PLATFORM_QPA" = "yes" -a "$CFG_ICONV" = "auto" ]; then
4743 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
4745 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
4747 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
4750 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4751 echo "Iconv support cannot be enabled due to functionality tests!"
4752 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4753 echo " If you believe this message is in error you may use the continue"
4754 echo " switch (-continue) to $0 to continue."
4762 # auto-detect libdbus-1 support
4763 if [ "$CFG_DBUS" != "no" ]; then
4764 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
4765 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4766 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4768 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
4769 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
4770 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
4771 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
4773 if [ "$CFG_DBUS" = "auto" ]; then
4775 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4776 # CFG_DBUS is "yes" or "linked" here
4778 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4779 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4780 echo " If you believe this message is in error you may use the continue"
4781 echo " switch (-continue) to $0 to continue."
4788 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
4790 # auto-detect Glib support
4791 if [ "$CFG_GLIB" != "no" ]; then
4792 if [ -n "$PKG_CONFIG" ]; then
4793 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4794 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4796 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
4798 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
4799 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
4801 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4802 echo "Glib support cannot be enabled due to functionality tests!"
4803 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4804 echo " If you believe this message is in error you may use the continue"
4805 echo " switch (-continue) to $0 to continue."
4814 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4815 if [ -n "$PKG_CONFIG" ]; then
4816 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4817 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4819 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
4821 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
4822 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
4824 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4825 echo "Gstreamer support cannot be enabled due to functionality tests!"
4826 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4827 echo " If you believe this message is in error you may use the continue"
4828 echo " switch (-continue) to $0 to continue."
4834 elif [ "$CFG_GLIB" = "no" ]; then
4838 # auto-detect libicu support
4839 if [ "$CFG_ICU" != "no" ]; then
4840 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $l_FLAGS; then
4841 [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
4843 if [ "$CFG_ICU" = "auto" ]; then
4845 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4848 echo "The ICU library support cannot be enabled."
4849 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4850 echo " If you believe this message is in error you may use the continue"
4851 echo " switch (-continue) to $0 to continue."
4857 # Auto-detect PulseAudio support
4858 if [ "$CFG_PULSEAUDIO" != "no" ]; then
4859 if [ -n "$PKG_CONFIG" ]; then
4860 QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4861 QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4863 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
4865 QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
4866 QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
4868 if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4869 echo "PulseAudio support cannot be enabled due to functionality tests!"
4870 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4871 echo " If you believe this message is in error you may use the continue"
4872 echo " switch (-continue) to $0 to continue."
4882 if [ "$PLATFORM_X11" = "yes" -a "$CFG_GUI" != "no" ]; then
4883 x11tests="$relpath/config.tests/x11"
4886 # work around broken X11 headers when using GCC 2.95 or later
4888 "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE=yes
4889 if [ $NOTYPE = "yes" ]; then
4890 QMakeVar add QMAKE_CXXFLAGS -fpermissive
4891 X11TESTS_FLAGS="$X11TESTS_FLAGS -fpermissive"
4894 # Check we actually have X11 :-)
4895 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4896 if [ $? != "0" ]; then
4897 echo "Basic XLib functionality test failed!"
4898 echo " You might need to modify the include and library search paths by editing"
4899 echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
4905 if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
4906 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4907 if [ "$CFG_GUI" = "no" ]; then
4908 if [ "$CFG_OPENGL" = "auto" ]; then
4911 if [ "$CFG_OPENGL" != "no" ]; then
4912 echo "OpenGL enabled, but GUI disabled."
4913 echo " You might need to either enable the GUI or disable OpenGL"
4917 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4918 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
4920 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
4922 if [ "$CFG_EGL" = "no" ]; then
4926 if [ "$CFG_OPENGL" = "yes" ]; then
4927 echo "All the OpenGL functionality tests failed!"
4928 echo " You might need to modify the include and library search paths by editing"
4929 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4930 echo " ${XQMAKESPEC}."
4937 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4938 if [ "$CFG_OPENGL" = "desktop" ]; then
4939 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4940 if [ $? != "0" ]; then
4941 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4948 elif [ "$CFG_OPENGL" = "es2" ]; then
4950 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
4951 if [ $? != "0" ]; then
4952 echo "The OpenGL ES 2.0 functionality test failed!"
4953 echo " You might need to modify the include and library search paths by editing"
4954 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4955 echo " ${XQMAKESPEC}."
4958 elif [ "$CFG_OPENGL" = "desktop" ]; then
4959 # Desktop OpenGL support
4960 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4961 if [ $? != "0" ]; then
4962 echo "The OpenGL functionality test failed!"
4963 echo " You might need to modify the include and library search paths by editing"
4964 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4965 echo " ${XQMAKESPEC}."
4970 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4971 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4972 if [ $? != "0" ]; then
4973 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4980 fi # X11/MINGW OpenGL
4983 if [ "$PLATFORM_X11" = "yes" ]; then
4984 # auto-detect Xcursor support
4985 if [ "$CFG_XCURSOR" != "no" ]; then
4986 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
4987 if [ "$CFG_XCURSOR" != "runtime" ]; then
4991 if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4992 echo "Xcursor support cannot be enabled due to functionality tests!"
4993 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4994 echo " If you believe this message is in error you may use the continue"
4995 echo " switch (-continue) to $0 to continue."
5003 # auto-detect Xfixes support
5004 if [ "$CFG_XFIXES" != "no" ]; then
5005 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xfixes "Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
5006 if [ "$CFG_XFIXES" != "runtime" ]; then
5010 if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5011 echo "Xfixes support cannot be enabled due to functionality tests!"
5012 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5013 echo " If you believe this message is in error you may use the continue"
5014 echo " switch (-continue) to $0 to continue."
5022 # auto-detect Xrandr support (resize and rotate extension)
5023 if [ "$CFG_XRANDR" != "no" ]; then
5024 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
5025 if [ "$CFG_XRANDR" != "runtime" ]; then
5029 if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5030 echo "Xrandr 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 Xrender support
5042 if [ "$CFG_XRENDER" != "no" ]; then
5043 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
5046 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5047 echo "Xrender 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 MIT-SHM support
5059 if [ "$CFG_MITSHM" != "no" ]; then
5060 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
5063 if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5064 echo "MITSHM 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 FontConfig support
5076 if [ "$CFG_FONTCONFIG" != "no" ]; then
5077 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
5078 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
5079 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
5081 QT_CFLAGS_FONTCONFIG=
5082 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5084 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
5086 QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
5087 QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
5088 CFG_LIBFREETYPE=system
5090 if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5091 echo "FontConfig support cannot be enabled due to functionality tests!"
5092 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5093 echo " If you believe this message is in error you may use the continue"
5094 echo " switch (-continue) to $0 to continue."
5102 # auto-detect Session Management support
5103 if [ "$CFG_SM" = "auto" ]; then
5104 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
5107 if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5108 echo "Session Management support cannot be enabled due to functionality tests!"
5109 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5110 echo " If you believe this message is in error you may use the continue"
5111 echo " switch (-continue) to $0 to continue."
5119 # auto-detect SHAPE support
5120 if [ "$CFG_XSHAPE" != "no" ]; then
5121 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
5124 if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5125 echo "XShape support cannot be enabled due to functionality tests!"
5126 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5127 echo " If you believe this message is in error you may use the continue"
5128 echo " switch (-continue) to $0 to continue."
5136 # auto-detect XVideo support
5137 if [ "$CFG_XVIDEO" != "no" ]; then
5138 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
5141 if [ "$CFG_XVIDEO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5142 echo "XVideo support cannot be enabled due to functionality tests!"
5143 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5144 echo " If you believe this message is in error you may use the continue"
5145 echo " switch (-continue) to $0 to continue."
5153 # auto-detect XSync support
5154 if [ "$CFG_XSYNC" != "no" ]; then
5155 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
5158 if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5159 echo "XSync support cannot be enabled due to functionality tests!"
5160 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5161 echo " If you believe this message is in error you may use the continue"
5162 echo " switch (-continue) to $0 to continue."
5170 # auto-detect Xinerama support
5171 if [ "$CFG_XINERAMA" != "no" ]; then
5172 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
5173 if [ "$CFG_XINERAMA" != "runtime" ]; then
5177 if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5178 echo "Xinerama support cannot be enabled due to functionality tests!"
5179 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5180 echo " If you believe this message is in error you may use the continue"
5181 echo " switch (-continue) to $0 to continue."
5189 # auto-detect Xinput support
5190 if [ "$CFG_XINPUT" != "no" ]; then
5191 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
5192 if [ "$CFG_XINPUT" != "runtime" ]; then
5196 if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5197 echo "Tablet and Xinput support cannot be enabled due to functionality tests!"
5198 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5199 echo " If you believe this message is in error you may use the continue"
5200 echo " switch (-continue) to $0 to continue."
5208 # auto-detect XKB support
5209 if [ "$CFG_XKB" != "no" ]; then
5210 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
5213 if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5214 echo "XKB support cannot be enabled due to functionality tests!"
5215 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5216 echo " If you believe this message is in error you may use the continue"
5217 echo " switch (-continue) to $0 to continue."
5225 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
5226 if [ -n "$PKG_CONFIG" ]; then
5227 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
5228 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
5230 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
5232 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
5233 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
5235 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5236 echo "Gtk theme support cannot be enabled due to functionality tests!"
5237 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5238 echo " If you believe this message is in error you may use the continue"
5239 echo " switch (-continue) to $0 to continue."
5245 elif [ "$CFG_GLIB" = "no" ]; then
5251 if [ "$BUILD_ON_MAC" = "yes" ]; then
5252 if [ "$CFG_PHONON" != "no" ]; then
5253 # Always enable Phonon (unless it was explicitly disabled)
5257 if [ "$CFG_COREWLAN" = "auto" ]; then
5258 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
5267 if [ "$PLATFORM_QPA" = "yes" ]; then
5268 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
5269 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
5270 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
5272 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
5275 if [ "$CFG_OPENGL" = "yes" ]; then
5276 echo "All the OpenGL functionality tests failed!"
5277 echo " You might need to modify the include and library search paths by editing"
5278 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5279 echo " ${XQMAKESPEC}."
5284 elif [ "$CFG_OPENGL" = "es2" ]; then
5286 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
5287 QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
5288 QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
5289 QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
5290 QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
5291 QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
5292 QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2"
5293 QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2"
5296 "$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
5297 if [ $? != "0" ]; then
5298 echo "The OpenGL ES 2.0 functionality test failed!"
5299 echo " You might need to modify the include and library search paths by editing"
5300 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
5301 echo " ${XQMAKESPEC}."
5304 elif [ "$CFG_OPENGL" = "desktop" ]; then
5305 # Desktop OpenGL support
5306 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5307 if [ $? != "0" ]; then
5308 echo "The OpenGL functionality test failed!"
5309 echo " You might need to modify the include and library search paths by editing"
5310 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5311 echo " ${XQMAKESPEC}."
5316 # auto-detect FontConfig support
5317 if [ "$CFG_FONTCONFIG" != "no" ]; then
5318 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
5319 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
5320 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
5322 QT_CFLAGS_FONTCONFIG=
5323 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5325 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
5326 QT_CONFIG="$QT_CONFIG fontconfig"
5327 QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
5328 QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
5329 CFG_LIBFREETYPE=system
5334 # Save these for a check later
5335 ORIG_CFG_WAYLAND="$CFG_WAYLAND"
5336 ORIG_CFG_XCB="$CFG_XCB"
5338 if [ "$CFG_WAYLAND" != "no" ]; then
5339 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists wayland-client 2>/dev/null; then
5340 QMAKE_CFLAGS_WAYLAND=`$PKG_CONFIG --cflags wayland-client 2>/dev/null`
5341 QMAKE_LIBS_WAYLAND=`$PKG_CONFIG --libs wayland-client 2>/dev/null`
5342 QMAKE_INCDIR_WAYLAND=`$PKG_CONFIG --cflags-only-I wayland-client 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
5343 QMAKE_LIBDIR_WAYLAND=`$PKG_CONFIG --libs-only-L wayland-client 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
5345 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
5347 QT_CONFIG="$QT_CONFIG wayland"
5348 elif [ "$CFG_WAYLAND" = "yes" ]; then
5349 echo "The Wayland functionality test failed!"
5353 QMakeVar add DEFINES QT_NO_WAYLAND
5357 if [ "$CFG_LIBUDEV" != "no" ]; then
5358 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libudev "libudev" $L_FLAGS $I_FLAGS $l_FLAGS; then
5360 QT_CONFIG="$QT_CONFIG libudev"
5361 elif [ "$CFG_LIBUDEV" = "yes" ]; then
5362 echo "The libudev functionality test failed!"
5366 QMakeVar add DEFINES QT_NO_LIBUDEV
5370 if [ "$CFG_EVDEV" != "no" ]; then
5371 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/evdev "evdev" $L_FLAGS $I_FLAGS $l_FLAGS; then
5373 QT_CONFIG="$QT_CONFIG evdev"
5374 elif [ "$CFG_EVDEV" = "yes" ]; then
5375 echo "The evdev functionality test failed!"
5379 QMakeVar add DEFINES QT_NO_EVDEV
5383 # Check we actually have X11 :-)
5384 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
5385 QT_CONFIG="$QT_CONFIG xlib"
5388 # auto-detect Xrender support
5389 if [ "$CFG_XRENDER" != "no" ]; then
5390 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
5392 QT_CONFIG="$QT_CONFIG xrender"
5394 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5395 echo "Xrender support cannot be enabled due to functionality tests!"
5396 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5397 echo " If you believe this message is in error you may use the continue"
5398 echo " switch (-continue) to $0 to continue."
5406 if [ "$CFG_XCB" != "no" ]; then
5407 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xcb 2>/dev/null; then
5408 QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`"
5409 QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`"
5411 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
5413 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
5414 QT_CONFIG="$QT_CONFIG xcb-render"
5417 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
5419 QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
5422 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
5423 QT_CONFIG="$QT_CONFIG xcb-xlib"
5426 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
5427 # auto-detect XInput2/Xinput support
5428 if [ "$CFG_XINPUT2" != "no" ]; then
5429 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
5433 if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5434 echo "XInput2 support cannot be enabled due to functionality tests!"
5435 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5436 echo " If you believe this message is in error you may use the continue"
5437 echo " switch (-continue) to $0 to continue."
5446 if [ "$CFG_XCB" = "yes" ]; then
5447 echo "The XCB test failed!"
5448 echo " You might need to install dependency packages."
5449 echo " See src/plugins/platforms/xcb/README."
5453 QMakeVar add DEFINES QT_NO_XCB
5457 # Detect libxkbcommon
5458 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
5459 QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
5460 QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
5461 if [ "$CFG_WAYLAND" = "yes" ]; then
5462 QMAKE_CFLAGS_WAYLAND="$QMAKE_CFLAGS_WAYLAND $QMAKE_CFLAGS_XKBCOMMON"
5463 QMAKE_LIBS_WAYLAND="$QMAKE_LIBS_WAYLAND $QMAKE_LIBS_XKBCOMMON"
5465 QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
5466 QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
5468 if [ "$CFG_WAYLAND" = "yes" ]; then
5469 QMAKE_DEFINES_WAYLAND=QT_NO_WAYLAND_XKB
5471 QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
5474 # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
5475 if [ -n "$QMAKE_CFLAGS_WAYLAND" ] || [ -n "$QMAKE_LIBS_WAYLAND" ]; then
5476 QMakeVar set QMAKE_CFLAGS_WAYLAND "$QMAKE_CFLAGS_WAYLAND"
5477 QMakeVar set QMAKE_INCDIR_WAYLAND "$QMAKE_INCDIR_WAYLAND"
5478 QMakeVar set QMAKE_LIBS_WAYLAND "$QMAKE_LIBS_WAYLAND"
5479 QMakeVar set QMAKE_LIBDIR_WAYLAND "$QMAKE_LIBDIR_WAYLAND"
5480 QMakeVar set QMAKE_DEFINES_WAYLAND " $QMAKE_DEFINES_WAYLAND"
5483 if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
5484 QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
5485 QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
5486 QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
5489 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
5490 QT_CONFIG="$QT_CONFIG coreservices"
5492 QMakeVar add DEFINES QT_NO_CORESERVICES
5495 if [ "$PLATFORM_QPA" = "yes" ] && [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ]; then
5496 if [ "$CFG_XCB" = "no" ] && [ "$CFG_WAYLAND" = "no" ]; then
5497 if [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_WAYLAND" = "auto" ]; then
5498 echo "No QPA platform plugin enabled!"
5499 echo " If you really want to build without a QPA platform plugin you must pass"
5500 echo " -no-xcb and -no-wayland to configure. Doing this will produce a Qt that"
5501 echo " cannot run GUI applications."
5511 if [ "$PLATFORM_X11" = "yes" ]; then
5512 if [ "$CFG_EGL" != "no" ]; then
5513 # detect EGL support
5514 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/egl" "EGL (EGL/egl.h)" $L_FLAGS $I_FLAGS $l_FLAGS; then
5515 # EGL specified by QMAKE_*_EGL, included with <EGL/egl.h>
5520 if [ "$EGL_VARIANT" = "none" ]; then
5521 if [ "$CFG_EGL" = "yes" ]; then
5522 echo "The EGL functionality test failed!"
5523 echo " EGL is required for OpenGL ES to manage contexts & surfaces."
5524 echo " You might need to modify the include and library search paths by editing"
5525 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in"
5526 echo " ${XQMAKESPEC}."
5530 # If QtOpenGL would be built against OpenGL ES, disable it as we can't to that if EGL is missing
5531 if [ "$CFG_OPENGL" = "es2" ]; then
5538 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
5541 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
5542 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
5543 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/freetype "FreeType" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
5544 CFG_LIBFREETYPE=system
5550 if [ "$CFG_ENDIAN" = "auto" ]; then
5551 if [ "$XPLATFORM_MINGW" = "yes" ]; then
5552 CFG_ENDIAN="Q_LITTLE_ENDIAN"
5554 "$unixtests/endian.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "QMAKE_LFLAGS+=$SYSROOT_FLAG"
5556 if [ "$F" -eq 0 ]; then
5557 CFG_ENDIAN="Q_LITTLE_ENDIAN"
5558 elif [ "$F" -eq 1 ]; then
5559 CFG_ENDIAN="Q_BIG_ENDIAN"
5562 echo "The target system byte order could not be detected!"
5563 echo "Turn on verbose messaging (-v) to see the final report."
5564 echo "You can use the -little-endian or -big-endian switch to"
5565 echo "$0 to continue."
5571 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
5572 if [ "$BUILD_ON_MAC" = "yes" ]; then
5575 "$unixtests/endian.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5577 if [ "$F" -eq 0 ]; then
5578 CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
5579 elif [ "$F" -eq 1 ]; then
5580 CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
5583 echo "The host system byte order could not be detected!"
5584 echo "Turn on verbose messaging (-v) to see the final report."
5585 echo "You can use the -host-little-endian or -host-big-endian switch to"
5586 echo "$0 to continue."
5592 if [ "$CFG_ARMFPA" != "auto" ]; then
5593 if [ "$CFG_ARMFPA" = "yes" ]; then
5594 if [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5595 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
5597 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
5600 CFG_DOUBLEFORMAT="normal"
5605 if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then
5606 if [ "$PLATFORM_QPA" = "yes" ]; then
5607 CFG_DOUBLEFORMAT=normal
5609 "$unixtests/doubleformat.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5611 if [ "$F" -eq 10 ] && [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5612 CFG_DOUBLEFORMAT=normal
5613 elif [ "$F" -eq 11 ] && [ "$CFG_ENDIAN" = "Q_BIG_ENDIAN" ]; then
5614 CFG_DOUBLEFORMAT=normal
5615 elif [ "$F" -eq 10 ]; then
5616 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE"
5617 elif [ "$F" -eq 11 ]; then
5618 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG"
5619 elif [ "$F" -eq 12 ]; then
5620 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
5622 elif [ "$F" -eq 13 ]; then
5623 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
5627 echo "The system floating point format could not be detected."
5628 echo "This may cause data to be generated in a wrong format"
5629 echo "Turn on verbose messaging (-v) to see the final report."
5630 # we do not fail on this since this is a new test, and if it fails,
5631 # the old behavior should be correct in most cases
5632 CFG_DOUBLEFORMAT=normal
5638 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
5642 if [ "$CFG_STL" != "no" ]; then
5643 if [ "$HAVE_STL" = "yes" ]; then
5646 if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5647 echo "STL support cannot be enabled due to functionality tests!"
5648 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5649 echo " If you believe this message is in error you may use the continue"
5650 echo " switch (-continue) to $0 to continue."
5658 # detect POSIX clock_gettime()
5659 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
5660 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/clock-gettime "POSIX clock_gettime()" $L_FLAGS $I_FLAGS $l_FLAGS; then
5661 CFG_CLOCK_GETTIME=yes
5663 CFG_CLOCK_GETTIME=no
5667 # detect POSIX monotonic clocks
5668 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
5669 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/clock-monotonic "POSIX Monotonic Clock" $L_FLAGS $I_FLAGS $l_FLAGS; then
5670 CFG_CLOCK_MONOTONIC=yes
5672 CFG_CLOCK_MONOTONIC=no
5674 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
5675 CFG_CLOCK_MONOTONIC=no
5679 if [ "$CFG_MREMAP" = "auto" ]; then
5680 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
5687 # find if the platform provides getaddrinfo (ipv6 dns lookups)
5688 if [ "$CFG_GETADDRINFO" != "no" ]; then
5689 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
5692 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5693 echo "getaddrinfo support cannot be enabled due to functionality tests!"
5694 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5695 echo " If you believe this message is in error you may use the continue"
5696 echo " switch (-continue) to $0 to continue."
5704 # find if the platform provides inotify
5705 if [ "$CFG_INOTIFY" != "no" ]; then
5706 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
5709 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5710 echo "inotify support cannot be enabled due to functionality tests!"
5711 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5712 echo " If you believe this message is in error you may use the continue"
5713 echo " switch (-continue) to $0 to continue."
5721 # find if the platform provides if_nametoindex (ipv6 interface name support)
5722 if [ "$CFG_IPV6IFNAME" != "no" ]; then
5723 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ipv6ifname "IPv6 interface name" $L_FLAGS $I_FLAGS $l_FLAGS; then
5726 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5727 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
5728 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5729 echo " If you believe this message is in error you may use the continue"
5730 echo " switch (-continue) to $0 to continue."
5738 # find if the platform provides getifaddrs (network interface enumeration)
5739 if [ "$CFG_GETIFADDRS" != "no" ]; then
5740 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
5743 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5744 echo "getifaddrs support cannot be enabled due to functionality tests!"
5745 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5746 echo " If you believe this message is in error you may use the continue"
5747 echo " switch (-continue) to $0 to continue."
5756 if [ "$CFG_OPENSSL" != "no" ]; then
5757 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/openssl "OpenSSL" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
5758 if [ "$CFG_OPENSSL" = "auto" ]; then
5762 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5763 echo "OpenSSL support cannot be enabled due to functionality tests!"
5764 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5765 echo " If you believe this message is in error you may use the continue"
5766 echo " switch (-continue) to $0 to continue."
5775 if [ "$CFG_PCRE" != "qt" ]; then
5776 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pcre "PCRE" $L_FLAGS $I_FLAGS $l_FLAGS; then
5779 if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5780 echo "PCRE support cannot be enabled due to functionality tests!"
5781 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5782 echo " If you believe this message is in error you may use the continue"
5783 echo " switch (-continue) to $0 to continue."
5791 # detect OpenVG support
5792 if [ "$CFG_OPENVG" != "no" ]; then
5793 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
5794 if [ "$CFG_OPENVG" = "auto" ]; then
5797 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG openvg_on_opengl" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
5798 if [ "$CFG_OPENVG" = "auto" ]; then
5801 CFG_OPENVG_ON_OPENGL=yes
5802 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG lower_case_includes" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG (lc includes)" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
5803 if [ "$CFG_OPENVG" = "auto" ]; then
5806 CFG_OPENVG_LC_INCLUDES=yes
5807 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG openvg_on_opengl lower_case_includes" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG (lc includes)" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
5808 if [ "$CFG_OPENVG" = "auto" ]; then
5811 CFG_OPENVG_LC_INCLUDES=yes
5812 CFG_OPENVG_ON_OPENGL=yes
5814 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5815 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
5816 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5817 echo " If you believe this message is in error you may use the continue"
5818 echo " switch (-continue) to $0 to continue."
5824 if [ "$CFG_OPENVG" = "yes" ] && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/shivavg" "ShivaVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
5825 CFG_OPENVG_SHIVA=yes
5829 if [ "$CFG_ALSA" = "auto" ]; then
5830 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
5837 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
5838 if [ "$CFG_ARCH" = "arm" ]; then
5839 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
5840 if [ $? != "0" ]; then
5841 CFG_JAVASCRIPTCORE_JIT=no
5844 case "$XPLATFORM" in
5846 CFG_JAVASCRIPTCORE_JIT=no
5852 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
5853 QMakeVar set JAVASCRIPTCORE_JIT yes
5854 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
5855 QMakeVar set JAVASCRIPTCORE_JIT no
5858 if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
5859 CFG_AUDIO_BACKEND=yes
5862 if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
5863 echo "Warning: largefile support cannot be disabled for win32."
5867 #-------------------------------------------------------------------------------
5868 # ask for all that hasn't been auto-detected or specified in the arguments
5869 #-------------------------------------------------------------------------------
5871 # enable dwarf2 support on Mac
5872 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
5873 QT_CONFIG="$QT_CONFIG dwarf2"
5876 # Set the default Mac OS X arch if there are no "-arch" arguments on the configure line
5877 if [ "$BUILD_ON_MAC" = "yes" ]; then
5878 DEFAULT_ARCH="$CFG_MAC_ARCHS"
5879 if [ -z "$DEFAULT_ARCH" ]; then
5880 case `file "${outpath}/bin/qmake"` in
5888 # unsupported/unknown
5892 if [ -n "$DEFAULT_ARCH" ]; then
5893 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting default Mac OS X architechture to $DEFAULT_ARCH."
5894 QT_CONFIG="$QT_CONFIG $DEFAULT_ARCH"
5895 QMAKE_CONFIG="$QMAKE_CONFIG $DEFAULT_ARCH"
5896 # Make the application arch follow the Qt arch for single arch builds.
5897 # (for multiple-arch builds, set CONFIG manually in the application .pro file)
5898 [ `echo "$DEFAULT_ARCH" | wc -w` -eq 1 ] && QTCONFIG_CONFIG="$QTCONFIG_CONFIG $DEFAULT_ARCH"
5903 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
5904 QT_CONFIG="$QT_CONFIG phonon-backend"
5907 # disable accessibility
5908 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
5909 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
5911 QT_CONFIG="$QT_CONFIG accessibility"
5914 # egl stuff does not belong in lighthouse, but rather in plugins
5915 if [ "$PLATFORM_QPA" = "yes" ]; then
5920 if [ "$CFG_EGL" = "no" ]; then
5921 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
5923 QT_CONFIG="$QT_CONFIG egl"
5924 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
5925 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GLES_EGL"
5930 if [ "$CFG_OPENVG" = "no" ]; then
5931 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
5933 QT_CONFIG="$QT_CONFIG openvg"
5934 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
5935 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
5937 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
5938 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
5940 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
5941 QT_CONFIG="$QT_CONFIG shivavg"
5942 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
5947 if [ "$CFG_OPENGL" = "no" ]; then
5948 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
5950 QT_CONFIG="$QT_CONFIG opengl"
5953 if [ "$CFG_OPENGL" = "es2" ]; then
5954 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
5957 if [ "$CFG_OPENGL" = "es2" ]; then
5958 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5959 QT_CONFIG="$QT_CONFIG opengles2"
5962 # safe execution environment
5963 if [ "$CFG_SXE" != "no" ]; then
5964 QT_CONFIG="$QT_CONFIG sxe"
5967 # build up the variables for output
5968 if [ "$CFG_DEBUG" = "yes" ]; then
5969 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
5970 QMAKE_CONFIG="$QMAKE_CONFIG debug"
5971 elif [ "$CFG_DEBUG" = "no" ]; then
5972 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
5973 QMAKE_CONFIG="$QMAKE_CONFIG release"
5975 if [ "$CFG_SHARED" = "yes" ]; then
5976 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
5977 QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
5978 elif [ "$CFG_SHARED" = "no" ]; then
5979 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
5980 QMAKE_CONFIG="$QMAKE_CONFIG static"
5982 if [ "$PLATFORM_QPA" = "yes" ]; then
5983 QMAKE_CONFIG="$QMAKE_CONFIG qpa"
5984 QT_CONFIG="$QT_CONFIG qpa"
5985 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
5986 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5989 if [ "$XPLATFORM_MINGW" != "yes" ]; then
5990 # Do not set this here for Windows. Let qmake do it so
5991 # debug and release precompiled headers are kept separate.
5992 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
5994 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
5995 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
5996 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
5997 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
5998 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5999 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
6001 if [ "$CFG_STL" = "no" ]; then
6002 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STL"
6004 QMAKE_CONFIG="$QMAKE_CONFIG stl"
6006 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
6007 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
6009 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
6010 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
6011 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
6012 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
6013 QMakeVar add QMAKE_CFLAGS -g
6014 QMakeVar add QMAKE_CXXFLAGS -g
6015 QT_CONFIG="$QT_CONFIG separate_debug_info"
6017 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
6018 QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
6020 [ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mmx"
6021 [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow"
6022 [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse"
6023 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
6024 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
6025 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
6026 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
6027 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
6028 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
6029 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
6030 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
6031 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
6032 QT_CONFIG="$QT_CONFIG clock-gettime"
6034 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
6035 QT_CONFIG="$QT_CONFIG clock-monotonic"
6037 if [ "$CFG_MREMAP" = "yes" ]; then
6038 QT_CONFIG="$QT_CONFIG mremap"
6040 if [ "$CFG_GETADDRINFO" = "yes" ]; then
6041 QT_CONFIG="$QT_CONFIG getaddrinfo"
6043 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
6044 QT_CONFIG="$QT_CONFIG ipv6ifname"
6046 if [ "$CFG_GETIFADDRS" = "yes" ]; then
6047 QT_CONFIG="$QT_CONFIG getifaddrs"
6049 if [ "$CFG_INOTIFY" = "yes" ]; then
6050 QT_CONFIG="$QT_CONFIG inotify"
6052 if [ "$CFG_LIBJPEG" = "no" ]; then
6054 elif [ "$CFG_LIBJPEG" = "system" ]; then
6055 QT_CONFIG="$QT_CONFIG system-jpeg"
6057 if [ "$CFG_JPEG" = "no" ]; then
6058 QT_CONFIG="$QT_CONFIG no-jpeg"
6059 elif [ "$CFG_JPEG" = "yes" ]; then
6060 QT_CONFIG="$QT_CONFIG jpeg"
6062 if [ "$CFG_LIBPNG" = "no" ]; then
6065 if [ "$CFG_LIBPNG" = "system" ]; then
6066 QT_CONFIG="$QT_CONFIG system-png"
6068 if [ "$CFG_PNG" = "no" ]; then
6069 QT_CONFIG="$QT_CONFIG no-png"
6070 elif [ "$CFG_PNG" = "yes" ]; then
6071 QT_CONFIG="$QT_CONFIG png"
6073 if [ "$CFG_GIF" = "no" ]; then
6074 QT_CONFIG="$QT_CONFIG no-gif"
6075 elif [ "$CFG_GIF" = "yes" ]; then
6076 QT_CONFIG="$QT_CONFIG gif"
6078 if [ "$CFG_LIBFREETYPE" = "no" ]; then
6079 QT_CONFIG="$QT_CONFIG no-freetype"
6080 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
6081 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
6082 QT_CONFIG="$QT_CONFIG system-freetype"
6084 QT_CONFIG="$QT_CONFIG freetype"
6086 if [ "$CFG_GUI" = "auto" ]; then
6089 if [ "$CFG_GUI" = "no" ]; then
6090 QT_CONFIG="$QT_CONFIG no-gui"
6092 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GUI"
6096 if [ "x$BUILD_ON_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
6097 #On Mac we implicitly link against libz, so we
6098 #never use the 3rdparty stuff.
6099 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
6101 if [ "$CFG_ZLIB" = "yes" ]; then
6102 QT_CONFIG="$QT_CONFIG zlib"
6103 elif [ "$CFG_ZLIB" = "system" ]; then
6104 QT_CONFIG="$QT_CONFIG system-zlib"
6107 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
6108 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
6109 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
6110 [ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
6111 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
6112 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
6113 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
6114 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
6115 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
6116 [ "$CFG_NAS" = "system" ] && QT_CONFIG="$QT_CONFIG nas"
6117 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
6118 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
6119 [ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
6120 [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
6121 [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
6123 if [ "$PLATFORM_X11" = "yes" ]; then
6124 [ "$CFG_SM" = "yes" ] && QT_CONFIG="$QT_CONFIG x11sm"
6126 # for some reason, the following libraries are not always built shared,
6127 # so *every* program/lib (including Qt) has to link against them
6128 if [ "$CFG_XSHAPE" = "yes" ]; then
6129 QT_CONFIG="$QT_CONFIG xshape"
6131 if [ "$CFG_XVIDEO" = "yes" ]; then
6132 QT_CONFIG="$QT_CONFIG xvideo"
6134 if [ "$CFG_XSYNC" = "yes" ]; then
6135 QT_CONFIG="$QT_CONFIG xsync"
6137 if [ "$CFG_XINERAMA" = "yes" ]; then
6138 QT_CONFIG="$QT_CONFIG xinerama"
6139 QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11'
6141 if [ "$CFG_XCURSOR" = "yes" ]; then
6142 QT_CONFIG="$QT_CONFIG xcursor"
6143 QMakeVar set QMAKE_LIBS_X11 '-lXcursor $$QMAKE_LIBS_X11'
6145 if [ "$CFG_XFIXES" = "yes" ]; then
6146 QT_CONFIG="$QT_CONFIG xfixes"
6147 QMakeVar set QMAKE_LIBS_X11 '-lXfixes $$QMAKE_LIBS_X11'
6149 if [ "$CFG_XRANDR" = "yes" ]; then
6150 QT_CONFIG="$QT_CONFIG xrandr"
6151 if [ "$CFG_XRENDER" != "yes" ]; then
6152 # libXrandr uses 1 function from libXrender, so we always have to have it :/
6153 QMakeVar set QMAKE_LIBS_X11 '-lXrandr -lXrender $$QMAKE_LIBS_X11'
6155 QMakeVar set QMAKE_LIBS_X11 '-lXrandr $$QMAKE_LIBS_X11'
6158 if [ "$CFG_XRENDER" = "yes" ]; then
6159 QT_CONFIG="$QT_CONFIG xrender"
6160 QMakeVar set QMAKE_LIBS_X11 '-lXrender $$QMAKE_LIBS_X11'
6162 if [ "$CFG_MITSHM" = "yes" ]; then
6163 QT_CONFIG="$QT_CONFIG mitshm"
6165 if [ "$CFG_FONTCONFIG" = "yes" ]; then
6166 QT_CONFIG="$QT_CONFIG fontconfig"
6168 if [ "$CFG_XINPUT" = "yes" ]; then
6169 QMakeVar set QMAKE_LIBS_X11 '-lXi $$QMAKE_LIBS_X11'
6171 if [ "$CFG_XINPUT" = "yes" ]; then
6172 QT_CONFIG="$QT_CONFIG xinput tablet"
6174 if [ "$CFG_XKB" = "yes" ]; then
6175 QT_CONFIG="$QT_CONFIG xkb"
6179 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS"
6180 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
6181 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
6183 if [ "$PLATFORM_MAC" = "yes" ]; then
6184 if [ "$CFG_RPATH" = "yes" ]; then
6185 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
6187 elif [ -z "`getXQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
6188 if [ -n "$RPATH_FLAGS" ]; then
6190 echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
6194 elif [ "$CFG_RPATH" = "yes" ]; then
6195 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
6199 if [ "$CFG_RPATH" = "yes" ]; then
6200 # set the default rpath to the library installation directory
6201 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
6203 if [ -n "$RPATH_FLAGS" ]; then
6204 # add the user defined rpaths
6205 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
6209 if [ '!' -z "$I_FLAGS" ]; then
6210 # add the user define include paths
6211 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
6212 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
6215 if [ '!' -z "$W_FLAGS" ]; then
6216 # add the user defined warning flags
6217 QMakeVar add QMAKE_CFLAGS_WARN_ON "$W_FLAGS"
6218 QMakeVar add QMAKE_CXXFLAGS_WARN_ON "$W_FLAGS"
6219 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS"
6222 # turn off exceptions for the compilers that support it
6223 if [ "$XPLATFORM" != "$PLATFORM" ]; then
6224 COMPILER=`echo $XPLATFORM | cut -f 2- -d-`
6226 COMPILER=`echo $PLATFORM | cut -f 2- -d-`
6229 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6230 QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
6233 if [ "$XPLATFORM_MINGW" = "yes" ]; then
6234 # mkspecs/features/win32/default_pre.prf sets "no-rtti".
6235 # Follow default behavior of configure.exe by overriding with "rtti".
6236 QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
6239 if [ "$CFG_ALSA" = "yes" ]; then
6240 QT_CONFIG="$QT_CONFIG alsa"
6243 if [ "$CFG_PULSEAUDIO" = "yes" ]; then
6244 QT_CONFIG="$QT_CONFIG pulseaudio"
6247 if [ "$CFG_COREWLAN" = "yes" ]; then
6248 QT_CONFIG="$QT_CONFIG corewlan"
6251 if [ "$CFG_ICU" = "yes" ]; then
6252 QT_CONFIG="$QT_CONFIG icu"
6255 if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
6256 QT_CONFIG="$QT_CONFIG force_asserts"
6259 if [ "$CFG_PCRE" = "qt" ]; then
6260 QMAKE_CONFIG="$QMAKE_CONFIG pcre"
6264 # Some Qt modules are too advanced in C++ for some old compilers
6265 # Detect here the platforms where they are known to work.
6267 # See Qt documentation for more information on which features are
6268 # supported and on which compilers.
6270 canBuildQtConcurrent="yes"
6271 canUseV8Snapshot="yes"
6273 case "$XPLATFORM" in
6275 # PA-RISC's assembly is too limited
6276 # gcc 3.4 on that platform can't build QtXmlPatterns
6277 # the assembly it generates cannot be compiled
6279 # Check gcc's version
6280 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
6284 canBuildQtXmlPatterns="no"
6288 canBuildQtXmlPatterns="no"
6292 unsupported/vxworks-*-g++*)
6295 unsupported/vxworks-*-dcc*)
6297 canBuildQtXmlPatterns="no"
6300 # Check gcc's version
6301 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
6309 canBuildQtXmlPatterns="no"
6314 # Check the compiler version
6315 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
6318 canBuildQtXmlPatterns="no"
6319 canBuildQtConcurrent="no"
6323 canBuildQtConcurrent="no"
6329 canBuildQtXmlPatterns="no"
6330 canBuildQtConcurrent="no"
6336 # Get the xlC version
6337 cat > xlcver.c <<EOF
6341 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
6346 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
6347 xlcver=`./xlcver 2>/dev/null`
6350 if [ "$OPT_VERBOSE" = "yes" ]; then
6351 if [ -n "$xlcver" ]; then
6352 echo Found IBM xlC version: $xlcver.
6354 echo Could not determine IBM xlC version, assuming oldest supported.
6361 canBuildQtXmlPatterns="no"
6362 canBuildQtConcurrent="no"
6366 canBuildQtConcurrent="no"
6372 canBuildQtConcurrent="no"
6376 if [ "$CFG_GUI" = "no" ]; then
6377 # WebKit requires QtGui
6381 if [ "$CFG_SHARED" = "no" ]; then
6383 echo "WARNING: Using static linking will disable the WebKit module."
6388 CFG_CONCURRENT="yes"
6389 if [ "$canBuildQtConcurrent" = "no" ]; then
6390 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
6393 QT_CONFIG="$QT_CONFIG concurrent"
6397 if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
6398 QT_CONFIG="$QT_CONFIG audio-backend"
6402 if [ "$CFG_WEBKIT" = "debug" ]; then
6403 QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
6407 QT_CONFIG="$QT_CONFIG v8"
6408 # Detect snapshot support
6409 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
6410 case "$CFG_HOST_ARCH,$CFG_ARCH" in
6413 *) canUseV8Snapshot="no"
6417 if [ -n "$_SBOX_DIR" -a "$CFG_ARCH" = "arm" ]; then
6418 # QEMU crashes when building inside Scratchbox with an ARM target
6419 canUseV8Snapshot="no"
6422 if [ "$CFG_V8SNAPSHOT" = "auto" ]; then
6423 CFG_V8SNAPSHOT="$canUseV8Snapshot"
6425 if [ "$CFG_V8SNAPSHOT" = "yes" -a "$canUseV8Snapshot" = "no" ]; then
6426 echo "Error: V8 snapshot was requested, but is not supported on this platform."
6429 if [ "$CFG_V8SNAPSHOT" = "yes" ]; then
6430 QT_CONFIG="$QT_CONFIG v8snapshot"
6434 if [ "$CFG_DECLARATIVE_DEBUG" = "no" ]; then
6435 QCONFIG_FLAGS="$QCONFIG_FLAGS QDECLARATIVE_NO_DEBUG_PROTOCOL"
6438 if [ "$CFG_EXCEPTIONS" = "no" ]; then
6441 QMakeVar add QMAKE_CFLAGS -fno-exceptions
6442 QMakeVar add QMAKE_CXXFLAGS -fno-exceptions
6443 QMakeVar add QMAKE_LFLAGS -fno-exceptions
6448 QMakeVar add QMAKE_CFLAGS -LANG:exceptions=off
6449 QMakeVar add QMAKE_CXXFLAGS -LANG:exceptions=off
6450 QMakeVar add QMAKE_LFLAGS -LANG:exceptions=off
6457 QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off"
6463 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
6465 case "$COMPILER_VERSION" in
6467 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
6468 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
6469 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
6472 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
6473 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
6474 QT_GCC_PATCH_VERSION=0
6484 #-------------------------------------------------------------------------------
6485 # part of configuration information goes into qconfig.h
6486 #-------------------------------------------------------------------------------
6488 case "$CFG_QCONFIG" in
6490 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
6493 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
6494 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
6495 if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
6496 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
6497 elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
6498 cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
6500 echo "#endif" >>"$tmpconfig"
6504 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6508 # define QT_EDITION $QT_EDITION
6511 /* Machine byte-order */
6512 #define Q_BIG_ENDIAN 4321
6513 #define Q_LITTLE_ENDIAN 1234
6516 echo "#ifdef QT_BOOTSTRAPPED" >>"$outpath/src/corelib/global/qconfig.h.new"
6517 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
6518 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6519 #if defined(__BIG_ENDIAN__)
6520 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6521 #elif defined(__LITTLE_ENDIAN__)
6522 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6524 # error "Unable to determine byte order!"
6528 echo "#define Q_BYTE_ORDER $CFG_HOST_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6530 echo "#else" >>"$outpath/src/corelib/global/qconfig.h.new"
6531 if [ "$CFG_ENDIAN" = "auto" ]; then
6532 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6533 #if defined(__BIG_ENDIAN__)
6534 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6535 #elif defined(__LITTLE_ENDIAN__)
6536 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6538 # error "Unable to determine byte order!"
6542 echo "#define Q_BYTE_ORDER $CFG_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6544 echo "#endif" >>"$outpath/src/corelib/global/qconfig.h.new"
6546 if [ "$CFG_DOUBLEFORMAT" != "normal" ]; then
6547 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6548 /* Non-IEEE double format */
6549 #define Q_DOUBLE_LITTLE "01234567"
6550 #define Q_DOUBLE_BIG "76543210"
6551 #define Q_DOUBLE_LITTLE_SWAPPED "45670123"
6552 #define Q_DOUBLE_BIG_SWAPPED "32107654"
6553 #define Q_DOUBLE_FORMAT $CFG_DOUBLEFORMAT
6556 if [ "$CFG_ARMFPA" = "yes" ]; then
6557 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
6558 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6559 #ifndef QT_BOOTSTRAPPED
6564 echo "#define QT_ARMFPA" >>"$outpath/src/corelib/global/qconfig.h.new"
6568 CFG_ARCH_STR=`echo $CFG_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6569 CFG_HOST_ARCH_STR=`echo $CFG_HOST_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6570 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6571 /* Machine Architecture */
6572 #ifndef QT_BOOTSTRAPPED
6573 # define QT_ARCH_${CFG_ARCH_STR}
6575 # define QT_ARCH_${CFG_HOST_ARCH_STR}
6579 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
6580 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
6582 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
6583 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
6586 if [ "$CFG_FRAMEWORK" = "yes" ]; then
6587 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
6590 if [ "$BUILD_ON_MAC" = "yes" ]; then
6591 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6592 #if defined(__LP64__)
6593 # define QT_POINTER_SIZE 8
6595 # define QT_POINTER_SIZE 4
6599 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6600 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
6603 #REDUCE_RELOCATIONS is a elf/unix only thing, so not in windows configure.exe
6604 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
6605 echo "#define QT_REDUCE_RELOCATIONS" >>"$outpath/src/corelib/global/qconfig.h.new"
6609 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6611 if [ "$CFG_DEV" = "yes" ]; then
6612 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
6615 if [ "$PLATFORM_QPA" = "yes" ]; then
6616 # Add QPA to config.h
6617 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
6620 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
6621 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
6624 # Add turned on SQL drivers
6625 for DRIVER in $CFG_SQL_AVAILABLE; do
6626 eval "VAL=\$CFG_SQL_$DRIVER"
6629 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6630 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
6631 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
6634 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
6640 QMakeVar set sql-drivers "$SQL_DRIVERS"
6641 QMakeVar set sql-plugins "$SQL_PLUGINS"
6643 # Add other configuration options to the qconfig.h file
6644 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
6645 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
6646 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
6647 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
6648 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
6649 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
6650 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
6652 # X11/Unix/Mac only configs
6653 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
6654 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
6655 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
6656 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
6657 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
6658 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
6659 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
6660 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
6661 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
6662 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
6663 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
6664 [ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NAS"
6665 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
6666 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
6667 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
6669 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
6670 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
6671 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
6672 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
6673 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
6674 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
6675 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
6676 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
6677 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
6678 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
6679 [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
6680 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
6681 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
6683 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
6684 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
6685 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
6686 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
6687 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
6688 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
6689 [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
6690 [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
6692 # sort QCONFIG_FLAGS for neatness if we can
6693 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
6694 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
6696 if [ -n "$QCONFIG_FLAGS" ]; then
6697 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6698 #ifndef QT_BOOTSTRAPPED
6701 for cfg in $QCONFIG_FLAGS; do
6702 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
6703 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
6704 # figure out define logic, so we can output the correct
6705 # ifdefs to override the global defines in a project
6707 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
6708 # QT_NO_option can be forcefully turned on by QT_option
6709 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
6710 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
6711 # QT_option can be forcefully turned off by QT_NO_option
6712 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
6715 if [ -z $cfgdNeg ]; then
6716 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6723 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6724 #if defined($cfgd) && defined($cfgdNeg)
6726 #elif !defined($cfgd) && !defined($cfgdNeg)
6733 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6734 #endif // QT_BOOTSTRAPPED
6739 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
6740 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6741 #define QT_VISIBILITY_AVAILABLE
6746 if [ -n "$QT_LIBINFIX" ]; then
6747 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6748 #define QT_LIBINFIX "$QT_LIBINFIX"
6753 # avoid unecessary rebuilds by copying only if qconfig.h has changed
6754 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
6755 rm -f "$outpath/src/corelib/global/qconfig.h.new"
6757 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
6758 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
6759 chmod -w "$outpath/src/corelib/global/qconfig.h"
6760 if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then
6761 ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h"
6765 #-------------------------------------------------------------------------------
6766 # save configuration into qconfig.pri
6767 #-------------------------------------------------------------------------------
6768 QTCONFIG="$outpath/mkspecs/qconfig.pri"
6769 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
6770 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
6771 if [ "$CFG_DEBUG" = "yes" ]; then
6772 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
6773 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6774 QT_CONFIG="$QT_CONFIG release"
6776 QT_CONFIG="$QT_CONFIG debug"
6777 elif [ "$CFG_DEBUG" = "no" ]; then
6778 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
6779 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6780 QT_CONFIG="$QT_CONFIG debug"
6782 QT_CONFIG="$QT_CONFIG release"
6784 if [ "$CFG_STL" = "yes" ]; then
6785 QTCONFIG_CONFIG="$QTCONFIG_CONFIG stl"
6787 if [ "$CFG_FRAMEWORK" = "no" ]; then
6788 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
6790 QT_CONFIG="$QT_CONFIG qt_framework"
6791 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
6793 if [ "$CFG_DEV" = "yes" ]; then
6794 QT_CONFIG="$QT_CONFIG private_tests"
6797 cat >>"$QTCONFIG.tmp" <<EOF
6799 CONFIG += $QTCONFIG_CONFIG
6801 QT_EDITION = $Edition
6802 QT_CONFIG += $QT_CONFIG
6805 QT_VERSION = $QT_VERSION
6806 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
6807 QT_MINOR_VERSION = $QT_MINOR_VERSION
6808 QT_PATCH_VERSION = $QT_PATCH_VERSION
6811 QT_LIBINFIX = $QT_LIBINFIX
6812 QT_NAMESPACE = $QT_NAMESPACE
6815 if [ -n "$CFG_SYSROOT" ]; then
6816 echo "# sysroot" >>"$QTCONFIG.tmp"
6817 echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
6818 echo " QT_SYSROOT += \$\$quote($CFG_SYSROOT)" >>"$QTCONFIG.tmp"
6819 echo " QMAKE_CFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
6820 echo " QMAKE_CXXFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
6821 echo " QMAKE_LFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
6822 echo "}" >> "$QTCONFIG.tmp"
6823 echo >> "$QTCONFIG.tmp"
6825 if [ "$CFG_RPATH" = "yes" ]; then
6826 echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
6828 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
6829 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
6830 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
6831 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
6834 if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
6835 echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
6836 echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp"
6839 # replace qconfig.pri if it differs from the newly created temp file
6840 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
6841 rm -f "$QTCONFIG.tmp"
6843 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
6846 #-------------------------------------------------------------------------------
6847 # save configuration into qmodule.pri
6848 #-------------------------------------------------------------------------------
6849 QTMODULE="$outpath/mkspecs/qmodule.pri"
6851 echo "CONFIG += create_prl link_prl" >> "$QTMODULE.tmp"
6853 # Ensure we can link to uninistalled libraries
6854 if [ "$BUILD_ON_MAC" != "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
6855 echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
6857 if [ -n "$QT_CFLAGS_PSQL" ]; then
6858 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
6860 if [ -n "$QT_LFLAGS_PSQL" ]; then
6861 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
6863 if [ -n "$QT_CFLAGS_MYSQL" ]; then
6864 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
6866 if [ -n "$QT_LFLAGS_MYSQL" ]; then
6867 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
6869 if [ -n "$QT_CFLAGS_SQLITE" ]; then
6870 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
6872 if [ -n "$QT_LFLAGS_SQLITE" ]; then
6873 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
6875 if [ -n "$QT_LFLAGS_ODBC" ]; then
6876 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
6878 if [ -n "$QT_LFLAGS_TDS" ]; then
6879 echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
6882 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
6883 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
6886 #dump in the OPENSSL_LIBS info
6887 if [ '!' -z "$OPENSSL_LIBS" ]; then
6888 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
6889 elif [ "$CFG_OPENSSL" = "linked" ]; then
6890 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
6893 #dump in the SDK info
6894 if [ '!' -z "$CFG_SDK" ]; then
6895 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
6899 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
6900 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
6902 # replace qmodule.pri if it differs from the newly created temp file
6903 if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
6904 rm -f "$QTMODULE.tmp"
6906 mv -f "$QTMODULE.tmp" "$QTMODULE"
6909 #-------------------------------------------------------------------------------
6910 # save configuration into .qmake.cache
6911 #-------------------------------------------------------------------------------
6913 CACHEFILE="$outpath/.qmake.cache"
6914 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
6915 cat >>"$CACHEFILE.tmp" <<EOF
6917 QT_SOURCE_TREE = \$\$quote($relpath)
6918 QT_BUILD_TREE = \$\$quote($outpath)
6919 QT_BUILD_PARTS = $CFG_BUILD_PARTS
6921 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
6922 QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
6923 QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
6924 QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
6925 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
6926 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
6928 include(\$\$PWD/mkspecs/qmodule.pri)
6929 CONFIG += $QMAKE_CONFIG dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
6930 QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
6931 QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
6935 #dump the qmake spec
6936 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
6937 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
6939 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
6944 [ "$CFG_INCREMENTAL" = "auto" ] && "$WHICH" p4 >/dev/null 2>&1 && [ "$CFG_DEV" = "yes" ] && CFG_INCREMENTAL="yes"
6945 if [ "$CFG_INCREMENTAL" = "yes" ]; then
6946 find "$relpath" -perm u+w -mtime -3 | grep 'cpp$' | while read f; do
6947 # don't need to worry about generated files
6948 [ -r `echo $f | sed "s,cpp$,ui,"` ] && continue
6949 basename "$f" | grep '^moc_' >/dev/null 2>&1 && continue
6951 INCREMENTAL="$INCREMENTAL `basename \"$f\" | sed 's,.cpp,.o,'`"
6953 [ '!' -z "$INCREMENTAL" ] && echo "QMAKE_INCREMENTAL += $INCREMENTAL" >> "$CACHEFILE.tmp"
6954 [ -r "$outpath/.qmake.incremental" ] && echo "include($outpath/.qmake.incremental)" >> "$CACHEFILE.tmp"
6957 # replace .qmake.cache if it differs from the newly created temp file
6958 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
6959 rm -f "$CACHEFILE.tmp"
6961 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
6964 #-------------------------------------------------------------------------------
6965 # give feedback on configuration
6966 #-------------------------------------------------------------------------------
6970 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6973 This target is using the GNU C++ compiler ($PLATFORM).
6975 Recent versions of this compiler automatically include code for
6976 exceptions, which increase both the size of the Qt libraries and
6977 the amount of memory taken by your applications.
6979 You may choose to re-run `basename $0` with the -no-exceptions
6980 option to compile Qt without exceptions. This is completely binary
6981 compatible, and existing applications will continue to work.
6989 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6992 This target is using the MIPSpro C++ compiler ($PLATFORM).
6994 You may choose to re-run `basename $0` with the -no-exceptions
6995 option to compile Qt without exceptions. This will make the
6996 size of the Qt library smaller and reduce the amount of memory
6997 taken by your applications.
7009 if [ "$XPLATFORM" = "$PLATFORM" ]; then
7010 echo "Build type: $PLATFORM"
7012 echo "Building on: $PLATFORM"
7013 echo "Building for: $XPLATFORM"
7016 if [ ! -z "$CFG_MAC_ARCHS" ]; then
7017 echo "Architecture: $CFG_ARCH ($CFG_MAC_ARCHS )"
7019 echo "Architecture: $CFG_ARCH"
7022 if [ "$PLATFORM_QPA" = "yes" ]; then
7023 echo "Host architecture: $CFG_HOST_ARCH"
7026 if [ -n "$PLATFORM_NOTES" ]; then
7027 echo "Platform notes:"
7028 echo "$PLATFORM_NOTES"
7033 if [ "$OPT_VERBOSE" = "yes" ]; then
7034 echo $ECHO_N "qmake vars .......... $ECHO_C"
7035 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
7036 echo "qmake switches ......... $QMAKE_SWITCHES"
7039 [ "$CFG_INCREMENTAL" = "yes" ] && [ '!' -z "$INCREMENTAL" ] && echo "Incremental ............ $INCREMENTAL"
7040 echo "Build .................. $CFG_BUILD_PARTS"
7041 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
7042 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
7043 echo "Debug .................. yes (combined)"
7044 if [ "$CFG_DEBUG" = "yes" ]; then
7045 echo "Default Link ........... debug"
7047 echo "Default Link ........... release"
7050 echo "Debug .................. $CFG_DEBUG"
7052 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
7053 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
7054 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
7055 echo "QtConcurrent code ...... $CFG_CONCURRENT"
7056 echo "QtGui module ........... $CFG_GUI"
7057 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
7058 echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
7060 echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
7062 echo "Declarative debugging ...$CFG_DECLARATIVE_DEBUG"
7063 echo "STL support ............ $CFG_STL"
7064 echo "PCH support ............ $CFG_PRECOMPILE"
7065 echo "MMX/3DNOW/SSE/SSE2/SSE3. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}/${CFG_SSE3}"
7066 echo "SSSE3/SSE4.1/SSE4.2..... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
7067 echo "AVX..................... ${CFG_AVX}"
7068 if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then
7069 echo "iWMMXt support ......... ${CFG_IWMMXT}"
7070 echo "NEON support ........... ${CFG_NEON}"
7072 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
7073 echo "getaddrinfo support .... $CFG_GETADDRINFO"
7074 echo "getifaddrs support ..... $CFG_GETIFADDRS"
7075 echo "Accessibility .......... $CFG_ACCESSIBILITY"
7076 echo "NIS support ............ $CFG_NIS"
7077 echo "CUPS support ........... $CFG_CUPS"
7078 echo "Iconv support .......... $CFG_ICONV"
7079 echo "Glib support ........... $CFG_GLIB"
7080 echo "GStreamer support ...... $CFG_GSTREAMER"
7081 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
7082 echo "Large File support ..... $CFG_LARGEFILE"
7083 echo "GIF support ............ $CFG_GIF"
7084 if [ "$CFG_JPEG" = "no" ]; then
7085 echo "JPEG support ........... $CFG_JPEG"
7087 echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
7089 if [ "$CFG_PNG" = "no" ]; then
7090 echo "PNG support ............ $CFG_PNG"
7092 echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
7094 echo "zlib support ........... $CFG_ZLIB"
7095 echo "Session management ..... $CFG_SM"
7097 if [ "$CFG_OPENGL" = "desktop" ]; then
7098 echo "OpenGL support ......... yes (Desktop OpenGL)"
7099 elif [ "$CFG_OPENGL" = "es2" ]; then
7100 echo "OpenGL support ......... yes (OpenGL ES 2.x)"
7102 echo "OpenGL support ......... no"
7104 if [ "$CFG_EGL" != "no" ]; then
7105 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
7106 echo "EGL support ............ yes <GLES/egl.h>"
7108 echo "EGL support ............ yes <EGL/egl.h>"
7111 if [ "$CFG_OPENVG" ]; then
7112 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
7113 echo "OpenVG support ......... ShivaVG"
7115 echo "OpenVG support ......... $CFG_OPENVG"
7118 if [ "$PLATFORM_X11" = "yes" ]; then
7119 echo "NAS sound support ...... $CFG_NAS"
7120 echo "XShape support ......... $CFG_XSHAPE"
7121 echo "XVideo support ......... $CFG_XVIDEO"
7122 echo "XSync support .......... $CFG_XSYNC"
7123 echo "Xinerama support ....... $CFG_XINERAMA"
7124 echo "Xcursor support ........ $CFG_XCURSOR"
7125 echo "Xfixes support ......... $CFG_XFIXES"
7126 echo "Xrandr support ......... $CFG_XRANDR"
7127 echo "Xi support ............. $CFG_XINPUT"
7128 echo "MIT-SHM support ........ $CFG_MITSHM"
7129 echo "FontConfig support ..... $CFG_FONTCONFIG"
7130 echo "XKB Support ............ $CFG_XKB"
7131 echo "immodule support ....... $CFG_IM"
7132 echo "GTK theme support ...... $CFG_QGTKSTYLE"
7134 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
7135 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
7136 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
7137 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
7138 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
7139 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
7140 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
7141 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
7142 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
7145 if [ "$CFG_OPENSSL" = "yes" ]; then
7146 OPENSSL_LINKAGE="(run-time)"
7147 elif [ "$CFG_OPENSSL" = "linked" ]; then
7148 OPENSSL_LINKAGE="(linked)"
7150 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
7151 echo "Alsa support ........... $CFG_ALSA"
7152 if [ "$BUILD_ON_MAC" = "yes" ]; then
7153 echo "CoreWlan support ....... $CFG_COREWLAN"
7155 echo "libICU support ......... $CFG_ICU"
7156 echo "PCRE support ........... $CFG_PCRE"
7157 if [ "$CFG_XCB_LIMITED" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
7158 echo "Xcb support ............ limited (old version)"
7160 echo "Xcb support ............ $CFG_XCB"
7162 echo "Xrender support ........ $CFG_XRENDER"
7163 if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
7164 echo "XInput2 support ........ $CFG_XINPUT2"
7168 # complain about not being able to use dynamic plugins if we are using a static build
7169 if [ "$CFG_SHARED" = "no" ]; then
7171 echo "WARNING: Using static linking will disable the use of dynamically"
7172 echo "loaded plugins. Make sure to import all needed static plugins,"
7173 echo "or compile needed modules into the library."
7176 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
7178 echo "NOTE: When linking against OpenSSL, you can override the default"
7179 echo "library names through OPENSSL_LIBS."
7181 echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
7184 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
7186 echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
7187 echo "if you want a pure debug build."
7192 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
7197 #-------------------------------------------------------------------------------
7198 # build makefiles based on the configuration
7199 #-------------------------------------------------------------------------------
7201 echo "Finding project files. Please wait..."
7202 if [ "$CFG_NOPROCESS" != "yes" ]; then
7203 "$outpath/bin/qmake" -prl -r "${relpath}/qtbase.pro"
7204 if [ -f "${relpath}/qtbase.pro" ]; then
7205 mkfile="${outpath}/Makefile"
7206 [ -f "$mkfile" ] && chmod +w "$mkfile"
7207 QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/qtbase.pro" -o "$mkfile"
7211 # .projects -> projects to process
7212 # .projects.1 -> qt and moc
7213 # .projects.2 -> subdirs and libs
7214 # .projects.3 -> the rest
7215 rm -f .projects .projects.1 .projects.2 .projects.3
7217 QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
7218 if [ -z "$AWK" ]; then
7219 for p in `echo $QMAKE_PROJECTS`; do
7220 echo "$p" >> .projects
7223 cat >projects.awk <<EOF
7229 first = "./.projects.1.tmp"
7230 second = "./.projects.2.tmp"
7231 third = "./.projects.3.tmp"
7236 if ( ! target_file )
7238 print input_file >target_file
7243 input_file = FILENAME
7248 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
7251 } else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) {
7252 target_file = second
7257 matched_target == 0 && /^(TEMPLATE.*=)/ {
7258 if ( \$3 == "subdirs" )
7259 target_file = second
7260 else if ( \$3 == "lib" )
7266 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
7267 if ( \$0 ~ /plugin/ )
7270 target_file = second
7275 if ( ! target_file )
7277 print input_file >>target_file
7284 for p in `echo $QMAKE_PROJECTS`; do
7285 echo "$p" >> .projects.all
7288 # if you get errors about the length of the command line to awk, change the -l arg
7290 split -l 100 .projects.all .projects.all.
7291 for p in .projects.all.*; do
7292 "$AWK" -f projects.awk `cat $p`
7293 [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
7294 [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
7295 [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
7296 rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
7298 rm -f .projects.all* projects.awk
7300 [ -f .projects.1 ] && cat .projects.1 >>.projects
7301 [ -f .projects.2 ] && cat .projects.2 >>.projects
7302 rm -f .projects.1 .projects.2
7303 if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
7304 cat .projects.3 >>.projects
7308 # don't sort Qt and MOC in with the other project files
7309 # also work around a segfaulting uniq(1)
7310 if [ -f .sorted.projects.2 ]; then
7311 sort .sorted.projects.2 > .sorted.projects.2.new
7312 mv -f .sorted.projects.2.new .sorted.projects.2
7313 cat .sorted.projects.2 >> .sorted.projects.1
7315 [ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
7316 rm -f .sorted.projects.2 .sorted.projects.1
7320 if [ -f .projects ]; then
7321 uniq .projects >.tmp
7322 mv -f .tmp .projects
7323 NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
7325 if [ -f .projects.3 ]; then
7326 uniq .projects.3 >.tmp
7327 mv -f .tmp .projects.3
7328 FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
7330 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
7334 for part in $CFG_BUILD_PARTS; do
7336 tools) PART_ROOTS="$PART_ROOTS tools" ;;
7337 libs) PART_ROOTS="$PART_ROOTS src" ;;
7338 translations) PART_ROOTS="$PART_ROOTS translations" ;;
7339 examples) PART_ROOTS="$PART_ROOTS examples" ;;
7344 if [ "$CFG_DEV" = "yes" ]; then
7345 PART_ROOTS="$PART_ROOTS tests"
7348 echo "Creating makefiles. Please wait..."
7349 for file in .projects .projects.3; do
7350 [ '!' -f "$file" ] && continue
7351 for a in `cat $file`; do
7353 for r in $PART_ROOTS; do
7354 if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
7359 [ "$IN_ROOT" = "no" ] && continue
7362 *winmain/winmain.pro)
7363 if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_MINGW" != "yes" ]; then
7367 */qmake/qmake.pro) continue ;;
7368 *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*) SPEC=$QMAKESPEC ;;
7369 *) if [ "$CFG_NOPROCESS" = "yes" ]; then
7375 dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
7376 test -d "$dir" || mkdir -p "$dir"
7377 OUTDIR="$outpath/$dir"
7378 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
7379 # fast configure - the makefile exists, skip it
7380 # since the makefile exists, it was generated by qmake, which means we
7381 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
7383 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
7386 QMAKE_SPEC_ARGS="-spec $SPEC"
7387 echo $ECHO_N " for $a$ECHO_C"
7389 QMAKE="$outpath/bin/qmake"
7390 QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
7391 if [ "$file" = ".projects.3" ]; then
7394 cat >"${OUTDIR}/Makefile" <<EOF
7395 # ${OUTDIR}/Makefile: generated by configure
7397 # WARNING: This makefile will be replaced with a real makefile.
7398 # All changes made to this file will be lost.
7400 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
7402 cat >>"${OUTDIR}/Makefile" <<EOF
7404 all clean install qmake first Makefile: FORCE
7405 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
7413 if [ "$OPT_VERBOSE" = "yes" ]; then
7414 echo " (`basename $SPEC`)"
7415 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7420 [ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
7421 QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7425 rm -f .projects .projects.3
7427 #-------------------------------------------------------------------------------
7428 # check for platforms that we don't yet know about
7429 #-------------------------------------------------------------------------------
7430 if [ "$CFG_ARCH" = "generic" ]; then
7433 NOTICE: Atomic operations are not yet supported for this
7436 Qt will use the 'generic' architecture instead, which uses a
7437 single pthread_mutex_t to protect all atomic operations. This
7438 implementation is the slow (but safe) fallback implementation
7439 for architectures Qt does not yet support.
7443 #-------------------------------------------------------------------------------
7444 # check if the user passed the -no-zlib option, which is no longer supported
7445 #-------------------------------------------------------------------------------
7446 if [ -n "$ZLIB_FORCED" ]; then
7447 which_zlib="supplied"
7448 if [ "$CFG_ZLIB" = "system" ]; then
7454 NOTICE: The -no-zlib option was supplied but is no longer
7457 Qt now requires zlib support in all builds, so the -no-zlib
7458 option was ignored. Qt will be built using the $which_zlib
7463 #-------------------------------------------------------------------------------
7464 # finally save the executed command to another script
7465 #-------------------------------------------------------------------------------
7466 if [ `basename $0` != "config.status" ]; then
7467 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
7469 # add the system variables
7470 for varname in $SYSTEM_VARIABLES; do
7472 'if [ -n "\$'${varname}'" ]; then
7473 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
7478 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
7480 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
7481 echo "#!/bin/sh" > "$outpath/config.status"
7482 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
7483 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
7484 echo "else" >> "$outpath/config.status"
7485 echo " $CONFIG_STATUS" >> "$outpath/config.status"
7486 echo "fi" >> "$outpath/config.status"
7487 chmod +x "$outpath/config.status"
7490 if [ -n "$RPATH_MESSAGE" ]; then
7492 echo "$RPATH_MESSAGE"
7495 MAKE=`basename "$MAKE"`
7497 echo Qt is now configured for building. Just run \'$MAKE\'.
7498 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
7499 echo Once everything is built, Qt is installed.
7500 echo You should not run \'$MAKE install\'.
7502 echo Once everything is built, you must run \'$MAKE install\'.
7503 echo Qt will be installed into $QT_INSTALL_PREFIX
7506 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.