2 #############################################################################
4 ## Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
5 ## All rights reserved.
6 ## Contact: Nokia Corporation (qt-info@nokia.com)
8 ## This file is the build configuration utility of the Qt Toolkit.
10 ## $QT_BEGIN_LICENSE:LGPL$
11 ## GNU Lesser General Public License Usage
12 ## This file may be used under the terms of the GNU Lesser General Public
13 ## License version 2.1 as published by the Free Software Foundation and
14 ## appearing in the file LICENSE.LGPL included in the packaging of this
15 ## file. Please review the following information to ensure the GNU Lesser
16 ## General Public License version 2.1 requirements will be met:
17 ## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
19 ## In addition, as a special exception, Nokia gives you certain additional
20 ## rights. These rights are described in the Nokia Qt LGPL Exception
21 ## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
23 ## GNU General Public License Usage
24 ## Alternatively, this file may be used under the terms of the GNU General
25 ## Public License version 3.0 as published by the Free Software Foundation
26 ## and appearing in the file LICENSE.GPL included in the packaging of this
27 ## file. Please review the following information to ensure the GNU General
28 ## Public License version 3.0 requirements will be met:
29 ## http://www.gnu.org/copyleft/gpl.html.
32 ## Alternatively, this file may be used in accordance with the terms and
33 ## 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"
131 # relies on $QMAKESPEC being set correctly. parses include statements in
132 # qmake.conf and prints out the expanded file
139 getQMakeConf1 "$tmpSPEC/qmake.conf"
142 # relies on $TEST_COMPILER being set correctly
143 compilerSupportsFlag()
145 cat >conftest.cpp <<EOF
146 int main() { return 0; }
148 "$TEST_COMPILER" "$@" -o conftest.o conftest.cpp
150 rm -f conftest.cpp conftest.o
154 # relies on $TEST_COMPILER being set correctly
160 safe_flag=`shellEscape "$flag"`
161 lflags=$lflags,$safe_flag
163 compilerSupportsFlag "$lflags" >/dev/null 2>&1
166 #-------------------------------------------------------------------------------
167 # operating system detection
168 #-------------------------------------------------------------------------------
170 # need that throughout the script
171 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
172 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
173 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
174 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
176 # detect the "echo without newline" style. usage: echo $ECHO_N "<string>$ECHO_C"
177 if echo '\c' | grep '\c' >/dev/null; then
183 #-------------------------------------------------------------------------------
184 # window system detection
185 #-------------------------------------------------------------------------------
191 if [ -d /System/Library/Frameworks/Carbon.framework ]; then
198 #-----------------------------------------------------------------------------
199 # Qt version detection
200 #-----------------------------------------------------------------------------
201 QT_VERSION=`grep '^# *define *QT_VERSION_STR' "$relpath"/src/corelib/global/qglobal.h`
205 if [ -n "$QT_VERSION" ]; then
206 QT_VERSION=`echo $QT_VERSION | sed 's,^# *define *QT_VERSION_STR *"*\([^ ]*\)"$,\1,'`
207 MAJOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
208 if [ -n "$MAJOR" ]; then
209 MINOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
210 PATCH=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
211 QT_MAJOR_VERSION="$MAJOR"
212 [ -z "$MINOR" ] || QT_MINOR_VERSION="$MINOR"
213 [ -z "$PATCH" ] || QT_PATCH_VERSION="$PATCH"
216 if [ -z "$QT_MAJOR_VERSION" ]; then
217 echo "Cannot process version from qglobal.h: $QT_VERSION"
218 echo "Cannot proceed."
222 QT_PACKAGEDATE=`grep '^# *define *QT_PACKAGEDATE_STR' "$relpath"/src/corelib/global/qglobal.h | sed -e 's,^# *define *QT_PACKAGEDATE_STR *"\([^ ]*\)"$,\1,' -e s,-,,g`
223 if [ -z "$QT_PACKAGEDATE" ]; then
224 echo "Unable to determine package date from qglobal.h: '$QT_PACKAGEDATE'"
225 echo "Cannot proceed"
229 #-------------------------------------------------------------------------------
231 #-------------------------------------------------------------------------------
237 EditionString=Commercial
241 # parse the arguments, setting things to "yes" or "no"
242 while [ "$#" -gt 0 ]; do
246 #Autoconf style options
248 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
252 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
256 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
257 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
260 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
265 # this option may or may not be followed by an argument
266 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
275 # this option may or may not be followed by an argument
276 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
289 -h|help|--help|-help)
290 if [ "$VAL" = "yes" ]; then
292 COMMERCIAL_USER="no" #doesn't matter we will display the help
295 COMMERCIAL_USER="no" #doesn't matter we will display the help
299 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
303 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
310 if [ "$UNKNOWN_ARG" = "yes" ]; then
327 if [ "$PLATFORM_QPA" != "no" ]; then
328 if [ "$PLATFORM_QPA" = "maybe" ]; then
335 echo "No license exists to enable Qt QPA. Disabling."
340 echo "Using NaCl at $VAL."
357 COMMERCIAL_USER="yes"
371 if [ "$COMMERCIAL_USER" = "ask" ]; then
373 echo "Which edition of Qt do you want to use ?"
375 echo "Type 'c' if you want to use the Commercial Edition."
376 echo "Type 'o' if you want to use the Open Source Edition."
380 if [ "$commercial" = "c" ]; then
381 COMMERCIAL_USER="yes"
383 elif [ "$commercial" = "o" ]; then
390 if [ "$CFG_NOKIA" = "yes" ]; then
392 Edition="NokiaInternalBuild"
393 EditionString="Nokia Internal Build"
394 QT_EDITION="QT_EDITION_OPENSOURCE"
395 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
396 elif [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes" ]; then
397 # Commercial preview release
398 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
401 QT_EDITION="QT_EDITION_DESKTOP"
402 LicenseType="Technology Preview"
403 elif [ $COMMERCIAL_USER = "yes" ]; then
404 # one of commercial editions
405 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
406 [ "$PLATFORM_QPA" = "maybe" ] && PLATFORM_QPA=no
407 [ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=no
409 # read in the license file
410 if [ -f "$LICENSE_FILE" ]; then
411 . "$LICENSE_FILE" >/dev/null 2>&1
412 if [ -z "$LicenseKeyExt" ]; then
414 echo "You are using an old license file."
416 echo "Please install the license file supplied by Nokia,"
417 echo "or install the Qt Open Source Edition if you intend to"
418 echo "develop free software."
421 if [ -z "$Licensee" ]; then
423 echo "Invalid license key. Please check the license key."
427 if [ -z "$LicenseKeyExt" ]; then
429 echo $ECHO_N "Please enter your license key: $ECHO_C"
431 Licensee="Unknown user"
436 echo "$LicenseKeyExt" | grep ".....*-....*-....*-....*-.....*-.....*-...." >/dev/null 2>&1 \
437 && LicenseValid="yes" \
439 if [ "$LicenseValid" != "yes" ]; then
441 echo "Invalid license key. Please check the license key."
444 ProductCode=`echo $LicenseKeyExt | cut -f 1 -d - | cut -b 1`
445 PlatformCode=`echo $LicenseKeyExt | cut -f 2 -d -`
446 LicenseTypeCode=`echo $LicenseKeyExt | cut -f 3 -d -`
447 LicenseFeatureCode=`echo $LicenseKeyExt | cut -f 4 -d - | cut -b 1`
449 # determine which edition we are licensed to use
450 case "$LicenseTypeCode" in
452 LicenseType="Commercial"
456 QT_EDITION="QT_EDITION_UNIVERSAL"
459 Edition="FullFramework"
460 EditionString="Full Framework"
461 QT_EDITION="QT_EDITION_DESKTOP"
464 Edition="GUIFramework"
465 EditionString="GUI Framework"
466 QT_EDITION="QT_EDITION_DESKTOPLIGHT"
471 LicenseType="Evaluation"
472 QMakeVar add DEFINES QT_EVAL
476 QT_EDITION="QT_EDITION_EVALUATION"
481 if [ -z "$LicenseType" -o -z "$Edition" -o -z "$QT_EDITION" ]; then
483 echo "Invalid license key. Please check the license key."
487 # verify that we are licensed to use Qt on this platform
489 case "$PlatformCode" in
492 PlatformCode=`echo "$PlatformCode" | sed 'h;y/8NPQRTZ/UCWX9M7/;x;G;s/\(.\)....\(.\)./\1\2/'`
496 PlatformCode=`echo "$PlatformCode" | sed 's/.$//'`
499 ### EMBEDDED_QPA logic missing ###
500 case "$PlatformCode,$PLATFORM_MAC,$PLATFORM_QWS" in
501 X9,* | XC,* | XU,* | XW,* | XM,*)
503 LICENSE_EXTENSION="-ALLOS"
505 8M,* | KM,* | S9,* | SC,* | SM,* | SU,* | SW,* | X9,* | XC,* | XU,* | XW,*)
506 # Qt for Embedded Linux
507 LICENSE_EXTENSION="-EMBEDDED"
509 6M,*,no | N7,*,no | N9,*,no | NX,*,no)
511 LICENSE_EXTENSION="-EMBEDDED"
513 FM,*,no | LM,yes,* | ZM,no,no)
515 LICENSE_EXTENSION="-DESKTOP"
519 [ "$PLATFORM_MAC" = "yes" ] && Platform='Mac OS X'
520 [ "$PLATFORM_QWS" = "yes" ] && Platform='Embedded Linux'
522 echo "You are not licensed for the $Platform platform."
524 echo "Please contact qt-info@nokia.com to upgrade your license to"
525 echo "include the $Platform platform, or install the Qt Open Source Edition"
526 echo "if you intend to develop free software."
531 if test -r "$relpath/.LICENSE"; then
532 # Generic, non-final license
534 line=`sed 'y/a-z/A-Z/;q' "$relpath"/.LICENSE`
539 *TECHNOLOGY?PREVIEW*)
546 echo >&2 "Invalid license files; cannot continue"
551 EditionString="$Edition"
552 QT_EDITION="QT_EDITION_DESKTOP"
555 case "$LicenseFeatureCode" in
558 case "$LicenseType" in
560 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}-US" "$outpath/LICENSE"
563 cp -f "$relpath/.LICENSE-EVALUATION-US" "$outpath/LICENSE"
569 case "$LicenseType" in
571 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}" "$outpath/LICENSE"
574 cp -f "$relpath/.LICENSE-EVALUATION" "$outpath/LICENSE"
580 echo "Invalid license key. Please check the license key."
584 case "$LicenseFeatureCode" in
592 if [ '!' -f "$outpath/LICENSE" ]; then
593 echo "The LICENSE, LICENSE.GPL3 LICENSE.LGPL file shipped with"
594 echo "this software has disappeared."
596 echo "Sorry, you are not licensed to use this software."
597 echo "Try re-installing."
601 elif [ $COMMERCIAL_USER = "no" ]; then
602 # Open Source edition - may only be used under the terms of the GPL or LGPL.
603 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
604 Licensee="Open Source"
606 EditionString="Open Source"
607 QT_EDITION="QT_EDITION_OPENSOURCE"
610 #-------------------------------------------------------------------------------
611 # initalize variables
612 #-------------------------------------------------------------------------------
614 SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
615 for varname in $SYSTEM_VARIABLES; do
616 qmakevarname="${varname}"
617 # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
618 if [ "${varname}" = "LDFLAGS" ]; then
619 qmakevarname="LFLAGS"
620 elif [ "${varname}" = "LD" ]; then
624 'if [ -n "\$'${varname}'" ]; then
625 QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'"
629 # Use CC/CXX to run config.tests
630 mkdir -p "$outpath/config.tests"
631 rm -f "$outpath/config.tests/.qmake.cache"
632 cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
634 QMakeVar add styles "cde mac motif plastique cleanlooks windows"
635 QMakeVar add decorations "default windows styled"
636 QMakeVar add mouse-drivers "pc"
637 if [ "$UNAME_SYSTEM" = "Linux" ] ; then
638 QMakeVar add gfx-drivers "linuxfb"
639 QMakeVar add mouse-drivers "linuxtp"
641 QMakeVar add kbd-drivers "tty"
643 if [ "$CFG_DEV" = "yes" ]; then
644 QMakeVar add kbd-drivers "um"
647 # QTDIR may be set and point to an old or system-wide Qt installation
650 # the minimum version of libdbus-1 that we require:
651 MIN_DBUS_1_VERSION=0.93
653 # initalize internal variables
654 CFG_CONFIGURE_EXIT_ON_ERROR=yes
656 CFG_EXCEPTIONS=unspecified
657 CFG_GUI=auto # (yes|no|auto)
658 CFG_SCRIPT=auto # (yes|no|auto)
659 CFG_SCRIPTTOOLS=auto # (yes|no|auto)
660 CFG_XMLPATTERNS=auto # (yes|no|auto)
674 CFG_SYMBIAN_DEFFILES=auto
692 CFG_OPENVG_LC_INCLUDES=no
693 CFG_OPENVG_SHIVA=auto
694 CFG_OPENVG_ON_OPENGL=auto
696 CFG_EGL_GLES_INCLUDES=no
699 CFG_QWS_FREETYPE=auto
702 QT_DEFAULT_BUILD_PARTS="libs examples tests"
707 CFG_PHONON_BACKEND=yes
709 CFG_AUDIO_BACKEND=auto
712 CFG_DECLARATIVE_DEBUG=yes
713 CFG_WEBKIT=auto # (yes|no|auto|debug)
714 CFG_JAVASCRIPTCORE_JIT=auto
717 CFG_GFX_AVAILABLE="linuxfb transformed qvfb vnc multiscreen directfb"
718 CFG_GFX_ON="linuxfb multiscreen"
719 CFG_GFX_PLUGIN_AVAILABLE=
722 CFG_KBD_AVAILABLE="tty linuxinput qvfb"
723 CFG_KBD_ON="tty" #default, see QMakeVar above
724 CFG_MOUSE_AVAILABLE="pc linuxtp linuxinput tslib qvfb"
725 CFG_MOUSE_ON="pc linuxtp" #default, see QMakeVar above
727 if [ -f "$relpath/src/gui/embedded/qscreenqnx_qws.cpp" ]; then
728 CFG_KBD_AVAILABLE="${CFG_KBD_AVAILABLE} qnx"
729 CFG_MOUSE_AVAILABLE="${CFG_MOUSE_AVAILABLE} qnx"
730 CFG_GFX_AVAILABLE="${CFG_GFX_AVAILABLE} qnx"
732 if [ -f "$relpath/src/gui/embedded/qscreenintegrityfb_qws.cpp" ]; then
733 CFG_KBD_AVAILABLE="${CFG_KBD_AVAILABLE} integrity"
734 CFG_MOUSE_AVAILABLE="${CFG_MOUSE_AVAILABLE} integrity"
735 CFG_GFX_AVAILABLE="${CFG_GFX_AVAILABLE} integrityfb"
740 CFG_KBD_PLUGIN_AVAILABLE=
743 CFG_MOUSE_PLUGIN_AVAILABLE=
748 CFG_DECORATION_AVAILABLE="styled windows default"
749 CFG_DECORATION_ON="${CFG_DECORATION_AVAILABLE}" # all on by default
750 CFG_DECORATION_PLUGIN_AVAILABLE=
751 CFG_DECORATION_PLUGIN=
768 CFG_SEPARATE_DEBUG_INFO=no
769 CFG_SEPARATE_DEBUG_INFO_NOCOPY=no
770 CFG_REDUCE_EXPORTS=auto
780 CFG_REDUCE_RELOCATIONS=no
784 CFG_ACCESSIBILITY=auto
788 CFG_DOUBLEFORMAT=auto
792 CFG_CLOCK_GETTIME=auto
793 CFG_CLOCK_MONOTONIC=auto
802 MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
807 COMMANDLINE_MAC_CARBON=no
810 CFG_PREFIX_INSTALL=yes
818 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++" or "symbian-gcce"
819 XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
820 XPLATFORM_SYMBIAN=no # Whether target platform is SYMBIAN (*symbian*)
821 XPLATFORM_SYMBIAN_SBSV2=no # Whether target platform is SYMBIAN_SBSV2 (symbian-sbsv2)
824 OPT_CONFIRM_LICENSE=no
830 CFG_GRAPHICS_SYSTEM=default
839 # initalize variables used for installation
848 QT_INSTALL_TRANSLATIONS=
853 #flags for SQL drivers
861 QT_LFLAGS_ODBC="-lodbc"
864 # flags for libdbus-1
868 # flags for Glib (X11 only)
872 # flags for GStreamer (X11 only)
876 #flag for Symbian fpu settings
879 # flags for libconnsettings0 (used for Maemo ICD bearer management plugin)
880 QT_CFLAGS_CONNSETTINGS=
881 QT_LIBS_CONNSETTINGS=
883 #-------------------------------------------------------------------------------
884 # check SQL drivers, mouse drivers and decorations available in this package
885 #-------------------------------------------------------------------------------
887 # opensource version removes some drivers, so force them to be off
893 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
894 for a in "$relpath/src/plugins/sqldrivers/"*; do
896 base_a=`basename "$a"`
897 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
898 eval "CFG_SQL_${base_a}=auto"
903 CFG_DECORATION_PLUGIN_AVAILABLE=
904 if [ -d "$relpath/src/plugins/decorations" ]; then
905 for a in "$relpath/src/plugins/decorations/"*; do
907 base_a=`basename "$a"`
908 CFG_DECORATION_PLUGIN_AVAILABLE="${CFG_DECORATION_PLUGIN_AVAILABLE} ${base_a}"
913 CFG_KBD_PLUGIN_AVAILABLE=
914 if [ -d "$relpath/src/plugins/kbddrivers" ]; then
915 for a in "$relpath/src/plugins/kbddrivers/"*; do
917 base_a=`basename "$a"`
918 CFG_KBD_PLUGIN_AVAILABLE="${CFG_KBD_PLUGIN_AVAILABLE} ${base_a}"
923 CFG_MOUSE_PLUGIN_AVAILABLE=
924 if [ -d "$relpath/src/plugins/mousedrivers" ]; then
925 for a in "$relpath/src/plugins/mousedrivers/"*; do
927 base_a=`basename "$a"`
928 CFG_MOUSE_PLUGIN_AVAILABLE="${CFG_MOUSE_PLUGIN_AVAILABLE} ${base_a}"
933 CFG_GFX_PLUGIN_AVAILABLE=
934 if [ -d "$relpath/src/plugins/gfxdrivers" ]; then
935 for a in "$relpath/src/plugins/gfxdrivers/"*; do
937 base_a=`basename "$a"`
938 CFG_GFX_PLUGIN_AVAILABLE="${CFG_GFX_PLUGIN_AVAILABLE} ${base_a}"
941 CFG_GFX_OFF="$CFG_GFX_AVAILABLE" # assume all off
944 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
945 if [ -d "$relpath/src/plugins/imageformats" ]; then
946 for a in "$relpath/src/plugins/imageformats/"*; do
948 base_a=`basename "$a"`
949 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
954 #-------------------------------------------------------------------------------
955 # Set Default NaCl options
956 #-------------------------------------------------------------------------------
957 if [ "$CFG_EMBEDDED" = "nacl" ]; then
958 echo "Setting NaCl options:"
968 if [ `uname` = "Linux" ]; then
969 I_FLAGS="$I_FLAGS -I${CFG_NACL_PATH}/toolchain/linux_x86/sdk/nacl-sdk/include"
970 L_FLAGS="$L_FLAGS -I${CFG_NACL_PATH}/toolchain/linux_x86/sdk/nacl-sdk/lib"
972 I_FLAGS="$I_FLAGS -I${CFG_NACL_PATH}/toolchain/mac_x86/sdk/nacl-sdk/include"
973 L_FLAGS="$L_FLAGS -I${CFG_NACL_PATH}/toolchain/mac_x86/sdk/nacl-sdk/lib"
976 echo "-no-multimedia -no-webkit -no-phonon -no-nultimedia -no-mediaservices -no-xmlpatterns -no-script -no-sql-sqlite -nomake tests"
987 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS tests"
988 QT_CONFIG="$QT_CONFIG nacl"
991 #-------------------------------------------------------------------------------
992 # parse command line arguments
993 #-------------------------------------------------------------------------------
995 # parse the arguments, setting things to "yes" or "no"
996 while [ "$#" -gt 0 ]; do
1000 #Autoconf style options
1002 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
1006 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
1010 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
1011 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
1014 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
1018 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
1022 -no-*-*|-plugin-*-*|-qt-*-*)
1023 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
1024 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
1039 #Qt style no options
1041 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
1044 #Qt style yes options
1045 -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-xcb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-carbon|-universal|-harfbuzz|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-audio-backend|-svg|-declarative|-declarative-debug|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config|-s60|-usedeffiles|-icu)
1046 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1049 #Qt style options that pass an argument
1051 if [ "$PLATFORM_QWS" != "yes" -a "$PLATFORM_QPA" != "yes" ]; then
1053 echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
1057 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1061 -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config)
1062 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1066 #Qt style complex options in one command
1067 -enable-*|-disable-*)
1068 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
1069 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
1071 #Qt Builtin/System style options
1072 -no-*|-system-*|-qt-*)
1073 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
1074 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
1076 #Options that cannot be generalized
1083 # this option may or may not be followed by an argument
1084 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1091 -embedded-lite|-qpa)
1093 # this option may or may not be followed by an argument
1094 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1107 # this option may or may not be followed by an argument
1108 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1117 # this option may or may not be followed by an argument
1118 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1126 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1127 # this option may or may not be followed by an argument
1128 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1137 VAL=`echo $1 | sed "s,^-.*-\(.*\)-.*,\1,"`
1141 VAL=`echo $1 | sed "s,^-\(.*\)-.*,\1,"`
1149 VAR="graphicssystem"
1153 -runtimegraphicssystem)
1154 VAR="runtimegraphicssystem"
1165 if [ "$1" = "-D" ]; then
1169 VAL=`echo $1 | sed 's,-D,,'`
1174 # this option may or may not be followed by an argument
1175 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1184 if [ "$1" = "-I" ]; then
1188 VAL=`echo $1 | sed 's,-I,,'`
1193 if [ "$1" = "-L" ]; then
1197 VAL=`echo $1 | sed 's,-L,,'`
1202 if [ "$1" = "-R" ]; then
1206 VAL=`echo $1 | sed 's,-R,,'`
1211 VAL=`echo $1 | sed 's,-l,,'`
1215 if [ "$1" = "-F" ]; then
1219 VAL=`echo $1 | sed 's,-F,,'`
1224 if [ "$1" = "-fw" ]; then
1228 VAL=`echo $1 | sed 's,-fw,,'`
1232 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1239 if [ "$UNKNOWN_ARG" = "yes" ]; then
1240 echo "$1: unknown argument"
1251 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1252 CFG_QT3SUPPORT="$VAL"
1258 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1259 CFG_ACCESSIBILITY="$VAL"
1268 CFG_USE_GNUMAKE="$VAL"
1271 CFG_MYSQL_CONFIG="$VAL"
1274 QT_INSTALL_PREFIX="$VAL"
1277 QT_HOST_PREFIX="$VAL"
1280 QT_FORCE_PKGCONFIG=yes
1283 QT_INSTALL_DOCS="$VAL"
1286 QT_INSTALL_HEADERS="$VAL"
1289 QT_INSTALL_PLUGINS="$VAL"
1292 QT_INSTALL_IMPORTS="$VAL"
1295 QT_INSTALL_DATA="$VAL"
1298 QT_INSTALL_LIBS="$VAL"
1307 QT_INSTALL_TRANSLATIONS="$VAL"
1309 sysconfdir|settingsdir)
1310 QT_INSTALL_SETTINGS="$VAL"
1313 QT_INSTALL_EXAMPLES="$VAL"
1322 QT_INSTALL_BINS="$VAL"
1325 CFG_USER_BUILD_KEY="$VAL"
1347 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1354 if [ "$VAL" = "little" ]; then
1355 CFG_ENDIAN="Q_LITTLE_ENDIAN"
1356 elif [ "$VAL" = "big" ]; then
1357 CFG_ENDIAN="Q_BIG_ENDIAN"
1363 if [ "$VAL" = "little" ]; then
1364 CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
1365 elif [ "$VAL" = "big" ]; then
1366 CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
1372 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1379 CFG_QWS_DEPTHS="$VAL"
1382 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1383 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1384 [ "$VAL" = "es1" ] || [ "$VAL" = "es2" ]; then
1386 if [ "$VAL" = "es1" ] || [ "$VAL" = "es2" ]; then
1394 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1396 if [ "$CFG_EGL" = "no" ] && [ "$VAL" != "no" ]; then
1404 if [ "$PLATFORM_QWS" = "yes" ]; then
1405 echo "Error: Graphics System plugins are not supported on QWS."
1406 echo " On QWS, the graphics system API is part of the QScreen plugin architecture "
1407 echo " rather than existing as a separate plugin."
1411 if [ "$VAL" = "opengl" ]; then
1412 CFG_GRAPHICS_SYSTEM="opengl"
1413 elif [ "$VAL" = "openvg" ]; then
1414 CFG_GRAPHICS_SYSTEM="openvg"
1415 elif [ "$VAL" = "raster" ]; then
1416 CFG_GRAPHICS_SYSTEM="raster"
1417 elif [ "$VAL" = "runtime" ]; then
1418 CFG_GRAPHICS_SYSTEM="runtime"
1424 runtimegraphicssystem)
1425 if [ "$VAL" != "runtime" ]; then
1426 CFG_RUNTIME_SYSTEM="$VAL"
1430 qvfb) # left for commandline compatibility, not documented
1431 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1432 if [ "$VAL" = "yes" ]; then
1433 QMakeVar add gfx-drivers qvfb
1434 QMakeVar add kbd-drivers qvfb
1435 QMakeVar add mouse-drivers qvfb
1436 CFG_GFX_ON="$CFG_GFX_ON qvfb"
1437 CFG_KBD_ON="$CFG_KBD_ON qvfb"
1438 CFG_MOUSE_ON="$CFG_MOUSE_ON qvfb"
1445 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1448 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1457 if [ "$PLATFORM_MAC" = "yes" ]; then
1464 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1465 CFG_MAC_DWARF2="$VAL"
1471 # if this is a Mac then "windows" probably means
1472 # we are cross-compiling for MinGW
1473 if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" != "windows" ]; then
1474 CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL"
1483 if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1484 CFG_MAC_ARCHS="$CFG_MAC_ARCHS x86 ppc"
1490 # do nothing - Cocoa is the default.
1493 if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1494 CFG_MAC_CARBON="$VAL"
1495 COMMANDLINE_MAC_CARBON="$VAL"
1501 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_CARBON" != "yes" ] && [ "$VAL" = "yes" ]; then
1502 CFG_MAC_HARFBUZZ="$VAL"
1509 if [ "$PLATFORM_MAC" = "yes" ] || [ "$PLATFORM_QPA" = "yes" ]; then
1510 CFG_FRAMEWORK="$VAL"
1516 if [ "$VAL" = "yes" ]; then
1518 QMakeVar add QMAKE_CFLAGS -pg
1519 QMakeVar add QMAKE_CXXFLAGS -pg
1520 QMakeVar add QMAKE_LFLAGS -pg
1521 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1526 exceptions|g++-exceptions)
1527 if [ "$VAL" = "no" ]; then
1529 elif [ "$VAL" = "yes" ]; then
1537 # keep compatibility with old platform names
1543 PLATFORM=hpux-acc-o64
1546 PLATFORM=hpux-acc-64
1549 PLATFORM=hpux-acc-64
1561 PLATFORM=reliant-cds-64
1564 PLATFORM=solaris-cc-64
1567 PLATFORM=unixware-cc
1570 PLATFORM=unixware-g++
1573 PLATFORM=unixware-cc
1576 PLATFORM=unixware-g++
1582 i386) NATIVE_64_ARCH="x86_64" ;;
1583 powerpc) NATIVE_64_ARCH="ppc64" ;;
1584 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1586 if [ ! -z "$NATIVE_64_ARCH" ]; then
1587 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1588 CFG_MAC_ARCHS="$CFG_MAC_ARCHS $NATIVE_64_ARCH"
1595 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1596 case "$XPLATFORM" in *symbian*) XPLATFORM_SYMBIAN=yes;; esac
1597 case "$XPLATFORM" in symbian-sbsv2) XPLATFORM_SYMBIAN_SBSV2=yes;; esac
1600 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1601 CFG_DEBUG_RELEASE="$VAL"
1607 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1608 CFG_RELEASE_QMAKE="$VAL"
1614 if [ "$VAL" = "yes" ]; then
1616 elif [ "$VAL" = "no" ]; then
1623 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1624 CFG_PREFIX_INSTALL="$VAL"
1632 developer-build|commercial|opensource|nokia-developer)
1633 # These switches have been dealt with already
1636 if [ "$VAL" = "yes" ]; then
1638 elif [ "$VAL" = "no" ]; then
1645 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1646 CFG_INCREMENTAL="$VAL"
1652 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1653 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1659 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1660 if [ "$VAL" = "no" ]; then
1661 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1662 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1663 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1669 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1676 if [ "$VAL" = "no" ]; then
1683 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1691 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1698 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1705 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1712 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1719 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1726 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1733 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1740 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1741 CFG_PRECOMPILE="$VAL"
1746 separate-debug-info)
1747 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1748 CFG_SEPARATE_DEBUG_INFO="$VAL"
1749 elif [ "$VAL" = "nocopy" ] ; then
1750 CFG_SEPARATE_DEBUG_INFO="yes"
1751 CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1757 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1758 CFG_REDUCE_EXPORTS="$VAL"
1764 if [ "$VAL" = "no" ]; then
1771 if [ "$VAL" = "no" ]; then
1778 if [ "$VAL" = "no" ]; then
1785 if [ "$VAL" = "no" ]; then
1792 if [ "$VAL" = "no" ]; then
1799 if [ "$VAL" = "no" ]; then
1806 if [ "$VAL" = "no" ]; then
1813 if [ "$VAL" = "no" ]; then
1820 if [ "$VAL" = "no" ]; then
1830 if [ "$VAL" = "no" ]; then
1837 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1838 CFG_REDUCE_RELOCATIONS="$VAL"
1844 [ "$VAL" = "qt" ] && VAL=yes
1845 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1846 CFG_QWS_FREETYPE="$VAL"
1852 [ "$VAL" = "qt" ] && VAL=yes
1853 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1858 # No longer supported:
1859 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1862 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1869 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1870 CFG_SYMBIAN_DEFFILES="$VAL"
1876 if [ "$VAL" = "system" ]; then
1883 [ "$VAL" = "yes" ] && VAL=qt
1884 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1891 [ "$VAL" = "yes" ] && VAL=qt
1892 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1899 [ "$VAL" = "yes" ] && VAL=qt
1900 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1907 [ "$VAL" = "yes" ] && VAL=qt
1908 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1915 if [ "$VAL" = "system" ] || [ "$VAL" = "no" ]; then
1922 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1929 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1936 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1943 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1950 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1957 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1958 CFG_FONTCONFIG="$VAL"
1964 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1971 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1978 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1985 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1992 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1999 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2000 CFG_GSTREAMER="$VAL"
2006 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2007 CFG_QGTKSTYLE="$VAL"
2013 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ]; then
2014 CFG_QS60STYLE="$VAL"
2020 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
2023 if [ "$VAL" = "no" ]; then
2031 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
2033 elif [ "$VAL" = "runtime" ]; then
2040 if [ "$VAL" = "yes" ]; then
2047 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2054 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2055 CFG_LARGEFILE="$VAL"
2061 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2068 if [ "$VAL" = "yes" ]; then
2069 CFG_OPENSSL="linked"
2075 if [ "$VAL" = "yes" ]; then
2083 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
2084 CFG_XMLPATTERNS="yes"
2086 if [ "$VAL" = "no" ]; then
2087 CFG_XMLPATTERNS="no"
2094 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
2097 if [ "$VAL" = "no" ]; then
2105 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
2106 CFG_SCRIPTTOOLS="yes"
2108 if [ "$VAL" = "no" ]; then
2109 CFG_SCRIPTTOOLS="no"
2116 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
2119 if [ "$VAL" = "no" ]; then
2127 if [ "$VAL" = "yes" ]; then
2128 CFG_DECLARATIVE="yes"
2130 if [ "$VAL" = "no" ]; then
2131 CFG_DECLARATIVE="no"
2138 if [ "$VAL" = "yes" ]; then
2139 CFG_DECLARATIVE_DEBUG="yes"
2141 if [ "$VAL" = "no" ]; then
2142 CFG_DECLARATIVE_DEBUG="no"
2149 [ "$VAL" = "auto" ] && VAL="yes"
2153 if [ "$VAL" = "yes" ]; then
2156 if [ "$VAL" = "no" ]; then
2164 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
2165 CFG_JAVASCRIPTCORE_JIT="$VAL"
2171 if [ "$VAL" = "yes" ]; then
2172 OPT_CONFIRM_LICENSE="$VAL"
2178 if [ "$VAL" = "yes" ]; then
2184 sql-*|gfx-*|decoration-*|kbd-*|mouse-*|imageformat-*)
2185 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
2186 # if autoconf style options were used, $VAL can be "yes" or "no"
2187 [ "$VAL" = "yes" ] && VAL=qt
2188 # now $VAL should be "no", "qt", or "plugin"... double-check
2189 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
2192 # now $VAL is "no", "qt", or "plugin"
2194 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
2195 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
2197 # Grab the available values
2200 avail="$CFG_SQL_AVAILABLE"
2203 avail="$CFG_GFX_AVAILABLE"
2204 if [ "$OPT" = "plugin" ]; then
2205 avail="$CFG_GFX_PLUGIN_AVAILABLE"
2209 avail="$CFG_DECORATION_AVAILABLE"
2210 if [ "$OPT" = "plugin" ]; then
2211 avail="$CFG_DECORATION_PLUGIN_AVAILABLE"
2215 avail="$CFG_KBD_AVAILABLE"
2216 if [ "$OPT" = "plugin" ]; then
2217 avail="$CFG_KBD_PLUGIN_AVAILABLE"
2221 avail="$CFG_MOUSE_AVAILABLE"
2222 if [ "$OPT" = "plugin" ]; then
2223 avail="$CFG_MOUSE_PLUGIN_AVAILABLE"
2227 avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
2228 if [ "$OPT" != "plugin" ]; then
2229 # png is always built in
2235 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
2239 # Check that that user's value is available.
2242 if [ "$VAL" = "$d" ]; then
2247 [ "$found" = yes ] || ERROR=yes
2249 if [ "$VAR" = "sql" ]; then
2250 # set the CFG_SQL_driver
2251 eval "CFG_SQL_$VAL=\$OPT"
2253 elif [ "$VAR" = "imageformat" ]; then
2254 [ "$OPT" = "qt" ] && OPT=yes
2255 VAL="`echo $VAL |tr a-z A-Z`"
2256 eval "CFG_$VAL=$OPT"
2260 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
2261 if [ "$OPT" = "plugin" ]; then
2262 [ "$VAR" = "decoration" ] && QMakeVar del "${VAR}s" "$VAL"
2263 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"` && CFG_DECORATION_PLUGIN="$CFG_DECORATION_PLUGIN ${VAL}"
2264 [ "$VAR" = "kbd" ] && QMakeVar del "${VAR}s" "$VAL"
2265 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"` && CFG_KBD_PLUGIN="$CFG_KBD_PLUGIN ${VAL}"
2266 [ "$VAR" = "mouse" ] && QMakeVar del "${VAR}s" "$VAL"
2267 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_MOUSE_PLUGIN="$CFG_MOUSE_PLUGIN ${VAL}"
2268 [ "$VAR" = "gfx" ] && QMakeVar del "${VAR}s" "$VAL"
2269 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"` && CFG_GFX_PLUGIN="${CFG_GFX_PLUGIN} ${VAL}"
2272 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "decoration" ] || [ "$VAR" = "mouse" ]; then
2273 [ "$VAR" = "gfx" ] && CFG_GFX_ON="$CFG_GFX_ON $VAL"
2274 [ "$VAR" = "kbd" ] && CFG_KBD_ON="$CFG_KBD_ON $VAL"
2275 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON="$CFG_DECORATION_ON $VAL"
2276 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON="$CFG_MOUSE_ON $VAL"
2280 QMakeVar add "${VAR}s" "${VAL}"
2281 elif [ "$OPT" = "no" ]; then
2282 PLUG_VAR="${VAR}-plugin"
2283 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "mouse" ]; then
2284 IN_VAR="${VAR}-driver"
2288 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"`
2289 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"`
2290 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"`
2291 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"`
2292 QMakeVar del "${IN_VAR}s" "$VAL"
2293 QMakeVar del "${PLUG_VAR}s" "$VAL"
2295 if [ "$ERROR" = "yes" ]; then
2296 echo "$CURRENT_OPT: unknown argument"
2301 if [ "$VAL" = "yes" ]; then
2302 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
2303 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
2307 elif [ "$VAL" = "no" ]; then
2308 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
2309 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
2318 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2325 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2332 D_FLAGS="$D_FLAGS \"$VAL\""
2335 I_FLAGS="$I_FLAGS -I\"${VAL}\""
2338 L_FLAGS="$L_FLAGS -L\"${VAL}\""
2341 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
2344 l_FLAGS="$l_FLAGS -l\"${VAL}\""
2347 if [ "$PLATFORM_MAC" = "yes" ]; then
2348 L_FLAGS="$L_FLAGS -F\"${VAL}\""
2349 I_FLAGS="$I_FLAGS -F\"${VAL}\""
2355 if [ "$PLATFORM_MAC" = "yes" ]; then
2356 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
2365 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2372 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2373 CFG_PHONON_BACKEND="$VAL"
2379 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2380 CFG_MULTIMEDIA="$VAL"
2392 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2393 CFG_AUDIO_BACKEND="$VAL"
2399 if [ "$VAL" != "no" ]; then
2404 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2414 if [ "$UNKNOWN_OPT" = "yes" ]; then
2415 echo "${CURRENT_OPT}: invalid command-line switch"
2421 if [ "$CFG_QCONFIG" != "full" ] && [ "$CFG_QT3SUPPORT" = "yes" ]; then
2422 echo "Warning: '-qconfig $CFG_QCONFIG' will disable the qt3support library."
2425 if [ "$CFG_GUI" = "no" ]; then
2426 echo "Warning: -no-gui will disable the qt3support library."
2430 #disable Qt3Support for Lighthouse
2431 if [ "$PLATFORM_QPA" = "yes" ]; then
2435 # update QT_CONFIG to show our current predefined configuration
2436 case "$CFG_QCONFIG" in
2437 minimal|small|medium|large|full)
2438 # these are a sequence of increasing functionality
2439 for c in minimal small medium large full; do
2440 QT_CONFIG="$QT_CONFIG $c-config"
2441 [ "$CFG_QCONFIG" = $c ] && break
2445 # not known to be sufficient for anything
2446 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
2447 echo >&2 "Error: configuration file not found:"
2448 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2450 echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2455 #-------------------------------------------------------------------------------
2456 # build tree initialization
2457 #-------------------------------------------------------------------------------
2459 # where to find which..
2460 unixtests="$relpath/config.tests/unix"
2461 mactests="$relpath/config.tests/mac"
2462 symbiantests="$relpath/config.tests/symbian"
2463 WHICH="$unixtests/which.test"
2465 PERL=`$WHICH perl 2>/dev/null`
2467 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2469 for e in gawk nawk awk; do
2470 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2477 PERL="/usr/bin/perl"
2478 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2482 ### skip this if the user just needs help...
2483 if [ "$OPT_HELP" != "yes" ]; then
2485 # is this a shadow build?
2486 if [ "$OPT_SHADOW" = "maybe" ]; then
2488 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2489 if [ -h "$outpath" ]; then
2490 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2496 if [ "$OPT_SHADOW" = "yes" ]; then
2497 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2498 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2499 echo >&2 "Cannot proceed."
2502 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2505 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2507 echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
2508 echo "Qt can be built in release mode with separate debug information, so"
2509 echo "-debug-and-release is not necessary anymore"
2513 if [ "$CFG_SILENT" = "yes" ]; then
2514 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2517 # if the source tree is different from the build tree,
2518 # symlink or copy part of the sources
2519 if [ "$OPT_SHADOW" = "yes" ]; then
2520 echo "Preparing build tree..."
2522 if [ -z "$PERL" ]; then
2524 echo "You need perl in your PATH to make a shadow build."
2525 echo "Cannot proceed."
2529 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2531 # symlink the qmake directory
2532 find "$relpath/qmake" | while read a; do
2533 my_a=`echo "$a" | sed "s,^${relpath}/,${outpath}/,"`
2534 if [ '!' -f "$my_a" ]; then
2535 if [ -d "$a" ]; then
2536 # directories are created...
2539 a_dir=`dirname "$my_a"`
2540 [ -d "$a_dir" ] || mkdir -p "$a_dir"
2541 # ... and files are symlinked
2542 case `basename "$a"` in
2543 *.o|*.d|GNUmakefile*|qmake)
2554 # make a syncqt script that can be used in the shadow
2555 rm -f "$outpath/bin/syncqt"
2556 if [ -x "$relpath/bin/syncqt" ]; then
2557 mkdir -p "$outpath/bin"
2558 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2559 echo "perl \"$relpath/bin/syncqt\" -outdir \"$outpath\" \"$relpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2560 chmod 755 "$outpath/bin/syncqt"
2563 for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
2564 rm -f "$outpath/bin/$i"
2565 if [ -x "$relpath/bin/$i" ]; then
2566 mkdir -p "$outpath/bin"
2567 echo "#!/bin/sh" >"$outpath/bin/$i"
2568 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2569 echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2570 chmod 755 "$outpath/bin/$i"
2574 # symlink the mkspecs directory
2575 mkdir -p "$outpath/mkspecs"
2576 rm -rf "$outpath"/mkspecs/*
2577 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2578 rm -f "$outpath/mkspecs/default"
2582 rm -rf "$outpath/mkspecs/$1"
2583 find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2584 find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2587 # Special case for mkspecs/features directory.
2588 # To be able to place .prf files into a shadow build directory,
2589 # we're creating links for files only. The directory structure is reproduced.
2590 ShadowMkspecs features
2592 # The modules dir is special, too.
2593 ShadowMkspecs modules
2595 # symlink the doc directory
2596 rm -rf "$outpath/doc"
2597 ln -s "$relpath/doc" "$outpath/doc"
2599 # make sure q3porting.xml can be found
2600 mkdir -p "$outpath/tools/porting/src"
2601 rm -f "$outpath/tools/porting/src/q3porting.xml"
2602 ln -s "$relpath/tools/porting/src/q3porting.xml" "$outpath/tools/porting/src"
2605 # symlink fonts to be able to run application from build directory
2606 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
2607 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2608 mkdir -p "${outpath}/lib"
2609 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2613 if [ "$OPT_FAST" = "auto" ]; then
2614 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2621 # find a make command
2622 if [ -z "$MAKE" ]; then
2624 for mk in gmake make; do
2625 if "$WHICH" $mk >/dev/null 2>&1; then
2630 if [ -z "$MAKE" ]; then
2631 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2632 echo >&2 "Cannot proceed."
2635 # export MAKE, we need it later in the config.tests
2641 #-------------------------------------------------------------------------------
2642 # auto-detect all that hasn't been specified in the arguments
2643 #-------------------------------------------------------------------------------
2645 [ "$PLATFORM_QWS" = "yes" -a "$CFG_EMBEDDED" = "no" ] && CFG_EMBEDDED=auto
2646 if [ "$CFG_EMBEDDED" != "no" ]; then
2647 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2649 [ -z "$PLATFORM" ] && PLATFORM=qws/macx-generic-g++
2650 if [ -z "$XPLATFORM" ]; then
2651 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2652 XPLATFORM="qws/macx-$CFG_EMBEDDED-g++"
2656 [ -z "$PLATFORM" ] && PLATFORM=qws/freebsd-generic-g++
2657 if [ -z "$XPLATFORM" ]; then
2658 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2659 XPLATFORM="qws/freebsd-$CFG_EMBEDDED-g++"
2663 [ -z "$PLATFORM" ] && PLATFORM=qws/solaris-generic-g++
2664 if [ -z "$XPLATFORM" ]; then
2665 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2666 XPLATFORM="qws/solaris-$CFG_EMBEDDED-g++"
2670 if [ -z "$PLATFORM" ]; then
2671 case "$UNAME_MACHINE" in
2673 PLATFORM=qws/linux-x86-g++
2676 PLATFORM=qws/linux-x86_64-g++
2679 PLATFORM=qws/linux-generic-g++
2683 if [ -z "$XPLATFORM" ]; then
2684 if [ "$CFG_EMBEDDED" = "auto" ]; then
2685 if [ -n "$CFG_ARCH" ]; then
2686 CFG_EMBEDDED=$CFG_ARCH
2688 case "$UNAME_MACHINE" in
2696 CFG_EMBEDDED=generic
2701 XPLATFORM="qws/linux-$CFG_EMBEDDED-g++"
2705 [ -z "$PLATFORM" ] && PLATFORM=unsupported/qws/qnx-generic-g++
2706 if [ -z "$XPLATFORM" ]; then
2707 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2708 XPLATFORM="unsupported/qws/qnx-$CFG_EMBEDDED-g++"
2712 if [ -z "$XPLATFORM" ]; then
2717 echo "Qt for Embedded Linux is not supported on this platform. Disabling."
2724 if [ -z "$PLATFORM" ]; then
2726 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2728 if [ "$PLATFORM_MAC" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
2730 # PLATFORM=macx-xcode
2737 #PLATFORM=aix-g++-64
2739 #PLATFORM=aix-xlc-64
2741 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2751 # PLATFORM=dynix-g++
2757 PLATFORM=freebsd-g++
2759 - Also available for FreeBSD: freebsd-icc
2763 PLATFORM=openbsd-g++
2774 #PLATFORM=irix-cc-64
2776 - Also available for IRIX: irix-g++ irix-cc-64
2780 case "$UNAME_MACHINE" in
2782 #PLATFORM=hpuxi-acc-32
2783 PLATFORM=hpuxi-acc-64
2785 - Also available for HP-UXi: hpuxi-acc-32
2791 #PLATFORM=hpux-acc-64
2793 #PLATFORM=hpux-acc-o64
2795 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2804 - Also available for Tru64: tru64-g++
2808 case "$UNAME_MACHINE" in
2810 PLATFORM=linux-g++-64
2817 - Also available for Linux: linux-kcc linux-icc linux-cxx
2821 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2822 PLATFORM="solaris-g++"
2824 #PLATFORM=solaris-g++
2826 #PLATFORM=solaris-cc64
2829 - Also available for Solaris: solaris-g++ solaris-cc-64
2832 ReliantUNIX-*:*|SINIX-*:*)
2833 PLATFORM=reliant-cds
2834 #PLATFORM=reliant-cds-64
2836 - Also available for Reliant UNIX: reliant-cds-64
2846 #PLATFORM=unixware-g++
2847 PLATFORM=unixware-cc
2849 - Also available for OpenUNIX: unixware-g++
2853 #PLATFORM=unixware-g++
2854 PLATFORM=unixware-cc
2856 - Also available for UnixWare: unixware-g++
2863 - Also available for SCO OpenServer: sco-g++
2867 PLATFORM=unixware-g++
2870 PLATFORM=unsupported/qnx-g++
2873 if [ "$OPT_HELP" != "yes" ]; then
2875 for p in $PLATFORMS; do
2876 echo " $relconf $* -platform $p"
2879 echo " The build script does not currently recognize all" >&2
2880 echo " platforms supported by Qt." >&2
2881 echo " Rerun this script with a -platform option listed to" >&2
2882 echo " set the system/compiler combination you use." >&2
2889 if [ "$PLATFORM_QWS" = "yes" ]; then
2891 PLATFORMS=`find "$relpath/mkspecs/qws" | sed "s,$relpath/mkspecs/qws/,,"`
2893 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2896 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2898 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2899 case "$XPLATFORM" in *symbian*) XPLATFORM_SYMBIAN=yes;; esac
2900 case "$XPLATFORM" in symbian-sbsv2) XPLATFORM_SYMBIAN_SBSV2=yes;; esac
2902 if [ -d "$PLATFORM" ]; then
2903 QMAKESPEC="$PLATFORM"
2905 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2907 if [ -d "$XPLATFORM" ]; then
2908 XQMAKESPEC="$XPLATFORM"
2910 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2912 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2913 QT_CROSS_COMPILE=yes
2914 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2917 if [ "$PLATFORM_MAC" = "yes" ]; then
2918 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2920 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2921 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2922 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2923 echo " built with 'macx-g++'" >&2
2929 # check specified platforms are supported
2930 if [ '!' -d "$QMAKESPEC" ]; then
2932 echo " The specified system/compiler is not supported:"
2936 echo " Please see the README file for a complete list."
2940 if [ '!' -d "$XQMAKESPEC" ]; then
2942 echo " The specified system/compiler is not supported:"
2946 echo " Please see the README file for a complete list."
2950 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2952 echo " The specified system/compiler port is not complete:"
2954 echo " $XQMAKESPEC/qplatformdefs.h"
2956 echo " Please contact qt-info@nokia.com."
2961 # now look at the configs and figure out what platform we are config'd for
2962 [ "$CFG_EMBEDDED" = "no" ] && [ "$PLATFORM_QPA" != "yes" ] \
2963 && [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ] \
2965 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2967 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2968 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2969 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2970 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2971 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2975 #-------------------------------------------------------------------------------
2976 # determine the system architecture
2977 #-------------------------------------------------------------------------------
2978 if [ "$OPT_VERBOSE" = "yes" ]; then
2979 echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
2982 if [ "$CFG_EMBEDDED" != "no" -a "$CFG_EMBEDDED" != "auto" ] && [ -n "$CFG_ARCH" ]; then
2983 if [ "$CFG_ARCH" != "$CFG_EMBEDDED" ]; then
2985 echo "You have specified a target architecture with -embedded and -arch."
2986 echo "The two architectures you have specified are different, so we can"
2987 echo "not proceed. Either set both to be the same, or only use -embedded."
2993 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2994 case `basename "$XPLATFORM"` in
2997 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2999 echo "Please contact qt-info@nokia.com to upgrade your license to"
3000 echo "include this platform, or install the Qt Open Source Edition"
3001 echo "if you intend to develop free software."
3007 if [ -z "${CFG_HOST_ARCH}" ]; then
3008 case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
3010 CFG_HOST_ARCH=`echo ${UNAME_MACHINE} | sed -e 's,[-/].*$,,'`
3011 case "$CFG_HOST_ARCH" in
3016 if [ "$OPT_VERBOSE" = "yes" ]; then
3017 echo " GNU/Hurd ($CFG_HOST_ARCH)"
3021 CFG_HOST_ARCH=`uname -p`
3022 if [ "$OPT_VERBOSE" = "yes" ]; then
3023 echo " SGI ($CFG_HOST_ARCH)"
3027 case "$UNAME_MACHINE" in
3029 if [ "$OPT_VERBOSE" = "yes" ]; then
3030 echo " Sun SPARC (sparc)"
3037 if [ "$OPT_VERBOSE" = "yes" ]; then
3038 echo " 64-bit AMD 80x86 (x86_64)"
3040 CFG_HOST_ARCH=x86_64
3043 if [ "$OPT_VERBOSE" = "yes" ]; then
3044 echo " 32-bit Intel 80x86 (i386)"
3052 case "$UNAME_MACHINE" in
3054 if [ "$OPT_VERBOSE" = "yes" ]; then
3055 echo " 32-bit Apple PowerPC (powerpc)"
3059 if [ "$OPT_VERBOSE" = "yes" ]; then
3060 echo " 32-bit Intel 80x86 (i386)"
3064 CFG_HOST_ARCH=macosx
3067 if [ "$OPT_VERBOSE" = "yes" ]; then
3068 echo " 64-bit IBM PowerPC (powerpc)"
3070 CFG_HOST_ARCH=powerpc
3073 if [ "$OPT_VERBOSE" = "yes" ]; then
3074 echo " HP PA-RISC (parisc)"
3076 CFG_HOST_ARCH=parisc
3079 if [ "$OPT_VERBOSE" = "yes" ]; then
3080 echo " 32-bit Intel 80x86 (i386)"
3084 *:*:x86_64|*:*:amd64)
3085 if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
3086 if [ "$OPT_VERBOSE" = "yes" ]; then
3087 echo " 32 bit on 64-bit AMD 80x86 (i386)"
3091 if [ "$OPT_VERBOSE" = "yes" ]; then
3092 echo " 64-bit AMD 80x86 (x86_64)"
3094 CFG_HOST_ARCH=x86_64
3098 if [ "$OPT_VERBOSE" = "yes" ]; then
3099 echo " 32-bit PowerPC (powerpc)"
3101 CFG_HOST_ARCH=powerpc
3104 if [ "$OPT_VERBOSE" = "yes" ]; then
3105 echo " 64-bit PowerPC (powerpc)"
3107 CFG_HOST_ARCH=powerpc
3110 if [ "$OPT_VERBOSE" = "yes" ]; then
3111 echo " IBM S/390 (s390)"
3116 if [ "$OPT_VERBOSE" = "yes" ]; then
3122 if [ "$OPT_VERBOSE" = "yes" ]; then
3123 echo " Linux on SPARC"
3128 case "$UNAME_MACHINE" in
3130 if [ "$OPT_VERBOSE" = "yes" ]; then
3131 echo " QNX on Intel 80x86 (i386)"
3138 if [ "$OPT_VERBOSE" = "yes" ]; then
3139 echo " Trying '$UNAME_MACHINE'..."
3141 CFG_HOST_ARCH="$UNAME_MACHINE"
3146 if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
3147 if [ -n "$CFG_ARCH" ]; then
3148 CFG_EMBEDDED=$CFG_ARCH
3151 case "$CFG_EMBEDDED" in
3174 CFG_ARCH="$CFG_EMBEDDED"
3177 elif [ "$XPLATFORM_MINGW" = "yes" ]; then
3178 [ -z "$CFG_ARCH" ] && CFG_ARCH="windows"
3179 elif [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
3181 elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
3182 CFG_ARCH=$CFG_HOST_ARCH
3189 # previously, armv6 was a different arch
3195 if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
3196 if [ "$OPT_VERBOSE" = "yes" ]; then
3197 echo " '$CFG_ARCH' is supported"
3200 if [ "$OPT_VERBOSE" = "yes" ]; then
3201 echo " '$CFG_ARCH' is unsupported, using 'generic'"
3205 if [ "$CFG_HOST_ARCH" != "$CFG_ARCH" ]; then
3206 if [ -d "$relpath/src/corelib/arch/$CFG_HOST_ARCH" ]; then
3207 if [ "$OPT_VERBOSE" = "yes" ]; then
3208 echo " '$CFG_HOST_ARCH' is supported"
3211 if [ "$OPT_VERBOSE" = "yes" ]; then
3212 echo " '$CFG_HOST_ARCH' is unsupported, using 'generic'"
3214 CFG_HOST_ARCH=generic
3218 if [ "$OPT_VERBOSE" = "yes" ]; then
3219 echo "System architecture: '$CFG_ARCH'"
3220 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3221 echo "Host architecture: '$CFG_HOST_ARCH'"
3225 #-------------------------------------------------------------------------------
3226 # tests that don't need qmake (must be run before displaying help)
3227 #-------------------------------------------------------------------------------
3229 # detect build style
3230 if [ "$CFG_DEBUG" = "auto" ]; then
3231 if [ "$CFG_ARCH" = "macosx" -o "$XPLATFORM_MINGW" = "yes" ]; then
3232 CFG_DEBUG_RELEASE=yes
3234 elif [ "$CFG_DEV" = "yes" ]; then
3235 CFG_DEBUG_RELEASE=no
3238 CFG_DEBUG_RELEASE=no
3242 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
3243 QMAKE_CONFIG="$QMAKE_CONFIG build_all"
3246 if [ -z "$PKG_CONFIG" ]; then
3247 # See if PKG_CONFIG is set in the mkspec:
3248 PKG_CONFIG=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%PKG_CONFIG[^_].*=%%p' | tr '\n' ' '`
3250 if [ -z "$PKG_CONFIG" ]; then
3251 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
3254 # Work out if we can use pkg-config
3255 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3256 if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
3258 echo >&2 "You have asked to use pkg-config and are cross-compiling."
3259 echo >&2 "Please make sure you have a correctly set-up pkg-config"
3260 echo >&2 "environment!"
3262 if [ -z "$PKG_CONFIG_PATH" ]; then
3264 echo >&2 "Warning: PKG_CONFIG_PATH has not been set. This could mean"
3265 echo >&2 "the host compiler's .pc files will be used. This is probably"
3266 echo >&2 "not what you want."
3268 elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
3270 echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
3271 echo >&2 "been set. This means your toolchain's .pc files must contain"
3272 echo >&2 "the paths to the toolchain's libraries & headers. If configure"
3273 echo >&2 "tests are failing, please check these files."
3278 echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
3279 echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
3280 echo >&2 "dependencies"
3286 # process CFG_MAC_ARCHS
3287 if [ "$PLATFORM_MAC" = "yes" ]; then
3288 # check -arch arguments for validity.
3289 ALLOWED="x86 ppc x86_64 ppc64 i386"
3290 # Save the list so we can re-write it using only valid values
3291 CFG_MAC_ARCHS_IN="$CFG_MAC_ARCHS"
3293 for i in $CFG_MAC_ARCHS_IN
3295 if echo "$ALLOWED" | grep -w -v "$i" > /dev/null 2>&1; then
3296 echo "Unknown architecture: \"$i\". Supported architectures: x86[i386] ppc x86_64 ppc64";
3299 if [ "$i" = "i386" -o "$i" = "x86" ]; then
3300 # These are synonymous values
3301 # CFG_MAC_ARCHS requires x86 while GCC requires i386
3302 CFG_MAC_ARCHS="$CFG_MAC_ARCHS x86"
3303 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -arch i386"
3305 CFG_MAC_ARCHS="$CFG_MAC_ARCHS $i"
3306 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -arch $i"
3311 # pass on $CFG_SDK to the configure tests.
3312 if [ '!' -z "$CFG_SDK" ]; then
3313 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
3316 # find the default framework value
3317 if [ "$PLATFORM_MAC" = "yes" ] && [ "$PLATFORM" != "macx-xlc" ]; then
3318 if [ "$CFG_FRAMEWORK" = "auto" ]; then
3319 CFG_FRAMEWORK="$CFG_SHARED"
3320 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
3322 echo "WARNING: Using static linking will disable the use of Mac frameworks."
3330 QMAKE_CONF_COMPILER=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | tail -1`
3331 TEST_COMPILER="$CXX"
3333 [ -z "$TEST_COMPILER" ] && TEST_COMPILER=$QMAKE_CONF_COMPILER
3334 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
3335 #for Symbian we don't need this checking
3336 if [ -z "$TEST_COMPILER" ]; then
3337 echo "ERROR: Cannot set the compiler for the configuration tests"
3342 if [ "$CFG_EMBEDDED" = "nacl" ]; then
3343 TEST_COMPILER="nacl-gcc"
3347 if [ -n "$CFG_SYSROOT" ]; then
3348 if compilerSupportsFlag --sysroot="$CFG_SYSROOT"; then
3349 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting sysroot to: $CFG_SYSROOT"
3350 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
3352 echo >&2 "The compiler doesn't support the --sysroot flag, I can't set the sysroot"
3356 export SYSROOT_FLAG # used by config.tests/unix/compile.test
3358 # auto-detect precompiled header support
3359 if [ "$CFG_PRECOMPILE" = "auto" ]; then
3360 if [ `echo "$CFG_MAC_ARCHS" | wc -w` -gt 1 ]; then
3362 elif "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
3367 elif [ "$CFG_PRECOMPILE" = "yes" ] && [ `echo "$CFG_MAC_ARCHS" | wc -w` -gt 1 ]; then
3369 echo "WARNING: Using universal binaries disables precompiled headers."
3374 #auto-detect DWARF2 on the mac
3375 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
3376 if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
3383 # auto-detect support for -Xarch on the mac
3384 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_XARCH" = "auto" ]; then
3385 if "$mactests/xarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
3392 # don't autodetect support for separate debug info on objcopy when
3393 # cross-compiling as lots of toolchains seems to have problems with this
3394 if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3395 CFG_SEPARATE_DEBUG_INFO="no"
3398 # auto-detect support for separate debug info in objcopy
3399 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
3400 TEST_COMPILER_CFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CFLAGS[^_=]*[+*]*=%%p' | tr '\n' ' '`
3401 TEST_COMPILER_CXXFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CXXFLAGS[^_=]*[+*]*=%%p' | tr '\n' ' '`
3402 TEST_OBJCOPY=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_OBJCOPY" | sed "s%.* *= *\(.*\)$%\1%" | tail -1`
3403 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
3404 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
3405 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
3406 CFG_SEPARATE_DEBUG_INFO=no
3410 # binutils on HP-UX is buggy; default to no.
3411 CFG_SEPARATE_DEBUG_INFO=no
3414 CFG_SEPARATE_DEBUG_INFO=yes
3420 # auto-detect -fvisibility support
3421 if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then
3422 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
3423 CFG_REDUCE_EXPORTS=no
3425 CFG_REDUCE_EXPORTS=yes
3429 # detect the availability of the -Bsymbolic-functions linker optimization
3430 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
3431 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
3432 CFG_REDUCE_RELOCATIONS=no
3434 CFG_REDUCE_RELOCATIONS=yes
3438 # auto-detect GNU make support
3439 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
3443 # If -opengl wasn't specified, don't try to auto-detect
3444 if [ "$PLATFORM_QWS" = "yes" ] && [ "$CFG_OPENGL" = "auto" ]; then
3449 if [ "$PLATFORM_MAC" = "yes" ] && [ "$XPLATFORM_SYMBIAN" = "no" ]; then
3450 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
3455 # find the default framework value
3456 if [ "$PLATFORM_MAC" = "yes" ] && [ "$PLATFORM" != "macx-xlc" ]; then
3457 if [ "$CFG_FRAMEWORK" = "auto" ]; then
3458 CFG_FRAMEWORK="$CFG_SHARED"
3459 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
3461 echo "WARNING: Using static linking will disable the use of Mac frameworks."
3469 # Print a warning if configure was called with the 10.4u SDK option on Snow Leopard
3470 # with the default mkspec. The 10.4u SDK does not support gcc 4.2.
3471 if [ "$PLATFORM_MAC" = "yes" ] && [ '!' -z "$CFG_SDK" ]; then
3472 # get the darwin version. 10.0.0 and up means snow leopard.
3473 VERSION=`uname -r | tr '.' ' ' | awk '{print $1}'`
3474 if [ "$VERSION" -gt 9 ] && [ "$CFG_SDK" == "/Developer/SDKs/MacOSX10.4u.sdk/" ] && [ "$PLATFORM" == "macx-g++" ]; then
3476 echo "WARNING: The 10.4u SDK does not support gcc 4.2. Configure with -platform macx-g++40. "
3481 # x11 tests are done after qmake is built
3484 #setup the build parts
3485 if [ -z "$CFG_BUILD_PARTS" ]; then
3486 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
3488 # don't build tools by default when cross-compiling
3489 if [ "$PLATFORM" != "$XPLATFORM" ]; then
3490 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
3493 for nobuild in $CFG_NOBUILD_PARTS; do
3494 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
3496 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
3498 # echo "WARNING: libs is a required part of the build."
3500 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
3503 #-------------------------------------------------------------------------------
3504 # post process QT_INSTALL_* variables
3505 #-------------------------------------------------------------------------------
3508 if [ -z "$QT_INSTALL_PREFIX" ]; then
3509 if [ "$CFG_DEV" = "yes" ]; then
3510 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
3511 elif [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3512 if [ "$PLATFORM_QPA" = "yes" ]; then
3513 QT_INSTALL_PREFIX="/usr/local/Trolltech/QtLighthouse-${QT_VERSION}"
3515 QT_INSTALL_PREFIX="/usr/local/Trolltech/QtEmbedded-${QT_VERSION}"
3517 if [ "$PLATFORM" != "$XPLATFORM" ]; then
3518 QT_INSTALL_PREFIX="${QT_INSTALL_PREFIX}-${CFG_ARCH}"
3520 elif [ -d "$EPOCROOT" ] && [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
3521 if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
3522 QT_INSTALL_PREFIX="$EPOCROOT/epoc32/"
3523 QT_INSTALL_LIBS="$EPOCROOT/epoc32/release/armv5/lib/"
3526 QT_INSTALL_PREFIX="/usr/local/Trolltech/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Trolltech/Qt-$QT_VERSION
3529 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
3531 if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
3532 [ -z "$QT_HOST_PREFIX" ] && QT_HOST_PREFIX="$QT_INSTALL_PREFIX"
3533 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS=
3534 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS=
3535 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS=
3536 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS=
3537 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="\\\\resource\\\\qt$QT_LIBINFIX\\\\plugins"
3538 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="\\\\resource\\\\qt$QT_LIBINFIX\\\\imports"
3539 [ -z "$QT_INSTALL_DATA" ] && QT_INSTALL_DATA=
3540 [ -z "$QT_INSTALL_TRANSLATIONS" ] && QT_INSTALL_TRANSLATIONS="\\\\resource\\\\qt$QT_LIBINFIX\\\\translations"
3541 [ -z "$QT_INSTALL_SETTINGS" ] && QT_INSTALL_SETTINGS=
3542 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES=
3545 if [ -z "$QT_INSTALL_DOCS" ]; then #default
3546 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3547 if [ "$PLATFORM_MAC" = "yes" ]; then
3548 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
3551 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
3554 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
3557 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
3558 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3559 if [ "$PLATFORM_MAC" = "yes" ]; then
3560 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3565 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
3568 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
3571 if [ -z "$QT_INSTALL_LIBS" ]; then #default
3572 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3573 if [ "$PLATFORM_MAC" = "yes" ]; then
3574 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3575 QT_INSTALL_LIBS="/Libraries/Frameworks"
3579 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
3581 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
3584 if [ -z "$QT_INSTALL_BINS" ]; then #default
3585 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3586 if [ "$PLATFORM_MAC" = "yes" ]; then
3587 QT_INSTALL_BINS="/Developer/Applications/Qt"
3590 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
3593 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
3596 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
3597 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3598 if [ "$PLATFORM_MAC" = "yes" ]; then
3599 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
3602 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
3604 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
3607 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
3608 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3609 if [ "$PLATFORM_MAC" = "yes" ]; then
3610 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
3613 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
3615 QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
3618 if [ -z "$QT_INSTALL_DATA" ]; then #default
3619 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
3621 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
3624 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
3625 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
3627 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
3630 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
3631 if [ "$PLATFORM_MAC" = "yes" ]; then
3632 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
3634 QT_INSTALL_SETTINGS=/etc/xdg
3637 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
3640 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
3641 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3642 if [ "$PLATFORM_MAC" = "yes" ]; then
3643 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
3646 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
3648 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
3651 #-------------------------------------------------------------------------------
3652 # help - interactive parts of the script _after_ this section please
3653 #-------------------------------------------------------------------------------
3655 # next, emit a usage message if something failed.
3656 if [ "$OPT_HELP" = "yes" ]; then
3657 [ "x$ERROR" = "xyes" ] && echo
3658 if [ "$CFG_NIS" = "no" ]; then
3665 if [ "$CFG_CUPS" = "no" ]; then
3672 if [ "$CFG_ICONV" = "no" ]; then
3679 if [ "$CFG_LARGEFILE" = "no" ]; then
3686 if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then
3693 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
3701 if [ "$CFG_XCB" = "no" ]; then
3710 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
3711 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
3712 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>]
3713 [-buildkey <key>] [-release] [-debug] [-debug-and-release]
3714 [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
3715 [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
3716 [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
3717 [-plugin-sql-<driver>] [-system-sqlite] [-no-qt3support] [-qt3support]
3718 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
3719 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff]
3720 [-no-libpng] [-qt-libpng] [-system-libpng] [-no-libmng] [-qt-libmng]
3721 [-system-libmng] [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
3722 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
3723 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
3724 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
3725 [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
3726 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
3727 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] [-armfpa]
3728 [-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns] [-xmlpatterns]
3729 [-no-multimedia] [-multimedia] [-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend]
3730 [-no-media-backend] [-media-backend] [-no-audio-backend] [-audio-backend]
3731 [-no-openssl] [-openssl] [-openssl-linked]
3732 [-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit] [-webkit-debug]
3733 [-no-javascript-jit] [-javascript-jit]
3734 [-no-script] [-script] [-no-scripttools] [-scripttools]
3735 [-no-declarative] [-declarative] [-no-declarative-debug] [-declarative-debug]
3736 [-no-location] [-location]
3737 [additional platform specific options (see below)]
3740 Installation options:
3742 -qpa ................ This will enable the QPA build.
3743 QPA is a window system agnostic implementation of Qt.
3745 These are optional, but you may specify install directories.
3747 -prefix <dir> ...... This will install everything relative to <dir>
3748 (default $QT_INSTALL_PREFIX)
3750 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3753 -hostprefix [dir] .. Tools and libraries needed when developing
3754 applications are installed in [dir]. If [dir] is
3755 not given, the current build directory will be used.
3760 * -prefix-install .... Force a sandboxed "local" installation of
3761 Qt. This will install into
3762 $QT_INSTALL_PREFIX, if this option is
3763 disabled then some platforms will attempt a
3764 "system" install by placing default values to
3765 be placed in a system location other than
3768 You may use these to separate different parts of the install:
3770 -bindir <dir> ......... Executables will be installed to <dir>
3771 (default PREFIX/bin)
3772 -libdir <dir> ......... Libraries will be installed to <dir>
3773 (default PREFIX/lib)
3774 -docdir <dir> ......... Documentation will be installed to <dir>
3775 (default PREFIX/doc)
3776 -headerdir <dir> ...... Headers will be installed to <dir>
3777 (default PREFIX/include)
3778 -plugindir <dir> ...... Plugins will be installed to <dir>
3779 (default PREFIX/plugins)
3780 -importdir <dir> ...... Imports for QML will be installed to <dir>
3781 (default PREFIX/imports)
3782 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
3784 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
3785 (default PREFIX/translations)
3786 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
3787 (default PREFIX/etc/settings)
3788 -examplesdir <dir> .... Examples will be installed to <dir>
3789 (default PREFIX/examples)
3791 You may use these options to turn on strict plugin loading.
3793 -buildkey <key> .... Build the Qt library and plugins using the specified
3794 <key>. When the library loads plugins, it will only
3795 load those that have a matching key.
3799 The defaults (*) are usually acceptable. A plus (+) denotes a default value
3800 that needs to be evaluated. If the evaluation succeeds, the feature is
3801 included. Here is a short explanation of each option:
3803 * -release ........... Compile and link Qt with debugging turned off.
3804 -debug ............. Compile and link Qt with debugging turned on.
3805 -debug-and-release . Compile and link two versions of Qt, with and without
3806 debugging turned on (Mac only).
3808 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
3810 -opensource ........ Compile and link the Open-Source Edition of Qt.
3811 -commercial ........ Compile and link the Commercial Edition of Qt.
3814 * -shared ............ Create and use shared Qt libraries.
3815 -static ............ Create and use static Qt libraries.
3817 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3819 -fast .............. Configure Qt quickly by generating Makefiles only for
3820 library and subdirectory targets. All other Makefiles
3821 are created as wrappers, which will in turn run qmake.
3823 -no-largefile ...... Disables large file support.
3824 + -largefile ......... Enables Qt to access files larger than 4 GB.
3827 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3834 if [ "$CFG_DBUS" = "no" ]; then
3843 $EXCN -no-exceptions ..... Disable exceptions on compilers that support it.
3844 $EXCY -exceptions ........ Enable exceptions on compilers that support it.
3846 -no-accessibility .. Do not compile Accessibility support.
3847 * -accessibility ..... Compile Accessibility support.
3849 $SHN -no-stl ............ Do not compile STL support.
3850 $SHY -stl ............... Compile STL support.
3852 -no-sql-<driver> ... Disable SQL <driver> entirely.
3853 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3855 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3858 Possible values for <driver>:
3859 [ $CFG_SQL_AVAILABLE ]
3861 -system-sqlite ..... Use sqlite from the operating system.
3863 -no-qt3support ..... Disables the Qt 3 support functionality.
3864 * -qt3support ........ Enables the Qt 3 support functionality.
3866 -no-xmlpatterns .... Do not build the QtXmlPatterns module.
3867 + -xmlpatterns ....... Build the QtXmlPatterns module.
3868 QtXmlPatterns is built if a decent C++ compiler
3869 is used and exceptions are enabled.
3871 -no-multimedia ..... Do not build the QtMultimedia module.
3872 + -multimedia ........ Build the QtMultimedia module.
3874 -no-audio-backend .. Do not build the platform audio backend into QtMultimedia.
3875 + -audio-backend ..... Build the platform audio backend into QtMultimedia if available.
3877 -no-phonon ......... Do not build the Phonon module.
3878 + -phonon ............ Build the Phonon module.
3879 Phonon is built if a decent C++ compiler is used.
3880 -no-phonon-backend.. Do not build the platform phonon plugin.
3881 + -phonon-backend..... Build the platform phonon plugin.
3883 -no-svg ............ Do not build the SVG module.
3884 + -svg ............... Build the SVG module.
3886 -no-webkit ......... Do not build the WebKit module.
3887 + -webkit ............ Build the WebKit module.
3888 WebKit is built if a decent C++ compiler is used.
3889 -webkit-debug ...... Build the WebKit module with debug symbols.
3891 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
3892 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
3894 -no-script ......... Do not build the QtScript module.
3895 + -script ............ Build the QtScript module.
3897 -no-scripttools .... Do not build the QtScriptTools module.
3898 + -scripttools ....... Build the QtScriptTools module.
3900 -no-declarative ..... Do not build the declarative module.
3901 + -declarative ....... Build the declarative module.
3903 -no-declarative-debug ..... Do not build the declarative debugging support.
3904 + -declarative-debug ....... Build the declarative debugging support.
3906 -no-location ....... Do not build the QtLocation module.
3907 + -location .......... Build the QtLocation module.
3909 -platform target ... The operating system and compiler you are building
3912 See the README file for a list of supported
3913 operating systems and compilers.
3916 if [ "${PLATFORM_QWS}" != "yes" -a "${PLATFORM_QPA}" != "yes" ]; then
3918 -graphicssystem <sys> Sets an alternate graphics system. Available options are:
3919 raster - Software rasterizer
3920 opengl - Rendering via OpenGL, Experimental!
3921 openvg - Rendering via OpenVG, Experimental!
3928 -no-mmx ............ Do not compile with use of MMX instructions.
3929 -no-3dnow .......... Do not compile with use of 3DNOW instructions.
3930 -no-sse ............ Do not compile with use of SSE instructions.
3931 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3932 -no-sse3 ........... Do not compile with use of SSE3 instructions.
3933 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
3934 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
3935 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
3936 -no-avx ............ Do not compile with use of AVX instructions.
3937 -no-neon ........... Do not compile with use of NEON instructions.
3939 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3940 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3942 -D <string> ........ Add an explicit define to the preprocessor.
3943 -I <string> ........ Add an explicit include path.
3944 -L <string> ........ Add an explicit library path.
3946 -help, -h .......... Display this information.
3948 Third Party Libraries:
3950 -qt-zlib ........... Use the zlib bundled with Qt.
3951 + -system-zlib ....... Use zlib from the operating system.
3952 See http://www.gzip.org/zlib
3954 -no-gif ............ Do not compile GIF reading support.
3956 -no-libtiff ........ Do not compile TIFF support.
3957 -qt-libtiff ........ Use the libtiff bundled with Qt.
3958 + -system-libtiff .... Use libtiff from the operating system.
3959 See http://www.libtiff.org
3961 -no-libpng ......... Do not compile PNG support.
3962 -qt-libpng ......... Use the libpng bundled with Qt.
3963 + -system-libpng ..... Use libpng from the operating system.
3964 See http://www.libpng.org/pub/png
3966 -no-libmng ......... Do not compile MNG support.
3967 -qt-libmng ......... Use the libmng bundled with Qt.
3968 + -system-libmng ..... Use libmng from the operating system.
3969 See http://www.libmng.com
3971 -no-libjpeg ........ Do not compile JPEG support.
3972 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3973 + -system-libjpeg .... Use libjpeg from the operating system.
3974 See http://www.ijg.org
3976 -no-openssl ........ Do not compile support for OpenSSL.
3977 + -openssl ........... Enable run-time OpenSSL support.
3978 -openssl-linked .... Enabled linked OpenSSL support.
3980 -ptmalloc .......... Override the system memory allocator with ptmalloc.
3985 -make <part> ....... Add part to the list of parts to be built at make time.
3986 ($QT_DEFAULT_BUILD_PARTS)
3987 -nomake <part> ..... Exclude part from the list of parts to be built.
3989 -R <string> ........ Add an explicit runtime library path to the Qt
3991 -l <string> ........ Add an explicit library.
3993 -no-rpath .......... Do not use the library install path as a runtime
3995 + -rpath ............. Link Qt libraries and executables using the library
3996 install path as a runtime library path. Equivalent
3997 to -R install_libpath
3999 -continue .......... Continue as far as possible if an error occurs.
4001 -verbose, -v ....... Print verbose information about each step of the
4004 -silent ............ Reduce the build output so that warnings and errors
4005 can be seen more easily.
4007 * -no-optimized-qmake ... Do not build qmake optimized.
4008 -optimized-qmake ...... Build qmake optimized.
4010 -no-gui ............ Don't build the Qt GUI library
4012 $NSN -no-nis ............ Do not compile NIS support.
4013 $NSY -nis ............... Compile NIS support.
4015 $CUN -no-cups ........... Do not compile CUPS support.
4016 $CUY -cups .............. Compile CUPS support.
4017 Requires cups/cups.h and libcups.so.2.
4019 $CIN -no-iconv .......... Do not compile support for iconv(3).
4020 $CIY -iconv ............. Compile support for iconv(3).
4022 $PHN -no-pch ............ Do not use precompiled header support.
4023 $PHY -pch ............... Use precompiled header support.
4025 $DBN -no-dbus ........... Do not compile the QtDBus module.
4026 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
4027 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
4029 -reduce-relocations ..... Reduce relocations in the libraries through extra
4030 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
4031 experimental; needs GNU ld >= 2.18).
4034 if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
4035 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
4042 elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
4050 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
4054 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
4055 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
4057 $XKN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
4058 $XKY -xcb ............... Compile Xcb support.
4064 if [ "$PLATFORM_X11" = "yes" ]; then
4065 if [ "$CFG_SM" = "no" ]; then
4072 if [ "$CFG_XSHAPE" = "no" ]; then
4079 if [ "$CFG_XVIDEO" = "no" ]; then
4086 if [ "$CFG_XINERAMA" = "no" ]; then
4093 if [ "$CFG_FONTCONFIG" = "no" ]; then
4100 if [ "$CFG_XCURSOR" = "no" ]; then
4107 if [ "$CFG_XFIXES" = "no" ]; then
4114 if [ "$CFG_XRANDR" = "no" ]; then
4121 if [ "$CFG_XRENDER" = "no" ]; then
4128 if [ "$CFG_MITSHM" = "no" ]; then
4135 if [ "$CFG_XINPUT" = "no" ]; then
4142 if [ "$CFG_XKB" = "no" ]; then
4149 if [ "$CFG_IM" = "no" ]; then
4160 -no-gtkstyle ....... Do not build the GTK theme integration.
4161 + -gtkstyle .......... Build the GTK theme integration.
4163 * -no-nas-sound ...... Do not compile in NAS sound support.
4164 -system-nas-sound .. Use NAS libaudio from the operating system.
4165 See http://radscan.com/nas.html
4167 -egl ............... Use EGL instead of GLX to manage contexts.
4168 When building for desktop OpenGL, this option will
4169 make Qt use EGL to manage contexts rather than the
4170 GLX, which is the default. Note: For OpenGL ES, EGL
4173 -no-opengl ......... Do not support OpenGL.
4174 + -opengl <api> ...... Enable OpenGL support.
4175 With no parameter, this will auto-detect the "best"
4176 OpenGL API to use. If desktop OpenGL is available, it
4177 will be used. Use desktop, es1, or es2 for <api>
4178 to force the use of the Desktop (OpenGL 1.x or 2.x),
4179 OpenGL ES 1.x Common profile, or 2.x APIs instead.
4181 -no-openvg ........ Do not support OpenVG.
4182 + -openvg ........... Enable OpenVG support.
4183 Requires EGL support, typically supplied by an OpenGL
4184 or other graphics implementation.
4186 $SMN -no-sm ............. Do not support X Session Management.
4187 $SMY -sm ................ Support X Session Management, links in -lSM -lICE.
4189 $SHN -no-xshape ......... Do not compile XShape support.
4190 $SHY -xshape ............ Compile XShape support.
4191 Requires X11/extensions/shape.h.
4193 $XVN -no-xvideo ......... Do not compile XVideo support.
4194 $XVY -xvideo ............ Compile XVideo support.
4195 Requires X11/extensions/Xv.h & Xvlib.h.
4197 $SHN -no-xsync .......... Do not compile XSync support.
4198 $SHY -xsync ............. Compile XSync support.
4199 Requires X11/extensions/sync.h.
4201 $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
4202 $XAY -xinerama .......... Compile Xinerama support.
4203 Requires X11/extensions/Xinerama.h and libXinerama.
4204 By default, Xinerama support will be compiled if
4205 available and the shared libraries are dynamically
4208 $XCN -no-xcursor ........ Do not compile Xcursor support.
4209 $XCY -xcursor ........... Compile Xcursor support.
4210 Requires X11/Xcursor/Xcursor.h and libXcursor.
4211 By default, Xcursor support will be compiled if
4212 available and the shared libraries are dynamically
4215 $XFN -no-xfixes ......... Do not compile Xfixes support.
4216 $XFY -xfixes ............ Compile Xfixes support.
4217 Requires X11/extensions/Xfixes.h and libXfixes.
4218 By default, Xfixes support will be compiled if
4219 available and the shared libraries are dynamically
4222 $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
4223 $XZY -xrandr ............ Compile Xrandr support.
4224 Requires X11/extensions/Xrandr.h and libXrandr.
4226 $XRN -no-xrender ........ Do not compile Xrender support.
4227 $XRY -xrender ........... Compile Xrender support.
4228 Requires X11/extensions/Xrender.h and libXrender.
4230 $XMN -no-mitshm ......... Do not compile MIT-SHM support.
4231 $XMY -mitshm ............ Compile MIT-SHM support.
4232 Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
4234 $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
4235 $FCGY -fontconfig ........ Compile FontConfig support.
4236 Requires fontconfig/fontconfig.h, libfontconfig,
4237 freetype.h and libfreetype.
4239 $XIN -no-xinput ......... Do not compile Xinput support.
4240 $XIY -xinput ............ Compile Xinput support. This also enabled tablet support
4241 which requires IRIX with wacom.h and libXi or
4242 XFree86 with X11/extensions/XInput.h and libXi.
4244 $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
4245 $XKY -xkb ............... Compile XKB support.
4250 if [ "$PLATFORM_MAC" = "yes" ]; then
4255 -Fstring ........... Add an explicit framework path.
4256 -fw string ......... Add an explicit framework.
4258 -cocoa ............. [Deprecated] Cocoa is now enabled by default.
4260 -carbon .............Build the Carbon version of Qt. 64-bit archs
4261 are not supported by carbon and will be built
4264 * -framework ......... Build Qt as a series of frameworks and
4265 link tools against those frameworks.
4266 -no-framework ...... Do not build Qt as a series of frameworks.
4268 * -dwarf2 ............ Enable dwarf2 debugging symbols.
4269 -no-dwarf2 ......... Disable dwarf2 debugging symbols.
4271 -universal ......... Equivalent to -arch "ppc x86"
4273 -arch <arch> ....... Build Qt for <arch>
4274 Example values for <arch>: x86 ppc x86_64 ppc64
4275 Multiple -arch arguments can be specified.
4277 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
4278 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
4280 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
4281 It is only available to Cocoa builds.
4282 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
4283 QT_ENABLE_HARFBUZZ environment variable.
4288 if [ "$PLATFORM_QWS" = "yes" ]; then
4290 Qt for Embedded Linux:
4292 -embedded <arch> .... This will enable the embedded build, you must have a
4293 proper license for this switch to work.
4294 Example values for <arch>: arm mips x86 generic
4298 if [ "$PLATFORM_QPA" = "yes" ]; then
4304 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
4307 -xplatform target ... The target platform when cross-compiling.
4309 -no-feature-<feature> Do not compile in <feature>.
4310 -feature-<feature> .. Compile in <feature>. The available features
4311 are described in src/corelib/global/qfeatures.txt
4313 -armfpa ............. Target platform uses the ARM-FPA floating point format.
4314 -no-armfpa .......... Target platform does not use the ARM-FPA floating point format.
4316 The floating point format is usually autodetected by configure. Use this
4317 to override the detected value.
4319 -little-endian ...... Target platform is little endian (LSB first).
4320 -big-endian ......... Target platform is big endian (MSB first).
4322 -host-little-endian . Host platform is little endian (LSB first).
4323 -host-big-endian .... Host platform is big endian (MSB first).
4325 You only need to specify the endianness when
4326 cross-compiling, otherwise the host
4327 endianness will be used.
4329 -no-freetype ........ Do not compile in Freetype2 support.
4330 -qt-freetype ........ Use the libfreetype bundled with Qt.
4331 * -system-freetype .... Use libfreetype from the operating system.
4332 See http://www.freetype.org/
4334 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
4335 default ($CFG_QCONFIG).
4337 -no-opengl .......... Do not support OpenGL.
4338 -opengl <api> ....... Enable OpenGL ES support
4339 With no parameter, this will attempt to auto-detect OpenGL ES 1.x
4340 or 2.x, or regular desktop OpenGL.
4341 Use es1 or es2 for <api> to override auto-detection.
4345 if [ "$PLATFORM_QWS" = "yes" ]; then
4348 -depths <list> ...... Comma-separated list of supported bit-per-pixel
4349 depths, from: 1, 4, 8, 12, 15, 16, 18, 24, 32 and 'all'.
4351 -qt-decoration-<style> ....Enable a decoration <style> in the QtGui library,
4352 by default all available decorations are on.
4353 Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
4354 -plugin-decoration-<style> Enable decoration <style> as a plugin to be
4355 linked to at run time.
4356 Possible values for <style>: [ $CFG_DECORATION_PLUGIN_AVAILABLE ]
4357 -no-decoration-<style> ....Disable decoration <style> entirely.
4358 Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
4360 -qt-gfx-<driver> ... Enable a graphics <driver> in the QtGui library.
4361 Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
4362 -plugin-gfx-<driver> Enable graphics <driver> as a plugin to be
4363 linked to at run time.
4364 Possible values for <driver>: [ $CFG_GFX_PLUGIN_AVAILABLE ]
4365 -no-gfx-<driver> ... Disable graphics <driver> entirely.
4366 Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
4368 -qt-kbd-<driver> ... Enable a keyboard <driver> in the QtGui library.
4369 Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
4371 -plugin-kbd-<driver> Enable keyboard <driver> as a plugin to be linked to
4373 Possible values for <driver>: [ $CFG_KBD_PLUGIN_AVAILABLE ]
4375 -no-kbd-<driver> ... Disable keyboard <driver> entirely.
4376 Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
4378 -qt-mouse-<driver> ... Enable a mouse <driver> in the QtGui library.
4379 Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
4380 -plugin-mouse-<driver> Enable mouse <driver> as a plugin to be linked to
4382 Possible values for <driver>: [ $CFG_MOUSE_PLUGIN_AVAILABLE ]
4383 -no-mouse-<driver> ... Disable mouse <driver> entirely.
4384 Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
4386 -iwmmxt ............ Compile using the iWMMXt instruction set
4387 (available on some XScale CPUs).
4391 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
4392 if [ "$CFG_GLIB" = "no" ]; then
4400 $GBN -no-glib ........... Do not compile Glib support.
4401 $GBY -glib .............. Compile Glib support.
4406 if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
4409 Qt for Symbian only:
4410 -no-s60 ............ Do not compile in S60 support.
4411 + -s60 ............... Compile with support for the S60 UI Framework.
4412 -no-style-s60....... Disable s60 style
4413 + -qt-style-s60....... Enable s60 style in the Qt Library
4415 -no-usedeffiles .... Disable the usage of DEF files.
4416 * -usedeffiles ....... Enable the usage of DEF files.
4419 [ "x$ERROR" = "xyes" ] && exit 1
4424 # -----------------------------------------------------------------------------
4425 # LICENSING, INTERACTIVE PART
4426 # -----------------------------------------------------------------------------
4428 if [ "$PLATFORM_QWS" = "yes" ]; then
4429 Platform="Qt for Embedded Linux"
4430 elif [ "$PLATFORM_QPA" = "yes" ]; then
4431 Platform="Qt Lighthouse"
4432 elif [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
4433 Platform="Qt for Symbian"
4434 elif [ "$PLATFORM_MAC" = "yes" ]; then
4435 Platform="Qt for Mac OS X"
4436 elif [ "$XPLATFORM_MINGW" = "yes" ]; then
4437 Platform="Qt for Windows"
4438 elif [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ]; then
4440 Platform="Qt for Linux/X11"
4444 echo "This is the $Platform ${EditionString} Edition."
4447 if [ "$Edition" = "NokiaInternalBuild" ]; then
4448 echo "Detected -nokia-developer option"
4449 echo "Nokia employees and agents are allowed to use this software under"
4450 echo "the authority of Nokia Corporation and/or its subsidiary(-ies)"
4451 elif [ "$Edition" = "OpenSource" ]; then
4453 echo "You are licensed to use this software under the terms of"
4454 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
4455 if [ -f "$relpath/LICENSE.GPL3" ]; then
4456 echo "You are also licensed to use this software under the terms of"
4457 echo "the GNU General Public License (GPL) versions 3."
4463 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
4464 echo "You have already accepted the terms of the $LicenseType license."
4467 if [ -f "$relpath/LICENSE.GPL3" ]; then
4468 echo "Type '3' to view the GNU General Public License version 3."
4470 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
4471 echo "Type 'yes' to accept this license offer."
4472 echo "Type 'no' to decline this license offer."
4474 echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
4478 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
4480 elif [ "$acceptance" = "no" ]; then
4481 echo "You are not licensed to use this software."
4484 elif [ "$acceptance" = "3" ]; then
4485 more "$relpath/LICENSE.GPL3"
4486 elif [ "$acceptance" = "L" ]; then
4487 more "$relpath/LICENSE.LGPL"
4490 elif [ "$Edition" = "Preview" ]; then
4491 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
4494 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
4495 echo "You have already accepted the terms of the $LicenseType license."
4498 echo "You are licensed to use this software under the terms of"
4499 echo "the $TheLicense"
4501 echo "Type '?' to read the Preview License."
4502 echo "Type 'yes' to accept this license offer."
4503 echo "Type 'no' to decline this license offer."
4505 echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
4509 if [ "$acceptance" = "yes" ]; then
4511 elif [ "$acceptance" = "no" ] ;then
4512 echo "You are not licensed to use this software."
4515 elif [ "$acceptance" = "?" ]; then
4516 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
4519 elif [ "$Edition" != "OpenSource" ]; then
4520 if [ -n "$ExpiryDate" ]; then
4521 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
4522 [ -z "$ExpiryDate" ] && ExpiryDate="0"
4523 Today=`date +%Y%m%d`
4524 if [ "$Today" -gt "$ExpiryDate" ]; then
4525 case "$LicenseType" in
4526 Commercial|Academic|Educational)
4527 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
4529 echo "NOTICE NOTICE NOTICE NOTICE"
4531 echo " Your support and upgrade period has expired."
4533 echo " You are no longer licensed to use this version of Qt."
4534 echo " Please contact qt-info@nokia.com to renew your support"
4535 echo " and upgrades for this license."
4537 echo "NOTICE NOTICE NOTICE NOTICE"
4542 echo "WARNING WARNING WARNING WARNING"
4544 echo " Your support and upgrade period has expired."
4546 echo " You may continue to use your last licensed release"
4547 echo " of Qt under the terms of your existing license"
4548 echo " agreement. But you are not entitled to technical"
4549 echo " support, nor are you entitled to use any more recent"
4550 echo " Qt releases."
4552 echo " Please contact qt-info@nokia.com to renew your"
4553 echo " support and upgrades for this license."
4555 echo "WARNING WARNING WARNING WARNING"
4562 echo "NOTICE NOTICE NOTICE NOTICE"
4564 echo " Your Evaluation license has expired."
4566 echo " You are no longer licensed to use this software. Please"
4567 echo " contact qt-info@nokia.com to purchase license, or install"
4568 echo " the Qt Open Source Edition if you intend to develop free"
4571 echo "NOTICE NOTICE NOTICE NOTICE"
4578 TheLicense=`head -n 1 "$outpath/LICENSE"`
4580 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
4581 echo "You have already accepted the terms of the $TheLicense."
4584 echo "You are licensed to use this software under the terms of"
4585 echo "the $TheLicense."
4587 echo "Type '?' to view the $TheLicense."
4588 echo "Type 'yes' to accept this license offer."
4589 echo "Type 'no' to decline this license offer."
4591 echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
4595 if [ "$acceptance" = "yes" ]; then
4597 elif [ "$acceptance" = "no" ]; then
4598 echo "You are not licensed to use this software."
4601 else [ "$acceptance" = "?" ]
4602 more "$outpath/LICENSE"
4607 # this should be moved somewhere else
4610 AIX_VERSION=`uname -v`
4611 if [ "$AIX_VERSION" -lt "5" ]; then
4612 QMakeVar add QMAKE_LIBS_X11 -lbind
4619 #-------------------------------------------------------------------------------
4620 # generate qconfig.cpp
4621 #-------------------------------------------------------------------------------
4622 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
4624 LICENSE_USER_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsuser=$Licensee"`
4625 LICENSE_PRODUCTS_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsprod=$Edition"`
4626 PREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_INSTALL_PREFIX"`
4627 DOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_INSTALL_DOCS"`
4628 HEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_INSTALL_HEADERS"`
4629 LIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_INSTALL_LIBS"`
4630 BINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_INSTALL_BINS"`
4631 PLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_INSTALL_PLUGINS"`
4632 IMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_INSTALL_IMPORTS"`
4633 DATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_INSTALL_DATA"`
4634 TRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_INSTALL_TRANSLATIONS"`
4635 SETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
4636 EXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
4638 TODAY=`date +%Y-%m-%d`
4639 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4641 static const char qt_configure_licensee_str [256 + 12] = "$LICENSE_USER_STR";
4642 static const char qt_configure_licensed_products_str [256 + 12] = "$LICENSE_PRODUCTS_STR";
4644 /* Installation date */
4645 static const char qt_configure_installation [12+11] = "qt_instdate=$TODAY";
4649 if [ ! -z "$QT_HOST_PREFIX" ]; then
4650 HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
4651 HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
4652 HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"`
4653 HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"`
4654 HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"`
4655 HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"`
4656 HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/IMPORTS"`
4657 HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"`
4658 HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
4659 HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
4660 HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
4662 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4664 #if defined(QT_BOOTSTRAPPED) || defined(QT_BUILD_QMAKE)
4665 /* Installation Info */
4666 static const char qt_configure_prefix_path_str [256 + 12] = "$HOSTPREFIX_PATH_STR";
4667 static const char qt_configure_documentation_path_str[256 + 12] = "$HOSTDOCUMENTATION_PATH_STR";
4668 static const char qt_configure_headers_path_str [256 + 12] = "$HOSTHEADERS_PATH_STR";
4669 static const char qt_configure_libraries_path_str [256 + 12] = "$HOSTLIBRARIES_PATH_STR";
4670 static const char qt_configure_binaries_path_str [256 + 12] = "$HOSTBINARIES_PATH_STR";
4671 static const char qt_configure_plugins_path_str [256 + 12] = "$HOSTPLUGINS_PATH_STR";
4672 static const char qt_configure_imports_path_str [256 + 12] = "$HOSTIMPORTS_PATH_STR";
4673 static const char qt_configure_data_path_str [256 + 12] = "$HOSTDATA_PATH_STR";
4674 static const char qt_configure_translations_path_str [256 + 12] = "$HOSTTRANSLATIONS_PATH_STR";
4675 static const char qt_configure_settings_path_str [256 + 12] = "$HOSTSETTINGS_PATH_STR";
4676 static const char qt_configure_examples_path_str [256 + 12] = "$HOSTEXAMPLES_PATH_STR";
4677 #else // QT_BOOTSTRAPPED
4681 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4682 /* Installation Info */
4683 static const char qt_configure_prefix_path_str [256 + 12] = "$PREFIX_PATH_STR";
4684 static const char qt_configure_documentation_path_str[256 + 12] = "$DOCUMENTATION_PATH_STR";
4685 static const char qt_configure_headers_path_str [256 + 12] = "$HEADERS_PATH_STR";
4686 static const char qt_configure_libraries_path_str [256 + 12] = "$LIBRARIES_PATH_STR";
4687 static const char qt_configure_binaries_path_str [256 + 12] = "$BINARIES_PATH_STR";
4688 static const char qt_configure_plugins_path_str [256 + 12] = "$PLUGINS_PATH_STR";
4689 static const char qt_configure_imports_path_str [256 + 12] = "$IMPORTS_PATH_STR";
4690 static const char qt_configure_data_path_str [256 + 12] = "$DATA_PATH_STR";
4691 static const char qt_configure_translations_path_str [256 + 12] = "$TRANSLATIONS_PATH_STR";
4692 static const char qt_configure_settings_path_str [256 + 12] = "$SETTINGS_PATH_STR";
4693 static const char qt_configure_examples_path_str [256 + 12] = "$EXAMPLES_PATH_STR";
4696 if [ ! -z "$QT_HOST_PREFIX" ]; then
4697 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4698 #endif // QT_BOOTSTRAPPED
4703 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4704 /* strlen( "qt_lcnsxxxx" ) == 12 */
4705 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
4706 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
4707 #define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12;
4708 #define QT_CONFIGURE_DOCUMENTATION_PATH qt_configure_documentation_path_str + 12;
4709 #define QT_CONFIGURE_HEADERS_PATH qt_configure_headers_path_str + 12;
4710 #define QT_CONFIGURE_LIBRARIES_PATH qt_configure_libraries_path_str + 12;
4711 #define QT_CONFIGURE_BINARIES_PATH qt_configure_binaries_path_str + 12;
4712 #define QT_CONFIGURE_PLUGINS_PATH qt_configure_plugins_path_str + 12;
4713 #define QT_CONFIGURE_IMPORTS_PATH qt_configure_imports_path_str + 12;
4714 #define QT_CONFIGURE_DATA_PATH qt_configure_data_path_str + 12;
4715 #define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12;
4716 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
4717 #define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;
4720 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
4721 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
4722 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
4724 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
4725 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
4726 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
4729 # -----------------------------------------------------------------------------
4730 if [ "$LicenseType" = "Evaluation" ]; then
4731 EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey=$LicenseKeyExt"`
4732 elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then
4733 EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey="`
4736 if [ -n "$EVALKEY" ]; then
4737 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
4738 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
4739 /* Evaluation license key */
4740 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
4742 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
4746 # -----------------------------------------------------------------------------
4748 # -----------------------------------------------------------------------------
4751 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
4753 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
4754 if [ "$OPT_SHADOW" = "yes" ]; then
4755 "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
4756 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
4757 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
4762 # $2: optional transformation
4763 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
4764 # is where the resulting variable is written to
4765 # Assumes that the optional transformation produces the same variable name for each hit
4766 setBootstrapVariable()
4768 getQMakeConf | $AWK '/^('"$1"')[^_A-Z0-9]/ { print $0; }' | ( [ -n "$2" ] && sed "$2" ; [ -z "$2" ] && cat ) | $AWK '
4774 valStart = index($0, "=") + 1
4777 if (substr($0, valStart - 2, 1) == "+") {
4781 variable = substr($0, 0, valStart - 2 - append)
4782 value = substr($0, valStart)
4783 gsub("[ \t]+", "", variable)
4784 gsub("^[ \t]+", "", value)
4785 gsub("[ \t]+$", "", value)
4787 if (append == 1 && length(combinedValue) > 0) {
4788 combinedValue = combinedValue " " value
4790 combinedValue = value
4794 if (length(combinedValue) > 0) {
4795 printf "%s = %s\n", variable, combinedValue
4801 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
4802 echo "Creating qmake. Please wait..."
4805 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
4806 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
4807 if [ -f "$QCONFIG_H" ]; then
4808 OLD_QCONFIG_H=$QCONFIG_H
4809 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
4812 # create temporary qconfig.h for compiling qmake, if it doesn't exist
4813 # when building qmake, we use #defines for the install paths,
4814 # however they are real functions in the library
4815 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
4816 mkdir -p "$outpath/src/corelib/global"
4817 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
4818 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
4821 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
4823 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
4824 rm -rf mkspecs/default
4825 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
4827 for mkfile in GNUmakefile Makefile; do
4830 in_mkfile="${mkfile}.in"
4831 if [ "$mkfile" = "Makefile" ]; then
4832 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
4833 # (cd qmake && qmake) >/dev/null 2>&1 && continue
4835 in_mkfile="${mkfile}.unix"
4837 in_mkfile="$relpath/qmake/$in_mkfile"
4838 mkfile="$outpath/qmake/$mkfile"
4839 if [ -f "$mkfile" ]; then
4840 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
4843 [ -f "$in_mkfile" ] || continue
4845 echo "########################################################################" > "$mkfile"
4846 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
4847 echo "########################################################################" >> "$mkfile"
4850 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
4851 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
4852 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
4854 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
4855 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
4858 [ -n "$CC" ] && echo "CC = $CC" >> "$mkfile"
4859 [ -n "$CXX" ] && echo "CXX = $CXX" >> "$mkfile"
4860 if [ "$CFG_SILENT" = "yes" ]; then
4861 [ -z "$CC" ] && setBootstrapVariable QMAKE_CC 's,QMAKE_CC.*=,CC=\@,'
4862 [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX 's,QMAKE_CXX.*=,CXX=\@,'
4864 [ -z "$CC" ] && setBootstrapVariable QMAKE_CC 's,QMAKE_CC,CC,'
4865 [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX 's,QMAKE_CXX,CXX,'
4867 setBootstrapVariable QMAKE_CFLAGS
4868 setBootstrapVariable QMAKE_CXXFLAGS 's,\$\$QMAKE_CFLAGS,\$(QMAKE_CFLAGS),'
4869 setBootstrapVariable QMAKE_LFLAGS
4871 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
4872 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
4873 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
4875 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
4876 setBootstrapVariable QMAKE_CFLAGS_RELEASE
4877 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE 's,\$\$QMAKE_CFLAGS_RELEASE,\$(QMAKE_CFLAGS_RELEASE),'
4878 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
4879 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
4880 elif [ "$CFG_DEBUG" = "yes" ]; then
4881 setBootstrapVariable QMAKE_CFLAGS_DEBUG
4882 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG 's,\$\$QMAKE_CFLAGS_DEBUG,\$(QMAKE_CFLAGS_DEBUG),'
4883 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
4884 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
4887 if [ '!' -z "$RPATH_FLAGS" ] && [ '!' -z "`getQMakeConf \"$QMAKESPEC\" | $AWK '/QMAKE_(LFLAGS_)?RPATH/ {print $3;}'`" ]; then
4888 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" 's,\$\$LITERAL_WHITESPACE, ,;s,QMAKE_RPATH,QMAKE_LFLAGS_RPATH,'
4889 for rpath in $RPATH_FLAGS; do
4890 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
4893 if [ "$BUILD_ON_MAC" = "yes" ]; then
4894 echo "export MACOSX_DEPLOYMENT_TARGET = 10.4" >> "$mkfile"
4895 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
4896 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
4897 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
4898 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
4899 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
4900 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
4901 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
4902 if echo "$CFG_MAC_ARCHS" | grep x86 > /dev/null 2>&1; then # matches both x86 and x86_64
4903 X86_CFLAGS="-arch i386"
4904 X86_LFLAGS="-arch i386"
4905 EXTRA_CFLAGS="$X86_CFLAGS $EXTRA_CFLAGS"
4906 EXTRA_CXXFLAGS="$X86_CFLAGS $EXTRA_CXXFLAGS"
4907 EXTRA_LFLAGS="$EXTRA_LFLAGS $X86_LFLAGS"
4909 if echo "$CFG_MAC_ARCHS" | grep ppc > /dev/null 2>&1; then # matches both ppc and ppc64
4910 PPC_CFLAGS="-arch ppc"
4911 PPC_LFLAGS="-arch ppc"
4912 EXTRA_CFLAGS="$PPC_CFLAGS $EXTRA_CFLAGS"
4913 EXTRA_CXXFLAGS="$PPC_CFLAGS $EXTRA_CXXFLAGS"
4914 EXTRA_LFLAGS="$EXTRA_LFLAGS $PPC_LFLAGS"
4916 if [ '!' -z "$CFG_SDK" ]; then
4917 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
4918 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
4919 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
4920 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
4921 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
4924 [ "$CFG_EMBEDDED" != "no" ] && EXTRA_CFLAGS="$EXTRA_CFLAGS -DQWS"
4925 if [ '!' -z "$D_FLAGS" ]; then
4926 for DEF in $D_FLAGS; do
4927 EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
4930 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
4931 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
4932 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
4933 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
4935 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
4936 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
4937 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
4938 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
4939 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
4940 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
4941 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
4942 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
4943 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
4944 -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
4946 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
4947 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
4948 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
4949 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
4954 QMAKE_BUILD_ERROR=no
4955 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
4956 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
4957 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
4958 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
4961 #-------------------------------------------------------------------------------
4962 # tests that need qmake
4963 #-------------------------------------------------------------------------------
4965 # detect availability of float math.h functions
4966 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
4967 CFG_USE_FLOATMATH=yes
4969 CFG_USE_FLOATMATH=no
4972 # detect mmx support
4973 if [ "${CFG_MMX}" = "auto" ]; then
4974 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mmx "mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
4981 # detect 3dnow support
4982 if [ "${CFG_3DNOW}" = "auto" ]; then
4983 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/3dnow "3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
4990 # detect sse support
4991 if [ "${CFG_SSE}" = "auto" ]; then
4992 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse "sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
4999 # detect sse2 support
5000 if [ "${CFG_SSE2}" = "auto" ]; then
5001 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
5008 # detect sse3 support
5009 if [ "${CFG_SSE3}" = "auto" ]; then
5010 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse3 "sse3" $L_FLAGS $I_FLAGS $l_FLAGS "-msse3"; then
5017 # detect ssse3 support
5018 if [ "${CFG_SSSE3}" = "auto" ]; then
5019 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ssse3 "ssse3" $L_FLAGS $I_FLAGS $l_FLAGS "-mssse3"; then
5026 # detect sse4.1 support
5027 if [ "${CFG_SSE4_1}" = "auto" ]; then
5028 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
5035 # detect sse4.2 support
5036 if [ "${CFG_SSE4_2}" = "auto" ]; then
5037 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
5044 # detect avx support
5045 if [ "${CFG_AVX}" = "auto" ]; then
5046 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx "avx" $L_FLAGS $I_FLAGS $l_FLAGS "-mavx"; then
5053 # check iWMMXt support
5054 if [ "$CFG_IWMMXT" = "yes" ]; then
5055 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
5056 if [ $? != "0" ]; then
5057 echo "The iWMMXt functionality test failed!"
5058 echo " Please make sure your compiler supports iWMMXt intrinsics!"
5063 # detect neon support
5064 if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
5065 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
5072 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
5074 if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
5075 QMakeVar set styles "windows s60" #overwrite previous default
5079 if [ "$CFG_LARGEFILE" = auto ]; then
5082 if [ "$CFG_PHONON" = auto ]; then
5086 if test -z "$EPOCROOT"; then
5087 echo "Please export EPOCROOT. It should point to the sdk install dir"
5090 if test ! -d "$EPOCROOT/epoc32"; then
5091 echo "Could not find the 'epoc32' dir in your EPOCROOT."
5095 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
5096 # Raptor does not support configure tests.
5098 # the main commands needed to compile;
5099 (mkdir -p config.tests/symbian/rcomp
5100 cd config.tests/symbian/rcomp
5101 rm -f rcomp_test.rsg
5102 touch rcomp_test.rpp rcomp_test.rsc rcomp_test.rss
5103 rcomp -u -m045,046,047 -s./rcomp_test.rpp -o./rcomp_test.rsc -h./rcomp_test.rsg -i./rcomp_test.rss 2>&1 > /dev/null
5104 if test ! -f rcomp_test.rsg; then
5105 echo "Finding a working rcomp in your PATH failed."
5106 echo "Fatal error. Make sure you have the epoc tools working and in your PATH";
5111 # compile a simple main that uses printf
5112 if ! "$symbiantests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/symbian/simple "simple" $L_FLAGS $I_FLAGS $l_FLAGS
5114 echo "Testing your compiler failed. Could not compile a simple application."
5115 echo "Fatal error; Rerun configure with -verbose to get more details."
5122 if [ "$CFG_ZLIB" = "no" ]; then
5123 # Note: Qt no longer support builds without zlib
5124 # So we force a "no" to be "auto" here.
5125 # If you REALLY really need no zlib support, you can still disable
5126 # it by doing the following:
5127 # add "no-zlib" to mkspecs/qconfig.pri
5128 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
5130 # There's no guarantee that Qt will build under those conditions
5135 if [ "$CFG_ZLIB" = "auto" ]; then
5136 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
5143 if [ "$CFG_LARGEFILE" = "auto" ]; then
5144 #Large files should be enabled for all Linux systems
5149 if [ "$CFG_S60" = "auto" ]; then
5150 if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
5157 if [ "$CFG_QS60STYLE" = "auto" ]; then
5158 if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
5165 if [ "$CFG_SYMBIAN_DEFFILES" = "auto" ]; then
5166 # elf2e32 crashes when using def files together with gcce.
5167 if [ "$XPLATFORM_SYMBIAN" = "yes" ] && [ "$CFG_DEV" = "no" ] && [ "$XPLATFORM" != "symbian-gcce" ]; then
5168 CFG_SYMBIAN_DEFFILES=yes
5170 CFG_SYMBIAN_DEFFILES=no
5174 # detect how jpeg should be built
5175 if [ "$CFG_JPEG" = "auto" ]; then
5176 if [ "$CFG_SHARED" = "yes" ]; then
5183 if [ "$CFG_LIBJPEG" = "auto" ]; then
5184 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
5191 # detect how gif should be built
5192 if [ "$CFG_GIF" = "auto" ]; then
5193 if [ "$CFG_SHARED" = "yes" ]; then
5200 # detect how tiff should be built
5201 if [ "$CFG_TIFF" = "auto" ]; then
5202 if [ "$CFG_SHARED" = "yes" ]; then
5210 if [ "$CFG_LIBTIFF" = "auto" ]; then
5211 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libtiff "libtiff" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
5218 # detect how mng should be built
5219 if [ "$CFG_MNG" = "auto" ]; then
5220 if [ "$CFG_SHARED" = "yes" ]; then
5227 if [ "$CFG_LIBMNG" = "auto" ]; then
5228 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libmng "libmng" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
5236 if [ "$CFG_LIBPNG" = "auto" ]; then
5237 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
5244 # detect accessibility
5245 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
5246 if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
5247 # accessibility is currently unsupported
5248 CFG_ACCESSIBILITY=no
5250 CFG_ACCESSIBILITY=yes
5254 # auto-detect SQL-modules support
5255 for _SQLDR in $CFG_SQL_AVAILABLE; do
5258 if [ "$CFG_SQL_mysql" != "no" ]; then
5259 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
5260 if [ -x "$CFG_MYSQL_CONFIG" ]; then
5261 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
5262 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
5263 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
5264 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
5265 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
5267 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
5268 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5269 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
5270 echo " You need MySql 4 or higher."
5271 echo " If you believe this message is in error you may use the continue"
5272 echo " switch (-continue) to $0 to continue."
5277 QT_LFLAGS_MYSQL_R=""
5281 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
5282 QMakeVar add CONFIG use_libmysqlclient_r
5283 if [ "$CFG_SQL_mysql" = "auto" ]; then
5284 CFG_SQL_mysql=plugin
5286 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
5287 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
5288 if [ "$CFG_SQL_mysql" = "auto" ]; then
5289 CFG_SQL_mysql=plugin
5292 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5293 echo "MySQL support cannot be enabled due to functionality tests!"
5294 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5295 echo " If you believe this message is in error you may use the continue"
5296 echo " switch (-continue) to $0 to continue."
5301 QT_LFLAGS_MYSQL_R=""
5309 if [ "$CFG_SQL_psql" != "no" ]; then
5310 # Be careful not to use native pg_config when cross building.
5311 if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
5312 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
5313 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
5315 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
5316 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
5317 # But, respect PSQL_LIBS if set
5318 [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
5319 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
5320 if [ "$CFG_SQL_psql" = "auto" ]; then
5324 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5325 echo "PostgreSQL support cannot be enabled due to functionality tests!"
5326 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5327 echo " If you believe this message is in error you may use the continue"
5328 echo " switch (-continue) to $0 to continue."
5339 if [ "$CFG_SQL_odbc" != "no" ]; then
5340 if ( [ "$PLATFORM_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
5341 if [ "$CFG_SQL_odbc" = "auto" ]; then
5345 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
5346 QT_LFLAGS_ODBC="-liodbc"
5347 if [ "$CFG_SQL_odbc" = "auto" ]; then
5351 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5352 echo "ODBC support cannot be enabled due to functionality tests!"
5353 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5354 echo " If you believe this message is in error you may use the continue"
5355 echo " switch (-continue) to $0 to continue."
5365 if [ "$CFG_SQL_oci" != "no" ]; then
5366 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
5367 if [ "$CFG_SQL_oci" = "auto" ]; then
5371 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5372 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
5373 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5374 echo " If you believe this message is in error you may use the continue"
5375 echo " switch (-continue) to $0 to continue."
5384 if [ "$CFG_SQL_tds" != "no" ]; then
5385 [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
5386 [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
5387 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
5388 if [ "$CFG_SQL_tds" = "auto" ]; then
5392 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5393 echo "TDS support cannot be enabled due to functionality tests!"
5394 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5395 echo " If you believe this message is in error you may use the continue"
5396 echo " switch (-continue) to $0 to continue."
5405 if [ "$CFG_SQL_db2" != "no" ]; then
5406 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
5407 if [ "$CFG_SQL_db2" = "auto" ]; then
5411 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5412 echo "ODBC support cannot be enabled due to functionality tests!"
5413 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5414 echo " If you believe this message is in error you may use the continue"
5415 echo " switch (-continue) to $0 to continue."
5424 if [ "$CFG_SQL_ibase" != "no" ]; then
5425 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
5426 if [ "$CFG_SQL_ibase" = "auto" ]; then
5427 CFG_SQL_ibase=plugin
5430 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5431 echo "InterBase support cannot be enabled due to functionality tests!"
5432 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5433 echo " If you believe this message is in error you may use the continue"
5434 echo " switch (-continue) to $0 to continue."
5443 if [ "$CFG_SQL_sqlite2" != "no" ]; then
5444 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
5445 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
5446 CFG_SQL_sqlite2=plugin
5449 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5450 echo "SQLite2 support cannot be enabled due to functionality tests!"
5451 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5452 echo " If you believe this message is in error you may use the continue"
5453 echo " switch (-continue) to $0 to continue."
5462 if [ "$CFG_SQL_sqlite" = "auto" ]; then # the default
5463 if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
5464 # sqlite on symbian is typically not build in Qt but deployed as a pre-existing sis file and should be marked as driver.
5465 # Configuration parameters should be set
5467 QT_LFLAGS_SQLITE=-lsqlite3
5468 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
5471 if [ "$CFG_SQL_sqlite" != "no" ]; then
5472 SQLITE_AUTODETECT_FAILED="no"
5473 if [ "$CFG_SQLITE" = "system" ]; then
5474 if [ -n "$PKG_CONFIG" ]; then
5475 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
5476 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
5478 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
5479 if [ "$CFG_SQL_sqlite" = "auto" ]; then
5480 CFG_SQL_sqlite=plugin
5482 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
5484 SQLITE_AUTODETECT_FAILED="yes"
5487 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
5488 if [ "$CFG_SQL_sqlite" = "auto" ]; then
5489 CFG_SQL_sqlite=plugin
5492 SQLITE_AUTODETECT_FAILED="yes"
5496 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5497 echo "SQLite support cannot be enabled due to functionality tests!"
5498 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5499 echo " If you believe this message is in error you may use the continue"
5500 echo " switch (-continue) to $0 to continue."
5506 if [ "$OPT_VERBOSE" = "yes" ]; then
5507 echo "unknown SQL driver: $_SQLDR"
5513 # auto-detect NIS support
5514 if [ "$CFG_NIS" != "no" ]; then
5515 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
5518 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5519 echo "NIS support cannot be enabled due to functionality tests!"
5520 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5521 echo " If you believe this message is in error you may use the continue"
5522 echo " switch (-continue) to $0 to continue."
5530 # auto-detect CUPS support
5531 if [ "$CFG_CUPS" != "no" ]; then
5532 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
5535 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5536 echo "Cups support cannot be enabled due to functionality tests!"
5537 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5538 echo " If you believe this message is in error you may use the continue"
5539 echo " switch (-continue) to $0 to continue."
5547 # auto-detect iconv(3) support
5548 if [ "$CFG_ICONV" != "no" ]; then
5549 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
5551 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
5553 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
5555 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
5558 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5559 echo "Iconv support cannot be enabled due to functionality tests!"
5560 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5561 echo " If you believe this message is in error you may use the continue"
5562 echo " switch (-continue) to $0 to continue."
5570 # auto-detect libdbus-1 support
5571 if [ "$CFG_DBUS" != "no" ]; then
5572 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
5573 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
5574 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
5576 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
5577 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
5578 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
5579 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
5581 if [ "$CFG_DBUS" = "auto" ]; then
5583 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5584 # CFG_DBUS is "yes" or "linked" here
5586 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
5587 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5588 echo " If you believe this message is in error you may use the continue"
5589 echo " switch (-continue) to $0 to continue."
5595 if [ "$CFG_MULTIMEDIA" = "auto" ]; then
5596 CFG_MULTIMEDIA="$CFG_GUI"
5599 if [ "$CFG_MULTIMEDIA" = "yes" ] && [ "$CFG_GUI" = "no" ]; then
5600 echo "QtMultimedia requested, but it can't be built without QtGui"
5604 # Generate a CRC of the namespace for using in constants for the Carbon port.
5605 # This should mean that you really *can* load two Qt's and have our custom
5606 # Carbon events work.
5607 if [ "$PLATFORM_MAC" = "yes" -a ! -z "$QT_NAMESPACE" ]; then
5608 QT_NAMESPACE_MAC_CRC=`"$mactests/crc.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/crc $QT_NAMESPACE $L_FLAGS $I_FLAGS $l_FLAGS`
5611 # X11/QWS/Lighthouse
5612 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
5614 # auto-detect Glib support
5615 if [ "$CFG_GLIB" != "no" ]; then
5616 if [ -n "$PKG_CONFIG" ]; then
5617 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
5618 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
5620 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
5622 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
5623 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
5625 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5626 echo "Glib support cannot be enabled due to functionality tests!"
5627 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5628 echo " If you believe this message is in error you may use the continue"
5629 echo " switch (-continue) to $0 to continue."
5637 if [ "$CFG_GUI" = "no" ]; then
5638 if [ "$CFG_PHONON" = "auto" ]; then
5641 if [ "$CFG_PHONON" != "no" ]; then
5642 echo "Phonon enabled, but GUI disabled."
5643 echo " You might need to either enable the GUI or disable Phonon"
5648 # Auto-detect GStreamer support (needed for Phonon)
5649 if [ "$CFG_PHONON" != "no" ]; then
5650 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
5651 if [ -n "$PKG_CONFIG" ]; then
5652 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
5653 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
5655 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
5657 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
5658 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
5660 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5661 echo "Gstreamer support cannot be enabled due to functionality tests!"
5662 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5663 echo " If you believe this message is in error you may use the continue"
5664 echo " switch (-continue) to $0 to continue."
5670 elif [ "$CFG_GLIB" = "no" ]; then
5677 if [ "$CFG_PHONON" != "no" ]; then
5678 if [ "$CFG_PHONON_BACKEND" != "no" ]; then
5679 if [ "$CFG_GSTREAMER" = "yes" ]; then
5682 if [ "$CFG_PHONON" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5683 echo "Phonon support cannot be enabled due to functionality tests!"
5684 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5685 echo " If you believe this message is in error you may use the continue"
5686 echo " switch (-continue) to $0 to continue."
5697 # auto-detect icd support
5698 if [ "$CFG_GLIB" = "yes" -a "$CFG_ICD" != "no" ]; then
5699 if [ -n "$PKG_CONFIG" ]; then
5700 QT_CFLAGS_CONNSETTINGS=`$PKG_CONFIG --cflags connsettings icd2 2>/dev/null`
5701 QT_LIBS_CONNSETTINGS=`$PKG_CONFIG --libs connsettings icd2 2>/dev/null`
5703 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icd "ICD" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_CONNSETTINGS $QT_LIBS_CONNSETTINGS; then
5704 [ "$CFG_ICD" = "auto" ] && CFG_ICD=yes
5705 QMakeVar set QT_CFLAGS_CONNSETTINGS "$QT_CFLAGS_CONNSETTINGS"
5706 QMakeVar set QT_LIBS_CONNSETTINGS "$QT_LIBS_CONNSETTINGS"
5708 if [ "$CFG_ICD" = "auto" ]; then
5710 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5713 echo "The ICD Bearer Management plugin cannot be enabled because connsettings was not found."
5714 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5715 echo " If you believe this message is in error you may use the continue"
5716 echo " switch (-continue) to $0 to continue."
5720 elif [ "$CFG_GLIB" = "no" ]; then
5724 # auto-detect libicu support
5725 if [ "$CFG_ICU" != "no" ]; then
5726 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $l_FLAGS; then
5727 [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
5729 if [ "$CFG_ICU" = "auto" ]; then
5731 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5734 echo "The ICU library support cannot be enabled."
5735 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5736 echo " If you believe this message is in error you may use the continue"
5737 echo " switch (-continue) to $0 to continue."
5743 # Auto-detect PulseAudio support
5744 if [ "$CFG_PULSEAUDIO" != "no" ]; then
5745 if [ -n "$PKG_CONFIG" ]; then
5746 QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
5747 QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
5749 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
5751 QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
5752 QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
5754 if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5755 echo "PulseAudio support cannot be enabled due to functionality tests!"
5756 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5757 echo " If you believe this message is in error you may use the continue"
5758 echo " switch (-continue) to $0 to continue."
5765 fi # X11/QWS/Lighthouse
5768 if [ "$PLATFORM_X11" = "yes" -a "$CFG_GUI" != "no" ]; then
5769 x11tests="$relpath/config.tests/x11"
5772 # work around broken X11 headers when using GCC 2.95 or later
5774 "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE=yes
5775 if [ $NOTYPE = "yes" ]; then
5776 QMakeVar add QMAKE_CXXFLAGS -fpermissive
5777 X11TESTS_FLAGS="$X11TESTS_FLAGS -fpermissive"
5780 # Check we actually have X11 :-)
5781 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5782 if [ $? != "0" ]; then
5783 echo "Basic XLib functionality test failed!"
5784 echo " You might need to modify the include and library search paths by editing"
5785 echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
5790 # X11/MINGW/SYMBIAN OpenGL
5791 if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" -o "$XPLATFORM_SYMBIAN" = "yes" ]; then
5792 # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es2 = OpenGL ES 2.x)
5793 if [ "$CFG_GUI" = "no" ]; then
5794 if [ "$CFG_OPENGL" = "auto" ]; then
5797 if [ "$CFG_OPENGL" != "no" ]; then
5798 echo "OpenGL enabled, but GUI disabled."
5799 echo " You might need to either enable the GUI or disable OpenGL"
5803 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
5804 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
5806 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
5808 if [ "$CFG_EGL" = "no" ]; then
5811 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
5813 if [ "$CFG_EGL" = "no" ]; then
5817 if [ "$CFG_OPENGL" = "yes" ]; then
5818 echo "All the OpenGL functionality tests failed!"
5819 echo " You might need to modify the include and library search paths by editing"
5820 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5821 echo " ${XQMAKESPEC}."
5828 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
5829 if [ "$CFG_OPENGL" = "desktop" ]; then
5830 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5831 if [ $? != "0" ]; then
5832 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
5839 elif [ "$CFG_OPENGL" = "es1" ]; then
5841 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS
5842 if [ $? != "0" ]; then
5843 echo "The OpenGL ES 1.x functionality test failed!"
5844 echo " You might need to modify the include and library search paths by editing"
5845 echo " QMAKE_INCDIR_OPENGL_ES1, QMAKE_LIBDIR_OPENGL_ES1 and QMAKE_LIBS_OPENGL_ES1 in"
5846 echo " ${XQMAKESPEC}."
5849 elif [ "$CFG_OPENGL" = "es2" ]; then
5851 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
5852 if [ $? != "0" ]; then
5853 echo "The OpenGL ES 2.0 functionality test failed!"
5854 echo " You might need to modify the include and library search paths by editing"
5855 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
5856 echo " ${XQMAKESPEC}."
5859 elif [ "$CFG_OPENGL" = "desktop" ]; then
5860 # Desktop OpenGL support
5861 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5862 if [ $? != "0" ]; then
5863 echo "The OpenGL functionality test failed!"
5864 echo " You might need to modify the include and library search paths by editing"
5865 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5866 echo " ${XQMAKESPEC}."
5871 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
5872 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5873 if [ $? != "0" ]; then
5874 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
5882 # if opengl is disabled and the user specified graphicssystem gl, disable it...
5883 if [ "$CFG_GRAPHICS_SYSTEM" = "opengl" ] && [ "$CFG_OPENGL" = "no" ]; then
5884 echo "OpenGL Graphics System is disabled due to missing OpenGL support..."
5885 CFG_GRAPHICS_SYSTEM=default
5887 fi # X11/MINGW OpenGL
5890 if [ "$PLATFORM_X11" = "yes" ]; then
5891 # auto-detect Xcursor support
5892 if [ "$CFG_XCURSOR" != "no" ]; then
5893 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
5894 if [ "$CFG_XCURSOR" != "runtime" ]; then
5898 if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5899 echo "Xcursor support cannot be enabled due to functionality tests!"
5900 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5901 echo " If you believe this message is in error you may use the continue"
5902 echo " switch (-continue) to $0 to continue."
5910 # auto-detect Xfixes support
5911 if [ "$CFG_XFIXES" != "no" ]; then
5912 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xfixes "Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
5913 if [ "$CFG_XFIXES" != "runtime" ]; then
5917 if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5918 echo "Xfixes support cannot be enabled due to functionality tests!"
5919 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5920 echo " If you believe this message is in error you may use the continue"
5921 echo " switch (-continue) to $0 to continue."
5929 # auto-detect Xrandr support (resize and rotate extension)
5930 if [ "$CFG_XRANDR" != "no" ]; then
5931 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
5932 if [ "$CFG_XRANDR" != "runtime" ]; then
5936 if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5937 echo "Xrandr support cannot be enabled due to functionality tests!"
5938 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5939 echo " If you believe this message is in error you may use the continue"
5940 echo " switch (-continue) to $0 to continue."
5948 # auto-detect Xrender support
5949 if [ "$CFG_XRENDER" != "no" ]; then
5950 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
5953 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5954 echo "Xrender support cannot be enabled due to functionality tests!"
5955 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5956 echo " If you believe this message is in error you may use the continue"
5957 echo " switch (-continue) to $0 to continue."
5965 # Additional check to decide if WebKit support will be included
5966 if [ "$CFG_XRENDER" = "no" ] && [ "$CFG_WEBKIT" != "no" ]; then
5967 echo "Warning: -no-xrender will disable the QtWebkit module."
5971 # auto-detect MIT-SHM support
5972 if [ "$CFG_MITSHM" != "no" ]; then
5973 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
5976 if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5977 echo "MITSHM support cannot be enabled due to functionality tests!"
5978 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5979 echo " If you believe this message is in error you may use the continue"
5980 echo " switch (-continue) to $0 to continue."
5988 # auto-detect FontConfig support
5989 if [ "$CFG_FONTCONFIG" != "no" ]; then
5990 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
5991 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
5992 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
5994 QT_CFLAGS_FONTCONFIG=
5995 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5997 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
5999 QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
6000 QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
6001 CFG_LIBFREETYPE=system
6003 if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6004 echo "FontConfig support cannot be enabled due to functionality tests!"
6005 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6006 echo " If you believe this message is in error you may use the continue"
6007 echo " switch (-continue) to $0 to continue."
6015 # auto-detect Session Management support
6016 if [ "$CFG_SM" = "auto" ]; then
6017 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
6020 if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6021 echo "Session Management support cannot be enabled due to functionality tests!"
6022 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6023 echo " If you believe this message is in error you may use the continue"
6024 echo " switch (-continue) to $0 to continue."
6032 # auto-detect SHAPE support
6033 if [ "$CFG_XSHAPE" != "no" ]; then
6034 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
6037 if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6038 echo "XShape support cannot be enabled due to functionality tests!"
6039 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6040 echo " If you believe this message is in error you may use the continue"
6041 echo " switch (-continue) to $0 to continue."
6049 # auto-detect XVideo support
6050 if [ "$CFG_XVIDEO" != "no" ]; then
6051 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
6054 if [ "$CFG_XVIDEO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6055 echo "XVideo support cannot be enabled due to functionality tests!"
6056 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6057 echo " If you believe this message is in error you may use the continue"
6058 echo " switch (-continue) to $0 to continue."
6066 # auto-detect XSync support
6067 if [ "$CFG_XSYNC" != "no" ]; then
6068 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
6071 if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6072 echo "XSync support cannot be enabled due to functionality tests!"
6073 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6074 echo " If you believe this message is in error you may use the continue"
6075 echo " switch (-continue) to $0 to continue."
6083 # auto-detect Xinerama support
6084 if [ "$CFG_XINERAMA" != "no" ]; then
6085 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
6086 if [ "$CFG_XINERAMA" != "runtime" ]; then
6090 if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6091 echo "Xinerama support cannot be enabled due to functionality tests!"
6092 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6093 echo " If you believe this message is in error you may use the continue"
6094 echo " switch (-continue) to $0 to continue."
6102 # auto-detect Xinput support
6103 if [ "$CFG_XINPUT" != "no" ]; then
6104 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
6105 if [ "$CFG_XINPUT" != "runtime" ]; then
6109 if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6110 echo "Tablet and Xinput support cannot be enabled due to functionality tests!"
6111 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6112 echo " If you believe this message is in error you may use the continue"
6113 echo " switch (-continue) to $0 to continue."
6121 # auto-detect XKB support
6122 if [ "$CFG_XKB" != "no" ]; then
6123 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
6126 if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6127 echo "XKB support cannot be enabled due to functionality tests!"
6128 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6129 echo " If you believe this message is in error you may use the continue"
6130 echo " switch (-continue) to $0 to continue."
6138 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
6139 if [ -n "$PKG_CONFIG" ]; then
6140 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
6141 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
6143 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
6145 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
6146 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
6148 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6149 echo "Gtk theme support cannot be enabled due to functionality tests!"
6150 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6151 echo " If you believe this message is in error you may use the continue"
6152 echo " switch (-continue) to $0 to continue."
6158 elif [ "$CFG_GLIB" = "no" ]; then
6164 if [ "$PLATFORM_MAC" = "yes" ]; then
6165 if [ "$CFG_PHONON" != "no" ]; then
6166 # Always enable Phonon (unless it was explicitly disabled)
6170 if [ "$CFG_COREWLAN" = "auto" ]; then
6171 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
6180 if [ "$PLATFORM_QPA" = "yes" ]; then
6181 # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es2 = OpenGL ES 2.x)
6182 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
6183 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
6185 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
6187 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
6190 if [ "$CFG_OPENGL" = "yes" ]; then
6191 echo "All the OpenGL functionality tests failed!"
6192 echo " You might need to modify the include and library search paths by editing"
6193 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
6194 echo " ${XQMAKESPEC}."
6199 elif [ "$CFG_OPENGL" = "es1" ]; then
6201 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS
6202 if [ $? != "0" ]; then
6203 echo "The OpenGL ES 1.x functionality test failed!"
6204 echo " You might need to modify the include and library search paths by editing"
6205 echo " QMAKE_INCDIR_OPENGL_ES1, QMAKE_LIBDIR_OPENGL_ES1 and QMAKE_LIBS_OPENGL_ES1 in"
6206 echo " ${XQMAKESPEC}."
6209 elif [ "$CFG_OPENGL" = "es2" ]; then
6211 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
6212 QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --variable=includedir glesv2 2>/dev/null`
6213 QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --variable=libdir glesv2 2>/dev/null`
6214 QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
6215 QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
6216 QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
6217 QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2"
6218 QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2"
6221 "$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
6222 if [ $? != "0" ]; then
6223 echo "The OpenGL ES 2.0 functionality test failed!"
6224 echo " You might need to modify the include and library search paths by editing"
6225 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
6226 echo " ${XQMAKESPEC}."
6229 elif [ "$CFG_OPENGL" = "desktop" ]; then
6230 # Desktop OpenGL support
6231 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
6232 if [ $? != "0" ]; then
6233 echo "The OpenGL functionality test failed!"
6234 echo " You might need to modify the include and library search paths by editing"
6235 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
6236 echo " ${XQMAKESPEC}."
6241 # auto-detect FontConfig support
6242 if [ "$CFG_FONTCONFIG" != "no" ]; then
6243 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
6244 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
6245 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
6247 QT_CFLAGS_FONTCONFIG=
6248 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
6250 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
6251 QT_CONFIG="$QT_CONFIG fontconfig"
6252 QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
6253 QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
6254 CFG_LIBFREETYPE=system
6259 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists wayland-client 2>/dev/null; then
6260 QMAKE_CFLAGS_WAYLAND=`$PKG_CONFIG --cflags wayland-client 2>/dev/null`
6261 QMAKE_LIBS_WAYLAND=`$PKG_CONFIG --libs wayland-client 2>/dev/null`
6262 QMAKE_INCDIR_WAYLAND=`$PKG_CONFIG --variable=includedir wayland-client 2>/dev/null`
6263 QMAKE_LIBDIR_WAYLAND=`$PKG_CONFIG --variable=libdir wayland-client 2>/dev/null`
6265 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
6266 QMAKE_CFLAGS_WAYLAND="$QMAKE_CFLAGS_WAYLAND `$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
6267 QMAKE_LIBS_WAYLAND="$QMAKE_LIBS_WAYLAND `$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
6269 QMAKE_DEFINES_WAYLAND=QT_NO_WAYLAND_XKB
6273 # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
6274 if [ -n "$QMAKE_CFLAGS_WAYLAND" ] || [ -n "$QMAKE_LIBS_WAYLAND" ]; then
6275 QMakeVar set QMAKE_CFLAGS_WAYLAND "$QMAKE_CFLAGS_WAYLAND"
6276 QMakeVar set QMAKE_INCDIR_WAYLAND "$QMAKE_INCDIR_WAYLAND"
6277 QMakeVar set QMAKE_LIBS_WAYLAND "$QMAKE_LIBS_WAYLAND"
6278 QMakeVar set QMAKE_LIBDIR_WAYLAND "$QMAKE_LIBDIR_WAYLAND"
6279 QMakeVar set QMAKE_DEFINES_WAYLAND " $QMAKE_DEFINES_WAYLAND"
6282 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
6283 QT_CONFIG="$QT_CONFIG wayland"
6286 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
6287 QT_CONFIG="$QT_CONFIG coreservices"
6289 QMakeVar add DEFINES QT_NO_CORESERVICES
6296 if [ "$PLATFORM_QWS" = "yes" ]; then
6298 # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es2 = OpenGL ES 2.x)
6299 if [ "$CFG_GUI" = "no" ]; then
6300 if [ "$CFG_OPENGL" = "auto" ]; then
6303 if [ "$CFG_OPENGL" != "no" ]; then
6304 echo "OpenGL enabled, but GUI disabled."
6305 echo " You might need to either enable the GUI or disable OpenGL"
6309 if [ "$CFG_OPENGL" = "yes" ]; then
6311 if "$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
6313 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
6316 echo "All the OpenGL ES functionality tests failed!"
6317 echo " You might need to modify the include and library search paths by editing"
6318 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
6319 echo " ${XQMAKESPEC}."
6322 elif [ "$CFG_OPENGL" = "es1" ]; then
6324 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS
6325 if [ $? != "0" ]; then
6326 echo "The OpenGL ES 1.x functionality test failed!"
6327 echo " You might need to modify the include and library search paths by editing"
6328 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
6329 echo " ${XQMAKESPEC}."
6333 elif [ "$CFG_OPENGL" = "es2" ]; then
6335 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
6336 if [ $? != "0" ]; then
6337 echo "The OpenGL ES 2.0 functionality test failed!"
6338 echo " You might need to modify the include and library search paths by editing"
6339 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
6340 echo " ${XQMAKESPEC}."
6344 elif [ "$CFG_OPENGL" = "desktop" ]; then
6345 # Desktop OpenGL support
6346 echo "Desktop OpenGL support is not avaliable on Qt for Embedded Linux"
6351 if [ "$PLATFORM_QWS" = "yes" ]; then
6354 for screen in ${CFG_GFX_ON} ${CFG_GFX_PLUGIN}; do
6355 if [ "${screen}" = "ahi" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
6356 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/ahi "Ahi" $L_FLAGS $I_FLAGS $l_FLAGS
6357 if [ $? != "0" ]; then
6358 echo "The Ahi screen driver functionality test failed!"
6359 echo " You might need to modify the include and library search paths by editing"
6360 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
6361 echo " ${XQMAKESPEC}."
6366 if [ "${screen}" = "svgalib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
6367 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/svgalib "SVGAlib" $L_FLAGS $I_FLAGS $l_FLAGS
6368 if [ $? != "0" ]; then
6369 echo "The SVGAlib screen driver functionality test failed!"
6370 echo " You might need to modify the include and library search paths by editing"
6371 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
6372 echo " ${XQMAKESPEC}."
6377 if [ "${screen}" = "directfb" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
6378 if test -n "$PKG_CONFIG" && "$PKG_CONFIG" --exists directfb 2>/dev/null; then
6379 QT_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
6380 QT_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
6381 elif directfb-config --version >/dev/null 2>&1; then
6382 QT_CFLAGS_DIRECTFB=`directfb-config --cflags 2>/dev/null`
6383 QT_LIBS_DIRECTFB=`directfb-config --libs 2>/dev/null`
6386 # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
6387 if [ -n "$QT_CFLAGS_DIRECTFB" ] || [ -n "$QT_LIBS_DIRECTFB" ]; then
6388 QMakeVar set QT_CFLAGS_DIRECTFB "$QT_CFLAGS_DIRECTFB"
6389 QMakeVar set QT_LIBS_DIRECTFB "$QT_LIBS_DIRECTFB"
6391 if [ "$CFG_QT3SUPPORT" = "yes" ]; then
6392 QMakeVar set QT_DEFINES_DIRECTFB "QT3_SUPPORT"
6395 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/directfb "DirectFB" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_DIRECTFB $QT_LIBS_DIRECTFB
6396 if [ $? != "0" ]; then
6397 echo "The DirectFB screen driver functionality test failed!"
6398 echo " You might need to modify the include and library search paths by editing"
6399 echo " QT_CFLAGS_DIRECTFB and QT_LIBS_DIRECTFB in"
6400 echo " ${XQMAKESPEC}."
6408 for mouse in ${CFG_MOUSE_ON} ${CFG_MOUSE_PLUGIN}; do
6409 if [ "${mouse}" = "tslib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
6410 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tslib "tslib" $L_FLAGS $I_FLAGS $l_FLAGS
6411 if [ $? != "0" ]; then
6412 echo "The tslib functionality test failed!"
6413 echo " You might need to modify the include and library search paths by editing"
6414 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
6415 echo " ${XQMAKESPEC}."
6424 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/sound "sound" $L_FLAGS $I_FLAGS $l_FLAGS
6425 if [ $? != "0" ]; then
6426 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SOUND"
6433 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
6434 if [ "$CFG_EGL" != "no" ]; then
6435 # detect EGL support
6436 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
6437 # EGL specified by QMAKE_*_EGL, included with <EGL/egl.h>
6442 # Prefer this variant for ES1
6443 if [ "$CFG_OPENGL" = "es1" -o "$EGL_VARIANT" = "none" ]; then
6444 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/egl4gles1" "EGL (GLES/egl.h)" $L_FLAGS $I_FLAGS $l_FLAGS; then
6445 # EGL specified by QMAKE_*_EGL, included with <GLES/egl.h>
6448 CFG_EGL_GLES_INCLUDES=yes
6452 if [ "$EGL_VARIANT" = "none" ]; then
6453 if [ "$CFG_EGL" = "yes" ]; then
6454 echo "The EGL functionality test failed!"
6455 echo " EGL is required for OpenGL ES to manage contexts & surfaces."
6456 echo " You might need to modify the include and library search paths by editing"
6457 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in"
6458 echo " ${XQMAKESPEC}."
6462 # If QtOpenGL would be built against OpenGL ES, disable it as we can't to that if EGL is missing
6463 if [ "$CFG_OPENGL" = "es1" -o "$CFG_OPENGL" = "es2" ]; then
6470 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
6473 [ "x$CFG_EMBEDDED" != "xno" ] && CFG_LIBFREETYPE="$CFG_QWS_FREETYPE"
6474 [ "x$PLATFORM_MAC" = "xyes" ] && CFG_LIBFREETYPE=no
6475 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
6476 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
6477 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
6478 CFG_LIBFREETYPE=system
6484 if [ "$CFG_ENDIAN" = "auto" ]; then
6485 if [ "$XPLATFORM_MINGW" = "yes" ]; then
6486 CFG_ENDIAN="Q_LITTLE_ENDIAN"
6487 elif [ "$XPLATFORM_SYMBIAN_SBSV2" = "yes" ]; then
6488 CFG_ENDIAN="Q_LITTLE_ENDIAN"
6489 elif [ "$PLATFORM_MAC" = "yes" ] && [ "$XPLATFORM_SYMBIAN" = "no" ]; then
6492 "$unixtests/endian.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6494 if [ "$F" -eq 0 ]; then
6495 CFG_ENDIAN="Q_LITTLE_ENDIAN"
6496 elif [ "$F" -eq 1 ]; then
6497 CFG_ENDIAN="Q_BIG_ENDIAN"
6500 echo "The target system byte order could not be detected!"
6501 echo "Turn on verbose messaging (-v) to see the final report."
6502 echo "You can use the -little-endian or -big-endian switch to"
6503 echo "$0 to continue."
6509 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
6510 if [ "$PLATFORM_MAC" = "yes" ]; then
6513 "$unixtests/endian.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6515 if [ "$F" -eq 0 ]; then
6516 CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
6517 elif [ "$F" -eq 1 ]; then
6518 CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
6521 echo "The host system byte order could not be detected!"
6522 echo "Turn on verbose messaging (-v) to see the final report."
6523 echo "You can use the -host-little-endian or -host-big-endian switch to"
6524 echo "$0 to continue."
6530 if [ "$CFG_ARMFPA" != "auto" ]; then
6531 if [ "$CFG_ARMFPA" = "yes" ]; then
6532 if [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
6533 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
6535 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
6538 CFG_DOUBLEFORMAT="normal"
6543 if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then
6544 if [ "$PLATFORM_QWS" != "yes" -o "$PLATFORM_QPA" = "yes" ]; then
6545 CFG_DOUBLEFORMAT=normal
6547 "$unixtests/doubleformat.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6549 if [ "$F" -eq 10 ] && [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
6550 CFG_DOUBLEFORMAT=normal
6551 elif [ "$F" -eq 11 ] && [ "$CFG_ENDIAN" = "Q_BIG_ENDIAN" ]; then
6552 CFG_DOUBLEFORMAT=normal
6553 elif [ "$F" -eq 10 ]; then
6554 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE"
6555 elif [ "$F" -eq 11 ]; then
6556 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG"
6557 elif [ "$F" -eq 12 ]; then
6558 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
6560 elif [ "$F" -eq 13 ]; then
6561 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
6565 echo "The system floating point format could not be detected."
6566 echo "This may cause data to be generated in a wrong format"
6567 echo "Turn on verbose messaging (-v) to see the final report."
6568 # we do not fail on this since this is a new test, and if it fails,
6569 # the old behavior should be correct in most cases
6570 CFG_DOUBLEFORMAT=normal
6576 if [ "$XPLATFORM_SYMBIAN" = "yes" ] || "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
6580 if [ "$CFG_STL" != "no" ]; then
6581 if [ "$HAVE_STL" = "yes" ]; then
6584 if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6585 echo "STL support cannot be enabled due to functionality tests!"
6586 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6587 echo " If you believe this message is in error you may use the continue"
6588 echo " switch (-continue) to $0 to continue."
6596 # detect POSIX clock_gettime()
6597 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
6598 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
6599 CFG_CLOCK_GETTIME=yes
6601 CFG_CLOCK_GETTIME=no
6605 # detect POSIX monotonic clocks
6606 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
6607 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
6608 CFG_CLOCK_MONOTONIC=yes
6610 CFG_CLOCK_MONOTONIC=no
6612 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
6613 CFG_CLOCK_MONOTONIC=no
6617 if [ "$CFG_MREMAP" = "auto" ]; then
6618 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
6625 # find if the platform provides getaddrinfo (ipv6 dns lookups)
6626 if [ "$CFG_GETADDRINFO" != "no" ]; then
6627 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
6630 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6631 echo "getaddrinfo support cannot be enabled due to functionality tests!"
6632 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6633 echo " If you believe this message is in error you may use the continue"
6634 echo " switch (-continue) to $0 to continue."
6642 # find if the platform provides inotify
6643 if [ "$CFG_INOTIFY" != "no" ]; then
6644 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
6647 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6648 echo "inotify support cannot be enabled due to functionality tests!"
6649 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6650 echo " If you believe this message is in error you may use the continue"
6651 echo " switch (-continue) to $0 to continue."
6659 # find if the platform provides if_nametoindex (ipv6 interface name support)
6660 if [ "$CFG_IPV6IFNAME" != "no" ]; then
6661 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
6664 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6665 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
6666 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6667 echo " If you believe this message is in error you may use the continue"
6668 echo " switch (-continue) to $0 to continue."
6676 # find if the platform provides getifaddrs (network interface enumeration)
6677 if [ "$CFG_GETIFADDRS" != "no" ]; then
6678 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
6681 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6682 echo "getifaddrs support cannot be enabled due to functionality tests!"
6683 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6684 echo " If you believe this message is in error you may use the continue"
6685 echo " switch (-continue) to $0 to continue."
6694 if [ "$CFG_OPENSSL" != "no" ] && [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
6695 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
6696 if [ "$CFG_OPENSSL" = "auto" ]; then
6700 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6701 echo "OpenSSL support cannot be enabled due to functionality tests!"
6702 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6703 echo " If you believe this message is in error you may use the continue"
6704 echo " switch (-continue) to $0 to continue."
6711 if [ "$CFG_OPENSSL" = "auto" ] && [ "$XPLATFORM_SYMBIAN_SBSV2" = "yes" ]; then
6712 #OpenSSl should be enabled for Symbian release
6717 # detect OpenVG support
6718 if [ "$CFG_OPENVG" != "no" ] && [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
6719 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
6720 if [ "$CFG_OPENVG" = "auto" ]; then
6723 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
6724 if [ "$CFG_OPENVG" = "auto" ]; then
6727 CFG_OPENVG_ON_OPENGL=yes
6728 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
6729 if [ "$CFG_OPENVG" = "auto" ]; then
6732 CFG_OPENVG_LC_INCLUDES=yes
6733 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
6734 if [ "$CFG_OPENVG" = "auto" ]; then
6737 CFG_OPENVG_LC_INCLUDES=yes
6738 CFG_OPENVG_ON_OPENGL=yes
6740 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6741 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
6742 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6743 echo " If you believe this message is in error you may use the continue"
6744 echo " switch (-continue) to $0 to continue."
6750 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
6751 CFG_OPENVG_SHIVA=yes
6755 # if openvg is disabled and the user specified graphicssystem vg, disable it...
6756 if [ "$CFG_GRAPHICS_SYSTEM" = "openvg" ] && [ "$CFG_OPENVG" = "no" ]; then
6757 echo "OpenVG Graphics System is disabled due to missing OpenVG support..."
6758 CFG_GRAPHICS_SYSTEM=default
6761 if [ -n "$CFG_RUNTIME_SYSTEM" -a "$CFG_GRAPHICS_SYSTEM" != "runtime" ] || [ "$CFG_RUNTIME_SYSTEM" = "runtime" ]; then
6762 echo "Argument to -runtimegraphicssystem is invalid so ignoring..."
6766 if [ "$CFG_PTMALLOC" != "no" ]; then
6767 # build ptmalloc, copy .a file to lib/
6768 echo "Building ptmalloc. Please wait..."
6769 (cd "$relpath/src/3rdparty/ptmalloc/"; "$MAKE" "clean" ; "$MAKE" "posix"
6770 mkdir "$outpath/lib/" ; cp "libptmalloc3.a" "$outpath/lib/")
6772 QMakeVar add QMAKE_LFLAGS "$outpath/lib/libptmalloc3.a"
6775 if [ "$CFG_ALSA" = "auto" ] && [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
6776 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
6781 elif [ "$XPLATFORM_SYMBIAN_SBSV2" = "yes" ]; then
6782 # Disabled for Symbian release
6786 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
6787 if [ "$CFG_ARCH" = "arm" ]; then
6788 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
6789 if [ $? != "0" ]; then
6790 CFG_JAVASCRIPTCORE_JIT=no
6793 case "$XPLATFORM" in
6795 CFG_JAVASCRIPTCORE_JIT=no
6798 CFG_JAVASCRIPTCORE_JIT=no
6804 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
6805 QMakeVar set JAVASCRIPTCORE_JIT yes
6806 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
6807 QMakeVar set JAVASCRIPTCORE_JIT no
6810 if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
6811 if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
6812 if "$symbiantests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/symbian/audio "audio" $L_FLAGS $I_FLAGS $l_FLAGS ; then
6813 CFG_AUDIO_BACKEND=yes
6816 CFG_AUDIO_BACKEND=yes
6820 if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
6821 echo "Warning: largefile support cannot be disabled for win32."
6823 elif [ "$CFG_LARGEFILE" != "no" ] && [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
6824 echo "Warning: largefile support cannot be enabled for symbian."
6828 #-------------------------------------------------------------------------------
6829 # ask for all that hasn't been auto-detected or specified in the arguments
6830 #-------------------------------------------------------------------------------
6832 ### fix this: user input should be validated in a loop
6833 if [ "$PLATFORM_QWS" = "yes" ]; then
6834 PROMPT_FOR_DEPTHS="yes"
6836 PROMPT_FOR_DEPTHS="no"
6838 if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PROMPT_FOR_DEPTHS" = "yes" ]; then
6840 echo "Choose pixel-depths to support:"
6842 echo " 1. 1bpp, black/white"
6843 echo " 4. 4bpp, grayscale"
6844 echo " 8. 8bpp, paletted"
6845 echo " 12. 12bpp, rgb 4-4-4"
6846 echo " 15. 15bpp, rgb 5-5-5"
6847 echo " 16. 16bpp, rgb 5-6-5"
6848 echo " 18. 18bpp, rgb 6-6-6"
6849 echo " 24. 24bpp, rgb 8-8-8"
6850 echo " 32. 32bpp, argb 8-8-8-8 and rgb 8-8-8"
6851 echo " all. All supported depths"
6853 echo "Your choices (default 8,16,32):"
6855 if [ -z "$CFG_QWS_DEPTHS" ] || [ "$CFG_QWS_DEPTHS" = "yes" ]; then
6856 CFG_QWS_DEPTHS=8,16,32
6859 if [ -n "$CFG_QWS_DEPTHS" -a "$PLATFORM_QWS" = "yes" ]; then
6860 if [ "$CFG_QWS_DEPTHS" = "all" ]; then
6861 CFG_QWS_DEPTHS="1 4 8 12 15 16 18 24 32 generic"
6863 for D in `echo "$CFG_QWS_DEPTHS" | sed -e 's/,/ /g'`; do
6865 1|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
6866 generic) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_GENERIC";;
6871 # enable dwarf2 support on Mac
6872 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
6873 QT_CONFIG="$QT_CONFIG dwarf2"
6876 # Set the default arch if there are no "-arch" arguments on the configure line
6877 # For "-carbon" builds: 32 bit x86/ppc.
6878 # For builds on snow leopard : compiler default (64-bit).
6879 # For builds on leopard : compiler default (32-bit).
6880 if [ "$CFG_ARCH" = "macosx" ] && [ "$CFG_MAC_ARCHS" = "" ]; then
6881 source "$mactests/defaultarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests"
6883 if [ "$CFG_MAC_CARBON" = "yes" ]; then
6884 if [ "$QT_MAC_DEFAULT_ARCH" = "x86_64" ]; then
6885 CFG_MAC_ARCHS=" x86"
6886 elif [ "$QT_MAC_DEFAULT_ARCH" = "ppc64" ]; then
6887 CFG_MAC_ARCHS=" ppc"
6889 CFG_MAC_ARCHS=" $QT_MAC_DEFAULT_ARCH"
6892 CFG_MAC_ARCHS=" $QT_MAC_DEFAULT_ARCH"
6895 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting Mac architechture to$CFG_MAC_ARCHS."
6898 # enable Cocoa and/or Carbon on Mac
6899 # -carbon on the command line disables Cocoa, except for 64-bit archs
6900 if [ "$CFG_MAC_CARBON" = "yes" ]; then
6901 CFG_MAC_CARBON="YES"
6904 # check which archs are in use, enable cocoa if we find a 64-bit one
6905 if echo "$CFG_MAC_ARCHS" | grep 64 > /dev/null 2>&1; then
6906 CFG_MAC_COCOA="yes";
6907 CFG_MAC_CARBON="no";
6908 if echo "$CFG_MAC_ARCHS" | grep -w ppc > /dev/null 2>&1; then
6909 CFG_MAC_CARBON="yes";
6911 if echo "$CFG_MAC_ARCHS" | grep -w x86 > /dev/null 2>&1; then
6912 CFG_MAC_CARBON="yes";
6917 # select Carbon on 10.4 Tiger.
6918 if [ "$PLATFORM_MAC" = "yes" ]; then
6919 VERSION=`uname -r | tr '.' ' ' | awk '{print $1}'`
6920 if [ "$VERSION" == 8 ]; then
6922 CFG_MAC_CARBON="yes";
6926 # select Carbon when using the 10.4u SDK
6927 if [ "$PLATFORM_MAC" = "yes" ]; then
6928 if [ "TEST$CFG_SDK" = "TEST/Developer/SDKs/MacOSX10.4u.sdk/" ]; then
6931 CFG_MAC_CARBON="yes";
6935 # but disable Cocoa if cross-building for mingw and symbian
6936 [ "$XPLATFORM_MINGW" = "yes" ] && CFG_MAC_COCOA="no"
6937 [ "$XPLATFORM_SYMBIAN" = "yes" ] && CFG_MAC_COCOA="no"
6939 # set the global Mac deployment target. This is overridden on an arch-by-arch basis
6940 # in some cases, see code further down
6941 case "$PLATFORM,$CFG_MAC_COCOA" in
6944 QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET 10.5
6948 QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET 10.4
6952 # disable Qt 3 support on VxWorks and Symbian
6953 case "$XPLATFORM" in
6954 unsupported/vxworks*|symbian*)
6959 # enable Qt 3 support functionality
6960 if [ "$CFG_QT3SUPPORT" = "yes" ]; then
6961 QT_CONFIG="$QT_CONFIG gui-qt3support"
6965 if [ "$CFG_PHONON" = "yes" ]; then
6966 # No longer needed after modularization
6967 #QT_CONFIG="$QT_CONFIG phonon"
6968 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
6969 QT_CONFIG="$QT_CONFIG phonon-backend"
6972 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PHONON"
6975 # disable accessibility
6976 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
6977 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
6979 QT_CONFIG="$QT_CONFIG accessibility"
6982 # egl stuff does not belong in lighthouse, but rather in plugins
6983 if [ "$PLATFORM_QPA" = "yes" ]; then
6988 if [ "$CFG_EGL" = "no" ]; then
6989 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
6991 QT_CONFIG="$QT_CONFIG egl"
6992 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
6993 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GLES_EGL"
6998 if [ "$CFG_OPENVG" = "no" ]; then
6999 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
7001 QT_CONFIG="$QT_CONFIG openvg"
7002 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
7003 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
7005 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
7006 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
7008 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
7009 QT_CONFIG="$QT_CONFIG shivavg"
7010 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
7014 if [ "$CFG_QS60STYLE" = "no" ]; then
7015 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_S60"
7017 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_STYLE_S60"
7020 # Just check if OpenGL is not set by command argumets for Symbian.
7021 if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
7022 if [ "$CFG_OPENGL" = "auto" ]; then
7028 if [ "$CFG_OPENGL" = "no" ]; then
7029 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
7031 QT_CONFIG="$QT_CONFIG opengl"
7034 if [ "$CFG_OPENGL" = "es1" ] || [ "$CFG_OPENGL" = "es2" ]; then
7035 if [ "$PLATFORM_QWS" = "yes" ]; then
7036 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_BACKINGSTORE_SUBSURFACES"
7038 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
7041 if [ "$CFG_OPENGL" = "es1" ]; then
7042 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_1"
7043 QT_CONFIG="$QT_CONFIG opengles1"
7046 if [ "$CFG_OPENGL" = "es2" ]; then
7047 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
7048 QT_CONFIG="$QT_CONFIG opengles2"
7051 # safe execution environment
7052 if [ "$CFG_SXE" != "no" ]; then
7053 QT_CONFIG="$QT_CONFIG sxe"
7056 # build up the variables for output
7057 if [ "$CFG_DEBUG" = "yes" ]; then
7058 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
7059 QMAKE_CONFIG="$QMAKE_CONFIG debug"
7060 elif [ "$CFG_DEBUG" = "no" ]; then
7061 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
7062 QMAKE_CONFIG="$QMAKE_CONFIG release"
7064 if [ "$CFG_SHARED" = "yes" ]; then
7065 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
7066 QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
7067 elif [ "$CFG_SHARED" = "no" ]; then
7068 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
7069 QMAKE_CONFIG="$QMAKE_CONFIG static"
7071 if [ "$PLATFORM_QWS" = "yes" ]; then
7072 QMAKE_OUTDIR="${QMAKE_OUTDIR}-emb-$CFG_EMBEDDED"
7073 QMAKE_CONFIG="$QMAKE_CONFIG embedded"
7074 QT_CONFIG="$QT_CONFIG embedded"
7075 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
7077 if [ "$PLATFORM_QPA" = "yes" ]; then
7078 QMAKE_CONFIG="$QMAKE_CONFIG qpa"
7079 QT_CONFIG="$QT_CONFIG qpa"
7080 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
7081 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
7084 if [ "$CFG_EMBEDDED" = "nacl" ]; then
7085 QMAKE_CONFIG="$QMAKE_CONFIG nacl pepper"
7086 QT_CONFIG="$QT_CONFIG nacl pepper"
7087 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
7090 if [ "$XPLATFORM_MINGW" != "yes" ]; then
7091 # Do not set this here for Windows. Let qmake do it so
7092 # debug and release precompiled headers are kept separate.
7093 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
7095 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
7096 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
7097 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
7098 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
7099 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
7100 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
7102 if [ "$CFG_STL" = "no" ]; then
7103 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STL"
7105 QMAKE_CONFIG="$QMAKE_CONFIG stl"
7107 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
7108 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
7110 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
7111 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
7112 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
7113 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
7114 QMakeVar add QMAKE_CFLAGS -g
7115 QMakeVar add QMAKE_CXXFLAGS -g
7116 QT_CONFIG="$QT_CONFIG separate_debug_info"
7118 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
7119 QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
7121 [ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mmx"
7122 [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow"
7123 [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse"
7124 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
7125 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
7126 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
7127 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
7128 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
7129 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
7130 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
7131 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
7132 [ "$CFG_ARCH" = "macosx" ] && QMAKE_CONFIG="$QMAKE_CONFIG $CFG_MAC_ARCHS"
7133 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
7134 QT_CONFIG="$QT_CONFIG clock-gettime"
7136 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
7137 QT_CONFIG="$QT_CONFIG clock-monotonic"
7139 if [ "$CFG_MREMAP" = "yes" ]; then
7140 QT_CONFIG="$QT_CONFIG mremap"
7142 if [ "$CFG_GETADDRINFO" = "yes" ]; then
7143 QT_CONFIG="$QT_CONFIG getaddrinfo"
7145 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
7146 QT_CONFIG="$QT_CONFIG ipv6ifname"
7148 if [ "$CFG_GETIFADDRS" = "yes" ]; then
7149 QT_CONFIG="$QT_CONFIG getifaddrs"
7151 if [ "$CFG_INOTIFY" = "yes" ]; then
7152 QT_CONFIG="$QT_CONFIG inotify"
7154 if [ "$CFG_LIBJPEG" = "no" ]; then
7156 elif [ "$CFG_LIBJPEG" = "system" ]; then
7157 QT_CONFIG="$QT_CONFIG system-jpeg"
7159 if [ "$CFG_JPEG" = "no" ]; then
7160 QT_CONFIG="$QT_CONFIG no-jpeg"
7161 elif [ "$CFG_JPEG" = "yes" ]; then
7162 QT_CONFIG="$QT_CONFIG jpeg"
7164 if [ "$CFG_LIBMNG" = "no" ]; then
7166 elif [ "$CFG_LIBMNG" = "system" ]; then
7167 QT_CONFIG="$QT_CONFIG system-mng"
7169 if [ "$CFG_MNG" = "no" ]; then
7170 QT_CONFIG="$QT_CONFIG no-mng"
7171 elif [ "$CFG_MNG" = "yes" ]; then
7172 QT_CONFIG="$QT_CONFIG mng"
7174 if [ "$CFG_LIBPNG" = "no" ]; then
7177 if [ "$CFG_LIBPNG" = "system" ]; then
7178 QT_CONFIG="$QT_CONFIG system-png"
7180 if [ "$CFG_PNG" = "no" ]; then
7181 QT_CONFIG="$QT_CONFIG no-png"
7182 elif [ "$CFG_PNG" = "yes" ]; then
7183 QT_CONFIG="$QT_CONFIG png"
7185 if [ "$CFG_GIF" = "no" ]; then
7186 QT_CONFIG="$QT_CONFIG no-gif"
7187 elif [ "$CFG_GIF" = "yes" ]; then
7188 QT_CONFIG="$QT_CONFIG gif"
7190 if [ "$CFG_LIBTIFF" = "no" ]; then
7192 elif [ "$CFG_LIBTIFF" = "system" ]; then
7193 QT_CONFIG="$QT_CONFIG system-tiff"
7195 if [ "$CFG_TIFF" = "no" ]; then
7196 QT_CONFIG="$QT_CONFIG no-tiff"
7197 elif [ "$CFG_TIFF" = "yes" ]; then
7198 QT_CONFIG="$QT_CONFIG tiff"
7200 if [ "$CFG_LIBFREETYPE" = "no" ]; then
7201 QT_CONFIG="$QT_CONFIG no-freetype"
7202 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
7203 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
7204 QT_CONFIG="$QT_CONFIG system-freetype"
7206 QT_CONFIG="$QT_CONFIG freetype"
7208 if [ "$CFG_GUI" = "auto" ]; then
7211 if [ "$CFG_GUI" = "no" ]; then
7212 QT_CONFIG="$QT_CONFIG no-gui"
7214 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GUI"
7218 if [ "x$PLATFORM_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && [ "$XPLATFORM_SYMBIAN" != "yes" ]; then
7219 #On Mac we implicitly link against libz, so we
7220 #never use the 3rdparty stuff.
7221 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
7223 if [ "$CFG_ZLIB" = "yes" ]; then
7224 QT_CONFIG="$QT_CONFIG zlib"
7225 elif [ "$CFG_ZLIB" = "system" ]; then
7226 QT_CONFIG="$QT_CONFIG system-zlib"
7229 if [ "$CFG_S60" = "yes" ]; then
7230 QT_CONFIG="$QT_CONFIG s60"
7233 if [ "$CFG_SYMBIAN_DEFFILES" = "yes" ]; then
7234 QTCONFIG_CONFIG="$QTCONFIG_CONFIG def_files"
7236 QTCONFIG_CONFIG="$QTCONFIG_CONFIG def_files_disabled"
7239 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
7240 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
7241 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
7242 [ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
7243 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
7244 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
7245 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
7246 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
7247 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
7248 [ "$CFG_NAS" = "system" ] && QT_CONFIG="$QT_CONFIG nas"
7249 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
7250 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
7251 [ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
7252 [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
7254 if [ "$PLATFORM_X11" = "yes" ]; then
7255 [ "$CFG_SM" = "yes" ] && QT_CONFIG="$QT_CONFIG x11sm"
7257 # for some reason, the following libraries are not always built shared,
7258 # so *every* program/lib (including Qt) has to link against them
7259 if [ "$CFG_XSHAPE" = "yes" ]; then
7260 QT_CONFIG="$QT_CONFIG xshape"
7262 if [ "$CFG_XVIDEO" = "yes" ]; then
7263 QT_CONFIG="$QT_CONFIG xvideo"
7265 if [ "$CFG_XSYNC" = "yes" ]; then
7266 QT_CONFIG="$QT_CONFIG xsync"
7268 if [ "$CFG_XINERAMA" = "yes" ]; then
7269 QT_CONFIG="$QT_CONFIG xinerama"
7270 QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11'
7272 if [ "$CFG_XCURSOR" = "yes" ]; then
7273 QT_CONFIG="$QT_CONFIG xcursor"
7274 QMakeVar set QMAKE_LIBS_X11 '-lXcursor $$QMAKE_LIBS_X11'
7276 if [ "$CFG_XFIXES" = "yes" ]; then
7277 QT_CONFIG="$QT_CONFIG xfixes"
7278 QMakeVar set QMAKE_LIBS_X11 '-lXfixes $$QMAKE_LIBS_X11'
7280 if [ "$CFG_XRANDR" = "yes" ]; then
7281 QT_CONFIG="$QT_CONFIG xrandr"
7282 if [ "$CFG_XRENDER" != "yes" ]; then
7283 # libXrandr uses 1 function from libXrender, so we always have to have it :/
7284 QMakeVar set QMAKE_LIBS_X11 '-lXrandr -lXrender $$QMAKE_LIBS_X11'
7286 QMakeVar set QMAKE_LIBS_X11 '-lXrandr $$QMAKE_LIBS_X11'
7289 if [ "$CFG_XRENDER" = "yes" ]; then
7290 QT_CONFIG="$QT_CONFIG xrender"
7291 QMakeVar set QMAKE_LIBS_X11 '-lXrender $$QMAKE_LIBS_X11'
7293 if [ "$CFG_MITSHM" = "yes" ]; then
7294 QT_CONFIG="$QT_CONFIG mitshm"
7296 if [ "$CFG_FONTCONFIG" = "yes" ]; then
7297 QT_CONFIG="$QT_CONFIG fontconfig"
7299 if [ "$CFG_XINPUT" = "yes" ]; then
7300 QMakeVar set QMAKE_LIBS_X11 '-lXi $$QMAKE_LIBS_X11'
7302 if [ "$CFG_XINPUT" = "yes" ]; then
7303 QT_CONFIG="$QT_CONFIG xinput tablet"
7305 if [ "$CFG_XKB" = "yes" ]; then
7306 QT_CONFIG="$QT_CONFIG xkb"
7310 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS"
7311 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
7312 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
7314 if [ "$CFG_ARCH" = "macosx" ]; then
7315 if [ "$CFG_RPATH" = "yes" ]; then
7316 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
7318 elif [ -z "`getQMakeConf \"$XQMAKESPEC\" | $AWK '/QMAKE_(LFLAGS_)?RPATH/ {print $3;}'`" ]; then
7319 if [ -n "$RPATH_FLAGS" ]; then
7321 echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
7325 elif [ "$CFG_RPATH" = "yes" ]; then
7326 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
7330 if [ "$CFG_RPATH" = "yes" ]; then
7331 # set the default rpath to the library installation directory
7332 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
7334 if [ -n "$RPATH_FLAGS" ]; then
7335 # add the user defined rpaths
7336 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
7340 if [ '!' -z "$I_FLAGS" ]; then
7341 # add the user define include paths
7342 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
7343 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
7346 # turn off exceptions for the compilers that support it
7347 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
7348 COMPILER=`echo $XPLATFORM | cut -f 3- -d-`
7349 elif [ "$XPLATFORM" != "$PLATFORM" ]; then
7350 COMPILER=`echo $XPLATFORM | cut -f 2- -d-`
7352 COMPILER=`echo $PLATFORM | cut -f 2- -d-`
7354 if [ "$CFG_EXCEPTIONS" = "unspecified" -a "$PLATFORM_QWS" = "yes" ]; then
7358 if [ "$CFG_EXCEPTIONS" != "no" ]; then
7359 QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
7362 if [ "$XPLATFORM_MINGW" = "yes" ]; then
7363 # mkspecs/features/win32/default_pre.prf sets "no-rtti".
7364 # Follow default behavior of configure.exe by overriding with "rtti".
7365 QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
7368 if [ "$CFG_ALSA" = "yes" ]; then
7369 QT_CONFIG="$QT_CONFIG alsa"
7372 if [ "$CFG_PULSEAUDIO" = "yes" ]; then
7373 QT_CONFIG="$QT_CONFIG pulseaudio"
7376 if [ "$CFG_COREWLAN" = "yes" ]; then
7377 QT_CONFIG="$QT_CONFIG corewlan"
7380 if [ "$CFG_ICD" = "yes" ]; then
7381 QT_CONFIG="$QT_CONFIG icd"
7384 if [ "$CFG_ICU" = "yes" ]; then
7385 QT_CONFIG="$QT_CONFIG icu"
7389 # Some Qt modules are too advanced in C++ for some old compilers
7390 # Detect here the platforms where they are known to work.
7392 # See Qt documentation for more information on which features are
7393 # supported and on which compilers.
7395 canBuildQtXmlPatterns="yes"
7396 canBuildWebKit="$HAVE_STL"
7397 canBuildQtConcurrent="yes"
7399 # WebKit requires stdint.h
7400 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stdint "Stdint" $L_FLAGS $I_FLAGS $l_FLAGS
7401 if [ $? != "0" ]; then
7405 case "$XPLATFORM" in
7407 # PA-RISC's assembly is too limited
7408 # gcc 3.4 on that platform can't build QtXmlPatterns
7409 # the assembly it generates cannot be compiled
7411 # Check gcc's version
7412 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
7416 canBuildQtXmlPatterns="no"
7420 canBuildQtXmlPatterns="no"
7424 unsupported/vxworks-*-g++*)
7427 unsupported/vxworks-*-dcc*)
7429 canBuildQtXmlPatterns="no"
7432 # Check gcc's version
7433 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
7441 canBuildQtXmlPatterns="no"
7446 # Check the compiler version
7447 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
7450 canBuildQtXmlPatterns="no"
7451 canBuildQtConcurrent="no"
7455 canBuildQtConcurrent="no"
7461 canBuildQtXmlPatterns="no"
7462 canBuildQtConcurrent="no"
7468 # Get the xlC version
7469 cat > xlcver.c <<EOF
7473 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
7478 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
7479 xlcver=`./xlcver 2>/dev/null`
7482 if [ "$OPT_VERBOSE" = "yes" ]; then
7483 if [ -n "$xlcver" ]; then
7484 echo Found IBM xlC version: $xlcver.
7486 echo Could not determine IBM xlC version, assuming oldest supported.
7493 canBuildQtXmlPatterns="no"
7494 canBuildQtConcurrent="no"
7498 canBuildQtConcurrent="no"
7504 canBuildQtConcurrent="no"
7512 if [ "$CFG_GUI" = "no" ]; then
7513 # WebKit requires QtGui
7517 if [ "$CFG_SHARED" = "no" ]; then
7519 echo "WARNING: Using static linking will disable the WebKit module."
7524 CFG_CONCURRENT="yes"
7525 if [ "$canBuildQtConcurrent" = "no" ]; then
7526 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
7530 if [ "$CFG_XMLPATTERNS" = "yes" -a "$CFG_EXCEPTIONS" = "no" ]; then
7531 echo "QtXmlPatterns was requested, but it can't be built due to exceptions being disabled."
7534 if [ "$CFG_XMLPATTERNS" = "auto" -a "$CFG_EXCEPTIONS" != "no" ]; then
7535 CFG_XMLPATTERNS="$canBuildQtXmlPatterns"
7536 elif [ "$CFG_EXCEPTIONS" = "no" ]; then
7537 CFG_XMLPATTERNS="no"
7539 # No longer needed after modularization
7540 #if [ "$CFG_XMLPATTERNS" = "yes" ]; then
7541 # QT_CONFIG="$QT_CONFIG xmlpatterns"
7543 # QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XMLPATTERNS"
7546 # No longer needed after modularization
7547 #if [ "$CFG_MULTIMEDIA" = "no" ]; then
7548 # QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MULTIMEDIA"
7550 # QT_CONFIG="$QT_CONFIG multimedia"
7553 if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
7554 QT_CONFIG="$QT_CONFIG audio-backend"
7557 if [ "$CFG_SVG" = "auto" ]; then
7561 if [ "$CFG_SVG" = "yes" ] && [ "$CFG_GUI" = "no" ]; then
7562 echo "QtSvg requested, but it can't be built without QtGui"
7566 if [ "$CFG_SVG" = "yes" ]; then
7567 QT_CONFIG="$QT_CONFIG svg"
7569 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SVG"
7572 if [ "$CFG_WEBKIT" != "no" ]; then
7573 CFG_WEBKIT="$canBuildWebKit"
7576 if [ "$CFG_WEBKIT" != "no" ]; then
7577 # No longer needed after modularization
7578 #QT_CONFIG="$QT_CONFIG webkit"
7579 # The reason we set CFG_WEBKIT, is such that the printed overview of what will be enabled, shows correctly.
7580 if [ "$CFG_WEBKIT" = "debug" ]; then
7581 QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
7585 if [ "$CFG_SCRIPT" = "auto" ]; then
7589 # No longer needed after modularization
7590 #if [ "$CFG_SCRIPT" = "yes" ]; then
7591 # QT_CONFIG="$QT_CONFIG script"
7593 # QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SCRIPT"
7596 if [ "$CFG_SCRIPTTOOLS" = "yes" -a "$CFG_SCRIPT" = "no" ]; then
7597 echo "QtScriptTools was requested, but it can't be built due to QtScript being disabled."
7600 if [ "$CFG_SCRIPTTOOLS" = "auto" -a "$CFG_SCRIPT" != "no" ]; then
7601 case "$XPLATFORM" in
7603 CFG_SCRIPTTOOLS="no"
7606 CFG_SCRIPTTOOLS="yes"
7609 elif [ "$CFG_SCRIPT" = "no" ]; then
7610 CFG_SCRIPTTOOLS="no"
7613 # No longer needed after modularization
7614 #if [ "$CFG_SCRIPTTOOLS" = "yes" ]; then
7615 # QT_CONFIG="$QT_CONFIG scripttools"
7617 # QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SCRIPTTOOLS"
7621 if [ "$CFG_DECLARATIVE" = "yes" ]; then
7622 if [ "$CFG_SCRIPT" = "no" -o "$CFG_GUI" = "no" ]; then
7623 echo "Error: QtDeclarative was requested, but it can't be built due to QtScript or QtGui being disabled."
7627 if [ "$CFG_DECLARATIVE" = "auto" ]; then
7628 if [ "$CFG_SCRIPT" = "no" -o "$CFG_GUI" = "no" ]; then
7635 if [ "$CFG_DECLARATIVE" = "yes" ]; then
7636 # No longer needed after modularization
7637 #QT_CONFIG="$QT_CONFIG declarative"
7638 if [ "$CFG_DECLARATIVE_DEBUG" = "no" ]; then
7639 QCONFIG_FLAGS="$QCONFIG_FLAGS QDECLARATIVE_NO_DEBUG_PROTOCOL"
7642 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DECLARATIVE"
7645 if [ "$CFG_LOCATION" = "auto" ]; then
7646 CFG_LOCATION="$CFG_GUI"
7649 if [ "$CFG_LOCATION" = "yes" ] && [ "$CFG_GUI" = "no" ]; then
7650 echo "QtLocation requested, but it can't be built without QtGui"
7654 #Disable QtLocation until ready
7657 if [ "$CFG_LOCATION" = "no" ]; then
7658 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_LOCATION"
7661 if [ "$CFG_EXCEPTIONS" = "no" ]; then
7664 QMakeVar add QMAKE_CFLAGS -fno-exceptions
7665 QMakeVar add QMAKE_CXXFLAGS -fno-exceptions
7666 QMakeVar add QMAKE_LFLAGS -fno-exceptions
7671 QMakeVar add QMAKE_CFLAGS -LANG:exceptions=off
7672 QMakeVar add QMAKE_CXXFLAGS -LANG:exceptions=off
7673 QMakeVar add QMAKE_LFLAGS -LANG:exceptions=off
7680 QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off"
7683 # On Mac, set the minimum deployment target for the different architechtures
7684 # using the Xarch compiler option when supported (10.5 and up). On 10.4 the
7685 # deployment version is set to 10.4 globally using the QMAKE_MACOSX_DEPLOYMENT_TARGET
7687 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_XARCH" != "no" ] ; then
7688 if echo "$CFG_MAC_ARCHS" | grep '\<x86\>' > /dev/null 2>&1; then
7689 QMakeVar add QMAKE_CFLAGS "-Xarch_i386 -mmacosx-version-min=10.4"
7690 QMakeVar add QMAKE_CXXFLAGS "-Xarch_i386 -mmacosx-version-min=10.4"
7691 QMakeVar add QMAKE_LFLAGS "-Xarch_i386 -mmacosx-version-min=10.4"
7692 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_X86 "-arch i386 -Xarch_i386 -mmacosx-version-min=10.4"
7694 if echo "$CFG_MAC_ARCHS" | grep '\<ppc\>' > /dev/null 2>&1; then
7695 QMakeVar add QMAKE_CFLAGS "-Xarch_ppc -mmacosx-version-min=10.4"
7696 QMakeVar add QMAKE_CXXFLAGS "-Xarch_ppc -mmacosx-version-min=10.4"
7697 QMakeVar add QMAKE_LFLAGS "-Xarch_ppc -mmacosx-version-min=10.4"
7698 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_PPC "-arch ppc -Xarch_ppc -mmacosx-version-min=10.4"
7700 if echo "$CFG_MAC_ARCHS" | grep '\<x86_64\>' > /dev/null 2>&1; then
7701 QMakeVar add QMAKE_CFLAGS "-Xarch_x86_64 -mmacosx-version-min=10.5"
7702 QMakeVar add QMAKE_CXXFLAGS "-Xarch_x86_64 -mmacosx-version-min=10.5"
7703 QMakeVar add QMAKE_LFLAGS "-Xarch_x86_64 -mmacosx-version-min=10.5"
7704 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_X86_64 "-arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5"
7706 if echo "$CFG_MAC_ARCHS" | grep '\<ppc64\>' > /dev/null 2>&1; then
7707 QMakeVar add QMAKE_CFLAGS "-Xarch_ppc64 -mmacosx-version-min=10.5"
7708 QMakeVar add QMAKE_CXXFLAGS "-Xarch_ppc64 -mmacosx-version-min=10.5"
7709 QMakeVar add QMAKE_LFLAGS "-Xarch_ppc64 -mmacosx-version-min=10.5"
7710 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_PPC_64 "-arch ppc64 -Xarch_ppc64 -mmacosx-version-min=10.5"
7714 #-------------------------------------------------------------------------------
7715 # generate QT_BUILD_KEY
7716 #-------------------------------------------------------------------------------
7718 # some compilers generate binary incompatible code between different versions,
7719 # so we need to generate a build key that is different between these compilers
7724 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
7726 case "$COMPILER_VERSION" in
7728 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
7729 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
7730 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
7733 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
7734 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
7735 QT_GCC_PATCH_VERSION=0
7739 case "$COMPILER_VERSION" in
7741 COMPILER_VERSION="2.95.*"
7744 COMPILER_VERSION="3.*"
7747 COMPILER_VERSION="4"
7752 [ '!' -z "$COMPILER_VERSION" ] && COMPILER="g++-${COMPILER_VERSION}"
7755 # The Intel CC compiler on Unix systems matches the ABI of the g++
7756 # that is found on PATH
7757 COMPAT_COMPILER="icc"
7759 case "`g++ -dumpversion` 2>/dev/null" in
7761 COMPILER="g++-2.95.*"
7764 a COMPILER="g++-3.*"
7775 # QT_CONFIG can contain the following:
7777 # Things that affect the Qt API/ABI:
7780 # minimal-config small-config medium-config large-config full-config
7782 # Different edition modules:
7783 # gui network canvas table xml opengl sql
7785 # Things that do not affect the Qt API/ABI:
7787 # system-jpeg no-jpeg jpeg
7788 # system-mng no-mng mng
7789 # system-png no-png png
7790 # system-zlib no-zlib zlib
7791 # system-libtiff no-libtiff
7804 # X11 : x11sm xinerama xcursor xfixes xrandr xrender mitshm fontconfig xkb
7805 # Embedded: embedded qpa freetype
7811 # determine the build options
7812 for config_option in $QMAKE_CONFIG $QT_CONFIG; do
7814 case "$config_option" in
7816 # take the last *-config setting. this is the highest config being used,
7817 # and is the one that we will use for tagging plugins
7818 BUILD_CONFIG="$config_option"
7821 *) # skip all other options since they don't affect the Qt API/ABI.
7825 if [ "$SKIP" = "no" ]; then
7826 BUILD_OPTIONS="$BUILD_OPTIONS $config_option"
7830 # put the options that we are missing into .options
7832 for opt in `echo $ALL_OPTIONS`; do
7834 if echo $BUILD_OPTIONS | grep $opt >/dev/null 2>&1; then
7837 if [ "$SKIP" = "no" ]; then
7838 echo "$opt" >> .options
7842 # reconstruct BUILD_OPTIONS with a sorted negative feature list
7843 # (ie. only things that are missing are will be put into the build key)
7845 if [ -f .options ]; then
7846 for opt in `sort -f .options | uniq`; do
7847 BUILD_OPTIONS="$BUILD_OPTIONS no-$opt"
7852 # QT_NO* defines affect the Qt API (and binary compatibility). they need
7853 # to be included in the build key
7854 for build_option in $D_FLAGS; do
7855 build_option=`echo $build_option | cut -d \" -f 2 -`
7856 case "$build_option" in
7858 echo "$build_option" >> .options
7861 # skip all other compiler defines
7866 # sort the compile time defines (helps ensure that changes in this configure
7867 # script don't affect the QT_BUILD_KEY generation)
7868 if [ -f .options ]; then
7869 for opt in `sort -f .options | uniq`; do
7870 BUILD_OPTIONS="$BUILD_OPTIONS $opt"
7875 BUILD_OPTIONS="$BUILD_CONFIG $BUILD_OPTIONS"
7876 # extract the operating system from the XPLATFORM
7877 TARGET_OPERATING_SYSTEM=`echo $XPLATFORM | cut -f 2- -d/ | cut -f -1 -d-`
7878 if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
7879 QT_BUILD_KEY_SYSTEM_PART="Symbian"
7881 QT_BUILD_KEY_SYSTEM_PART="$CFG_ARCH $TARGET_OPERATING_SYSTEM $COMPILER"
7884 # when cross-compiling, don't include build-host information (build key is target specific)
7885 QT_BUILD_KEY="$CFG_USER_BUILD_KEY $QT_BUILD_KEY_SYSTEM_PART $BUILD_OPTIONS"
7886 if [ -n "$QT_NAMESPACE" ]; then
7887 QT_BUILD_KEY="$QT_BUILD_KEY $QT_NAMESPACE"
7889 MAC_NEED_TWO_BUILD_KEYS="no"
7890 if [ "$PLATFORM_MAC" = "yes" -a "$CFG_MAC_COCOA" = "yes" ]; then
7891 QT_BUILD_KEY_CARBON=$QT_BUILD_KEY
7892 TARGET_OPERATING_SYSTEM="$TARGET_OPERATING_SYSTEM-cocoa"
7893 QT_BUILD_KEY_COCOA="$CFG_USER_BUILD_KEY $CFG_ARCH $TARGET_OPERATING_SYSTEM $COMPILER $BUILD_OPTIONS"
7894 if [ "$CFG_MAC_CARBON" = "no" ]; then
7895 QT_BUILD_KEY=$QT_BUILD_KEY_COCOA
7897 MAC_NEED_TWO_BUILD_KEYS="yes"
7900 # don't break loading plugins build with an older version of Qt
7901 QT_BUILD_KEY_COMPAT=
7902 if [ "$QT_CROSS_COMPILE" = "no" ]; then
7903 # previous versions of Qt used a build key built from the uname
7904 QT_BUILD_KEY_COMPAT="$CFG_USER_BUILD_KEY $UNAME_MACHINE $UNAME_SYSTEM $COMPILER $BUILD_OPTIONS"
7905 if [ -n "$QT_NAMESPACE" ]; then
7906 QT_BUILD_KEY_COMPAT="$QT_BUILD_KEY_COMPAT $QT_NAMESPACE"
7910 # is this compiler compatible with some other "standard" build key
7911 QT_BUILD_KEY_COMPAT_COMPILER=
7912 if [ ! -z "$COMPAT_COMPILER" ]; then
7913 QT_BUILD_KEY_COMPAT_COMPILER="$CFG_USER_BUILD_KEY $CFG_ARCH $TARGET_OPERATING_SYSTEM $COMPAT_COMPILER $BUILD_OPTIONS"
7914 if [ -n "$QT_NAMESPACE" ]; then
7915 QT_BUILD_KEY_COMPAT_COMPILER="$QT_BUILD_KEY_COMPAT_COMPILER $QT_NAMESPACE"
7919 # is this arch compatible with some other "standard" build key
7920 QT_BUILD_KEY_COMPAT_ARCH=
7921 if [ ! -z "$COMPAT_ARCH" ]; then
7922 QT_BUILD_KEY_COMPAT_ARCH="$CFG_USER_BUILD_KEY $COMPAT_ARCH $TARGET_OPERATING_SYSTEM $COMPILER $BUILD_OPTIONS"
7923 if [ -n "$QT_NAMESPACE" ]; then
7924 QT_BUILD_KEY_COMPAT_COMPILER="$QT_BUILD_KEY_COMPAT_ARCH $QT_NAMESPACE"
7928 # strip out leading/trailing/extra whitespace
7929 QT_BUILD_KEY=`echo $QT_BUILD_KEY | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
7930 QT_BUILD_KEY_COMPAT=`echo $QT_BUILD_KEY_COMPAT | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
7931 QT_BUILD_KEY_COMPAT_COMPILER=`echo $QT_BUILD_KEY_COMPAT_COMPILER | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
7932 QT_BUILD_KEY_COMPAT_ARCH=`echo $QT_BUILD_KEY_COMPAT_ARCH | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
7934 #-------------------------------------------------------------------------------
7935 # part of configuration information goes into qconfig.h
7936 #-------------------------------------------------------------------------------
7938 case "$CFG_QCONFIG" in
7940 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
7943 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
7944 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
7945 if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
7946 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
7947 elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
7948 cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
7950 echo "#endif" >>"$tmpconfig"
7954 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
7958 # define QT_EDITION $QT_EDITION
7961 /* Machine byte-order */
7962 #define Q_BIG_ENDIAN 4321
7963 #define Q_LITTLE_ENDIAN 1234
7966 if [ "$MAC_NEED_TWO_BUILD_KEYS" = "no" ]; then
7967 echo "#define QT_BUILD_KEY \"$QT_BUILD_KEY\"" \
7968 >> "$outpath/src/corelib/global/qconfig.h.new"
7970 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
7972 #define QT_BUILD_KEY_CARBON "$QT_BUILD_KEY_CARBON"
7973 #define QT_BUILD_KEY_COCOA "$QT_BUILD_KEY_COCOA"
7977 if [ -n "$QT_BUILD_KEY_COMPAT" ]; then
7978 echo "#define QT_BUILD_KEY_COMPAT \"$QT_BUILD_KEY_COMPAT\"" \
7979 >> "$outpath/src/corelib/global/qconfig.h.new"
7981 if [ -n "$QT_BUILD_KEY_COMPAT_COMPILER" ]; then
7982 echo "#define QT_BUILD_KEY_COMPAT2 \"$QT_BUILD_KEY_COMPAT_COMPILER\"" \
7983 >> "$outpath/src/corelib/global/qconfig.h.new"
7985 if [ -n "$QT_BUILD_KEY_COMPAT_ARCH" ]; then
7986 echo "#define QT_BUILD_KEY_COMPAT3 \"$QT_BUILD_KEY_COMPAT_ARCH\"" \
7987 >> "$outpath/src/corelib/global/qconfig.h.new"
7990 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
7992 echo "#ifdef QT_BOOTSTRAPPED" >>"$outpath/src/corelib/global/qconfig.h.new"
7993 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
7994 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
7995 #if defined(__BIG_ENDIAN__)
7996 # define Q_BYTE_ORDER Q_BIG_ENDIAN
7997 #elif defined(__LITTLE_ENDIAN__)
7998 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
8000 # error "Unable to determine byte order!"
8004 echo "#define Q_BYTE_ORDER $CFG_HOST_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
8006 echo "#else" >>"$outpath/src/corelib/global/qconfig.h.new"
8007 if [ "$CFG_ENDIAN" = "auto" ]; then
8008 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
8009 #if defined(__BIG_ENDIAN__)
8010 # define Q_BYTE_ORDER Q_BIG_ENDIAN
8011 #elif defined(__LITTLE_ENDIAN__)
8012 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
8014 # error "Unable to determine byte order!"
8018 echo "#define Q_BYTE_ORDER $CFG_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
8020 echo "#endif" >>"$outpath/src/corelib/global/qconfig.h.new"
8022 if [ "$CFG_DOUBLEFORMAT" != "normal" ]; then
8023 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
8024 /* Non-IEEE double format */
8025 #define Q_DOUBLE_LITTLE "01234567"
8026 #define Q_DOUBLE_BIG "76543210"
8027 #define Q_DOUBLE_LITTLE_SWAPPED "45670123"
8028 #define Q_DOUBLE_BIG_SWAPPED "32107654"
8029 #define Q_DOUBLE_FORMAT $CFG_DOUBLEFORMAT
8032 if [ "$CFG_ARMFPA" = "yes" ]; then
8033 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
8034 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
8035 #ifndef QT_BOOTSTRAPPED
8040 echo "#define QT_ARMFPA" >>"$outpath/src/corelib/global/qconfig.h.new"
8044 CFG_ARCH_STR=`echo $CFG_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
8045 CFG_HOST_ARCH_STR=`echo $CFG_HOST_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
8046 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
8047 /* Machine Architecture */
8048 #ifndef QT_BOOTSTRAPPED
8049 # define QT_ARCH_${CFG_ARCH_STR}
8051 # define QT_ARCH_${CFG_HOST_ARCH_STR}
8055 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
8056 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
8058 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
8059 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
8062 # if both carbon and cocoa are specified, enable the autodetection code.
8063 if [ "$PLATFORM_MAC" = "yes" -a "$CFG_MAC_COCOA" = "yes" -a "$CFG_MAC_CARBON" = "yes" ]; then
8064 echo "#define QT_AUTODETECT_COCOA 1" >>"$outpath/src/corelib/global/qconfig.h.new"
8065 elif [ "$PLATFORM_MAC" = "yes" -a "$CFG_MAC_COCOA" = "yes" ]; then
8066 echo "#define QT_MAC_USE_COCOA 1" >>"$outpath/src/corelib/global/qconfig.h.new"
8069 if [ "$CFG_FRAMEWORK" = "yes" ]; then
8070 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
8073 if [ "$PLATFORM_MAC" = "yes" ]; then
8074 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
8075 #if defined(__LP64__)
8076 # define QT_POINTER_SIZE 8
8078 # define QT_POINTER_SIZE 4
8082 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
8083 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
8087 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
8089 if [ "$CFG_DEV" = "yes" ]; then
8090 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
8093 # Embedded compile time options
8094 if [ "$PLATFORM_QWS" = "yes" ]; then
8095 # Add QWS to config.h
8096 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QWS"
8098 # Add excluded decorations to $QCONFIG_FLAGS
8099 decors=`grep '^decorations -= ' "$QMAKE_VARS_FILE" | ${AWK} '{print $3}'`
8100 for decor in $decors; do
8101 NODECORATION=`echo $decor | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
8102 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_NO_QWS_DECORATION_${NODECORATION}"
8105 # Figure which embedded drivers which are turned off
8106 CFG_GFX_OFF="$CFG_GFX_AVAILABLE"
8107 for ADRIVER in $CFG_GFX_ON; do
8108 CFG_GFX_OFF=`echo "${CFG_GFX_OFF} " | sed "s,${ADRIVER} ,,g"`
8111 CFG_KBD_OFF="$CFG_KBD_AVAILABLE"
8112 # the um driver is currently not in the available list for external builds
8113 if [ "$CFG_DEV" = "no" ]; then
8114 CFG_KBD_OFF="$CFG_KBD_OFF um"
8116 for ADRIVER in $CFG_KBD_ON; do
8117 CFG_KBD_OFF=`echo "${CFG_KBD_OFF} " | sed "s,${ADRIVER} ,,g"`
8120 CFG_MOUSE_OFF="$CFG_MOUSE_AVAILABLE"
8121 for ADRIVER in $CFG_MOUSE_ON; do
8122 CFG_MOUSE_OFF=`echo "${CFG_MOUSE_OFF} " | sed "s,${ADRIVER} ,,g"`
8125 for DRIVER in $CFG_GFX_OFF; do
8126 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
8127 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_$NODRIVER"
8130 for DRIVER in $CFG_KBD_OFF; do
8131 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
8132 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_KBD_$NODRIVER"
8135 for DRIVER in $CFG_MOUSE_OFF; do
8136 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
8137 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_MOUSE_$NODRIVER"
8141 if [ "$PLATFORM_QPA" = "yes" ]; then
8142 # Add QPA to config.h
8143 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
8146 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
8147 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
8150 # Add turned on SQL drivers
8151 for DRIVER in $CFG_SQL_AVAILABLE; do
8152 eval "VAL=\$CFG_SQL_$DRIVER"
8155 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
8156 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
8157 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
8160 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
8166 QMakeVar set sql-drivers "$SQL_DRIVERS"
8167 QMakeVar set sql-plugins "$SQL_PLUGINS"
8169 # Add other configuration options to the qconfig.h file
8170 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
8171 [ "$CFG_TIFF" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_TIFF"
8172 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
8173 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
8174 [ "$CFG_MNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_MNG"
8175 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
8176 [ "$CFG_S60" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_S60"
8177 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
8178 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
8179 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
8181 if [ "$PLATFORM_QWS" != "yes" -a "$PLATFORM_QPA" != "yes" ]; then
8182 [ "$CFG_GRAPHICS_SYSTEM" = "raster" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_RASTER"
8183 [ "$CFG_GRAPHICS_SYSTEM" = "opengl" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_OPENGL"
8184 [ "$CFG_GRAPHICS_SYSTEM" = "openvg" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_OPENVG"
8185 [ "$CFG_GRAPHICS_SYSTEM" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_RUNTIME"
8188 # X11/Unix/Mac only configs
8189 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
8190 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
8191 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
8192 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
8193 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
8194 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
8195 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
8196 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
8197 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
8198 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
8199 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
8200 [ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NAS"
8201 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
8202 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL"
8203 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
8205 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
8206 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
8207 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
8208 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
8209 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
8210 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
8211 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
8212 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
8213 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
8214 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
8215 [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
8216 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
8217 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
8219 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
8220 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
8221 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
8222 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
8223 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
8224 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
8225 [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
8226 [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
8227 [ "$CFG_ICD" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICD"
8229 # sort QCONFIG_FLAGS for neatness if we can
8230 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
8231 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
8233 if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
8234 # Enable Symbian DLLs and export rules.
8235 # We cannot use Linux's default export rules since they export everything.
8236 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_DLL"
8237 # Disable non-working features.
8238 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CRASHHANDLER QT_NO_PRINTER QT_NO_SYSTEMTRAYICON"
8241 if [ -n "$QCONFIG_FLAGS" ]; then
8242 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
8243 #ifndef QT_BOOTSTRAPPED
8246 for cfg in $QCONFIG_FLAGS; do
8247 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
8248 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
8249 # figure out define logic, so we can output the correct
8250 # ifdefs to override the global defines in a project
8252 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
8253 # QT_NO_option can be forcefully turned on by QT_option
8254 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
8255 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
8256 # QT_option can be forcefully turned off by QT_NO_option
8257 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
8260 if [ -z $cfgdNeg ]; then
8261 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
8268 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
8269 #if defined($cfgd) && defined($cfgdNeg)
8271 #elif !defined($cfgd) && !defined($cfgdNeg)
8278 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
8279 #endif // QT_BOOTSTRAPPED
8284 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
8285 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
8286 #define QT_VISIBILITY_AVAILABLE
8291 if [ -n "$QT_LIBINFIX" ]; then
8292 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
8293 #define QT_LIBINFIX "$QT_LIBINFIX"
8298 if [ -n "$CFG_RUNTIME_SYSTEM" ]; then
8299 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
8300 #define QT_DEFAULT_RUNTIME_SYSTEM "$CFG_RUNTIME_SYSTEM"
8305 # avoid unecessary rebuilds by copying only if qconfig.h has changed
8306 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
8307 rm -f "$outpath/src/corelib/global/qconfig.h.new"
8309 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
8310 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
8311 chmod -w "$outpath/src/corelib/global/qconfig.h"
8312 for conf in "$outpath/include/QtCore/qconfig.h" "$outpath/include/Qt/qconfig.h"; do
8313 ln -s "$outpath/src/corelib/global/qconfig.h" "$conf"
8317 #-------------------------------------------------------------------------------
8318 # save configuration into qconfig.pri
8319 #-------------------------------------------------------------------------------
8320 QTCONFIG="$outpath/mkspecs/qconfig.pri"
8321 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
8322 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
8323 if [ "$CFG_DEBUG" = "yes" ]; then
8324 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
8325 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
8326 QT_CONFIG="$QT_CONFIG release"
8328 QT_CONFIG="$QT_CONFIG debug"
8329 elif [ "$CFG_DEBUG" = "no" ]; then
8330 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
8331 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
8332 QT_CONFIG="$QT_CONFIG debug"
8334 QT_CONFIG="$QT_CONFIG release"
8336 if [ "$CFG_STL" = "yes" ]; then
8337 QTCONFIG_CONFIG="$QTCONFIG_CONFIG stl"
8339 if [ "$CFG_FRAMEWORK" = "no" ]; then
8340 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
8342 QT_CONFIG="$QT_CONFIG qt_framework"
8343 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
8345 if [ "$PLATFORM_MAC" = "yes" ]; then
8346 QT_CONFIG="$QT_CONFIG $CFG_MAC_ARCHS"
8348 if [ "$CFG_DEV" = "yes" ]; then
8349 QT_CONFIG="$QT_CONFIG private_tests"
8352 if [ -z "$QT_CFLAGS_FPU" ]; then
8353 if echo "$XPLATFORM" | grep "symbian-sbsv2" > /dev/null 2>&1; then
8354 QT_CFLAGS_FPU=softvfp
8358 # Make the application arch follow the Qt arch for single arch builds.
8359 # (for multiple-arch builds, set CONFIG manually in the application .pro file)
8360 if [ `echo "$CFG_MAC_ARCHS" | wc -w` -eq 1 ]; then
8361 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $CFG_MAC_ARCHS"
8364 cat >>"$QTCONFIG.tmp" <<EOF
8366 CONFIG += $QTCONFIG_CONFIG
8368 QT_EDITION = $Edition
8369 QT_CONFIG += $QT_CONFIG
8372 QT_VERSION = $QT_VERSION
8373 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
8374 QT_MINOR_VERSION = $QT_MINOR_VERSION
8375 QT_PATCH_VERSION = $QT_PATCH_VERSION
8378 QT_LIBINFIX = $QT_LIBINFIX
8379 QT_NAMESPACE = $QT_NAMESPACE
8380 QT_NAMESPACE_MAC_CRC = $QT_NAMESPACE_MAC_CRC
8383 if [ -n "$CFG_SYSROOT" ]; then
8384 echo "# sysroot" >>"$QTCONFIG.tmp"
8385 echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
8386 echo " QT_SYSROOT += \$\$quote($CFG_SYSROOT)" >>"$QTCONFIG.tmp"
8387 echo " QMAKE_CFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
8388 echo " QMAKE_CXXFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
8389 echo " QMAKE_LFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
8390 echo "}" >> "$QTCONFIG.tmp"
8391 echo >> "$QTCONFIG.tmp"
8393 if [ "$CFG_RPATH" = "yes" ]; then
8394 echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
8396 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
8397 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
8398 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
8399 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
8401 if [ -n "$QT_CFLAGS_FPU" ]; then
8402 echo "#Qt for symbian FPU settings" >> "$QTCONFIG.tmp"
8403 echo "MMP_RULES += \"ARMFPU $QT_CFLAGS_FPU\"" >> "$QTCONFIG.tmp"
8406 if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
8407 echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
8408 echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp"
8411 # replace qconfig.pri if it differs from the newly created temp file
8412 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
8413 rm -f "$QTCONFIG.tmp"
8415 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
8418 #-------------------------------------------------------------------------------
8419 # save configuration into qmodule.pri
8420 #-------------------------------------------------------------------------------
8421 QTMODULE="$outpath/mkspecs/qmodule.pri"
8423 # Ensure we can link to uninistalled libraries
8424 if [ "$XPLATFORM_MINGW" != "yes" ] && [ "$CFG_EMBEDDED" != "nacl" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
8425 echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
8427 if [ -n "$QT_CFLAGS_PSQL" ]; then
8428 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
8430 if [ -n "$QT_LFLAGS_PSQL" ]; then
8431 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
8433 if [ -n "$QT_CFLAGS_MYSQL" ]; then
8434 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
8436 if [ -n "$QT_LFLAGS_MYSQL" ]; then
8437 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
8439 if [ -n "$QT_CFLAGS_SQLITE" ]; then
8440 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
8442 if [ -n "$QT_LFLAGS_SQLITE" ]; then
8443 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
8445 if [ -n "$QT_LFLAGS_ODBC" ]; then
8446 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
8448 if [ -n "$QT_LFLAGS_TDS" ]; then
8449 echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
8452 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
8453 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
8456 #dump in the OPENSSL_LIBS info
8457 if [ '!' -z "$OPENSSL_LIBS" ]; then
8458 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
8459 elif [ "$CFG_OPENSSL" = "linked" ]; then
8460 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
8463 #dump in the SDK info
8464 if [ '!' -z "$CFG_SDK" ]; then
8465 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
8468 # mac gcc -Xarch support
8469 if [ "$CFG_MAC_XARCH" = "no" ]; then
8470 echo "QMAKE_MAC_XARCH = no" >> "$QTMODULE.tmp"
8474 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
8475 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
8477 # replace qmodule.pri if it differs from the newly created temp file
8478 if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
8479 rm -f "$QTMODULE.tmp"
8481 mv -f "$QTMODULE.tmp" "$QTMODULE"
8484 #-------------------------------------------------------------------------------
8485 # save configuration into .qmake.cache
8486 #-------------------------------------------------------------------------------
8488 CACHEFILE="$outpath/.qmake.cache"
8489 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
8490 cat >>"$CACHEFILE.tmp" <<EOF
8492 QT_SOURCE_TREE = \$\$quote($relpath)
8493 QT_BUILD_TREE = \$\$quote($outpath)
8494 QT_BUILD_PARTS = $CFG_BUILD_PARTS
8496 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
8497 QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
8498 QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
8499 QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
8500 QMAKE_QDBUSXML2CPP = \$\$QT_BUILD_TREE/bin/qdbusxml2cpp
8501 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
8502 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
8504 include(\$\$PWD/mkspecs/qmodule.pri)
8505 CONFIG += $QMAKE_CONFIG dylib create_prl link_prl depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
8506 QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
8507 QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
8511 #dump the qmake spec
8512 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
8513 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
8515 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
8520 [ "$CFG_INCREMENTAL" = "auto" ] && "$WHICH" p4 >/dev/null 2>&1 && [ "$CFG_DEV" = "yes" ] && CFG_INCREMENTAL="yes"
8521 if [ "$CFG_INCREMENTAL" = "yes" ]; then
8522 find "$relpath" -perm u+w -mtime -3 | grep 'cpp$' | while read f; do
8523 # don't need to worry about generated files
8524 [ -r `echo $f | sed "s,cpp$,ui,"` ] && continue
8525 basename "$f" | grep '^moc_' >/dev/null 2>&1 && continue
8527 INCREMENTAL="$INCREMENTAL `basename \"$f\" | sed 's,.cpp,.o,'`"
8529 [ '!' -z "$INCREMENTAL" ] && echo "QMAKE_INCREMENTAL += $INCREMENTAL" >> "$CACHEFILE.tmp"
8530 [ -r "$outpath/.qmake.incremental" ] && echo "include($outpath/.qmake.incremental)" >> "$CACHEFILE.tmp"
8533 # replace .qmake.cache if it differs from the newly created temp file
8534 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
8535 rm -f "$CACHEFILE.tmp"
8537 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
8540 #-------------------------------------------------------------------------------
8541 # give feedback on configuration
8542 #-------------------------------------------------------------------------------
8546 if [ "$CFG_EXCEPTIONS" != "no" ]; then
8549 This target is using the GNU C++ compiler ($PLATFORM).
8551 Recent versions of this compiler automatically include code for
8552 exceptions, which increase both the size of the Qt libraries and
8553 the amount of memory taken by your applications.
8555 You may choose to re-run `basename $0` with the -no-exceptions
8556 option to compile Qt without exceptions. This is completely binary
8557 compatible, and existing applications will continue to work.
8565 if [ "$CFG_EXCEPTIONS" != "no" ]; then
8568 This target is using the MIPSpro C++ compiler ($PLATFORM).
8570 You may choose to re-run `basename $0` with the -no-exceptions
8571 option to compile Qt without exceptions. This will make the
8572 size of the Qt library smaller and reduce the amount of memory
8573 taken by your applications.
8584 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "no" ] && [ "$CFG_WEBKIT" != "no" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
8586 WARNING: DWARF2 debug symbols are not enabled. Linking webkit
8587 in debug mode will run out of memory on systems with 2GB or less.
8588 Install Xcode 2.4.1 or higher to enable DWARF2, or configure with
8589 -no-webkit or -release to skip webkit debug.
8594 if [ "$XPLATFORM" = "$PLATFORM" ]; then
8595 echo "Build type: $PLATFORM"
8597 echo "Building on: $PLATFORM"
8598 echo "Building for: $XPLATFORM"
8601 if [ ! -z "$CFG_MAC_ARCHS" ]; then
8602 echo "Architecture: $CFG_ARCH ($CFG_MAC_ARCHS )"
8604 echo "Architecture: $CFG_ARCH"
8607 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
8608 echo "Host architecture: $CFG_HOST_ARCH"
8611 if [ "$PLATFORM_MAC" = "yes" ]; then
8612 if [ "$CFG_MAC_COCOA" = "yes" ]; then
8613 if [ "$CFG_MAC_CARBON" = "yes" ]; then
8614 echo "Using framework: Carbon for 32-bit, Cocoa for 64-bit"
8616 echo "Using framework: Cocoa"
8619 echo "Using framework: Carbon"
8623 if [ -n "$PLATFORM_NOTES" ]; then
8624 echo "Platform notes:"
8625 echo "$PLATFORM_NOTES"
8630 if [ "$OPT_VERBOSE" = "yes" ]; then
8631 echo $ECHO_N "qmake vars .......... $ECHO_C"
8632 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
8633 echo "qmake switches ......... $QMAKE_SWITCHES"
8636 [ "$CFG_INCREMENTAL" = "yes" ] && [ '!' -z "$INCREMENTAL" ] && echo "Incremental ............ $INCREMENTAL"
8637 echo "Build .................. $CFG_BUILD_PARTS"
8638 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
8639 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
8640 echo "Debug .................. yes (combined)"
8641 if [ "$CFG_DEBUG" = "yes" ]; then
8642 echo "Default Link ........... debug"
8644 echo "Default Link ........... release"
8647 echo "Debug .................. $CFG_DEBUG"
8649 echo "Qt 3 compatibility ..... $CFG_QT3SUPPORT"
8650 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
8651 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
8652 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
8653 echo "QtConcurrent code ...... $CFG_CONCURRENT"
8654 echo "QtGui module ........... $CFG_GUI"
8655 echo "QtScript module ........ $CFG_SCRIPT"
8656 echo "QtScriptTools module ... $CFG_SCRIPTTOOLS"
8657 echo "QtXmlPatterns module ... $CFG_XMLPATTERNS"
8658 echo "Phonon module .......... $CFG_PHONON"
8659 echo "Multimedia module ...... $CFG_MULTIMEDIA"
8660 echo "SVG module ............. $CFG_SVG"
8661 case "$CFG_WEBKIT" in
8662 yes) echo "WebKit module .......... yes" ;;
8663 debug) echo "WebKit module .......... yes (debug)" ;;
8664 no) echo "WebKit module .......... no" ;;
8666 if [ "$CFG_WEBKIT" != "no" ] || [ "$CFG_SCRIPT" != "no" ]; then
8667 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
8668 echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
8670 echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
8673 echo "Declarative module ..... $CFG_DECLARATIVE"
8674 if [ "$CFG_DECLARATIVE" = "yes" ]; then
8675 echo "Declarative debugging ...$CFG_DECLARATIVE_DEBUG"
8677 echo "Location module ........ $CFG_LOCATION"
8678 echo "Support for S60 ........ $CFG_S60"
8679 echo "Symbian DEF files ...... $CFG_SYMBIAN_DEFFILES"
8680 echo "STL support ............ $CFG_STL"
8681 echo "PCH support ............ $CFG_PRECOMPILE"
8682 echo "MMX/3DNOW/SSE/SSE2/SSE3. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}/${CFG_SSE3}"
8683 echo "SSSE3/SSE4.1/SSE4.2..... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
8684 echo "AVX..................... ${CFG_AVX}"
8685 if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then
8686 echo "iWMMXt support ......... ${CFG_IWMMXT}"
8687 echo "NEON support ........... ${CFG_NEON}"
8689 [ "${PLATFORM_QWS}" != "yes" -a "${PLATFORM_QPA}" != "yes" ] && echo "Graphics System ........ $CFG_GRAPHICS_SYSTEM"
8690 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
8691 echo "getaddrinfo support .... $CFG_GETADDRINFO"
8692 echo "getifaddrs support ..... $CFG_GETIFADDRS"
8693 echo "Accessibility .......... $CFG_ACCESSIBILITY"
8694 echo "NIS support ............ $CFG_NIS"
8695 echo "CUPS support ........... $CFG_CUPS"
8696 echo "Iconv support .......... $CFG_ICONV"
8697 echo "Glib support ........... $CFG_GLIB"
8698 echo "GStreamer support ...... $CFG_GSTREAMER"
8699 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
8700 echo "Large File support ..... $CFG_LARGEFILE"
8701 echo "GIF support ............ $CFG_GIF"
8702 if [ "$CFG_TIFF" = "no" ]; then
8703 echo "TIFF support ........... $CFG_TIFF"
8705 echo "TIFF support ........... $CFG_TIFF ($CFG_LIBTIFF)"
8707 if [ "$CFG_JPEG" = "no" ]; then
8708 echo "JPEG support ........... $CFG_JPEG"
8710 echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
8712 if [ "$CFG_PNG" = "no" ]; then
8713 echo "PNG support ............ $CFG_PNG"
8715 echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
8717 if [ "$CFG_MNG" = "no" ]; then
8718 echo "MNG support ............ $CFG_MNG"
8720 echo "MNG support ............ $CFG_MNG ($CFG_LIBMNG)"
8722 echo "zlib support ........... $CFG_ZLIB"
8723 echo "Session management ..... $CFG_SM"
8724 if [ "$PLATFORM_QWS" = "yes" ]; then
8725 echo "Embedded support ....... $CFG_EMBEDDED"
8726 if [ "$CFG_QWS_FREETYPE" = "auto" ]; then
8727 echo "Freetype2 support ...... $CFG_QWS_FREETYPE ($CFG_LIBFREETYPE)"
8729 echo "Freetype2 support ...... $CFG_QWS_FREETYPE"
8731 # Normalize the decoration output first
8732 CFG_GFX_ON=`echo ${CFG_GFX_ON}`
8733 CFG_GFX_PLUGIN=`echo ${CFG_GFX_PLUGIN}`
8734 echo "Graphics (qt) .......... ${CFG_GFX_ON}"
8735 echo "Graphics (plugin) ...... ${CFG_GFX_PLUGIN}"
8736 CFG_DECORATION_ON=`echo ${CFG_DECORATION_ON}`
8737 CFG_DECORATION_PLUGIN=`echo ${CFG_DECORATION_PLUGIN}`
8738 echo "Decorations (qt) ....... $CFG_DECORATION_ON"
8739 echo "Decorations (plugin) ... $CFG_DECORATION_PLUGIN"
8740 CFG_KBD_ON=`echo ${CFG_KBD_ON}`
8741 CFG_KBD_PLUGIN=`echo ${CFG_KBD_PLUGIN}`
8742 echo "Keyboard driver (qt) ... ${CFG_KBD_ON}"
8743 echo "Keyboard driver (plugin) .. ${CFG_KBD_PLUGIN}"
8744 CFG_MOUSE_ON=`echo ${CFG_MOUSE_ON}`
8745 CFG_MOUSE_PLUGIN=`echo ${CFG_MOUSE_PLUGIN}`
8746 echo "Mouse driver (qt) ...... $CFG_MOUSE_ON"
8747 echo "Mouse driver (plugin) .. $CFG_MOUSE_PLUGIN"
8749 if [ "$CFG_OPENGL" = "desktop" ]; then
8750 echo "OpenGL support ......... yes (Desktop OpenGL)"
8751 elif [ "$CFG_OPENGL" = "es1" ]; then
8752 echo "OpenGL support ......... yes (OpenGL ES 1.x Common profile)"
8753 elif [ "$CFG_OPENGL" = "es2" ]; then
8754 echo "OpenGL support ......... yes (OpenGL ES 2.x)"
8756 echo "OpenGL support ......... no"
8758 if [ "$CFG_EGL" != "no" ]; then
8759 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
8760 echo "EGL support ............ yes <GLES/egl.h>"
8762 echo "EGL support ............ yes <EGL/egl.h>"
8765 if [ "$CFG_OPENVG" ]; then
8766 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
8767 echo "OpenVG support ......... ShivaVG"
8769 echo "OpenVG support ......... $CFG_OPENVG"
8772 if [ "$PLATFORM_X11" = "yes" ]; then
8773 echo "NAS sound support ...... $CFG_NAS"
8774 echo "XShape support ......... $CFG_XSHAPE"
8775 echo "XVideo support ......... $CFG_XVIDEO"
8776 echo "XSync support .......... $CFG_XSYNC"
8777 echo "Xinerama support ....... $CFG_XINERAMA"
8778 echo "Xcursor support ........ $CFG_XCURSOR"
8779 echo "Xfixes support ......... $CFG_XFIXES"
8780 echo "Xrandr support ......... $CFG_XRANDR"
8781 echo "Xrender support ........ $CFG_XRENDER"
8782 echo "Xi support ............. $CFG_XINPUT"
8783 echo "MIT-SHM support ........ $CFG_MITSHM"
8784 echo "FontConfig support ..... $CFG_FONTCONFIG"
8785 echo "XKB Support ............ $CFG_XKB"
8786 echo "immodule support ....... $CFG_IM"
8787 echo "GTK theme support ...... $CFG_QGTKSTYLE"
8789 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
8790 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
8791 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
8792 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
8793 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
8794 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
8795 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
8796 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
8797 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
8800 if [ "$CFG_OPENSSL" = "yes" ]; then
8801 OPENSSL_LINKAGE="(run-time)"
8802 elif [ "$CFG_OPENSSL" = "linked" ]; then
8803 OPENSSL_LINKAGE="(linked)"
8805 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
8806 echo "Alsa support ........... $CFG_ALSA"
8807 if [ "$PLATFORM_MAC" = "yes" ]; then
8808 echo "CoreWlan support ....... $CFG_COREWLAN"
8810 echo "ICD support ............ $CFG_ICD"
8811 echo "libICU support ......... $CFG_ICU"
8812 echo "Xcb support ............ $CFG_XCB"
8815 [ "$CFG_PTMALLOC" != "no" ] && echo "Use ptmalloc ........... $CFG_PTMALLOC"
8817 # complain about not being able to use dynamic plugins if we are using a static build
8818 if [ "$CFG_SHARED" = "no" ]; then
8820 echo "WARNING: Using static linking will disable the use of dynamically"
8821 echo "loaded plugins. Make sure to import all needed static plugins,"
8822 echo "or compile needed modules into the library."
8825 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
8827 echo "NOTE: When linking against OpenSSL, you can override the default"
8828 echo "library names through OPENSSL_LIBS."
8830 echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
8833 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
8835 echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
8836 echo "if you want a pure debug build."
8841 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
8846 #-------------------------------------------------------------------------------
8847 # build makefiles based on the configuration
8848 #-------------------------------------------------------------------------------
8850 echo "Finding project files. Please wait..."
8851 if [ "$CFG_NOPROCESS" != "yes" ]; then
8852 "$outpath/bin/qmake" -prl -r "${relpath}/qtbase.pro"
8853 if [ -f "${relpath}/qtbase.pro" ]; then
8854 mkfile="${outpath}/Makefile"
8855 [ -f "$mkfile" ] && chmod +w "$mkfile"
8856 QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/qtbase.pro" -o "$mkfile"
8860 # .projects -> projects to process
8861 # .projects.1 -> qt and moc
8862 # .projects.2 -> subdirs and libs
8863 # .projects.3 -> the rest
8864 rm -f .projects .projects.1 .projects.2 .projects.3
8866 QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
8867 if [ -z "$AWK" ]; then
8868 for p in `echo $QMAKE_PROJECTS`; do
8869 echo "$p" >> .projects
8872 cat >projects.awk <<EOF
8878 first = "./.projects.1.tmp"
8879 second = "./.projects.2.tmp"
8880 third = "./.projects.3.tmp"
8885 if ( ! target_file )
8887 print input_file >target_file
8892 input_file = FILENAME
8897 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
8900 } else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) {
8901 target_file = second
8906 matched_target == 0 && /^(TEMPLATE.*=)/ {
8907 if ( \$3 == "subdirs" )
8908 target_file = second
8909 else if ( \$3 == "lib" )
8915 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
8916 if ( \$0 ~ /plugin/ )
8919 target_file = second
8924 if ( ! target_file )
8926 print input_file >>target_file
8933 for p in `echo $QMAKE_PROJECTS`; do
8934 echo "$p" >> .projects.all
8937 # if you get errors about the length of the command line to awk, change the -l arg
8939 split -l 100 .projects.all .projects.all.
8940 for p in .projects.all.*; do
8941 "$AWK" -f projects.awk `cat $p`
8942 [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
8943 [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
8944 [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
8945 rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
8947 rm -f .projects.all* projects.awk
8949 [ -f .projects.1 ] && cat .projects.1 >>.projects
8950 [ -f .projects.2 ] && cat .projects.2 >>.projects
8951 rm -f .projects.1 .projects.2
8952 if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
8953 cat .projects.3 >>.projects
8957 # don't sort Qt and MOC in with the other project files
8958 # also work around a segfaulting uniq(1)
8959 if [ -f .sorted.projects.2 ]; then
8960 sort .sorted.projects.2 > .sorted.projects.2.new
8961 mv -f .sorted.projects.2.new .sorted.projects.2
8962 cat .sorted.projects.2 >> .sorted.projects.1
8964 [ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
8965 rm -f .sorted.projects.2 .sorted.projects.1
8969 if [ -f .projects ]; then
8970 uniq .projects >.tmp
8971 mv -f .tmp .projects
8972 NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
8974 if [ -f .projects.3 ]; then
8975 uniq .projects.3 >.tmp
8976 mv -f .tmp .projects.3
8977 FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
8979 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
8983 for part in $CFG_BUILD_PARTS; do
8985 tools) PART_ROOTS="$PART_ROOTS tools" ;;
8986 libs) PART_ROOTS="$PART_ROOTS src tools/linguist/lrelease" ;;
8987 translations) PART_ROOTS="$PART_ROOTS translations" ;;
8988 examples) PART_ROOTS="$PART_ROOTS examples" ;;
8993 if [ "$CFG_DEV" = "yes" ]; then
8994 PART_ROOTS="$PART_ROOTS tests"
8997 echo "Creating makefiles. Please wait..."
8998 for file in .projects .projects.3; do
8999 [ '!' -f "$file" ] && continue
9000 for a in `cat $file`; do
9002 for r in $PART_ROOTS; do
9003 if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
9008 [ "$IN_ROOT" = "no" ] && continue
9011 *winmain/winmain.pro)
9012 if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_MINGW" != "yes" ]; then
9016 *s60main/s60main.pro)
9017 if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_SYMBIAN" != "yes" ]; then
9020 *examples/activeqt/*) continue ;;
9021 */qmake/qmake.pro) continue ;;
9022 *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*|*linguist/lrelease*) SPEC=$QMAKESPEC ;;
9023 *) if [ "$CFG_NOPROCESS" = "yes" ]; then
9029 dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
9030 test -d "$dir" || mkdir -p "$dir"
9031 OUTDIR="$outpath/$dir"
9032 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
9033 # fast configure - the makefile exists, skip it
9034 # since the makefile exists, it was generated by qmake, which means we
9035 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
9037 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
9040 QMAKE_SPEC_ARGS="-spec $SPEC"
9041 echo $ECHO_N " for $a$ECHO_C"
9043 QMAKE="$outpath/bin/qmake"
9044 QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
9045 if [ "$file" = ".projects.3" ]; then
9048 cat >"${OUTDIR}/Makefile" <<EOF
9049 # ${OUTDIR}/Makefile: generated by configure
9051 # WARNING: This makefile will be replaced with a real makefile.
9052 # All changes made to this file will be lost.
9054 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
9056 cat >>"${OUTDIR}/Makefile" <<EOF
9058 all clean install qmake first Makefile: FORCE
9059 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
9067 if [ "$OPT_VERBOSE" = "yes" ]; then
9068 echo " (`basename $SPEC`)"
9069 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
9074 [ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
9075 QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
9079 rm -f .projects .projects.3
9081 #-------------------------------------------------------------------------------
9082 # check for platforms that we don't yet know about
9083 #-------------------------------------------------------------------------------
9084 if [ "$CFG_ARCH" = "generic" ]; then
9087 NOTICE: Atomic operations are not yet supported for this
9090 Qt will use the 'generic' architecture instead, which uses a
9091 single pthread_mutex_t to protect all atomic operations. This
9092 implementation is the slow (but safe) fallback implementation
9093 for architectures Qt does not yet support.
9097 #-------------------------------------------------------------------------------
9098 # check if the user passed the -no-zlib option, which is no longer supported
9099 #-------------------------------------------------------------------------------
9100 if [ -n "$ZLIB_FORCED" ]; then
9101 which_zlib="supplied"
9102 if [ "$CFG_ZLIB" = "system" ]; then
9108 NOTICE: The -no-zlib option was supplied but is no longer
9111 Qt now requires zlib support in all builds, so the -no-zlib
9112 option was ignored. Qt will be built using the $which_zlib
9117 #-------------------------------------------------------------------------------
9118 # finally save the executed command to another script
9119 #-------------------------------------------------------------------------------
9120 if [ `basename $0` != "config.status" ]; then
9121 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
9123 # add the system variables
9124 for varname in $SYSTEM_VARIABLES; do
9126 'if [ -n "\$'${varname}'" ]; then
9127 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
9132 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
9134 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
9135 echo "#!/bin/sh" > "$outpath/config.status"
9136 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
9137 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
9138 echo "else" >> "$outpath/config.status"
9139 echo " $CONFIG_STATUS" >> "$outpath/config.status"
9140 echo "fi" >> "$outpath/config.status"
9141 chmod +x "$outpath/config.status"
9144 if [ -n "$RPATH_MESSAGE" ]; then
9146 echo "$RPATH_MESSAGE"
9149 MAKE=`basename "$MAKE"`
9151 echo Qt is now configured for building. Just run \'$MAKE\'.
9152 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
9153 echo Once everything is built, Qt is installed.
9154 echo You should not run \'$MAKE install\'.
9156 echo Once everything is built, you must run \'$MAKE install\'.
9157 echo Qt will be installed into $QT_INSTALL_PREFIX
9160 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.