2 #############################################################################
4 ## Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
5 ## Contact: http://www.qt-project.org/
7 ## This file is the build configuration utility of the Qt Toolkit.
9 ## $QT_BEGIN_LICENSE:LGPL$
10 ## GNU Lesser General Public License Usage
11 ## This file may be used under the terms of the GNU Lesser General Public
12 ## License version 2.1 as published by the Free Software Foundation and
13 ## appearing in the file LICENSE.LGPL included in the packaging of this
14 ## file. Please review the following information to ensure the GNU Lesser
15 ## General Public License version 2.1 requirements will be met:
16 ## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
18 ## In addition, as a special exception, Nokia gives you certain additional
19 ## rights. These rights are described in the Nokia Qt LGPL Exception
20 ## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
22 ## GNU General Public License Usage
23 ## Alternatively, this file may be used under the terms of the GNU General
24 ## Public License version 3.0 as published by the Free Software Foundation
25 ## and appearing in the file LICENSE.GPL included in the packaging of this
26 ## file. Please review the following information to ensure the GNU General
27 ## Public License version 3.0 requirements will be met:
28 ## http://www.gnu.org/copyleft/gpl.html.
31 ## Alternatively, this file may be used in accordance with the terms and
32 ## conditions contained in a signed written agreement between you and Nokia.
41 #############################################################################
43 #-------------------------------------------------------------------------------
44 # script initialization
45 #-------------------------------------------------------------------------------
47 # the name of this script
49 # the directory of this script is the "source tree"
51 relpath=`(cd "$relpath"; /bin/pwd)`
52 # the current directory is the "build tree" or "object tree"
55 #license file location
56 LICENSE_FILE="$QT_LICENSE_FILE"
57 [ -z "$LICENSE_FILE" ] && LICENSE_FILE="$HOME/.qt-license"
58 if [ -f "$LICENSE_FILE" ]; then
59 tr -d '\r' <"$LICENSE_FILE" >"${LICENSE_FILE}.tmp"
60 diff "${LICENSE_FILE}.tmp" "${LICENSE_FILE}" >/dev/null 2>&1 || LICENSE_FILE="${LICENSE_FILE}.tmp"
63 # later cache the command line in config.status
64 OPT_CMDLINE=`echo $@ | sed "s,-v ,,g; s,-v$,,g"`
66 # initialize global variables
73 QMAKE_VARS_FILE=.qmake.vars
77 #-------------------------------------------------------------------------------
79 #-------------------------------------------------------------------------------
83 echo "$@" | sed 's/ /\ /g'
86 # Adds a new qmake variable to the cache
87 # Usage: QMakeVar mode varname contents
88 # where mode is one of: set, add, del
102 echo >&2 "BUG: wrong command to QMakeVar: $1"
106 echo "$2" "$eq" "$3" >> "$QMAKE_VARS_FILE"
109 # Helper function for getQMakeConf. It parses include statements in
110 # qmake.conf and prints out the expanded file
113 while read line; do case "$line" in
115 inc_file=`echo "$line" | sed -n -e "/^include.*(.*)/s/include.*(\(.*\)).*$/\1/p"`
116 current_dir=`dirname "$1"`
117 conf_file="$current_dir/$inc_file"
118 if [ ! -f "$conf_file" ]; then
119 echo "WARNING: Unable to find file $conf_file" >&2
122 getQMakeConf1 "$conf_file"
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 #-------------------------------------------------------------------------------
192 if [ -d /System/Library/Frameworks/Carbon.framework ]; then
197 #-----------------------------------------------------------------------------
198 # Qt version detection
199 #-----------------------------------------------------------------------------
200 QT_VERSION=`grep '^# *define *QT_VERSION_STR' "$relpath"/src/corelib/global/qglobal.h`
204 if [ -n "$QT_VERSION" ]; then
205 QT_VERSION=`echo $QT_VERSION | sed 's,^# *define *QT_VERSION_STR *"*\([^ ]*\)"$,\1,'`
206 MAJOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
207 if [ -n "$MAJOR" ]; then
208 MINOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
209 PATCH=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
210 QT_MAJOR_VERSION="$MAJOR"
211 [ -z "$MINOR" ] || QT_MINOR_VERSION="$MINOR"
212 [ -z "$PATCH" ] || QT_PATCH_VERSION="$PATCH"
215 if [ -z "$QT_MAJOR_VERSION" ]; then
216 echo "Cannot process version from qglobal.h: $QT_VERSION"
217 echo "Cannot proceed."
221 QT_PACKAGEDATE=`grep '^# *define *QT_PACKAGEDATE_STR' "$relpath"/src/corelib/global/qglobal.h | sed -e 's,^# *define *QT_PACKAGEDATE_STR *"\([^ ]*\)"$,\1,' -e s,-,,g`
222 if [ -z "$QT_PACKAGEDATE" ]; then
223 echo "Unable to determine package date from qglobal.h: '$QT_PACKAGEDATE'"
224 echo "Cannot proceed"
228 #-------------------------------------------------------------------------------
230 #-------------------------------------------------------------------------------
235 EditionString=Commercial
239 # parse the arguments, setting things to "yes" or "no"
240 while [ "$#" -gt 0 ]; do
244 #Autoconf style options
246 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
250 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
254 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
255 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
258 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
263 # this option may or may not be followed by an argument
264 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
273 # this option may or may not be followed by an argument
274 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
287 -h|help|--help|-help)
288 if [ "$VAL" = "yes" ]; then
290 COMMERCIAL_USER="no" #doesn't matter we will display the help
293 COMMERCIAL_USER="no" #doesn't matter we will display the help
297 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
301 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
308 if [ "$UNKNOWN_ARG" = "yes" ]; then
325 if [ "$PLATFORM_QPA" != "no" ]; then
326 if [ "$PLATFORM_QPA" = "maybe" ]; then
333 echo "No license exists to enable Qt QPA. Disabling."
338 echo "Using NaCl at $VAL."
350 COMMERCIAL_USER="yes"
364 if [ "$COMMERCIAL_USER" = "ask" ]; then
366 echo "Which edition of Qt do you want to use ?"
368 echo "Type 'c' if you want to use the Commercial Edition."
369 echo "Type 'o' if you want to use the Open Source Edition."
373 if [ "$commercial" = "c" ]; then
374 COMMERCIAL_USER="yes"
376 elif [ "$commercial" = "o" ]; then
383 if [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes" ]; then
384 # Commercial preview release
385 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
388 QT_EDITION="QT_EDITION_DESKTOP"
389 LicenseType="Technology Preview"
390 elif [ $COMMERCIAL_USER = "yes" ]; then
391 # one of commercial editions
392 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
393 [ "$PLATFORM_QPA" = "maybe" ] && PLATFORM_QPA=no
394 [ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=no
396 # read in the license file
397 if [ -f "$LICENSE_FILE" ]; then
398 . "$LICENSE_FILE" >/dev/null 2>&1
399 if [ -z "$LicenseKeyExt" ]; then
401 echo "You are using an old license file."
403 echo "Please install the license file supplied by Nokia,"
404 echo "or install the Qt Open Source Edition if you intend to"
405 echo "develop free software."
408 if [ -z "$Licensee" ]; then
410 echo "Invalid license key. Please check the license key."
414 if [ -z "$LicenseKeyExt" ]; then
416 echo $ECHO_N "Please enter your license key: $ECHO_C"
418 Licensee="Unknown user"
423 echo "$LicenseKeyExt" | grep ".....*-....*-....*-....*-.....*-.....*-...." >/dev/null 2>&1 \
424 && LicenseValid="yes" \
426 if [ "$LicenseValid" != "yes" ]; then
428 echo "Invalid license key. Please check the license key."
431 ProductCode=`echo $LicenseKeyExt | cut -f 1 -d - | cut -b 1`
432 PlatformCode=`echo $LicenseKeyExt | cut -f 2 -d -`
433 LicenseTypeCode=`echo $LicenseKeyExt | cut -f 3 -d -`
434 LicenseFeatureCode=`echo $LicenseKeyExt | cut -f 4 -d - | cut -b 1`
436 # determine which edition we are licensed to use
437 case "$LicenseTypeCode" in
439 LicenseType="Commercial"
443 QT_EDITION="QT_EDITION_UNIVERSAL"
446 Edition="FullFramework"
447 EditionString="Full Framework"
448 QT_EDITION="QT_EDITION_DESKTOP"
451 Edition="GUIFramework"
452 EditionString="GUI Framework"
453 QT_EDITION="QT_EDITION_DESKTOPLIGHT"
458 LicenseType="Evaluation"
459 QMakeVar add DEFINES QT_EVAL
463 QT_EDITION="QT_EDITION_EVALUATION"
468 if [ -z "$LicenseType" -o -z "$Edition" -o -z "$QT_EDITION" ]; then
470 echo "Invalid license key. Please check the license key."
474 # verify that we are licensed to use Qt on this platform
476 case "$PlatformCode" in
479 PlatformCode=`echo "$PlatformCode" | sed 'h;y/8NPQRTZ/UCWX9M7/;x;G;s/\(.\)....\(.\)./\1\2/'`
483 PlatformCode=`echo "$PlatformCode" | sed 's/.$//'`
486 ### EMBEDDED_QPA logic missing ###
487 case "$PlatformCode,$PLATFORM_MAC,$PLATFORM_QWS" in
488 X9,* | XC,* | XU,* | XW,* | XM,*)
490 LICENSE_EXTENSION="-ALLOS"
492 8M,* | KM,* | S9,* | SC,* | SM,* | SU,* | SW,* | X9,* | XC,* | XU,* | XW,*)
493 # Qt for Embedded Linux
494 LICENSE_EXTENSION="-EMBEDDED"
496 6M,*,no | N7,*,no | N9,*,no | NX,*,no)
498 LICENSE_EXTENSION="-EMBEDDED"
500 FM,*,no | LM,yes,* | ZM,no,no)
502 LICENSE_EXTENSION="-DESKTOP"
506 [ "$PLATFORM_MAC" = "yes" ] && Platform='Mac OS X'
507 [ "$PLATFORM_QWS" = "yes" ] && Platform='Embedded Linux'
509 echo "You are not licensed for the $Platform platform."
511 echo "Please contact qt-info@nokia.com to upgrade your license to"
512 echo "include the $Platform platform, or install the Qt Open Source Edition"
513 echo "if you intend to develop free software."
518 if test -r "$relpath/.LICENSE"; then
519 # Generic, non-final license
521 line=`sed 'y/a-z/A-Z/;q' "$relpath"/.LICENSE`
526 *TECHNOLOGY?PREVIEW*)
533 echo >&2 "Invalid license files; cannot continue"
538 EditionString="$Edition"
539 QT_EDITION="QT_EDITION_DESKTOP"
542 case "$LicenseFeatureCode" in
545 case "$LicenseType" in
547 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}-US" "$outpath/LICENSE"
550 cp -f "$relpath/.LICENSE-EVALUATION-US" "$outpath/LICENSE"
556 case "$LicenseType" in
558 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}" "$outpath/LICENSE"
561 cp -f "$relpath/.LICENSE-EVALUATION" "$outpath/LICENSE"
567 echo "Invalid license key. Please check the license key."
571 case "$LicenseFeatureCode" in
579 if [ '!' -f "$outpath/LICENSE" ]; then
580 echo "The LICENSE, LICENSE.GPL3 LICENSE.LGPL file shipped with"
581 echo "this software has disappeared."
583 echo "Sorry, you are not licensed to use this software."
584 echo "Try re-installing."
588 elif [ $COMMERCIAL_USER = "no" ]; then
589 # Open Source edition - may only be used under the terms of the GPL or LGPL.
590 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
591 Licensee="Open Source"
593 EditionString="Open Source"
594 QT_EDITION="QT_EDITION_OPENSOURCE"
597 #-------------------------------------------------------------------------------
598 # initalize variables
599 #-------------------------------------------------------------------------------
601 SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
602 for varname in $SYSTEM_VARIABLES; do
603 qmakevarname="${varname}"
604 # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
605 if [ "${varname}" = "LDFLAGS" ]; then
606 qmakevarname="LFLAGS"
607 elif [ "${varname}" = "LD" ]; then
611 'if [ -n "\$'${varname}'" ]; then
612 QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'"
616 # Use CC/CXX to run config.tests
617 mkdir -p "$outpath/config.tests"
618 rm -f "$outpath/config.tests/.qmake.cache"
619 cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
621 QMakeVar add styles "cde mac motif plastique cleanlooks windows"
622 QMakeVar add decorations "default windows styled"
623 QMakeVar add mouse-drivers "pc"
624 if [ "$UNAME_SYSTEM" = "Linux" ] ; then
625 QMakeVar add gfx-drivers "linuxfb"
626 QMakeVar add mouse-drivers "linuxtp"
628 QMakeVar add kbd-drivers "tty"
630 if [ "$CFG_DEV" = "yes" ]; then
631 QMakeVar add kbd-drivers "um"
634 # QTDIR may be set and point to an old or system-wide Qt installation
637 # the minimum version of libdbus-1 that we require:
638 MIN_DBUS_1_VERSION=0.93
640 # initalize internal variables
641 CFG_CONFIGURE_EXIT_ON_ERROR=yes
643 CFG_EXCEPTIONS=unspecified
644 CFG_GUI=auto # (yes|no|auto)
670 CFG_OPENVG_LC_INCLUDES=no
671 CFG_OPENVG_SHIVA=auto
672 CFG_OPENVG_ON_OPENGL=auto
674 CFG_EGL_GLES_INCLUDES=no
677 CFG_QWS_FREETYPE=auto
680 QT_DEFAULT_BUILD_PARTS="libs examples tests"
684 CFG_AUDIO_BACKEND=auto
686 CFG_DECLARATIVE_DEBUG=yes
687 CFG_JAVASCRIPTCORE_JIT=auto
689 CFG_GFX_AVAILABLE="linuxfb transformed qvfb vnc multiscreen directfb"
690 CFG_GFX_ON="linuxfb multiscreen"
691 CFG_GFX_PLUGIN_AVAILABLE=
694 CFG_KBD_AVAILABLE="tty linuxinput qvfb"
695 CFG_KBD_ON="tty" #default, see QMakeVar above
696 CFG_MOUSE_AVAILABLE="pc linuxtp linuxinput tslib qvfb"
697 CFG_MOUSE_ON="pc linuxtp" #default, see QMakeVar above
699 if [ -f "$relpath/src/gui/embedded/qscreenqnx_qws.cpp" ]; then
700 CFG_KBD_AVAILABLE="${CFG_KBD_AVAILABLE} qnx"
701 CFG_MOUSE_AVAILABLE="${CFG_MOUSE_AVAILABLE} qnx"
702 CFG_GFX_AVAILABLE="${CFG_GFX_AVAILABLE} qnx"
704 if [ -f "$relpath/src/gui/embedded/qscreenintegrityfb_qws.cpp" ]; then
705 CFG_KBD_AVAILABLE="${CFG_KBD_AVAILABLE} integrity"
706 CFG_MOUSE_AVAILABLE="${CFG_MOUSE_AVAILABLE} integrity"
707 CFG_GFX_AVAILABLE="${CFG_GFX_AVAILABLE} integrityfb"
712 CFG_KBD_PLUGIN_AVAILABLE=
715 CFG_MOUSE_PLUGIN_AVAILABLE=
720 CFG_DECORATION_AVAILABLE="styled windows default"
721 CFG_DECORATION_ON="${CFG_DECORATION_AVAILABLE}" # all on by default
722 CFG_DECORATION_PLUGIN_AVAILABLE=
723 CFG_DECORATION_PLUGIN=
741 CFG_SEPARATE_DEBUG_INFO=no
742 CFG_SEPARATE_DEBUG_INFO_NOCOPY=no
743 CFG_REDUCE_EXPORTS=auto
753 CFG_REDUCE_RELOCATIONS=auto
756 CFG_ACCESSIBILITY=auto
759 CFG_DOUBLEFORMAT=auto
763 CFG_CLOCK_GETTIME=auto
764 CFG_CLOCK_MONOTONIC=auto
773 MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
778 CFG_PREFIX_INSTALL=yes
787 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
788 XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
792 OPT_CONFIRM_LICENSE=no
806 # initalize variables used for installation
815 QT_INSTALL_TRANSLATIONS=
821 #flags for SQL drivers
829 QT_LFLAGS_ODBC="-lodbc"
832 # flags for libdbus-1
836 # flags for Glib (X11 only)
840 # flags for GStreamer (X11 only)
844 #-------------------------------------------------------------------------------
845 # check SQL drivers, mouse drivers and decorations available in this package
846 #-------------------------------------------------------------------------------
848 # opensource version removes some drivers, so force them to be off
854 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
855 for a in "$relpath/src/plugins/sqldrivers/"*; do
857 base_a=`basename "$a"`
858 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
859 eval "CFG_SQL_${base_a}=auto"
864 CFG_DECORATION_PLUGIN_AVAILABLE=
865 if [ -d "$relpath/src/plugins/decorations" ]; then
866 for a in "$relpath/src/plugins/decorations/"*; do
868 base_a=`basename "$a"`
869 CFG_DECORATION_PLUGIN_AVAILABLE="${CFG_DECORATION_PLUGIN_AVAILABLE} ${base_a}"
874 CFG_KBD_PLUGIN_AVAILABLE=
875 if [ -d "$relpath/src/plugins/kbddrivers" ]; then
876 for a in "$relpath/src/plugins/kbddrivers/"*; do
878 base_a=`basename "$a"`
879 CFG_KBD_PLUGIN_AVAILABLE="${CFG_KBD_PLUGIN_AVAILABLE} ${base_a}"
884 CFG_MOUSE_PLUGIN_AVAILABLE=
885 if [ -d "$relpath/src/plugins/mousedrivers" ]; then
886 for a in "$relpath/src/plugins/mousedrivers/"*; do
888 base_a=`basename "$a"`
889 CFG_MOUSE_PLUGIN_AVAILABLE="${CFG_MOUSE_PLUGIN_AVAILABLE} ${base_a}"
894 CFG_GFX_PLUGIN_AVAILABLE=
895 if [ -d "$relpath/src/plugins/gfxdrivers" ]; then
896 for a in "$relpath/src/plugins/gfxdrivers/"*; do
898 base_a=`basename "$a"`
899 CFG_GFX_PLUGIN_AVAILABLE="${CFG_GFX_PLUGIN_AVAILABLE} ${base_a}"
902 CFG_GFX_OFF="$CFG_GFX_AVAILABLE" # assume all off
905 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
906 if [ -d "$relpath/src/plugins/imageformats" ]; then
907 for a in "$relpath/src/plugins/imageformats/"*; do
909 base_a=`basename "$a"`
910 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
915 #-------------------------------------------------------------------------------
916 # Set Default NaCl options
917 #-------------------------------------------------------------------------------
918 if [ "$CFG_EMBEDDED" = "nacl" ]; then
919 echo "Setting NaCl options:"
929 if [ `uname` = "Linux" ]; then
930 I_FLAGS="$I_FLAGS -I${CFG_NACL_PATH}/toolchain/linux_x86/sdk/nacl-sdk/include"
931 L_FLAGS="$L_FLAGS -I${CFG_NACL_PATH}/toolchain/linux_x86/sdk/nacl-sdk/lib"
933 I_FLAGS="$I_FLAGS -I${CFG_NACL_PATH}/toolchain/mac_x86/sdk/nacl-sdk/include"
934 L_FLAGS="$L_FLAGS -I${CFG_NACL_PATH}/toolchain/mac_x86/sdk/nacl-sdk/lib"
937 echo "-no-mediaservices -no-sql-sqlite -nomake tests"
941 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS tests"
942 QT_CONFIG="$QT_CONFIG nacl"
945 #-------------------------------------------------------------------------------
946 # parse command line arguments
947 #-------------------------------------------------------------------------------
949 # parse the arguments, setting things to "yes" or "no"
950 while [ "$#" -gt 0 ]; do
954 #Autoconf style options
956 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
960 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
964 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
965 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
968 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
972 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
976 -no-*-*|-plugin-*-*|-qt-*-*)
977 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
978 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
982 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
985 #Qt style yes options
986 -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-xcb|-wayland|-nis|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-debug-and-release|-exceptions|-harfbuzz|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-phonon-backend|-audio-backend|-declarative-debug|-javascript-jit|-rpath|-force-pkg-config|-icu|-force-asserts|-testcocoon)
987 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
990 #Qt style options that pass an argument
992 if [ "$PLATFORM_QWS" != "yes" -a "$PLATFORM_QPA" != "yes" ]; then
994 echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
998 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1002 -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-testsdir|-depths|-make|-nomake|-platform|-xplatform|-sdk|-arch|-host-arch|-mysql_config|-sysroot)
1003 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1007 #Qt style complex options in one command
1008 -enable-*|-disable-*)
1009 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
1010 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
1012 #Qt Builtin/System style options
1013 -no-*|-system-*|-qt-*)
1014 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
1015 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
1017 #Options that cannot be generalized
1024 # this option may or may not be followed by an argument
1025 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1032 -embedded-lite|-qpa)
1034 # this option may or may not be followed by an argument
1035 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1048 # this option may or may not be followed by an argument
1049 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1058 # this option may or may not be followed by an argument
1059 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1067 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1068 # this option may or may not be followed by an argument
1069 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1078 VAL=`echo $1 | sed "s,^-.*-\(.*\)-.*,\1,"`
1082 VAL=`echo $1 | sed "s,^-\(.*\)-.*,\1,"`
1096 if [ "$1" = "-D" ]; then
1100 VAL=`echo $1 | sed 's,-D,,'`
1105 # this option may or may not be followed by an argument
1106 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1115 if [ "$1" = "-I" ]; then
1119 VAL=`echo $1 | sed 's,-I,,'`
1124 if [ "$1" = "-L" ]; then
1128 VAL=`echo $1 | sed 's,-L,,'`
1133 if [ "$1" = "-R" ]; then
1137 VAL=`echo $1 | sed 's,-R,,'`
1142 VAL=`echo $1 | sed 's,-l,,'`
1146 if [ "$1" = "-F" ]; then
1150 VAL=`echo $1 | sed 's,-F,,'`
1155 if [ "$1" = "-fw" ]; then
1159 VAL=`echo $1 | sed 's,-fw,,'`
1167 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1174 if [ "$UNKNOWN_ARG" = "yes" ]; then
1175 echo "$1: unknown argument"
1186 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1187 CFG_ACCESSIBILITY="$VAL"
1196 CFG_USE_GNUMAKE="$VAL"
1199 CFG_MYSQL_CONFIG="$VAL"
1202 QT_INSTALL_PREFIX="$VAL"
1205 QT_HOST_PREFIX="$VAL"
1208 QT_FORCE_PKGCONFIG=yes
1211 QT_INSTALL_DOCS="$VAL"
1214 QT_INSTALL_HEADERS="$VAL"
1217 QT_INSTALL_PLUGINS="$VAL"
1220 QT_INSTALL_IMPORTS="$VAL"
1223 QT_INSTALL_DATA="$VAL"
1226 QT_INSTALL_LIBS="$VAL"
1235 QT_INSTALL_TRANSLATIONS="$VAL"
1237 sysconfdir|settingsdir)
1238 QT_INSTALL_SETTINGS="$VAL"
1241 QT_INSTALL_EXAMPLES="$VAL"
1244 QT_INSTALL_TESTS="$VAL"
1253 QT_INSTALL_BINS="$VAL"
1275 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1282 if [ "$VAL" = "little" ]; then
1283 CFG_ENDIAN="Q_LITTLE_ENDIAN"
1284 elif [ "$VAL" = "big" ]; then
1285 CFG_ENDIAN="Q_BIG_ENDIAN"
1291 if [ "$VAL" = "little" ]; then
1292 CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
1293 elif [ "$VAL" = "big" ]; then
1294 CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
1300 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1307 CFG_QWS_DEPTHS="$VAL"
1310 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1311 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1312 [ "$VAL" = "es2" ]; then
1314 if [ "$VAL" = "es2" ]; then
1322 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1324 if [ "$CFG_EGL" = "no" ] && [ "$VAL" != "no" ]; then
1331 qvfb) # left for commandline compatibility, not documented
1332 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1333 if [ "$VAL" = "yes" ]; then
1334 QMakeVar add gfx-drivers qvfb
1335 QMakeVar add kbd-drivers qvfb
1336 QMakeVar add mouse-drivers qvfb
1337 CFG_GFX_ON="$CFG_GFX_ON qvfb"
1338 CFG_KBD_ON="$CFG_KBD_ON qvfb"
1339 CFG_MOUSE_ON="$CFG_MOUSE_ON qvfb"
1346 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1349 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1358 if [ "$PLATFORM_MAC" = "yes" ]; then
1365 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1366 CFG_MAC_DWARF2="$VAL"
1372 # if this is a Mac then "windows" probably means
1373 # we are cross-compiling for MinGW
1374 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" != "windows" ]; then
1375 CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL"
1384 if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1385 CFG_MAC_HARFBUZZ="$VAL"
1392 if [ "$PLATFORM_MAC" = "yes" ] || [ "$PLATFORM_QPA" = "yes" ]; then
1393 CFG_FRAMEWORK="$VAL"
1399 if [ "$VAL" = "yes" ]; then
1401 QMakeVar add QMAKE_CFLAGS -pg
1402 QMakeVar add QMAKE_CXXFLAGS -pg
1403 QMakeVar add QMAKE_LFLAGS -pg
1404 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1410 if [ "$VAL" = "yes" ]; then
1411 QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon"
1414 exceptions|g++-exceptions)
1415 if [ "$VAL" = "no" ]; then
1417 elif [ "$VAL" = "yes" ]; then
1425 # keep compatibility with old platform names
1431 PLATFORM=hpux-acc-o64
1434 PLATFORM=hpux-acc-64
1437 PLATFORM=hpux-acc-64
1449 PLATFORM=reliant-cds-64
1452 PLATFORM=solaris-cc-64
1455 PLATFORM=unixware-cc
1458 PLATFORM=unixware-g++
1461 PLATFORM=unixware-cc
1464 PLATFORM=unixware-g++
1470 i386) NATIVE_64_ARCH="x86_64" ;;
1471 powerpc) NATIVE_64_ARCH="ppc64" ;;
1472 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1474 if [ ! -z "$NATIVE_64_ARCH" ]; then
1475 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1482 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1485 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1486 CFG_DEBUG_RELEASE="$VAL"
1492 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1493 CFG_RELEASE_QMAKE="$VAL"
1499 if [ "$VAL" = "yes" ]; then
1501 elif [ "$VAL" = "no" ]; then
1508 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1509 CFG_PREFIX_INSTALL="$VAL"
1517 developer-build|commercial|opensource)
1518 # These switches have been dealt with already
1521 if [ "$VAL" = "yes" ]; then
1523 elif [ "$VAL" = "no" ]; then
1530 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1531 CFG_INCREMENTAL="$VAL"
1537 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1538 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1544 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1545 if [ "$VAL" = "no" ]; then
1546 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1547 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1548 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1554 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1561 if [ "$VAL" = "no" ]; then
1568 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1576 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1583 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1590 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1597 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1604 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1611 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1618 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1625 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1632 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1633 CFG_PRECOMPILE="$VAL"
1638 separate-debug-info)
1639 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1640 CFG_SEPARATE_DEBUG_INFO="$VAL"
1641 elif [ "$VAL" = "nocopy" ] ; then
1642 CFG_SEPARATE_DEBUG_INFO="yes"
1643 CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1649 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1650 CFG_REDUCE_EXPORTS="$VAL"
1656 if [ "$VAL" = "no" ]; then
1663 if [ "$VAL" = "no" ]; then
1670 if [ "$VAL" = "no" ]; then
1677 if [ "$VAL" = "no" ]; then
1684 if [ "$VAL" = "no" ]; then
1691 if [ "$VAL" = "no" ]; then
1698 if [ "$VAL" = "no" ]; then
1705 if [ "$VAL" = "no" ]; then
1712 if [ "$VAL" = "no" ]; then
1722 if [ "$VAL" = "no" ]; then
1729 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1730 CFG_REDUCE_RELOCATIONS="$VAL"
1736 [ "$VAL" = "qt" ] && VAL=yes
1737 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1738 CFG_QWS_FREETYPE="$VAL"
1744 [ "$VAL" = "qt" ] && VAL=yes
1745 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1750 # No longer supported:
1751 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1754 if [ "$VAL" = "system" ]; then
1761 [ "$VAL" = "yes" ] && VAL=qt
1762 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1769 [ "$VAL" = "yes" ] && VAL=qt
1770 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1777 if [ "$VAL" = "system" ] || [ "$VAL" = "no" ]; then
1784 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1791 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1798 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1805 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1812 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1819 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1820 CFG_FONTCONFIG="$VAL"
1826 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1833 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1840 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1847 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1854 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1861 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1868 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1869 CFG_GSTREAMER="$VAL"
1875 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1876 CFG_QGTKSTYLE="$VAL"
1882 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1885 if [ "$VAL" = "no" ]; then
1893 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1895 elif [ "$VAL" = "runtime" ]; then
1902 if [ "$VAL" = "yes" ]; then
1909 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1916 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1917 CFG_LARGEFILE="$VAL"
1923 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1930 if [ "$VAL" = "yes" ]; then
1931 CFG_OPENSSL="linked"
1937 if [ "$VAL" = "yes" ]; then
1938 CFG_DECLARATIVE_DEBUG="yes"
1940 if [ "$VAL" = "no" ]; then
1941 CFG_DECLARATIVE_DEBUG="no"
1948 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1949 CFG_JAVASCRIPTCORE_JIT="$VAL"
1955 if [ "$VAL" = "yes" ]; then
1956 OPT_CONFIRM_LICENSE="$VAL"
1962 if [ "$VAL" = "yes" ]; then
1968 sql-*|gfx-*|decoration-*|kbd-*|mouse-*|imageformat-*)
1969 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1970 # if autoconf style options were used, $VAL can be "yes" or "no"
1971 [ "$VAL" = "yes" ] && VAL=qt
1972 # now $VAL should be "no", "qt", or "plugin"... double-check
1973 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1976 # now $VAL is "no", "qt", or "plugin"
1978 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1979 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1981 # Grab the available values
1984 avail="$CFG_SQL_AVAILABLE"
1987 avail="$CFG_GFX_AVAILABLE"
1988 if [ "$OPT" = "plugin" ]; then
1989 avail="$CFG_GFX_PLUGIN_AVAILABLE"
1993 avail="$CFG_DECORATION_AVAILABLE"
1994 if [ "$OPT" = "plugin" ]; then
1995 avail="$CFG_DECORATION_PLUGIN_AVAILABLE"
1999 avail="$CFG_KBD_AVAILABLE"
2000 if [ "$OPT" = "plugin" ]; then
2001 avail="$CFG_KBD_PLUGIN_AVAILABLE"
2005 avail="$CFG_MOUSE_AVAILABLE"
2006 if [ "$OPT" = "plugin" ]; then
2007 avail="$CFG_MOUSE_PLUGIN_AVAILABLE"
2011 avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
2012 if [ "$OPT" != "plugin" ]; then
2013 # png is always built in
2019 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
2023 # Check that that user's value is available.
2026 if [ "$VAL" = "$d" ]; then
2031 [ "$found" = yes ] || ERROR=yes
2033 if [ "$VAR" = "sql" ]; then
2034 # set the CFG_SQL_driver
2035 eval "CFG_SQL_$VAL=\$OPT"
2037 elif [ "$VAR" = "imageformat" ]; then
2038 [ "$OPT" = "qt" ] && OPT=yes
2039 VAL="`echo $VAL |tr a-z A-Z`"
2040 eval "CFG_$VAL=$OPT"
2044 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
2045 if [ "$OPT" = "plugin" ]; then
2046 [ "$VAR" = "decoration" ] && QMakeVar del "${VAR}s" "$VAL"
2047 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"` && CFG_DECORATION_PLUGIN="$CFG_DECORATION_PLUGIN ${VAL}"
2048 [ "$VAR" = "kbd" ] && QMakeVar del "${VAR}s" "$VAL"
2049 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"` && CFG_KBD_PLUGIN="$CFG_KBD_PLUGIN ${VAL}"
2050 [ "$VAR" = "mouse" ] && QMakeVar del "${VAR}s" "$VAL"
2051 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_MOUSE_PLUGIN="$CFG_MOUSE_PLUGIN ${VAL}"
2052 [ "$VAR" = "gfx" ] && QMakeVar del "${VAR}s" "$VAL"
2053 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"` && CFG_GFX_PLUGIN="${CFG_GFX_PLUGIN} ${VAL}"
2056 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "decoration" ] || [ "$VAR" = "mouse" ]; then
2057 [ "$VAR" = "gfx" ] && CFG_GFX_ON="$CFG_GFX_ON $VAL"
2058 [ "$VAR" = "kbd" ] && CFG_KBD_ON="$CFG_KBD_ON $VAL"
2059 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON="$CFG_DECORATION_ON $VAL"
2060 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON="$CFG_MOUSE_ON $VAL"
2064 QMakeVar add "${VAR}s" "${VAL}"
2065 elif [ "$OPT" = "no" ]; then
2066 PLUG_VAR="${VAR}-plugin"
2067 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "mouse" ]; then
2068 IN_VAR="${VAR}-driver"
2072 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"`
2073 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"`
2074 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"`
2075 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"`
2076 QMakeVar del "${IN_VAR}s" "$VAL"
2077 QMakeVar del "${PLUG_VAR}s" "$VAL"
2079 if [ "$ERROR" = "yes" ]; then
2080 echo "$CURRENT_OPT: unknown argument"
2085 if [ "$VAL" = "yes" ]; then
2086 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
2087 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
2091 elif [ "$VAL" = "no" ]; then
2092 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
2093 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
2102 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2109 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2116 D_FLAGS="$D_FLAGS \"$VAL\""
2119 I_FLAGS="$I_FLAGS -I\"${VAL}\""
2122 L_FLAGS="$L_FLAGS -L\"${VAL}\""
2125 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
2128 l_FLAGS="$l_FLAGS -l\"${VAL}\""
2131 if [ "$PLATFORM_MAC" = "yes" ]; then
2132 L_FLAGS="$L_FLAGS -F\"${VAL}\""
2133 I_FLAGS="$I_FLAGS -F\"${VAL}\""
2139 if [ "$PLATFORM_MAC" = "yes" ]; then
2140 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
2146 W_FLAGS="$W_FLAGS \"${VAL}\""
2152 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2153 CFG_PHONON_BACKEND="$VAL"
2165 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2166 CFG_AUDIO_BACKEND="$VAL"
2172 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2179 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2180 CFG_FORCE_ASSERTS="$VAL"
2186 if [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
2196 if [ "$UNKNOWN_OPT" = "yes" ]; then
2197 echo "${CURRENT_OPT}: invalid command-line switch"
2203 # update QT_CONFIG to show our current predefined configuration
2204 case "$CFG_QCONFIG" in
2205 minimal|small|medium|large|full)
2206 # these are a sequence of increasing functionality
2207 for c in minimal small medium large full; do
2208 QT_CONFIG="$QT_CONFIG $c-config"
2209 [ "$CFG_QCONFIG" = $c ] && break
2213 # not known to be sufficient for anything
2214 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
2215 echo >&2 "Error: configuration file not found:"
2216 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2218 echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2223 #-------------------------------------------------------------------------------
2224 # build tree initialization
2225 #-------------------------------------------------------------------------------
2227 # where to find which..
2228 unixtests="$relpath/config.tests/unix"
2229 mactests="$relpath/config.tests/mac"
2230 WHICH="$unixtests/which.test"
2232 PERL=`$WHICH perl 2>/dev/null`
2234 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2236 for e in gawk nawk awk; do
2237 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2244 PERL="/usr/bin/perl"
2245 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2249 ### skip this if the user just needs help...
2250 if [ "$OPT_HELP" != "yes" ]; then
2252 # is this a shadow build?
2253 if [ "$OPT_SHADOW" = "maybe" ]; then
2255 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2256 if [ -h "$outpath" ]; then
2257 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2263 if [ "$OPT_SHADOW" = "yes" ]; then
2264 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2265 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2266 echo >&2 "Cannot proceed."
2269 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2272 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2274 echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
2275 echo "Qt can be built in release mode with separate debug information, so"
2276 echo "-debug-and-release is not necessary anymore"
2280 if [ "$CFG_SILENT" = "yes" ]; then
2281 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2284 # if the source tree is different from the build tree,
2285 # symlink or copy part of the sources
2286 if [ "$OPT_SHADOW" = "yes" ]; then
2287 echo "Preparing build tree..."
2289 if [ -z "$PERL" ]; then
2291 echo "You need perl in your PATH to make a shadow build."
2292 echo "Cannot proceed."
2296 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2298 # symlink the qmake directory
2299 find "$relpath/qmake" | while read a; do
2300 my_a=`echo "$a" | sed "s,^${relpath}/,${outpath}/,"`
2301 if [ '!' -f "$my_a" ]; then
2302 if [ -d "$a" ]; then
2303 # directories are created...
2306 a_dir=`dirname "$my_a"`
2307 [ -d "$a_dir" ] || mkdir -p "$a_dir"
2308 # ... and files are symlinked
2309 case `basename "$a"` in
2310 *.o|*.d|GNUmakefile*|qmake)
2321 # make a syncqt script that can be used in the shadow
2322 rm -f "$outpath/bin/syncqt"
2323 if [ -x "$relpath/bin/syncqt" ]; then
2324 mkdir -p "$outpath/bin"
2325 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2326 echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2327 chmod 755 "$outpath/bin/syncqt"
2330 for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
2331 rm -f "$outpath/bin/$i"
2332 if [ -x "$relpath/bin/$i" ]; then
2333 mkdir -p "$outpath/bin"
2334 echo "#!/bin/sh" >"$outpath/bin/$i"
2335 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2336 echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2337 chmod 755 "$outpath/bin/$i"
2341 # symlink the mkspecs directory
2342 mkdir -p "$outpath/mkspecs"
2343 rm -rf "$outpath"/mkspecs/*
2344 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2345 rm -f "$outpath/mkspecs/default"
2349 rm -rf "$outpath/mkspecs/$1"
2350 find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2351 find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2354 # Special case for mkspecs/features directory.
2355 # To be able to place .prf files into a shadow build directory,
2356 # we're creating links for files only. The directory structure is reproduced.
2357 ShadowMkspecs features
2359 # The modules dir is special, too.
2360 ShadowMkspecs modules
2362 # symlink the doc directory
2363 rm -rf "$outpath/doc"
2364 ln -s "$relpath/doc" "$outpath/doc"
2367 # symlink fonts to be able to run application from build directory
2368 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
2369 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2370 mkdir -p "${outpath}/lib"
2371 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2375 if [ "$OPT_FAST" = "auto" ]; then
2376 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2383 # find a make command
2384 if [ -z "$MAKE" ]; then
2386 for mk in gmake make; do
2387 if "$WHICH" $mk >/dev/null 2>&1; then
2392 if [ -z "$MAKE" ]; then
2393 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2394 echo >&2 "Cannot proceed."
2397 # export MAKE, we need it later in the config.tests
2403 #-------------------------------------------------------------------------------
2404 # auto-detect all that hasn't been specified in the arguments
2405 #-------------------------------------------------------------------------------
2407 [ "$PLATFORM_QWS" = "yes" -a "$CFG_EMBEDDED" = "no" ] && CFG_EMBEDDED=auto
2408 if [ "$CFG_EMBEDDED" != "no" ]; then
2409 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2411 [ -z "$PLATFORM" ] && PLATFORM=qws/macx-generic-g++
2412 if [ -z "$XPLATFORM" ]; then
2413 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2414 XPLATFORM="qws/macx-$CFG_EMBEDDED-g++"
2418 [ -z "$PLATFORM" ] && PLATFORM=qws/freebsd-generic-g++
2419 if [ -z "$XPLATFORM" ]; then
2420 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2421 XPLATFORM="qws/freebsd-$CFG_EMBEDDED-g++"
2425 [ -z "$PLATFORM" ] && PLATFORM=qws/solaris-generic-g++
2426 if [ -z "$XPLATFORM" ]; then
2427 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2428 XPLATFORM="qws/solaris-$CFG_EMBEDDED-g++"
2432 if [ -z "$PLATFORM" ]; then
2433 case "$UNAME_MACHINE" in
2435 PLATFORM=qws/linux-x86-g++
2438 PLATFORM=qws/linux-x86_64-g++
2441 PLATFORM=qws/linux-generic-g++
2445 if [ -z "$XPLATFORM" ]; then
2446 if [ "$CFG_EMBEDDED" = "auto" ]; then
2447 if [ -n "$CFG_ARCH" ]; then
2448 CFG_EMBEDDED=$CFG_ARCH
2450 case "$UNAME_MACHINE" in
2458 CFG_EMBEDDED=generic
2463 XPLATFORM="qws/linux-$CFG_EMBEDDED-g++"
2467 [ -z "$PLATFORM" ] && PLATFORM=unsupported/qws/qnx-generic-g++
2468 if [ -z "$XPLATFORM" ]; then
2469 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2470 XPLATFORM="unsupported/qws/qnx-$CFG_EMBEDDED-g++"
2474 if [ -z "$XPLATFORM" ]; then
2479 echo "Qt for Embedded Linux is not supported on this platform. Disabling."
2486 if [ -z "$PLATFORM" ]; then
2488 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2490 if [ "$PLATFORM_MAC" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
2491 OSX_VERSION=`uname -r | cut -d. -f1`
2492 if [ "$OSX_VERSION" -ge 11 ]; then
2493 # We're on Lion or above. Check if we have a supported Clang version
2494 case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
2497 PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
2512 #PLATFORM=aix-g++-64
2514 #PLATFORM=aix-xlc-64
2516 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2526 # PLATFORM=dynix-g++
2532 PLATFORM=freebsd-g++
2534 - Also available for FreeBSD: freebsd-icc
2538 PLATFORM=openbsd-g++
2549 #PLATFORM=irix-cc-64
2551 - Also available for IRIX: irix-g++ irix-cc-64
2555 case "$UNAME_MACHINE" in
2557 #PLATFORM=hpuxi-acc-32
2558 PLATFORM=hpuxi-acc-64
2560 - Also available for HP-UXi: hpuxi-acc-32
2566 #PLATFORM=hpux-acc-64
2568 #PLATFORM=hpux-acc-o64
2570 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2579 - Also available for Tru64: tru64-g++
2583 case "$UNAME_MACHINE" in
2585 PLATFORM=linux-g++-64
2592 - Also available for Linux: linux-kcc linux-icc linux-cxx
2596 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2597 PLATFORM="solaris-g++"
2599 #PLATFORM=solaris-g++
2601 #PLATFORM=solaris-cc64
2604 - Also available for Solaris: solaris-g++ solaris-cc-64
2607 ReliantUNIX-*:*|SINIX-*:*)
2608 PLATFORM=reliant-cds
2609 #PLATFORM=reliant-cds-64
2611 - Also available for Reliant UNIX: reliant-cds-64
2621 #PLATFORM=unixware-g++
2622 PLATFORM=unixware-cc
2624 - Also available for OpenUNIX: unixware-g++
2628 #PLATFORM=unixware-g++
2629 PLATFORM=unixware-cc
2631 - Also available for UnixWare: unixware-g++
2638 - Also available for SCO OpenServer: sco-g++
2642 PLATFORM=unixware-g++
2645 PLATFORM=unsupported/qnx-g++
2648 if [ "$OPT_HELP" != "yes" ]; then
2650 for p in $PLATFORMS; do
2651 echo " $relconf $* -platform $p"
2654 echo " The build script does not currently recognize all" >&2
2655 echo " platforms supported by Qt." >&2
2656 echo " Rerun this script with a -platform option listed to" >&2
2657 echo " set the system/compiler combination you use." >&2
2664 if [ "$PLATFORM_QWS" = "yes" ]; then
2666 PLATFORMS=`find "$relpath/mkspecs/qws" | sed "s,$relpath/mkspecs/qws/,,"`
2668 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2671 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2673 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2674 case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
2676 if [ -d "$PLATFORM" ]; then
2677 QMAKESPEC="$PLATFORM"
2679 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2681 if [ -d "$XPLATFORM" ]; then
2682 XQMAKESPEC="$XPLATFORM"
2684 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2686 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2687 QT_CROSS_COMPILE=yes
2688 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2691 if [ "$PLATFORM_MAC" = "yes" ]; then
2692 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2694 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2695 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2696 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2697 echo " built with 'macx-g++'" >&2
2703 # check specified platforms are supported
2704 if [ '!' -d "$QMAKESPEC" ]; then
2706 echo " The specified system/compiler is not supported:"
2710 echo " Please see the README file for a complete list."
2714 if [ '!' -d "$XQMAKESPEC" ]; then
2716 echo " The specified system/compiler is not supported:"
2720 echo " Please see the README file for a complete list."
2724 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2726 echo " The specified system/compiler port is not complete:"
2728 echo " $XQMAKESPEC/qplatformdefs.h"
2730 echo " Please contact qt-info@nokia.com."
2735 # now look at the configs and figure out what platform we are config'd for
2736 [ "$CFG_EMBEDDED" = "no" ] && [ "$PLATFORM_QPA" != "yes" ] \
2737 && [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ] \
2739 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2741 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2742 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2743 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2744 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2745 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2749 #-------------------------------------------------------------------------------
2750 # determine the system architecture
2751 #-------------------------------------------------------------------------------
2752 if [ "$OPT_VERBOSE" = "yes" ]; then
2753 echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
2756 if [ "$CFG_EMBEDDED" != "no" -a "$CFG_EMBEDDED" != "auto" ] && [ -n "$CFG_ARCH" ]; then
2757 if [ "$CFG_ARCH" != "$CFG_EMBEDDED" ]; then
2759 echo "You have specified a target architecture with -embedded and -arch."
2760 echo "The two architectures you have specified are different, so we can"
2761 echo "not proceed. Either set both to be the same, or only use -embedded."
2767 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2768 case `basename "$XPLATFORM"` in
2771 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2773 echo "Please contact qt-info@nokia.com to upgrade your license to"
2774 echo "include this platform, or install the Qt Open Source Edition"
2775 echo "if you intend to develop free software."
2781 if [ -z "${CFG_HOST_ARCH}" ]; then
2782 case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
2784 CFG_HOST_ARCH=`echo ${UNAME_MACHINE} | sed -e 's,[-/].*$,,'`
2785 case "$CFG_HOST_ARCH" in
2790 if [ "$OPT_VERBOSE" = "yes" ]; then
2791 echo " GNU/Hurd ($CFG_HOST_ARCH)"
2795 CFG_HOST_ARCH=`uname -p`
2796 if [ "$OPT_VERBOSE" = "yes" ]; then
2797 echo " SGI ($CFG_HOST_ARCH)"
2801 case "$UNAME_MACHINE" in
2803 if [ "$OPT_VERBOSE" = "yes" ]; then
2804 echo " Sun SPARC (sparc)"
2811 if [ "$OPT_VERBOSE" = "yes" ]; then
2812 echo " 64-bit AMD 80x86 (x86_64)"
2814 CFG_HOST_ARCH=x86_64
2817 if [ "$OPT_VERBOSE" = "yes" ]; then
2818 echo " 32-bit Intel 80x86 (i386)"
2826 if [ "$OPT_VERBOSE" = "yes" ]; then
2827 echo " 64-bit IBM PowerPC (powerpc)"
2829 CFG_HOST_ARCH=powerpc
2832 if [ "$OPT_VERBOSE" = "yes" ]; then
2833 echo " HP PA-RISC (parisc)"
2835 CFG_HOST_ARCH=parisc
2838 if [ "$OPT_VERBOSE" = "yes" ]; then
2839 echo " 32-bit Intel 80x86 (i386)"
2843 *:*:x86_64|*:*:amd64)
2844 if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
2845 if [ "$OPT_VERBOSE" = "yes" ]; then
2846 echo " 32 bit on 64-bit AMD 80x86 (i386)"
2850 if [ "$OPT_VERBOSE" = "yes" ]; then
2851 echo " 64-bit AMD 80x86 (x86_64)"
2853 CFG_HOST_ARCH=x86_64
2857 if [ "$OPT_VERBOSE" = "yes" ]; then
2858 echo " 32-bit PowerPC (powerpc)"
2860 CFG_HOST_ARCH=powerpc
2863 if [ "$OPT_VERBOSE" = "yes" ]; then
2864 echo " 64-bit PowerPC (powerpc)"
2866 CFG_HOST_ARCH=powerpc
2869 if [ "$OPT_VERBOSE" = "yes" ]; then
2870 echo " IBM S/390 (s390)"
2875 if [ "$OPT_VERBOSE" = "yes" ]; then
2881 if [ "$OPT_VERBOSE" = "yes" ]; then
2882 echo " Linux on SPARC"
2887 case "$UNAME_MACHINE" in
2889 if [ "$OPT_VERBOSE" = "yes" ]; then
2890 echo " QNX on Intel 80x86 (i386)"
2897 if [ "$OPT_VERBOSE" = "yes" ]; then
2898 echo " Trying '$UNAME_MACHINE'..."
2900 CFG_HOST_ARCH="$UNAME_MACHINE"
2905 if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
2906 if [ -n "$CFG_ARCH" ]; then
2907 CFG_EMBEDDED=$CFG_ARCH
2910 case "$CFG_EMBEDDED" in
2933 CFG_ARCH="$CFG_EMBEDDED"
2936 elif [ "$XPLATFORM_MINGW" = "yes" ]; then
2937 [ -z "$CFG_ARCH" ] && CFG_ARCH="windows"
2938 elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
2939 CFG_ARCH=$CFG_HOST_ARCH
2946 # previously, armv6 was a different arch
2952 if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
2953 if [ "$OPT_VERBOSE" = "yes" ]; then
2954 echo " '$CFG_ARCH' is supported"
2957 if [ "$OPT_VERBOSE" = "yes" ]; then
2958 echo " '$CFG_ARCH' is unsupported, using 'generic'"
2962 if [ "$CFG_HOST_ARCH" != "$CFG_ARCH" ]; then
2963 if [ -d "$relpath/src/corelib/arch/$CFG_HOST_ARCH" ]; then
2964 if [ "$OPT_VERBOSE" = "yes" ]; then
2965 echo " '$CFG_HOST_ARCH' is supported"
2968 if [ "$OPT_VERBOSE" = "yes" ]; then
2969 echo " '$CFG_HOST_ARCH' is unsupported, using 'generic'"
2971 CFG_HOST_ARCH=generic
2975 if [ "$OPT_VERBOSE" = "yes" ]; then
2976 echo "System architecture: '$CFG_ARCH'"
2977 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
2978 echo "Host architecture: '$CFG_HOST_ARCH'"
2982 #-------------------------------------------------------------------------------
2983 # tests that don't need qmake (must be run before displaying help)
2984 #-------------------------------------------------------------------------------
2986 # detect build style
2987 if [ "$CFG_DEBUG" = "auto" ]; then
2988 if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2989 CFG_DEBUG_RELEASE=yes
2991 elif [ "$CFG_DEV" = "yes" ]; then
2992 CFG_DEBUG_RELEASE=no
2995 CFG_DEBUG_RELEASE=no
2999 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
3000 QT_CONFIG="$QT_CONFIG build_all"
3003 if [ -z "$PKG_CONFIG" ]; then
3004 # See if PKG_CONFIG is set in the mkspec:
3005 PKG_CONFIG=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%PKG_CONFIG[^_].*=%%p' | tr '\n' ' '`
3007 if [ -z "$PKG_CONFIG" ]; then
3008 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
3011 # Work out if we can use pkg-config
3012 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3013 if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
3015 echo >&2 "You have asked to use pkg-config and are cross-compiling."
3016 echo >&2 "Please make sure you have a correctly set-up pkg-config"
3017 echo >&2 "environment!"
3019 if [ -z "$PKG_CONFIG_PATH" ]; then
3021 echo >&2 "Warning: PKG_CONFIG_PATH has not been set. This could mean"
3022 echo >&2 "the host compiler's .pc files will be used. This is probably"
3023 echo >&2 "not what you want."
3025 elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
3027 echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
3028 echo >&2 "been set. This means your toolchain's .pc files must contain"
3029 echo >&2 "the paths to the toolchain's libraries & headers. If configure"
3030 echo >&2 "tests are failing, please check these files."
3035 echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
3036 echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
3037 echo >&2 "dependencies"
3043 if [ ! -n "$PKG_CONFIG" ]; then
3044 QT_CONFIG="$QT_CONFIG no-pkg-config"
3047 # pass on $CFG_SDK to the configure tests.
3048 if [ '!' -z "$CFG_SDK" ]; then
3049 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
3052 # find the default framework value
3053 if [ "$PLATFORM_MAC" = "yes" ]; then
3054 if [ "$CFG_FRAMEWORK" = "auto" ]; then
3055 CFG_FRAMEWORK="$CFG_SHARED"
3056 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
3058 echo "WARNING: Using static linking will disable the use of Mac frameworks."
3066 QMAKE_CONF_COMPILER=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | tail -1`
3067 TEST_COMPILER="$CXX"
3069 [ -z "$TEST_COMPILER" ] && TEST_COMPILER=$QMAKE_CONF_COMPILER
3070 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
3071 if [ -z "$TEST_COMPILER" ]; then
3072 echo "ERROR: Cannot set the compiler for the configuration tests"
3077 if [ "$CFG_EMBEDDED" = "nacl" ]; then
3078 TEST_COMPILER="nacl-gcc"
3082 if [ -n "$CFG_SYSROOT" ]; then
3083 if compilerSupportsFlag --sysroot="$CFG_SYSROOT"; then
3084 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting sysroot to: $CFG_SYSROOT"
3085 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
3087 echo >&2 "The compiler doesn't support the --sysroot flag, I can't set the sysroot"
3091 export SYSROOT_FLAG # used by config.tests/unix/compile.test
3093 # auto-detect precompiled header support
3094 if [ "$CFG_PRECOMPILE" = "auto" ]; then
3095 if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
3102 #auto-detect DWARF2 on the mac
3103 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
3104 if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
3111 # don't autodetect support for separate debug info on objcopy when
3112 # cross-compiling as lots of toolchains seems to have problems with this
3113 if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3114 CFG_SEPARATE_DEBUG_INFO="no"
3117 # auto-detect support for separate debug info in objcopy
3118 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
3119 TEST_COMPILER_CFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CFLAGS[^_=]*[+*]*=%%p' | tr '\n' ' '`
3120 TEST_COMPILER_CXXFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CXXFLAGS[^_=]*[+*]*=%%p' | tr '\n' ' '`
3121 TEST_OBJCOPY=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_OBJCOPY" | sed "s%.* *= *\(.*\)$%\1%" | tail -1`
3122 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
3123 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
3124 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
3125 CFG_SEPARATE_DEBUG_INFO=no
3129 # binutils on HP-UX is buggy; default to no.
3130 CFG_SEPARATE_DEBUG_INFO=no
3133 CFG_SEPARATE_DEBUG_INFO=yes
3139 # auto-detect -fvisibility support
3140 if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then
3141 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
3142 CFG_REDUCE_EXPORTS=no
3144 CFG_REDUCE_EXPORTS=yes
3148 # detect the availability of the -Bsymbolic-functions linker optimization
3149 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
3150 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
3151 CFG_REDUCE_RELOCATIONS=no
3153 CFG_REDUCE_RELOCATIONS=yes
3157 # auto-detect GNU make support
3158 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
3162 # If -opengl wasn't specified, don't try to auto-detect
3163 if [ "$PLATFORM_QWS" = "yes" ] && [ "$CFG_OPENGL" = "auto" ]; then
3168 if [ "$PLATFORM_MAC" = "yes" ]; then
3169 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
3174 # find the default framework value
3175 if [ "$PLATFORM_MAC" = "yes" ]; then
3176 if [ "$CFG_FRAMEWORK" = "auto" ]; then
3177 CFG_FRAMEWORK="$CFG_SHARED"
3178 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
3180 echo "WARNING: Using static linking will disable the use of Mac frameworks."
3188 # Print a warning if configure was called with the 10.4u SDK option on Snow Leopard
3189 # with the default mkspec. The 10.4u SDK does not support gcc 4.2.
3190 if [ "$PLATFORM_MAC" = "yes" ] && [ '!' -z "$CFG_SDK" ]; then
3191 # get the darwin version. 10.0.0 and up means snow leopard.
3192 VERSION=`uname -r | tr '.' ' ' | awk '{print $1}'`
3193 if [ "$VERSION" -gt 9 ] && [ "$CFG_SDK" == "/Developer/SDKs/MacOSX10.4u.sdk/" ] && [ "$PLATFORM" == "macx-g++" ]; then
3195 echo "WARNING: The 10.4u SDK does not support gcc 4.2. Configure with -platform macx-g++40. "
3200 # x11 tests are done after qmake is built
3203 #setup the build parts
3204 if [ -z "$CFG_BUILD_PARTS" ]; then
3205 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
3207 # don't build tools by default when cross-compiling
3208 if [ "$PLATFORM" != "$XPLATFORM" ]; then
3209 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
3212 for nobuild in $CFG_NOBUILD_PARTS; do
3213 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
3215 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
3217 # echo "WARNING: libs is a required part of the build."
3219 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
3222 #-------------------------------------------------------------------------------
3223 # post process QT_INSTALL_* variables
3224 #-------------------------------------------------------------------------------
3226 if [ -z "$QT_INSTALL_PREFIX" ]; then
3227 if [ "$CFG_DEV" = "yes" ]; then
3228 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
3230 QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION
3233 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
3235 if [ -z "$QT_INSTALL_DOCS" ]; then #default
3236 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3237 if [ "$PLATFORM_MAC" = "yes" ]; then
3238 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
3241 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
3244 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
3246 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
3247 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3248 if [ "$PLATFORM_MAC" = "yes" ]; then
3249 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3254 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
3257 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
3259 if [ -z "$QT_INSTALL_LIBS" ]; then #default
3260 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3261 if [ "$PLATFORM_MAC" = "yes" ]; then
3262 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3263 QT_INSTALL_LIBS="/Libraries/Frameworks"
3267 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
3269 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
3271 if [ -z "$QT_INSTALL_BINS" ]; then #default
3272 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3273 if [ "$PLATFORM_MAC" = "yes" ]; then
3274 QT_INSTALL_BINS="/Developer/Applications/Qt"
3277 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
3279 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
3281 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
3282 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3283 if [ "$PLATFORM_MAC" = "yes" ]; then
3284 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
3287 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
3289 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
3291 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
3292 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3293 if [ "$PLATFORM_MAC" = "yes" ]; then
3294 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
3297 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
3299 QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
3301 if [ -z "$QT_INSTALL_DATA" ]; then #default
3302 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
3304 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
3306 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
3307 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
3309 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
3311 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
3312 if [ "$PLATFORM_MAC" = "yes" ]; then
3313 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
3315 QT_INSTALL_SETTINGS=/etc/xdg
3318 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
3320 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
3321 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3322 if [ "$PLATFORM_MAC" = "yes" ]; then
3323 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
3326 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
3328 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
3331 if [ -z "$QT_INSTALL_TESTS" ]; then #default
3332 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3333 if [ "$PLATFORM_MAC" = "yes" ]; then
3334 QT_INSTALL_TESTS="/Developer/Tests/Qt"
3337 [ -z "$QT_INSTALL_TESTS" ] && QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback
3339 QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
3341 #-------------------------------------------------------------------------------
3342 # help - interactive parts of the script _after_ this section please
3343 #-------------------------------------------------------------------------------
3345 # next, emit a usage message if something failed.
3346 if [ "$OPT_HELP" = "yes" ]; then
3347 [ "x$ERROR" = "xyes" ] && echo
3348 if [ "$CFG_NIS" = "no" ]; then
3355 if [ "$CFG_CUPS" = "no" ]; then
3362 if [ "$CFG_ICONV" = "no" ]; then
3369 if [ "$CFG_LARGEFILE" = "no" ]; then
3376 if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then
3383 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
3391 if [ "$CFG_XCB" = "no" ]; then
3399 if [ "$CFG_WAYLAND" = "no" ]; then
3406 if [ "$CFG_XINPUT2" = "no" ]; then
3415 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
3416 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
3417 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-testsdir <dir>]
3418 [-release] [-debug] [-debug-and-release]
3419 [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
3420 [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
3421 [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
3422 [-plugin-sql-<driver>] [-system-sqlite]
3423 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
3424 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
3425 [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
3426 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
3427 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
3428 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
3429 [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
3430 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
3431 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] [-armfpa]
3432 [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
3433 [-no-audio-backend] [-audio-backend]
3434 [-no-javascript-jit] [-javascript-jit] [-no-declarative-debug] [-declarative-debug]
3435 [-no-optimized-qmake] [-optimized-qmake]
3436 [-no-openssl] [-openssl] [-openssl-linked]
3437 [-no-gtkstyle] [-gtkstyle]
3438 [-qt-pcre] [-system-pcre]
3439 [additional platform specific options (see below)]
3442 Installation options:
3444 -qpa ................ This will enable the QPA build.
3445 QPA is a window system agnostic implementation of Qt.
3447 These are optional, but you may specify install directories.
3449 -prefix <dir> ...... This will install everything relative to <dir>
3450 (default $QT_INSTALL_PREFIX)
3452 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3455 -hostprefix [dir] .. Tools and libraries needed when developing
3456 applications are installed in [dir]. If [dir] is
3457 not given, the current build directory will be used.
3462 * -prefix-install .... Force a sandboxed "local" installation of
3463 Qt. This will install into
3464 $QT_INSTALL_PREFIX, if this option is
3465 disabled then some platforms will attempt a
3466 "system" install by placing default values to
3467 be placed in a system location other than
3470 You may use these to separate different parts of the install:
3472 -bindir <dir> ......... Executables will be installed to <dir>
3473 (default PREFIX/bin)
3474 -libdir <dir> ......... Libraries will be installed to <dir>
3475 (default PREFIX/lib)
3476 -docdir <dir> ......... Documentation will be installed to <dir>
3477 (default PREFIX/doc)
3478 -headerdir <dir> ...... Headers will be installed to <dir>
3479 (default PREFIX/include)
3480 -plugindir <dir> ...... Plugins will be installed to <dir>
3481 (default PREFIX/plugins)
3482 -importdir <dir> ...... Imports for QML will be installed to <dir>
3483 (default PREFIX/imports)
3484 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
3486 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
3487 (default PREFIX/translations)
3488 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
3489 (default PREFIX/etc/settings)
3490 -examplesdir <dir> .... Examples will be installed to <dir>
3491 (default PREFIX/examples)
3492 -testsdir <dir> ....... Tests will be installed to <dir>
3493 (default PREFIX/tests)
3497 The defaults (*) are usually acceptable. A plus (+) denotes a default value
3498 that needs to be evaluated. If the evaluation succeeds, the feature is
3499 included. Here is a short explanation of each option:
3501 * -release ........... Compile and link Qt with debugging turned off.
3502 -debug ............. Compile and link Qt with debugging turned on.
3503 -debug-and-release . Compile and link two versions of Qt, with and without
3504 debugging turned on (Mac only).
3506 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
3508 -opensource ........ Compile and link the Open-Source Edition of Qt.
3509 -commercial ........ Compile and link the Commercial Edition of Qt.
3512 * -shared ............ Create and use shared Qt libraries.
3513 -static ............ Create and use static Qt libraries.
3515 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3517 -fast .............. Configure Qt quickly by generating Makefiles only for
3518 library and subdirectory targets. All other Makefiles
3519 are created as wrappers, which will in turn run qmake.
3521 -no-largefile ...... Disables large file support.
3522 + -largefile ......... Enables Qt to access files larger than 4 GB.
3525 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3532 if [ "$CFG_DBUS" = "no" ]; then
3541 $EXCN -no-exceptions ..... Disable exceptions on compilers that support it.
3542 $EXCY -exceptions ........ Enable exceptions on compilers that support it.
3544 -no-accessibility .. Do not compile Accessibility support.
3545 * -accessibility ..... Compile Accessibility support.
3547 $SHN -no-stl ............ Do not compile STL support.
3548 $SHY -stl ............... Compile STL support.
3550 -no-sql-<driver> ... Disable SQL <driver> entirely.
3551 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3553 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3556 Possible values for <driver>:
3557 [ $CFG_SQL_AVAILABLE ]
3559 -system-sqlite ..... Use sqlite from the operating system.
3561 -no-phonon-backend.. Do not build the platform phonon plugin.
3562 + -phonon-backend..... Build the platform phonon plugin.
3564 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
3565 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
3567 -no-declarative-debug ..... Do not build the declarative debugging support.
3568 + -declarative-debug ....... Build the declarative debugging support.
3570 -platform target ... The operating system and compiler you are building
3573 See the README file for a list of supported
3574 operating systems and compilers.
3577 if [ "${PLATFORM_QWS}" != "yes" -a "${PLATFORM_QPA}" != "yes" ]; then
3579 -graphicssystem <sys> Sets an alternate graphics system. Available options are:
3580 raster - Software rasterizer
3581 opengl - Rendering via OpenGL, Experimental!
3582 openvg - Rendering via OpenVG, Experimental!
3589 -no-mmx ............ Do not compile with use of MMX instructions.
3590 -no-3dnow .......... Do not compile with use of 3DNOW instructions.
3591 -no-sse ............ Do not compile with use of SSE instructions.
3592 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3593 -no-sse3 ........... Do not compile with use of SSE3 instructions.
3594 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
3595 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
3596 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
3597 -no-avx ............ Do not compile with use of AVX instructions.
3598 -no-neon ........... Do not compile with use of NEON instructions.
3600 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3601 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3603 -testcocoon Instrument Qt with the TestCocoon code coverage tool.
3605 -D <string> ........ Add an explicit define to the preprocessor.
3606 -I <string> ........ Add an explicit include path.
3607 -L <string> ........ Add an explicit library path.
3609 -help, -h .......... Display this information.
3611 Third Party Libraries:
3613 -qt-zlib ........... Use the zlib bundled with Qt.
3614 + -system-zlib ....... Use zlib from the operating system.
3615 See http://www.gzip.org/zlib
3617 -no-gif ............ Do not compile GIF reading support.
3619 -no-libpng ......... Do not compile PNG support.
3620 -qt-libpng ......... Use the libpng bundled with Qt.
3621 + -system-libpng ..... Use libpng from the operating system.
3622 See http://www.libpng.org/pub/png
3624 -no-libjpeg ........ Do not compile JPEG support.
3625 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3626 + -system-libjpeg .... Use libjpeg from the operating system.
3627 See http://www.ijg.org
3629 -no-openssl ........ Do not compile support for OpenSSL.
3630 + -openssl ........... Enable run-time OpenSSL support.
3631 -openssl-linked .... Enabled linked OpenSSL support.
3633 -qt-pcre ........... Use the PCRE library bundled with Qt.
3634 + -system-pcre ....... Use the PCRE library from the operating system.
3638 -make <part> ....... Add part to the list of parts to be built at make time.
3639 ($QT_DEFAULT_BUILD_PARTS)
3640 -nomake <part> ..... Exclude part from the list of parts to be built.
3642 -R <string> ........ Add an explicit runtime library path to the Qt
3644 -l <string> ........ Add an explicit library.
3646 -no-rpath .......... Do not use the library install path as a runtime
3648 + -rpath ............. Link Qt libraries and executables using the library
3649 install path as a runtime library path. Equivalent
3650 to -R install_libpath
3652 -continue .......... Continue as far as possible if an error occurs.
3654 -verbose, -v ....... Print verbose information about each step of the
3657 -silent ............ Reduce the build output so that warnings and errors
3658 can be seen more easily.
3660 * -no-optimized-qmake ... Do not build qmake optimized.
3661 -optimized-qmake ...... Build qmake optimized.
3663 -no-gui ............ Don't build the Qt GUI library
3665 $NSN -no-nis ............ Do not compile NIS support.
3666 $NSY -nis ............... Compile NIS support.
3668 $CUN -no-cups ........... Do not compile CUPS support.
3669 $CUY -cups .............. Compile CUPS support.
3670 Requires cups/cups.h and libcups.so.2.
3672 $CIN -no-iconv .......... Do not compile support for iconv(3).
3673 $CIY -iconv ............. Compile support for iconv(3).
3675 $PHN -no-pch ............ Do not use precompiled header support.
3676 $PHY -pch ............... Use precompiled header support.
3678 $DBN -no-dbus ........... Do not compile the QtDBus module.
3679 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3680 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3682 -reduce-relocations ..... Reduce relocations in the libraries through extra
3683 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3684 experimental; needs GNU ld >= 2.18).
3686 -force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
3690 if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3691 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3698 elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
3706 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3710 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3711 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3713 $XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
3714 $XCBY -xcb ............... Compile Xcb support.
3716 $XWN -no-wayland......... Do not compile Wayland support.
3717 $XWY -wayland .......... Compile Wayland support.
3723 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
3727 $X2N -no-xinput2......... Do not compile XInput2 support.
3728 $X2Y -xinput2............ Compile XInput2 support.
3734 if [ "$PLATFORM_X11" = "yes" ]; then
3735 if [ "$CFG_SM" = "no" ]; then
3742 if [ "$CFG_XSHAPE" = "no" ]; then
3749 if [ "$CFG_XVIDEO" = "no" ]; then
3756 if [ "$CFG_XINERAMA" = "no" ]; then
3763 if [ "$CFG_FONTCONFIG" = "no" ]; then
3770 if [ "$CFG_XCURSOR" = "no" ]; then
3777 if [ "$CFG_XFIXES" = "no" ]; then
3784 if [ "$CFG_XRANDR" = "no" ]; then
3791 if [ "$CFG_XRENDER" = "no" ]; then
3798 if [ "$CFG_MITSHM" = "no" ]; then
3805 if [ "$CFG_XINPUT" = "no" ]; then
3812 if [ "$CFG_XKB" = "no" ]; then
3819 if [ "$CFG_IM" = "no" ]; then
3830 -no-gtkstyle ....... Do not build the GTK theme integration.
3831 + -gtkstyle .......... Build the GTK theme integration.
3833 * -no-nas-sound ...... Do not compile in NAS sound support.
3834 -system-nas-sound .. Use NAS libaudio from the operating system.
3835 See http://radscan.com/nas.html
3837 -egl ............... Use EGL instead of GLX to manage contexts.
3838 When building for desktop OpenGL, this option will
3839 make Qt use EGL to manage contexts rather than the
3840 GLX, which is the default. Note: For OpenGL ES, EGL
3843 -no-opengl ......... Do not support OpenGL.
3844 + -opengl <api> ...... Enable OpenGL support.
3845 With no parameter, this will auto-detect the "best"
3846 OpenGL API to use. If desktop OpenGL is available, it
3847 will be used. Use desktop or es2 for <api>
3848 to force the use of the Desktop OpenGL or
3849 OpenGL ES 2 APIs instead.
3851 -no-openvg ........ Do not support OpenVG.
3852 + -openvg ........... Enable OpenVG support.
3853 Requires EGL support, typically supplied by an OpenGL
3854 or other graphics implementation.
3856 $SMN -no-sm ............. Do not support X Session Management.
3857 $SMY -sm ................ Support X Session Management, links in -lSM -lICE.
3859 $SHN -no-xshape ......... Do not compile XShape support.
3860 $SHY -xshape ............ Compile XShape support.
3861 Requires X11/extensions/shape.h.
3863 $XVN -no-xvideo ......... Do not compile XVideo support.
3864 $XVY -xvideo ............ Compile XVideo support.
3865 Requires X11/extensions/Xv.h & Xvlib.h.
3867 $SHN -no-xsync .......... Do not compile XSync support.
3868 $SHY -xsync ............. Compile XSync support.
3869 Requires X11/extensions/sync.h.
3871 $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
3872 $XAY -xinerama .......... Compile Xinerama support.
3873 Requires X11/extensions/Xinerama.h and libXinerama.
3874 By default, Xinerama support will be compiled if
3875 available and the shared libraries are dynamically
3878 $XCN -no-xcursor ........ Do not compile Xcursor support.
3879 $XCY -xcursor ........... Compile Xcursor support.
3880 Requires X11/Xcursor/Xcursor.h and libXcursor.
3881 By default, Xcursor support will be compiled if
3882 available and the shared libraries are dynamically
3885 $XFN -no-xfixes ......... Do not compile Xfixes support.
3886 $XFY -xfixes ............ Compile Xfixes support.
3887 Requires X11/extensions/Xfixes.h and libXfixes.
3888 By default, Xfixes support will be compiled if
3889 available and the shared libraries are dynamically
3892 $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
3893 $XZY -xrandr ............ Compile Xrandr support.
3894 Requires X11/extensions/Xrandr.h and libXrandr.
3896 $XRN -no-xrender ........ Do not compile Xrender support.
3897 $XRY -xrender ........... Compile Xrender support.
3898 Requires X11/extensions/Xrender.h and libXrender.
3900 $XMN -no-mitshm ......... Do not compile MIT-SHM support.
3901 $XMY -mitshm ............ Compile MIT-SHM support.
3902 Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
3904 $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
3905 $FCGY -fontconfig ........ Compile FontConfig support.
3906 Requires fontconfig/fontconfig.h, libfontconfig,
3907 freetype.h and libfreetype.
3909 $XIN -no-xinput ......... Do not compile Xinput support.
3910 $XIY -xinput ............ Compile Xinput support. This also enabled tablet support
3911 which requires IRIX with wacom.h and libXi or
3912 XFree86 with X11/extensions/XInput.h and libXi.
3914 $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
3915 $XKY -xkb ............... Compile XKB support.
3920 if [ "$BUILD_ON_MAC" = "yes" ]; then
3925 -Fstring ........... Add an explicit framework path.
3926 -fw string ......... Add an explicit framework.
3928 * -framework ......... Build Qt as a series of frameworks and
3929 link tools against those frameworks.
3930 -no-framework ...... Do not build Qt as a series of frameworks.
3932 * -dwarf2 ............ Enable dwarf2 debugging symbols.
3933 -no-dwarf2 ......... Disable dwarf2 debugging symbols.
3935 -arch <arch> ....... Build Qt for <arch>. Supported arch values: x86 x86_64.
3936 Only one arch value can be specified.
3938 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3939 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3941 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
3942 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
3943 QT_ENABLE_HARFBUZZ environment variable.
3948 if [ "$PLATFORM_QWS" = "yes" ]; then
3950 Qt for Embedded Linux:
3952 -embedded <arch> .... This will enable the embedded build, you must have a
3953 proper license for this switch to work.
3954 Example values for <arch>: arm mips x86 generic
3958 if [ "$PLATFORM_QPA" = "yes" ]; then
3964 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3967 -xplatform target ... The target platform when cross-compiling.
3969 -no-feature-<feature> Do not compile in <feature>.
3970 -feature-<feature> .. Compile in <feature>. The available features
3971 are described in src/corelib/global/qfeatures.txt
3973 -armfpa ............. Target platform uses the ARM-FPA floating point format.
3974 -no-armfpa .......... Target platform does not use the ARM-FPA floating point format.
3976 The floating point format is usually autodetected by configure. Use this
3977 to override the detected value.
3979 -little-endian ...... Target platform is little endian (LSB first).
3980 -big-endian ......... Target platform is big endian (MSB first).
3982 -host-little-endian . Host platform is little endian (LSB first).
3983 -host-big-endian .... Host platform is big endian (MSB first).
3985 You only need to specify the endianness when
3986 cross-compiling, otherwise the host
3987 endianness will be used.
3989 -no-freetype ........ Do not compile in Freetype2 support.
3990 -qt-freetype ........ Use the libfreetype bundled with Qt.
3991 * -system-freetype .... Use libfreetype from the operating system.
3992 See http://www.freetype.org/
3994 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3995 default ($CFG_QCONFIG).
3997 -no-opengl .......... Do not support OpenGL.
3998 -opengl <api> ....... Enable OpenGL ES support
3999 With no parameter, this will attempt to auto-detect
4000 OpenGL ES 2, or regular desktop OpenGL.
4001 Use es2 for <api> to override auto-detection.
4005 if [ "$PLATFORM_QWS" = "yes" ]; then
4008 -depths <list> ...... Comma-separated list of supported bit-per-pixel
4009 depths, from: 1, 4, 8, 12, 15, 16, 18, 24, 32 and 'all'.
4011 -qt-decoration-<style> ....Enable a decoration <style> in the QtGui library,
4012 by default all available decorations are on.
4013 Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
4014 -plugin-decoration-<style> Enable decoration <style> as a plugin to be
4015 linked to at run time.
4016 Possible values for <style>: [ $CFG_DECORATION_PLUGIN_AVAILABLE ]
4017 -no-decoration-<style> ....Disable decoration <style> entirely.
4018 Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
4020 -qt-gfx-<driver> ... Enable a graphics <driver> in the QtGui library.
4021 Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
4022 -plugin-gfx-<driver> Enable graphics <driver> as a plugin to be
4023 linked to at run time.
4024 Possible values for <driver>: [ $CFG_GFX_PLUGIN_AVAILABLE ]
4025 -no-gfx-<driver> ... Disable graphics <driver> entirely.
4026 Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
4028 -qt-kbd-<driver> ... Enable a keyboard <driver> in the QtGui library.
4029 Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
4031 -plugin-kbd-<driver> Enable keyboard <driver> as a plugin to be linked to
4033 Possible values for <driver>: [ $CFG_KBD_PLUGIN_AVAILABLE ]
4035 -no-kbd-<driver> ... Disable keyboard <driver> entirely.
4036 Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
4038 -qt-mouse-<driver> ... Enable a mouse <driver> in the QtGui library.
4039 Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
4040 -plugin-mouse-<driver> Enable mouse <driver> as a plugin to be linked to
4042 Possible values for <driver>: [ $CFG_MOUSE_PLUGIN_AVAILABLE ]
4043 -no-mouse-<driver> ... Disable mouse <driver> entirely.
4044 Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
4046 -iwmmxt ............ Compile using the iWMMXt instruction set
4047 (available on some XScale CPUs).
4051 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
4052 if [ "$CFG_GLIB" = "no" ]; then
4060 $GBN -no-glib ........... Do not compile Glib support.
4061 $GBY -glib .............. Compile Glib support.
4066 [ "x$ERROR" = "xyes" ] && exit 1
4071 # -----------------------------------------------------------------------------
4072 # LICENSING, INTERACTIVE PART
4073 # -----------------------------------------------------------------------------
4075 if [ "$PLATFORM_QWS" = "yes" ]; then
4076 Platform="Qt for Embedded Linux"
4077 elif [ "$PLATFORM_QPA" = "yes" ]; then
4078 Platform="Qt Lighthouse"
4079 elif [ "$PLATFORM_MAC" = "yes" ]; then
4080 Platform="Qt for Mac OS X"
4081 elif [ "$XPLATFORM_MINGW" = "yes" ]; then
4082 Platform="Qt for Windows"
4083 elif [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ]; then
4085 Platform="Qt for Linux/X11"
4089 echo "This is the $Platform ${EditionString} Edition."
4092 if [ "$Edition" = "OpenSource" ]; then
4094 echo "You are licensed to use this software under the terms of"
4095 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
4096 if [ -f "$relpath/LICENSE.GPL3" ]; then
4097 echo "You are also licensed to use this software under the terms of"
4098 echo "the GNU General Public License (GPL) versions 3."
4104 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
4105 echo "You have already accepted the terms of the $LicenseType license."
4108 if [ -f "$relpath/LICENSE.GPL3" ]; then
4109 echo "Type '3' to view the GNU General Public License version 3."
4111 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
4112 echo "Type 'yes' to accept this license offer."
4113 echo "Type 'no' to decline this license offer."
4115 echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
4119 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
4121 elif [ "$acceptance" = "no" ]; then
4122 echo "You are not licensed to use this software."
4125 elif [ "$acceptance" = "3" ]; then
4126 more "$relpath/LICENSE.GPL3"
4127 elif [ "$acceptance" = "L" ]; then
4128 more "$relpath/LICENSE.LGPL"
4131 elif [ "$Edition" = "Preview" ]; then
4132 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
4135 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
4136 echo "You have already accepted the terms of the $LicenseType license."
4139 echo "You are licensed to use this software under the terms of"
4140 echo "the $TheLicense"
4142 echo "Type '?' to read the Preview License."
4143 echo "Type 'yes' to accept this license offer."
4144 echo "Type 'no' to decline this license offer."
4146 echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
4150 if [ "$acceptance" = "yes" ]; then
4152 elif [ "$acceptance" = "no" ] ;then
4153 echo "You are not licensed to use this software."
4156 elif [ "$acceptance" = "?" ]; then
4157 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
4160 elif [ "$Edition" != "OpenSource" ]; then
4161 if [ -n "$ExpiryDate" ]; then
4162 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
4163 [ -z "$ExpiryDate" ] && ExpiryDate="0"
4164 Today=`date +%Y%m%d`
4165 if [ "$Today" -gt "$ExpiryDate" ]; then
4166 case "$LicenseType" in
4167 Commercial|Academic|Educational)
4168 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
4170 echo "NOTICE NOTICE NOTICE NOTICE"
4172 echo " Your support and upgrade period has expired."
4174 echo " You are no longer licensed to use this version of Qt."
4175 echo " Please contact qt-info@nokia.com to renew your support"
4176 echo " and upgrades for this license."
4178 echo "NOTICE NOTICE NOTICE NOTICE"
4183 echo "WARNING WARNING WARNING WARNING"
4185 echo " Your support and upgrade period has expired."
4187 echo " You may continue to use your last licensed release"
4188 echo " of Qt under the terms of your existing license"
4189 echo " agreement. But you are not entitled to technical"
4190 echo " support, nor are you entitled to use any more recent"
4191 echo " Qt releases."
4193 echo " Please contact qt-info@nokia.com to renew your"
4194 echo " support and upgrades for this license."
4196 echo "WARNING WARNING WARNING WARNING"
4203 echo "NOTICE NOTICE NOTICE NOTICE"
4205 echo " Your Evaluation license has expired."
4207 echo " You are no longer licensed to use this software. Please"
4208 echo " contact qt-info@nokia.com to purchase license, or install"
4209 echo " the Qt Open Source Edition if you intend to develop free"
4212 echo "NOTICE NOTICE NOTICE NOTICE"
4219 TheLicense=`head -n 1 "$outpath/LICENSE"`
4221 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
4222 echo "You have already accepted the terms of the $TheLicense."
4225 echo "You are licensed to use this software under the terms of"
4226 echo "the $TheLicense."
4228 echo "Type '?' to view the $TheLicense."
4229 echo "Type 'yes' to accept this license offer."
4230 echo "Type 'no' to decline this license offer."
4232 echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
4236 if [ "$acceptance" = "yes" ]; then
4238 elif [ "$acceptance" = "no" ]; then
4239 echo "You are not licensed to use this software."
4242 else [ "$acceptance" = "?" ]
4243 more "$outpath/LICENSE"
4248 # this should be moved somewhere else
4251 AIX_VERSION=`uname -v`
4252 if [ "$AIX_VERSION" -lt "5" ]; then
4253 QMakeVar add QMAKE_LIBS_X11 -lbind
4260 #-------------------------------------------------------------------------------
4261 # generate qconfig.cpp
4262 #-------------------------------------------------------------------------------
4263 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
4265 LICENSE_USER_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsuser=$Licensee"`
4266 LICENSE_PRODUCTS_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsprod=$Edition"`
4267 PREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_INSTALL_PREFIX"`
4268 DOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_INSTALL_DOCS"`
4269 HEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_INSTALL_HEADERS"`
4270 LIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_INSTALL_LIBS"`
4271 BINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_INSTALL_BINS"`
4272 PLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_INSTALL_PLUGINS"`
4273 IMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_INSTALL_IMPORTS"`
4274 DATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_INSTALL_DATA"`
4275 TRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_INSTALL_TRANSLATIONS"`
4276 SETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
4277 EXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
4278 TESTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_tstspath=$QT_INSTALL_TESTS"`
4280 TODAY=`date +%Y-%m-%d`
4281 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4283 static const char qt_configure_licensee_str [256 + 12] = "$LICENSE_USER_STR";
4284 static const char qt_configure_licensed_products_str [256 + 12] = "$LICENSE_PRODUCTS_STR";
4286 /* Installation date */
4287 static const char qt_configure_installation [12+11] = "qt_instdate=$TODAY";
4291 if [ ! -z "$QT_HOST_PREFIX" ]; then
4292 HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
4293 HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
4294 HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"`
4295 HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"`
4296 HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"`
4297 HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"`
4298 HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/IMPORTS"`
4299 HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"`
4300 HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
4301 HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
4302 HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
4303 HOSTTESTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_tstspath=$QT_INSTALL_TESTS"`
4305 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4307 #if defined(QT_BOOTSTRAPPED) || defined(QT_BUILD_QMAKE)
4308 /* Installation Info */
4309 static const char qt_configure_prefix_path_str [256 + 12] = "$HOSTPREFIX_PATH_STR";
4310 static const char qt_configure_documentation_path_str[256 + 12] = "$HOSTDOCUMENTATION_PATH_STR";
4311 static const char qt_configure_headers_path_str [256 + 12] = "$HOSTHEADERS_PATH_STR";
4312 static const char qt_configure_libraries_path_str [256 + 12] = "$HOSTLIBRARIES_PATH_STR";
4313 static const char qt_configure_binaries_path_str [256 + 12] = "$HOSTBINARIES_PATH_STR";
4314 static const char qt_configure_plugins_path_str [256 + 12] = "$HOSTPLUGINS_PATH_STR";
4315 static const char qt_configure_imports_path_str [256 + 12] = "$HOSTIMPORTS_PATH_STR";
4316 static const char qt_configure_data_path_str [256 + 12] = "$HOSTDATA_PATH_STR";
4317 static const char qt_configure_translations_path_str [256 + 12] = "$HOSTTRANSLATIONS_PATH_STR";
4318 static const char qt_configure_settings_path_str [256 + 12] = "$HOSTSETTINGS_PATH_STR";
4319 static const char qt_configure_examples_path_str [256 + 12] = "$HOSTEXAMPLES_PATH_STR";
4320 static const char qt_configure_tests_path_str [256 + 12] = "$HOSTTESTS_PATH_STR";
4321 #else // QT_BOOTSTRAPPED
4325 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4326 /* Installation Info */
4327 static const char qt_configure_prefix_path_str [256 + 12] = "$PREFIX_PATH_STR";
4328 static const char qt_configure_documentation_path_str[256 + 12] = "$DOCUMENTATION_PATH_STR";
4329 static const char qt_configure_headers_path_str [256 + 12] = "$HEADERS_PATH_STR";
4330 static const char qt_configure_libraries_path_str [256 + 12] = "$LIBRARIES_PATH_STR";
4331 static const char qt_configure_binaries_path_str [256 + 12] = "$BINARIES_PATH_STR";
4332 static const char qt_configure_plugins_path_str [256 + 12] = "$PLUGINS_PATH_STR";
4333 static const char qt_configure_imports_path_str [256 + 12] = "$IMPORTS_PATH_STR";
4334 static const char qt_configure_data_path_str [256 + 12] = "$DATA_PATH_STR";
4335 static const char qt_configure_translations_path_str [256 + 12] = "$TRANSLATIONS_PATH_STR";
4336 static const char qt_configure_settings_path_str [256 + 12] = "$SETTINGS_PATH_STR";
4337 static const char qt_configure_examples_path_str [256 + 12] = "$EXAMPLES_PATH_STR";
4338 static const char qt_configure_tests_path_str [256 + 12] = "$TESTS_PATH_STR";
4341 if [ ! -z "$QT_HOST_PREFIX" ]; then
4342 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4343 #endif // QT_BOOTSTRAPPED
4348 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4349 /* strlen( "qt_lcnsxxxx" ) == 12 */
4350 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
4351 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
4352 #define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12;
4353 #define QT_CONFIGURE_DOCUMENTATION_PATH qt_configure_documentation_path_str + 12;
4354 #define QT_CONFIGURE_HEADERS_PATH qt_configure_headers_path_str + 12;
4355 #define QT_CONFIGURE_LIBRARIES_PATH qt_configure_libraries_path_str + 12;
4356 #define QT_CONFIGURE_BINARIES_PATH qt_configure_binaries_path_str + 12;
4357 #define QT_CONFIGURE_PLUGINS_PATH qt_configure_plugins_path_str + 12;
4358 #define QT_CONFIGURE_IMPORTS_PATH qt_configure_imports_path_str + 12;
4359 #define QT_CONFIGURE_DATA_PATH qt_configure_data_path_str + 12;
4360 #define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12;
4361 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
4362 #define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;
4363 #define QT_CONFIGURE_TESTS_PATH qt_configure_tests_path_str + 12;
4366 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
4367 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
4368 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
4370 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
4371 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
4372 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
4375 # -----------------------------------------------------------------------------
4376 if [ "$LicenseType" = "Evaluation" ]; then
4377 EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey=$LicenseKeyExt"`
4378 elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then
4379 EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey="`
4382 if [ -n "$EVALKEY" ]; then
4383 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
4384 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
4385 /* Evaluation license key */
4386 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
4388 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
4392 # -----------------------------------------------------------------------------
4394 # -----------------------------------------------------------------------------
4397 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
4399 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
4400 if [ "$OPT_SHADOW" = "yes" ]; then
4401 "$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
4402 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
4403 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
4408 # $2: optional transformation
4409 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
4410 # is where the resulting variable is written to
4411 # Assumes that the optional transformation produces the same variable name for each hit
4412 setBootstrapVariable()
4414 getQMakeConf | $AWK '/^('"$1"')[^_A-Z0-9]/ { print $0; }' | ( [ -n "$2" ] && sed "$2" ; [ -z "$2" ] && cat ) | $AWK '
4420 valStart = index($0, "=") + 1
4423 if (substr($0, valStart - 2, 1) == "+") {
4427 variable = substr($0, 0, valStart - 2 - append)
4428 value = substr($0, valStart)
4429 gsub("[ \t]+", "", variable)
4430 gsub("^[ \t]+", "", value)
4431 gsub("[ \t]+$", "", value)
4433 if (append == 1 && length(combinedValue) > 0) {
4434 combinedValue = combinedValue " " value
4436 combinedValue = value
4440 if (length(combinedValue) > 0) {
4441 printf "%s = %s\n", variable, combinedValue
4447 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
4448 echo "Creating qmake. Please wait..."
4451 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
4452 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
4453 if [ -f "$QCONFIG_H" ]; then
4454 OLD_QCONFIG_H=$QCONFIG_H
4455 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
4458 # create temporary qconfig.h for compiling qmake, if it doesn't exist
4459 # when building qmake, we use #defines for the install paths,
4460 # however they are real functions in the library
4461 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
4462 mkdir -p "$outpath/src/corelib/global"
4463 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
4464 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
4467 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
4469 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
4470 rm -rf mkspecs/default
4471 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
4473 for mkfile in GNUmakefile Makefile; do
4476 in_mkfile="${mkfile}.in"
4477 if [ "$mkfile" = "Makefile" ]; then
4478 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
4479 # (cd qmake && qmake) >/dev/null 2>&1 && continue
4481 in_mkfile="${mkfile}.unix"
4483 in_mkfile="$relpath/qmake/$in_mkfile"
4484 mkfile="$outpath/qmake/$mkfile"
4485 if [ -f "$mkfile" ]; then
4486 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
4489 [ -f "$in_mkfile" ] || continue
4491 echo "########################################################################" > "$mkfile"
4492 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
4493 echo "########################################################################" >> "$mkfile"
4496 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
4497 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
4498 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
4500 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
4501 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
4504 [ -n "$CC" ] && echo "CC = $CC" >> "$mkfile"
4505 [ -n "$CXX" ] && echo "CXX = $CXX" >> "$mkfile"
4506 if [ "$CFG_SILENT" = "yes" ]; then
4507 [ -z "$CC" ] && setBootstrapVariable QMAKE_CC 's,QMAKE_CC.*=,CC=\@,'
4508 [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX 's,QMAKE_CXX.*=,CXX=\@,'
4510 [ -z "$CC" ] && setBootstrapVariable QMAKE_CC 's,QMAKE_CC,CC,'
4511 [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX 's,QMAKE_CXX,CXX,'
4513 setBootstrapVariable QMAKE_CFLAGS
4514 setBootstrapVariable QMAKE_CXXFLAGS 's,\$\$QMAKE_CFLAGS,\$(QMAKE_CFLAGS),'
4515 setBootstrapVariable QMAKE_LFLAGS
4517 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
4518 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
4519 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
4521 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
4522 setBootstrapVariable QMAKE_CFLAGS_RELEASE
4523 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE 's,\$\$QMAKE_CFLAGS_RELEASE,\$(QMAKE_CFLAGS_RELEASE),'
4524 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
4525 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
4526 elif [ "$CFG_DEBUG" = "yes" ]; then
4527 setBootstrapVariable QMAKE_CFLAGS_DEBUG
4528 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG 's,\$\$QMAKE_CFLAGS_DEBUG,\$(QMAKE_CFLAGS_DEBUG),'
4529 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
4530 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
4533 if [ '!' -z "$RPATH_FLAGS" ] && [ '!' -z "`getQMakeConf \"$QMAKESPEC\" | $AWK '/QMAKE_(LFLAGS_)?RPATH/ {print $3;}'`" ]; then
4534 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" 's,\$\$LITERAL_WHITESPACE, ,;s,QMAKE_RPATH,QMAKE_LFLAGS_RPATH,'
4535 for rpath in $RPATH_FLAGS; do
4536 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
4539 if [ "$BUILD_ON_MAC" = "yes" ]; then
4540 echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
4541 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
4542 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
4543 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
4544 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
4545 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
4546 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
4547 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
4548 if [ '!' -z "$CFG_SDK" ]; then
4549 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
4550 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
4551 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
4552 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
4553 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
4556 [ "$CFG_EMBEDDED" != "no" ] && EXTRA_CFLAGS="$EXTRA_CFLAGS -DQWS"
4557 if [ '!' -z "$D_FLAGS" ]; then
4558 for DEF in $D_FLAGS; do
4559 EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
4562 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
4563 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
4564 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
4565 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
4567 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
4568 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
4569 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
4570 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
4571 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
4572 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
4573 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
4574 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
4575 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
4576 -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
4578 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
4579 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
4580 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
4581 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
4586 QMAKE_BUILD_ERROR=no
4587 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
4588 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
4589 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
4590 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
4593 #-------------------------------------------------------------------------------
4594 # tests that need qmake
4595 #-------------------------------------------------------------------------------
4597 # detect availability of float math.h functions
4598 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
4599 CFG_USE_FLOATMATH=yes
4601 CFG_USE_FLOATMATH=no
4604 # detect mmx support
4605 if [ "${CFG_MMX}" = "auto" ]; then
4606 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mmx "mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
4613 # detect 3dnow support
4614 if [ "${CFG_3DNOW}" = "auto" ]; then
4615 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/3dnow "3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
4622 # detect sse support
4623 if [ "${CFG_SSE}" = "auto" ]; then
4624 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse "sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
4631 # detect sse2 support
4632 if [ "${CFG_SSE2}" = "auto" ]; then
4633 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
4640 # detect sse3 support
4641 if [ "${CFG_SSE3}" = "auto" ]; then
4642 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse3 "sse3" $L_FLAGS $I_FLAGS $l_FLAGS "-msse3"; then
4649 # detect ssse3 support
4650 if [ "${CFG_SSSE3}" = "auto" ]; then
4651 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ssse3 "ssse3" $L_FLAGS $I_FLAGS $l_FLAGS "-mssse3"; then
4658 # detect sse4.1 support
4659 if [ "${CFG_SSE4_1}" = "auto" ]; then
4660 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
4667 # detect sse4.2 support
4668 if [ "${CFG_SSE4_2}" = "auto" ]; then
4669 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
4676 # detect avx support
4677 if [ "${CFG_AVX}" = "auto" ]; then
4678 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx "avx" $L_FLAGS $I_FLAGS $l_FLAGS "-mavx"; then
4685 # check iWMMXt support
4686 if [ "$CFG_IWMMXT" = "yes" ]; then
4687 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
4688 if [ $? != "0" ]; then
4689 echo "The iWMMXt functionality test failed!"
4690 echo " Please make sure your compiler supports iWMMXt intrinsics!"
4695 # detect neon support
4696 if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
4697 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
4704 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
4707 if [ "$CFG_ZLIB" = "no" ]; then
4708 # Note: Qt no longer support builds without zlib
4709 # So we force a "no" to be "auto" here.
4710 # If you REALLY really need no zlib support, you can still disable
4711 # it by doing the following:
4712 # add "no-zlib" to mkspecs/qconfig.pri
4713 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
4715 # There's no guarantee that Qt will build under those conditions
4720 if [ "$CFG_ZLIB" = "auto" ]; then
4721 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
4728 if [ "$CFG_LARGEFILE" = "auto" ]; then
4729 #Large files should be enabled for all Linux systems
4733 # detect how jpeg should be built
4734 if [ "$CFG_JPEG" = "auto" ]; then
4735 if [ "$CFG_SHARED" = "yes" ]; then
4742 if [ "$CFG_LIBJPEG" = "auto" ]; then
4743 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
4750 # detect how gif should be built
4751 if [ "$CFG_GIF" = "auto" ]; then
4752 if [ "$CFG_SHARED" = "yes" ]; then
4760 if [ "$CFG_LIBPNG" = "auto" ]; then
4761 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
4768 # detect accessibility
4769 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4770 CFG_ACCESSIBILITY=yes
4773 # auto-detect SQL-modules support
4774 for _SQLDR in $CFG_SQL_AVAILABLE; do
4777 if [ "$CFG_SQL_mysql" != "no" ]; then
4778 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
4779 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4780 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4781 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4782 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4783 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4784 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4786 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4787 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4788 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4789 echo " You need MySql 4 or higher."
4790 echo " If you believe this message is in error you may use the continue"
4791 echo " switch (-continue) to $0 to continue."
4796 QT_LFLAGS_MYSQL_R=""
4800 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
4801 QMakeVar add CONFIG use_libmysqlclient_r
4802 if [ "$CFG_SQL_mysql" = "auto" ]; then
4803 CFG_SQL_mysql=plugin
4805 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
4806 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
4807 if [ "$CFG_SQL_mysql" = "auto" ]; then
4808 CFG_SQL_mysql=plugin
4811 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4812 echo "MySQL support cannot be enabled due to functionality tests!"
4813 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4814 echo " If you believe this message is in error you may use the continue"
4815 echo " switch (-continue) to $0 to continue."
4820 QT_LFLAGS_MYSQL_R=""
4828 if [ "$CFG_SQL_psql" != "no" ]; then
4829 # Be careful not to use native pg_config when cross building.
4830 if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
4831 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
4832 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
4834 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
4835 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
4836 # But, respect PSQL_LIBS if set
4837 [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
4838 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
4839 if [ "$CFG_SQL_psql" = "auto" ]; then
4843 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4844 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4845 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4846 echo " If you believe this message is in error you may use the continue"
4847 echo " switch (-continue) to $0 to continue."
4858 if [ "$CFG_SQL_odbc" != "no" ]; then
4859 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
4860 if [ "$CFG_SQL_odbc" = "auto" ]; then
4864 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
4865 QT_LFLAGS_ODBC="-liodbc"
4866 if [ "$CFG_SQL_odbc" = "auto" ]; then
4870 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4871 echo "ODBC support cannot be enabled due to functionality tests!"
4872 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4873 echo " If you believe this message is in error you may use the continue"
4874 echo " switch (-continue) to $0 to continue."
4884 if [ "$CFG_SQL_oci" != "no" ]; then
4885 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
4886 if [ "$CFG_SQL_oci" = "auto" ]; then
4890 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4891 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4892 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4893 echo " If you believe this message is in error you may use the continue"
4894 echo " switch (-continue) to $0 to continue."
4903 if [ "$CFG_SQL_tds" != "no" ]; then
4904 [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
4905 [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
4906 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
4907 if [ "$CFG_SQL_tds" = "auto" ]; then
4911 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4912 echo "TDS support cannot be enabled due to functionality tests!"
4913 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4914 echo " If you believe this message is in error you may use the continue"
4915 echo " switch (-continue) to $0 to continue."
4924 if [ "$CFG_SQL_db2" != "no" ]; then
4925 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
4926 if [ "$CFG_SQL_db2" = "auto" ]; then
4930 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4931 echo "ODBC support cannot be enabled due to functionality tests!"
4932 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4933 echo " If you believe this message is in error you may use the continue"
4934 echo " switch (-continue) to $0 to continue."
4943 if [ "$CFG_SQL_ibase" != "no" ]; then
4944 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
4945 if [ "$CFG_SQL_ibase" = "auto" ]; then
4946 CFG_SQL_ibase=plugin
4949 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4950 echo "InterBase support cannot be enabled due to functionality tests!"
4951 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4952 echo " If you believe this message is in error you may use the continue"
4953 echo " switch (-continue) to $0 to continue."
4962 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4963 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
4964 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4965 CFG_SQL_sqlite2=plugin
4968 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4969 echo "SQLite2 support cannot be enabled due to functionality tests!"
4970 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4971 echo " If you believe this message is in error you may use the continue"
4972 echo " switch (-continue) to $0 to continue."
4981 if [ "$CFG_SQL_sqlite" != "no" ]; then
4982 SQLITE_AUTODETECT_FAILED="no"
4983 if [ "$CFG_SQLITE" = "system" ]; then
4984 if [ -n "$PKG_CONFIG" ]; then
4985 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4986 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4988 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
4989 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4990 CFG_SQL_sqlite=plugin
4992 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4994 SQLITE_AUTODETECT_FAILED="yes"
4997 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4998 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4999 CFG_SQL_sqlite=plugin
5002 SQLITE_AUTODETECT_FAILED="yes"
5006 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5007 echo "SQLite support cannot be enabled due to functionality tests!"
5008 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5009 echo " If you believe this message is in error you may use the continue"
5010 echo " switch (-continue) to $0 to continue."
5016 if [ "$OPT_VERBOSE" = "yes" ]; then
5017 echo "unknown SQL driver: $_SQLDR"
5023 # auto-detect NIS support
5024 if [ "$CFG_NIS" != "no" ]; then
5025 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
5028 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5029 echo "NIS support cannot be enabled due to functionality tests!"
5030 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5031 echo " If you believe this message is in error you may use the continue"
5032 echo " switch (-continue) to $0 to continue."
5040 # auto-detect CUPS support
5041 if [ "$CFG_CUPS" != "no" ]; then
5042 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
5045 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5046 echo "Cups support cannot be enabled due to functionality tests!"
5047 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5048 echo " If you believe this message is in error you may use the continue"
5049 echo " switch (-continue) to $0 to continue."
5057 # auto-detect iconv(3) support
5058 if [ "$CFG_ICONV" != "no" ]; then
5059 if [ "$PLATFORM_QWS" = "yes" -o "$XPLATFORM_MINGW" = "yes" ] || [ "$PLATFORM_QPA" = "yes" -a "$CFG_ICONV" = "auto" ]; then
5061 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
5063 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
5065 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
5068 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5069 echo "Iconv support cannot be enabled due to functionality tests!"
5070 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5071 echo " If you believe this message is in error you may use the continue"
5072 echo " switch (-continue) to $0 to continue."
5080 # auto-detect libdbus-1 support
5081 if [ "$CFG_DBUS" != "no" ]; then
5082 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
5083 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
5084 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
5086 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
5087 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
5088 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
5089 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
5091 if [ "$CFG_DBUS" = "auto" ]; then
5093 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5094 # CFG_DBUS is "yes" or "linked" here
5096 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
5097 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5098 echo " If you believe this message is in error you may use the continue"
5099 echo " switch (-continue) to $0 to continue."
5105 # X11/QWS/Lighthouse
5106 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
5108 # auto-detect Glib support
5109 if [ "$CFG_GLIB" != "no" ]; then
5110 if [ -n "$PKG_CONFIG" ]; then
5111 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
5112 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
5114 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
5116 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
5117 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
5119 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5120 echo "Glib support cannot be enabled due to functionality tests!"
5121 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5122 echo " If you believe this message is in error you may use the continue"
5123 echo " switch (-continue) to $0 to continue."
5132 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
5133 if [ -n "$PKG_CONFIG" ]; then
5134 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
5135 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
5137 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
5139 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
5140 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
5142 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5143 echo "Gstreamer support cannot be enabled due to functionality tests!"
5144 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5145 echo " If you believe this message is in error you may use the continue"
5146 echo " switch (-continue) to $0 to continue."
5152 elif [ "$CFG_GLIB" = "no" ]; then
5156 # auto-detect libicu support
5157 if [ "$CFG_ICU" != "no" ]; then
5158 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $l_FLAGS; then
5159 [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
5161 if [ "$CFG_ICU" = "auto" ]; then
5163 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5166 echo "The ICU library support cannot be enabled."
5167 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5168 echo " If you believe this message is in error you may use the continue"
5169 echo " switch (-continue) to $0 to continue."
5175 # Auto-detect PulseAudio support
5176 if [ "$CFG_PULSEAUDIO" != "no" ]; then
5177 if [ -n "$PKG_CONFIG" ]; then
5178 QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
5179 QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
5181 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
5183 QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
5184 QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
5186 if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5187 echo "PulseAudio support cannot be enabled due to functionality tests!"
5188 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5189 echo " If you believe this message is in error you may use the continue"
5190 echo " switch (-continue) to $0 to continue."
5197 fi # X11/QWS/Lighthouse
5200 if [ "$PLATFORM_X11" = "yes" -a "$CFG_GUI" != "no" ]; then
5201 x11tests="$relpath/config.tests/x11"
5204 # work around broken X11 headers when using GCC 2.95 or later
5206 "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE=yes
5207 if [ $NOTYPE = "yes" ]; then
5208 QMakeVar add QMAKE_CXXFLAGS -fpermissive
5209 X11TESTS_FLAGS="$X11TESTS_FLAGS -fpermissive"
5212 # Check we actually have X11 :-)
5213 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5214 if [ $? != "0" ]; then
5215 echo "Basic XLib functionality test failed!"
5216 echo " You might need to modify the include and library search paths by editing"
5217 echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
5223 if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
5224 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
5225 if [ "$CFG_GUI" = "no" ]; then
5226 if [ "$CFG_OPENGL" = "auto" ]; then
5229 if [ "$CFG_OPENGL" != "no" ]; then
5230 echo "OpenGL enabled, but GUI disabled."
5231 echo " You might need to either enable the GUI or disable OpenGL"
5235 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
5236 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
5238 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
5240 if [ "$CFG_EGL" = "no" ]; then
5244 if [ "$CFG_OPENGL" = "yes" ]; then
5245 echo "All the OpenGL functionality tests failed!"
5246 echo " You might need to modify the include and library search paths by editing"
5247 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5248 echo " ${XQMAKESPEC}."
5255 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
5256 if [ "$CFG_OPENGL" = "desktop" ]; then
5257 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5258 if [ $? != "0" ]; then
5259 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
5266 elif [ "$CFG_OPENGL" = "es2" ]; then
5268 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
5269 if [ $? != "0" ]; then
5270 echo "The OpenGL ES 2.0 functionality test failed!"
5271 echo " You might need to modify the include and library search paths by editing"
5272 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
5273 echo " ${XQMAKESPEC}."
5276 elif [ "$CFG_OPENGL" = "desktop" ]; then
5277 # Desktop OpenGL support
5278 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5279 if [ $? != "0" ]; then
5280 echo "The OpenGL functionality test failed!"
5281 echo " You might need to modify the include and library search paths by editing"
5282 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5283 echo " ${XQMAKESPEC}."
5288 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
5289 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5290 if [ $? != "0" ]; then
5291 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
5298 fi # X11/MINGW OpenGL
5301 if [ "$PLATFORM_X11" = "yes" ]; then
5302 # auto-detect Xcursor support
5303 if [ "$CFG_XCURSOR" != "no" ]; then
5304 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
5305 if [ "$CFG_XCURSOR" != "runtime" ]; then
5309 if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5310 echo "Xcursor support cannot be enabled due to functionality tests!"
5311 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5312 echo " If you believe this message is in error you may use the continue"
5313 echo " switch (-continue) to $0 to continue."
5321 # auto-detect Xfixes support
5322 if [ "$CFG_XFIXES" != "no" ]; then
5323 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xfixes "Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
5324 if [ "$CFG_XFIXES" != "runtime" ]; then
5328 if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5329 echo "Xfixes support cannot be enabled due to functionality tests!"
5330 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5331 echo " If you believe this message is in error you may use the continue"
5332 echo " switch (-continue) to $0 to continue."
5340 # auto-detect Xrandr support (resize and rotate extension)
5341 if [ "$CFG_XRANDR" != "no" ]; then
5342 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
5343 if [ "$CFG_XRANDR" != "runtime" ]; then
5347 if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5348 echo "Xrandr support cannot be enabled due to functionality tests!"
5349 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5350 echo " If you believe this message is in error you may use the continue"
5351 echo " switch (-continue) to $0 to continue."
5359 # auto-detect Xrender support
5360 if [ "$CFG_XRENDER" != "no" ]; then
5361 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
5364 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5365 echo "Xrender support cannot be enabled due to functionality tests!"
5366 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5367 echo " If you believe this message is in error you may use the continue"
5368 echo " switch (-continue) to $0 to continue."
5376 # auto-detect MIT-SHM support
5377 if [ "$CFG_MITSHM" != "no" ]; then
5378 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
5381 if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5382 echo "MITSHM support cannot be enabled due to functionality tests!"
5383 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5384 echo " If you believe this message is in error you may use the continue"
5385 echo " switch (-continue) to $0 to continue."
5393 # auto-detect FontConfig support
5394 if [ "$CFG_FONTCONFIG" != "no" ]; then
5395 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
5396 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
5397 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
5399 QT_CFLAGS_FONTCONFIG=
5400 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5402 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
5404 QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
5405 QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
5406 CFG_LIBFREETYPE=system
5408 if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5409 echo "FontConfig support cannot be enabled due to functionality tests!"
5410 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5411 echo " If you believe this message is in error you may use the continue"
5412 echo " switch (-continue) to $0 to continue."
5420 # auto-detect Session Management support
5421 if [ "$CFG_SM" = "auto" ]; then
5422 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
5425 if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5426 echo "Session Management support cannot be enabled due to functionality tests!"
5427 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5428 echo " If you believe this message is in error you may use the continue"
5429 echo " switch (-continue) to $0 to continue."
5437 # auto-detect SHAPE support
5438 if [ "$CFG_XSHAPE" != "no" ]; then
5439 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
5442 if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5443 echo "XShape support cannot be enabled due to functionality tests!"
5444 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5445 echo " If you believe this message is in error you may use the continue"
5446 echo " switch (-continue) to $0 to continue."
5454 # auto-detect XVideo support
5455 if [ "$CFG_XVIDEO" != "no" ]; then
5456 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
5459 if [ "$CFG_XVIDEO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5460 echo "XVideo support cannot be enabled due to functionality tests!"
5461 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5462 echo " If you believe this message is in error you may use the continue"
5463 echo " switch (-continue) to $0 to continue."
5471 # auto-detect XSync support
5472 if [ "$CFG_XSYNC" != "no" ]; then
5473 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
5476 if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5477 echo "XSync support cannot be enabled due to functionality tests!"
5478 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5479 echo " If you believe this message is in error you may use the continue"
5480 echo " switch (-continue) to $0 to continue."
5488 # auto-detect Xinerama support
5489 if [ "$CFG_XINERAMA" != "no" ]; then
5490 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
5491 if [ "$CFG_XINERAMA" != "runtime" ]; then
5495 if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5496 echo "Xinerama support cannot be enabled due to functionality tests!"
5497 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5498 echo " If you believe this message is in error you may use the continue"
5499 echo " switch (-continue) to $0 to continue."
5507 # auto-detect Xinput support
5508 if [ "$CFG_XINPUT" != "no" ]; then
5509 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
5510 if [ "$CFG_XINPUT" != "runtime" ]; then
5514 if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5515 echo "Tablet and Xinput support cannot be enabled due to functionality tests!"
5516 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5517 echo " If you believe this message is in error you may use the continue"
5518 echo " switch (-continue) to $0 to continue."
5526 # auto-detect XKB support
5527 if [ "$CFG_XKB" != "no" ]; then
5528 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
5531 if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5532 echo "XKB support cannot be enabled due to functionality tests!"
5533 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5534 echo " If you believe this message is in error you may use the continue"
5535 echo " switch (-continue) to $0 to continue."
5543 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
5544 if [ -n "$PKG_CONFIG" ]; then
5545 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
5546 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
5548 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
5550 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
5551 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
5553 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5554 echo "Gtk theme support cannot be enabled due to functionality tests!"
5555 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5556 echo " If you believe this message is in error you may use the continue"
5557 echo " switch (-continue) to $0 to continue."
5563 elif [ "$CFG_GLIB" = "no" ]; then
5569 if [ "$PLATFORM_MAC" = "yes" ]; then
5570 if [ "$CFG_PHONON" != "no" ]; then
5571 # Always enable Phonon (unless it was explicitly disabled)
5575 if [ "$CFG_COREWLAN" = "auto" ]; then
5576 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
5585 if [ "$PLATFORM_QPA" = "yes" ]; then
5586 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
5587 if [ "$PLATFORM_MAC" = "yes" ]; then
5589 elif [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
5590 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
5592 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
5595 if [ "$CFG_OPENGL" = "yes" ]; then
5596 echo "All the OpenGL functionality tests failed!"
5597 echo " You might need to modify the include and library search paths by editing"
5598 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5599 echo " ${XQMAKESPEC}."
5604 elif [ "$CFG_OPENGL" = "es2" ]; then
5606 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
5607 QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --variable=includedir glesv2 2>/dev/null`
5608 QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --variable=libdir glesv2 2>/dev/null`
5609 QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
5610 QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
5611 QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
5612 QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2"
5613 QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2"
5616 "$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
5617 if [ $? != "0" ]; then
5618 echo "The OpenGL ES 2.0 functionality test failed!"
5619 echo " You might need to modify the include and library search paths by editing"
5620 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
5621 echo " ${XQMAKESPEC}."
5624 elif [ "$CFG_OPENGL" = "desktop" ]; then
5625 # Desktop OpenGL support
5626 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5627 if [ $? != "0" ]; then
5628 echo "The OpenGL functionality test failed!"
5629 echo " You might need to modify the include and library search paths by editing"
5630 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5631 echo " ${XQMAKESPEC}."
5636 # auto-detect FontConfig support
5637 if [ "$CFG_FONTCONFIG" != "no" ]; then
5638 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
5639 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
5640 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
5642 QT_CFLAGS_FONTCONFIG=
5643 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5645 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
5646 QT_CONFIG="$QT_CONFIG fontconfig"
5647 QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
5648 QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
5649 CFG_LIBFREETYPE=system
5654 # Save these for a check later
5655 ORIG_CFG_WAYLAND="$CFG_WAYLAND"
5656 ORIG_CFG_XCB="$CFG_XCB"
5658 if [ "$CFG_WAYLAND" != "no" ]; then
5659 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists wayland-client 2>/dev/null; then
5660 QMAKE_CFLAGS_WAYLAND=`$PKG_CONFIG --cflags wayland-client 2>/dev/null`
5661 QMAKE_LIBS_WAYLAND=`$PKG_CONFIG --libs wayland-client 2>/dev/null`
5662 QMAKE_INCDIR_WAYLAND=`$PKG_CONFIG --variable=includedir wayland-client 2>/dev/null`
5663 QMAKE_LIBDIR_WAYLAND=`$PKG_CONFIG --variable=libdir wayland-client 2>/dev/null`
5665 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
5667 QT_CONFIG="$QT_CONFIG wayland"
5668 elif [ "$CFG_WAYLAND" = "yes" ]; then
5669 echo "The Wayland functionality test failed!"
5673 QMakeVar add DEFINES QT_NO_WAYLAND
5677 # Check we actually have X11 :-)
5678 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
5679 QT_CONFIG="$QT_CONFIG xlib"
5682 # auto-detect Xrender support
5683 if [ "$CFG_XRENDER" != "no" ]; then
5684 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
5686 QT_CONFIG="$QT_CONFIG xrender"
5688 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5689 echo "Xrender support cannot be enabled due to functionality tests!"
5690 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5691 echo " If you believe this message is in error you may use the continue"
5692 echo " switch (-continue) to $0 to continue."
5700 if [ "$CFG_XCB" != "no" ]; then
5701 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb "xcb" $L_FLAGS $I_FLAGS $l_FLAGS; then
5703 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-render "xcb-render" $L_FLAGS $I_FLAGS $l_FLAGS; then
5704 QT_CONFIG="$QT_CONFIG xcb-render"
5707 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-poll-for-queued-event "xcb-poll-for-queued-event" $L_FLAGS $I_FLAGS $l_FLAGS; then
5709 QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
5712 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-xlib "xcb-xlib" $L_FLAGS $I_FLAGS $l_FLAGS; then
5713 QT_CONFIG="$QT_CONFIG xcb-xlib"
5716 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
5717 # auto-detect XInput2/Xinput support
5718 if [ "$CFG_XINPUT2" != "no" ]; then
5719 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinput2 "XInput2" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
5723 if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5724 echo "XInput2 support cannot be enabled due to functionality tests!"
5725 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5726 echo " If you believe this message is in error you may use the continue"
5727 echo " switch (-continue) to $0 to continue."
5736 if [ "$CFG_XCB" = "yes" ]; then
5737 echo "The XCB test failed!"
5738 echo " You might need to install dependency packages."
5739 echo " See src/plugins/platforms/xcb/README."
5743 QMakeVar add DEFINES QT_NO_XCB
5747 # Detect libxkbcommon
5748 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
5749 QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
5750 QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
5751 if [ "$CFG_WAYLAND" = "yes" ]; then
5752 QMAKE_CFLAGS_WAYLAND="$QMAKE_CFLAGS_WAYLAND $QMAKE_CFLAGS_XKBCOMMON"
5753 QMAKE_LIBS_WAYLAND="$QMAKE_LIBS_WAYLAND $QMAKE_LIBS_XKBCOMMON"
5755 QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
5756 QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
5758 if [ "$CFG_WAYLAND" = "yes" ]; then
5759 QMAKE_DEFINES_WAYLAND=QT_NO_WAYLAND_XKB
5761 QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
5764 # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
5765 if [ -n "$QMAKE_CFLAGS_WAYLAND" ] || [ -n "$QMAKE_LIBS_WAYLAND" ]; then
5766 QMakeVar set QMAKE_CFLAGS_WAYLAND "$QMAKE_CFLAGS_WAYLAND"
5767 QMakeVar set QMAKE_INCDIR_WAYLAND "$QMAKE_INCDIR_WAYLAND"
5768 QMakeVar set QMAKE_LIBS_WAYLAND "$QMAKE_LIBS_WAYLAND"
5769 QMakeVar set QMAKE_LIBDIR_WAYLAND "$QMAKE_LIBDIR_WAYLAND"
5770 QMakeVar set QMAKE_DEFINES_WAYLAND " $QMAKE_DEFINES_WAYLAND"
5773 if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
5774 QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
5775 QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
5776 QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
5779 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
5780 QT_CONFIG="$QT_CONFIG coreservices"
5782 QMakeVar add DEFINES QT_NO_CORESERVICES
5785 if [ "$PLATFORM_QPA" = "yes" ] && [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ]; then
5786 if [ "$CFG_XCB" = "no" ] && [ "$CFG_WAYLAND" = "no" ]; then
5787 if [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_WAYLAND" = "auto" ]; then
5788 echo "No QPA platform plugin enabled!"
5789 echo " If you really want to build without a QPA platform plugin you must pass"
5790 echo " -no-xcb and -no-wayland to configure. Doing this will produce a Qt that"
5791 echo " cannot run GUI applications."
5801 if [ "$PLATFORM_QWS" = "yes" ]; then
5803 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
5804 if [ "$CFG_GUI" = "no" ]; then
5805 if [ "$CFG_OPENGL" = "auto" ]; then
5808 if [ "$CFG_OPENGL" != "no" ]; then
5809 echo "OpenGL enabled, but GUI disabled."
5810 echo " You might need to either enable the GUI or disable OpenGL"
5814 if [ "$CFG_OPENGL" = "yes" ]; then
5816 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
5819 elif [ "$CFG_OPENGL" = "es2" ]; then
5821 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
5822 if [ $? != "0" ]; then
5823 echo "The OpenGL ES 2.0 functionality test failed!"
5824 echo " You might need to modify the include and library search paths by editing"
5825 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5826 echo " ${XQMAKESPEC}."
5830 elif [ "$CFG_OPENGL" = "desktop" ]; then
5831 # Desktop OpenGL support
5832 echo "Desktop OpenGL support is not avaliable on Qt for Embedded Linux"
5837 if [ "$PLATFORM_QWS" = "yes" ]; then
5840 for screen in ${CFG_GFX_ON} ${CFG_GFX_PLUGIN}; do
5841 if [ "${screen}" = "ahi" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5842 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/ahi "Ahi" $L_FLAGS $I_FLAGS $l_FLAGS
5843 if [ $? != "0" ]; then
5844 echo "The Ahi screen driver functionality test failed!"
5845 echo " You might need to modify the include and library search paths by editing"
5846 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5847 echo " ${XQMAKESPEC}."
5852 if [ "${screen}" = "svgalib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5853 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/svgalib "SVGAlib" $L_FLAGS $I_FLAGS $l_FLAGS
5854 if [ $? != "0" ]; then
5855 echo "The SVGAlib screen driver functionality test failed!"
5856 echo " You might need to modify the include and library search paths by editing"
5857 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5858 echo " ${XQMAKESPEC}."
5863 if [ "${screen}" = "directfb" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5864 if test -n "$PKG_CONFIG" && "$PKG_CONFIG" --exists directfb 2>/dev/null; then
5865 QT_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
5866 QT_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
5867 elif directfb-config --version >/dev/null 2>&1; then
5868 QT_CFLAGS_DIRECTFB=`directfb-config --cflags 2>/dev/null`
5869 QT_LIBS_DIRECTFB=`directfb-config --libs 2>/dev/null`
5872 # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
5873 if [ -n "$QT_CFLAGS_DIRECTFB" ] || [ -n "$QT_LIBS_DIRECTFB" ]; then
5874 QMakeVar set QT_CFLAGS_DIRECTFB "$QT_CFLAGS_DIRECTFB"
5875 QMakeVar set QT_LIBS_DIRECTFB "$QT_LIBS_DIRECTFB"
5878 "$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
5879 if [ $? != "0" ]; then
5880 echo "The DirectFB screen driver functionality test failed!"
5881 echo " You might need to modify the include and library search paths by editing"
5882 echo " QT_CFLAGS_DIRECTFB and QT_LIBS_DIRECTFB in"
5883 echo " ${XQMAKESPEC}."
5891 for mouse in ${CFG_MOUSE_ON} ${CFG_MOUSE_PLUGIN}; do
5892 if [ "${mouse}" = "tslib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5893 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tslib "tslib" $L_FLAGS $I_FLAGS $l_FLAGS
5894 if [ $? != "0" ]; then
5895 echo "The tslib functionality test failed!"
5896 echo " You might need to modify the include and library search paths by editing"
5897 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5898 echo " ${XQMAKESPEC}."
5907 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/sound "sound" $L_FLAGS $I_FLAGS $l_FLAGS
5908 if [ $? != "0" ]; then
5909 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SOUND"
5916 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
5917 if [ "$CFG_EGL" != "no" ]; then
5918 # detect EGL support
5919 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
5920 # EGL specified by QMAKE_*_EGL, included with <EGL/egl.h>
5925 if [ "$EGL_VARIANT" = "none" ]; then
5926 if [ "$CFG_EGL" = "yes" ]; then
5927 echo "The EGL functionality test failed!"
5928 echo " EGL is required for OpenGL ES to manage contexts & surfaces."
5929 echo " You might need to modify the include and library search paths by editing"
5930 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in"
5931 echo " ${XQMAKESPEC}."
5935 # If QtOpenGL would be built against OpenGL ES, disable it as we can't to that if EGL is missing
5936 if [ "$CFG_OPENGL" = "es2" ]; then
5943 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
5946 [ "x$CFG_EMBEDDED" != "xno" ] && CFG_LIBFREETYPE="$CFG_QWS_FREETYPE"
5947 [ "x$PLATFORM_MAC" = "xyes" ] && CFG_LIBFREETYPE=no
5948 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
5949 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
5950 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
5951 CFG_LIBFREETYPE=system
5957 if [ "$CFG_ENDIAN" = "auto" ]; then
5958 if [ "$XPLATFORM_MINGW" = "yes" ]; then
5959 CFG_ENDIAN="Q_LITTLE_ENDIAN"
5960 elif [ "$PLATFORM_MAC" = "yes" ]; then
5963 "$unixtests/endian.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5965 if [ "$F" -eq 0 ]; then
5966 CFG_ENDIAN="Q_LITTLE_ENDIAN"
5967 elif [ "$F" -eq 1 ]; then
5968 CFG_ENDIAN="Q_BIG_ENDIAN"
5971 echo "The target system byte order could not be detected!"
5972 echo "Turn on verbose messaging (-v) to see the final report."
5973 echo "You can use the -little-endian or -big-endian switch to"
5974 echo "$0 to continue."
5980 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
5981 if [ "$PLATFORM_MAC" = "yes" ]; then
5984 "$unixtests/endian.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5986 if [ "$F" -eq 0 ]; then
5987 CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
5988 elif [ "$F" -eq 1 ]; then
5989 CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
5992 echo "The host system byte order could not be detected!"
5993 echo "Turn on verbose messaging (-v) to see the final report."
5994 echo "You can use the -host-little-endian or -host-big-endian switch to"
5995 echo "$0 to continue."
6001 if [ "$CFG_ARMFPA" != "auto" ]; then
6002 if [ "$CFG_ARMFPA" = "yes" ]; then
6003 if [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
6004 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
6006 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
6009 CFG_DOUBLEFORMAT="normal"
6014 if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then
6015 if [ "$PLATFORM_QWS" != "yes" -o "$PLATFORM_QPA" = "yes" ]; then
6016 CFG_DOUBLEFORMAT=normal
6018 "$unixtests/doubleformat.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6020 if [ "$F" -eq 10 ] && [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
6021 CFG_DOUBLEFORMAT=normal
6022 elif [ "$F" -eq 11 ] && [ "$CFG_ENDIAN" = "Q_BIG_ENDIAN" ]; then
6023 CFG_DOUBLEFORMAT=normal
6024 elif [ "$F" -eq 10 ]; then
6025 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE"
6026 elif [ "$F" -eq 11 ]; then
6027 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG"
6028 elif [ "$F" -eq 12 ]; then
6029 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
6031 elif [ "$F" -eq 13 ]; then
6032 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
6036 echo "The system floating point format could not be detected."
6037 echo "This may cause data to be generated in a wrong format"
6038 echo "Turn on verbose messaging (-v) to see the final report."
6039 # we do not fail on this since this is a new test, and if it fails,
6040 # the old behavior should be correct in most cases
6041 CFG_DOUBLEFORMAT=normal
6047 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
6051 if [ "$CFG_STL" != "no" ]; then
6052 if [ "$HAVE_STL" = "yes" ]; then
6055 if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6056 echo "STL support cannot be enabled due to functionality tests!"
6057 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6058 echo " If you believe this message is in error you may use the continue"
6059 echo " switch (-continue) to $0 to continue."
6067 # detect POSIX clock_gettime()
6068 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
6069 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
6070 CFG_CLOCK_GETTIME=yes
6072 CFG_CLOCK_GETTIME=no
6076 # detect POSIX monotonic clocks
6077 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
6078 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
6079 CFG_CLOCK_MONOTONIC=yes
6081 CFG_CLOCK_MONOTONIC=no
6083 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
6084 CFG_CLOCK_MONOTONIC=no
6088 if [ "$CFG_MREMAP" = "auto" ]; then
6089 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
6096 # find if the platform provides getaddrinfo (ipv6 dns lookups)
6097 if [ "$CFG_GETADDRINFO" != "no" ]; then
6098 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
6101 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6102 echo "getaddrinfo support cannot be enabled due to functionality tests!"
6103 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6104 echo " If you believe this message is in error you may use the continue"
6105 echo " switch (-continue) to $0 to continue."
6113 # find if the platform provides inotify
6114 if [ "$CFG_INOTIFY" != "no" ]; then
6115 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
6118 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6119 echo "inotify support cannot be enabled due to functionality tests!"
6120 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6121 echo " If you believe this message is in error you may use the continue"
6122 echo " switch (-continue) to $0 to continue."
6130 # find if the platform provides if_nametoindex (ipv6 interface name support)
6131 if [ "$CFG_IPV6IFNAME" != "no" ]; then
6132 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
6135 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6136 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
6137 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6138 echo " If you believe this message is in error you may use the continue"
6139 echo " switch (-continue) to $0 to continue."
6147 # find if the platform provides getifaddrs (network interface enumeration)
6148 if [ "$CFG_GETIFADDRS" != "no" ]; then
6149 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
6152 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6153 echo "getifaddrs support cannot be enabled due to functionality tests!"
6154 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6155 echo " If you believe this message is in error you may use the continue"
6156 echo " switch (-continue) to $0 to continue."
6165 if [ "$CFG_OPENSSL" != "no" ]; then
6166 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
6167 if [ "$CFG_OPENSSL" = "auto" ]; then
6171 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6172 echo "OpenSSL support cannot be enabled due to functionality tests!"
6173 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6174 echo " If you believe this message is in error you may use the continue"
6175 echo " switch (-continue) to $0 to continue."
6184 if [ "$CFG_PCRE" != "qt" ]; then
6185 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pcre "PCRE" $L_FLAGS $I_FLAGS $l_FLAGS; then
6188 if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6189 echo "PCRE support cannot be enabled due to functionality tests!"
6190 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6191 echo " If you believe this message is in error you may use the continue"
6192 echo " switch (-continue) to $0 to continue."
6200 # detect OpenVG support
6201 if [ "$CFG_OPENVG" != "no" ]; then
6202 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
6203 if [ "$CFG_OPENVG" = "auto" ]; then
6206 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
6207 if [ "$CFG_OPENVG" = "auto" ]; then
6210 CFG_OPENVG_ON_OPENGL=yes
6211 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
6212 if [ "$CFG_OPENVG" = "auto" ]; then
6215 CFG_OPENVG_LC_INCLUDES=yes
6216 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
6217 if [ "$CFG_OPENVG" = "auto" ]; then
6220 CFG_OPENVG_LC_INCLUDES=yes
6221 CFG_OPENVG_ON_OPENGL=yes
6223 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6224 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
6225 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6226 echo " If you believe this message is in error you may use the continue"
6227 echo " switch (-continue) to $0 to continue."
6233 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
6234 CFG_OPENVG_SHIVA=yes
6238 if [ "$CFG_ALSA" = "auto" ]; then
6239 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
6246 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
6247 if [ "$CFG_ARCH" = "arm" ]; then
6248 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
6249 if [ $? != "0" ]; then
6250 CFG_JAVASCRIPTCORE_JIT=no
6253 case "$XPLATFORM" in
6255 CFG_JAVASCRIPTCORE_JIT=no
6261 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
6262 QMakeVar set JAVASCRIPTCORE_JIT yes
6263 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
6264 QMakeVar set JAVASCRIPTCORE_JIT no
6267 if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
6268 CFG_AUDIO_BACKEND=yes
6271 if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
6272 echo "Warning: largefile support cannot be disabled for win32."
6276 #-------------------------------------------------------------------------------
6277 # ask for all that hasn't been auto-detected or specified in the arguments
6278 #-------------------------------------------------------------------------------
6280 ### fix this: user input should be validated in a loop
6281 if [ "$PLATFORM_QWS" = "yes" ]; then
6282 PROMPT_FOR_DEPTHS="yes"
6284 PROMPT_FOR_DEPTHS="no"
6286 if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PROMPT_FOR_DEPTHS" = "yes" ]; then
6288 echo "Choose pixel-depths to support:"
6290 echo " 1. 1bpp, black/white"
6291 echo " 4. 4bpp, grayscale"
6292 echo " 8. 8bpp, paletted"
6293 echo " 12. 12bpp, rgb 4-4-4"
6294 echo " 15. 15bpp, rgb 5-5-5"
6295 echo " 16. 16bpp, rgb 5-6-5"
6296 echo " 18. 18bpp, rgb 6-6-6"
6297 echo " 24. 24bpp, rgb 8-8-8"
6298 echo " 32. 32bpp, argb 8-8-8-8 and rgb 8-8-8"
6299 echo " all. All supported depths"
6301 echo "Your choices (default 8,16,32):"
6303 if [ -z "$CFG_QWS_DEPTHS" ] || [ "$CFG_QWS_DEPTHS" = "yes" ]; then
6304 CFG_QWS_DEPTHS=8,16,32
6307 if [ -n "$CFG_QWS_DEPTHS" -a "$PLATFORM_QWS" = "yes" ]; then
6308 if [ "$CFG_QWS_DEPTHS" = "all" ]; then
6309 CFG_QWS_DEPTHS="1 4 8 12 15 16 18 24 32 generic"
6311 for D in `echo "$CFG_QWS_DEPTHS" | sed -e 's/,/ /g'`; do
6313 1|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
6314 generic) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_GENERIC";;
6319 # enable dwarf2 support on Mac
6320 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
6321 QT_CONFIG="$QT_CONFIG dwarf2"
6324 # Set the default arch if there are no "-arch" arguments on the configure line
6325 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_ARCHS" = "" ]; then
6326 source "$mactests/defaultarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests"
6327 CFG_MAC_ARCHS=" $QT_MAC_DEFAULT_ARCH"
6328 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting Mac architechture to$CFG_MAC_ARCHS."
6332 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
6333 QT_CONFIG="$QT_CONFIG phonon-backend"
6336 # disable accessibility
6337 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
6338 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
6340 QT_CONFIG="$QT_CONFIG accessibility"
6343 # egl stuff does not belong in lighthouse, but rather in plugins
6344 if [ "$PLATFORM_QPA" = "yes" ]; then
6349 if [ "$CFG_EGL" = "no" ]; then
6350 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
6352 QT_CONFIG="$QT_CONFIG egl"
6353 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
6354 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GLES_EGL"
6359 if [ "$CFG_OPENVG" = "no" ]; then
6360 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
6362 QT_CONFIG="$QT_CONFIG openvg"
6363 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
6364 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
6366 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
6367 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
6369 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
6370 QT_CONFIG="$QT_CONFIG shivavg"
6371 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
6376 if [ "$CFG_OPENGL" = "no" ]; then
6377 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
6379 QT_CONFIG="$QT_CONFIG opengl"
6382 if [ "$CFG_OPENGL" = "es2" ]; then
6383 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
6386 if [ "$CFG_OPENGL" = "es2" ]; then
6387 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
6388 QT_CONFIG="$QT_CONFIG opengles2"
6391 # safe execution environment
6392 if [ "$CFG_SXE" != "no" ]; then
6393 QT_CONFIG="$QT_CONFIG sxe"
6396 # build up the variables for output
6397 if [ "$CFG_DEBUG" = "yes" ]; then
6398 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
6399 QMAKE_CONFIG="$QMAKE_CONFIG debug"
6400 elif [ "$CFG_DEBUG" = "no" ]; then
6401 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
6402 QMAKE_CONFIG="$QMAKE_CONFIG release"
6404 if [ "$CFG_SHARED" = "yes" ]; then
6405 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
6406 QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
6407 elif [ "$CFG_SHARED" = "no" ]; then
6408 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
6409 QMAKE_CONFIG="$QMAKE_CONFIG static"
6411 if [ "$PLATFORM_QWS" = "yes" ]; then
6412 QMAKE_OUTDIR="${QMAKE_OUTDIR}-emb-$CFG_EMBEDDED"
6413 QMAKE_CONFIG="$QMAKE_CONFIG embedded"
6414 QT_CONFIG="$QT_CONFIG embedded"
6415 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
6417 if [ "$PLATFORM_QPA" = "yes" ]; then
6418 QMAKE_CONFIG="$QMAKE_CONFIG qpa"
6419 QT_CONFIG="$QT_CONFIG qpa"
6420 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
6421 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
6424 if [ "$CFG_EMBEDDED" = "nacl" ]; then
6425 QMAKE_CONFIG="$QMAKE_CONFIG nacl pepper"
6426 QT_CONFIG="$QT_CONFIG nacl pepper"
6427 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
6430 if [ "$XPLATFORM_MINGW" != "yes" ]; then
6431 # Do not set this here for Windows. Let qmake do it so
6432 # debug and release precompiled headers are kept separate.
6433 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
6435 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
6436 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
6437 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
6438 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
6439 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
6440 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
6442 if [ "$CFG_STL" = "no" ]; then
6443 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STL"
6445 QMAKE_CONFIG="$QMAKE_CONFIG stl"
6447 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
6448 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
6450 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
6451 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
6452 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
6453 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
6454 QMakeVar add QMAKE_CFLAGS -g
6455 QMakeVar add QMAKE_CXXFLAGS -g
6456 QT_CONFIG="$QT_CONFIG separate_debug_info"
6458 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
6459 QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
6461 [ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mmx"
6462 [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow"
6463 [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse"
6464 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
6465 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
6466 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
6467 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
6468 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
6469 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
6470 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
6471 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
6472 [ "$PLATFORM_MAC" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG $CFG_MAC_ARCHS"
6473 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
6474 QT_CONFIG="$QT_CONFIG clock-gettime"
6476 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
6477 QT_CONFIG="$QT_CONFIG clock-monotonic"
6479 if [ "$CFG_MREMAP" = "yes" ]; then
6480 QT_CONFIG="$QT_CONFIG mremap"
6482 if [ "$CFG_GETADDRINFO" = "yes" ]; then
6483 QT_CONFIG="$QT_CONFIG getaddrinfo"
6485 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
6486 QT_CONFIG="$QT_CONFIG ipv6ifname"
6488 if [ "$CFG_GETIFADDRS" = "yes" ]; then
6489 QT_CONFIG="$QT_CONFIG getifaddrs"
6491 if [ "$CFG_INOTIFY" = "yes" ]; then
6492 QT_CONFIG="$QT_CONFIG inotify"
6494 if [ "$CFG_LIBJPEG" = "no" ]; then
6496 elif [ "$CFG_LIBJPEG" = "system" ]; then
6497 QT_CONFIG="$QT_CONFIG system-jpeg"
6499 if [ "$CFG_JPEG" = "no" ]; then
6500 QT_CONFIG="$QT_CONFIG no-jpeg"
6501 elif [ "$CFG_JPEG" = "yes" ]; then
6502 QT_CONFIG="$QT_CONFIG jpeg"
6504 if [ "$CFG_LIBPNG" = "no" ]; then
6507 if [ "$CFG_LIBPNG" = "system" ]; then
6508 QT_CONFIG="$QT_CONFIG system-png"
6510 if [ "$CFG_PNG" = "no" ]; then
6511 QT_CONFIG="$QT_CONFIG no-png"
6512 elif [ "$CFG_PNG" = "yes" ]; then
6513 QT_CONFIG="$QT_CONFIG png"
6515 if [ "$CFG_GIF" = "no" ]; then
6516 QT_CONFIG="$QT_CONFIG no-gif"
6517 elif [ "$CFG_GIF" = "yes" ]; then
6518 QT_CONFIG="$QT_CONFIG gif"
6520 if [ "$CFG_LIBFREETYPE" = "no" ]; then
6521 QT_CONFIG="$QT_CONFIG no-freetype"
6522 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
6523 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
6524 QT_CONFIG="$QT_CONFIG system-freetype"
6526 QT_CONFIG="$QT_CONFIG freetype"
6528 if [ "$CFG_GUI" = "auto" ]; then
6531 if [ "$CFG_GUI" = "no" ]; then
6532 QT_CONFIG="$QT_CONFIG no-gui"
6534 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GUI"
6538 if [ "x$PLATFORM_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
6539 #On Mac we implicitly link against libz, so we
6540 #never use the 3rdparty stuff.
6541 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
6543 if [ "$CFG_ZLIB" = "yes" ]; then
6544 QT_CONFIG="$QT_CONFIG zlib"
6545 elif [ "$CFG_ZLIB" = "system" ]; then
6546 QT_CONFIG="$QT_CONFIG system-zlib"
6549 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
6550 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
6551 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
6552 [ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
6553 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
6554 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
6555 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
6556 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
6557 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
6558 [ "$CFG_NAS" = "system" ] && QT_CONFIG="$QT_CONFIG nas"
6559 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
6560 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
6561 [ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
6562 [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
6563 [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
6565 if [ "$PLATFORM_X11" = "yes" ]; then
6566 [ "$CFG_SM" = "yes" ] && QT_CONFIG="$QT_CONFIG x11sm"
6568 # for some reason, the following libraries are not always built shared,
6569 # so *every* program/lib (including Qt) has to link against them
6570 if [ "$CFG_XSHAPE" = "yes" ]; then
6571 QT_CONFIG="$QT_CONFIG xshape"
6573 if [ "$CFG_XVIDEO" = "yes" ]; then
6574 QT_CONFIG="$QT_CONFIG xvideo"
6576 if [ "$CFG_XSYNC" = "yes" ]; then
6577 QT_CONFIG="$QT_CONFIG xsync"
6579 if [ "$CFG_XINERAMA" = "yes" ]; then
6580 QT_CONFIG="$QT_CONFIG xinerama"
6581 QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11'
6583 if [ "$CFG_XCURSOR" = "yes" ]; then
6584 QT_CONFIG="$QT_CONFIG xcursor"
6585 QMakeVar set QMAKE_LIBS_X11 '-lXcursor $$QMAKE_LIBS_X11'
6587 if [ "$CFG_XFIXES" = "yes" ]; then
6588 QT_CONFIG="$QT_CONFIG xfixes"
6589 QMakeVar set QMAKE_LIBS_X11 '-lXfixes $$QMAKE_LIBS_X11'
6591 if [ "$CFG_XRANDR" = "yes" ]; then
6592 QT_CONFIG="$QT_CONFIG xrandr"
6593 if [ "$CFG_XRENDER" != "yes" ]; then
6594 # libXrandr uses 1 function from libXrender, so we always have to have it :/
6595 QMakeVar set QMAKE_LIBS_X11 '-lXrandr -lXrender $$QMAKE_LIBS_X11'
6597 QMakeVar set QMAKE_LIBS_X11 '-lXrandr $$QMAKE_LIBS_X11'
6600 if [ "$CFG_XRENDER" = "yes" ]; then
6601 QT_CONFIG="$QT_CONFIG xrender"
6602 QMakeVar set QMAKE_LIBS_X11 '-lXrender $$QMAKE_LIBS_X11'
6604 if [ "$CFG_MITSHM" = "yes" ]; then
6605 QT_CONFIG="$QT_CONFIG mitshm"
6607 if [ "$CFG_FONTCONFIG" = "yes" ]; then
6608 QT_CONFIG="$QT_CONFIG fontconfig"
6610 if [ "$CFG_XINPUT" = "yes" ]; then
6611 QMakeVar set QMAKE_LIBS_X11 '-lXi $$QMAKE_LIBS_X11'
6613 if [ "$CFG_XINPUT" = "yes" ]; then
6614 QT_CONFIG="$QT_CONFIG xinput tablet"
6616 if [ "$CFG_XKB" = "yes" ]; then
6617 QT_CONFIG="$QT_CONFIG xkb"
6621 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS"
6622 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
6623 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
6625 if [ "$PLATFORM_MAC" = "yes" ]; then
6626 if [ "$CFG_RPATH" = "yes" ]; then
6627 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
6629 elif [ -z "`getQMakeConf \"$XQMAKESPEC\" | $AWK '/QMAKE_(LFLAGS_)?RPATH/ {print $3;}'`" ]; then
6630 if [ -n "$RPATH_FLAGS" ]; then
6632 echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
6636 elif [ "$CFG_RPATH" = "yes" ]; then
6637 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
6641 if [ "$CFG_RPATH" = "yes" ]; then
6642 # set the default rpath to the library installation directory
6643 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
6645 if [ -n "$RPATH_FLAGS" ]; then
6646 # add the user defined rpaths
6647 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
6651 if [ '!' -z "$I_FLAGS" ]; then
6652 # add the user define include paths
6653 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
6654 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
6657 if [ '!' -z "$W_FLAGS" ]; then
6658 # add the user defined warning flags
6659 QMakeVar add QMAKE_CFLAGS_WARN_ON "$W_FLAGS"
6660 QMakeVar add QMAKE_CXXFLAGS_WARN_ON "$W_FLAGS"
6661 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS"
6664 # turn off exceptions for the compilers that support it
6665 if [ "$PLATFORM_QWS" = "yes" ]; then
6666 COMPILER=`echo $XPLATFORM | cut -f 3- -d-`
6667 elif [ "$XPLATFORM" != "$PLATFORM" ]; then
6668 COMPILER=`echo $XPLATFORM | cut -f 2- -d-`
6670 COMPILER=`echo $PLATFORM | cut -f 2- -d-`
6672 if [ "$CFG_EXCEPTIONS" = "unspecified" -a "$PLATFORM_QWS" = "yes" ]; then
6676 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6677 QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
6680 if [ "$XPLATFORM_MINGW" = "yes" ]; then
6681 # mkspecs/features/win32/default_pre.prf sets "no-rtti".
6682 # Follow default behavior of configure.exe by overriding with "rtti".
6683 QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
6686 if [ "$CFG_ALSA" = "yes" ]; then
6687 QT_CONFIG="$QT_CONFIG alsa"
6690 if [ "$CFG_PULSEAUDIO" = "yes" ]; then
6691 QT_CONFIG="$QT_CONFIG pulseaudio"
6694 if [ "$CFG_COREWLAN" = "yes" ]; then
6695 QT_CONFIG="$QT_CONFIG corewlan"
6698 if [ "$CFG_ICU" = "yes" ]; then
6699 QT_CONFIG="$QT_CONFIG icu"
6702 if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
6703 QT_CONFIG="$QT_CONFIG force_asserts"
6706 if [ "$CFG_PCRE" = "qt" ]; then
6707 QMAKE_CONFIG="$QMAKE_CONFIG pcre"
6711 # Some Qt modules are too advanced in C++ for some old compilers
6712 # Detect here the platforms where they are known to work.
6714 # See Qt documentation for more information on which features are
6715 # supported and on which compilers.
6717 canBuildQtConcurrent="yes"
6718 canUseV8Snapshot="yes"
6720 case "$XPLATFORM" in
6722 # PA-RISC's assembly is too limited
6723 # gcc 3.4 on that platform can't build QtXmlPatterns
6724 # the assembly it generates cannot be compiled
6726 # Check gcc's version
6727 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
6731 canBuildQtXmlPatterns="no"
6735 canBuildQtXmlPatterns="no"
6739 unsupported/vxworks-*-g++*)
6742 unsupported/vxworks-*-dcc*)
6744 canBuildQtXmlPatterns="no"
6747 # Check gcc's version
6748 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
6756 canBuildQtXmlPatterns="no"
6761 # Check the compiler version
6762 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
6765 canBuildQtXmlPatterns="no"
6766 canBuildQtConcurrent="no"
6770 canBuildQtConcurrent="no"
6776 canBuildQtXmlPatterns="no"
6777 canBuildQtConcurrent="no"
6783 # Get the xlC version
6784 cat > xlcver.c <<EOF
6788 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
6793 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
6794 xlcver=`./xlcver 2>/dev/null`
6797 if [ "$OPT_VERBOSE" = "yes" ]; then
6798 if [ -n "$xlcver" ]; then
6799 echo Found IBM xlC version: $xlcver.
6801 echo Could not determine IBM xlC version, assuming oldest supported.
6808 canBuildQtXmlPatterns="no"
6809 canBuildQtConcurrent="no"
6813 canBuildQtConcurrent="no"
6819 canBuildQtConcurrent="no"
6823 if [ "$CFG_GUI" = "no" ]; then
6824 # WebKit requires QtGui
6828 if [ "$CFG_SHARED" = "no" ]; then
6830 echo "WARNING: Using static linking will disable the WebKit module."
6835 CFG_CONCURRENT="yes"
6836 if [ "$canBuildQtConcurrent" = "no" ]; then
6837 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
6840 QT_CONFIG="$QT_CONFIG concurrent"
6844 if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
6845 QT_CONFIG="$QT_CONFIG audio-backend"
6849 if [ "$CFG_WEBKIT" = "debug" ]; then
6850 QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
6854 QT_CONFIG="$QT_CONFIG v8"
6855 # Detect snapshot support
6856 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
6857 case "$CFG_HOST_ARCH,$CFG_ARCH" in
6860 *) canUseV8Snapshot="no"
6864 if [ -n "$_SBOX_DIR" -a "$CFG_ARCH" = "arm" ]; then
6865 # QEMU crashes when building inside Scratchbox with an ARM target
6866 canUseV8Snapshot="no"
6869 if [ "$CFG_V8SNAPSHOT" = "auto" ]; then
6870 CFG_V8SNAPSHOT="$canUseV8Snapshot"
6872 if [ "$CFG_V8SNAPSHOT" = "yes" -a "$canUseV8Snapshot" = "no" ]; then
6873 echo "Error: V8 snapshot was requested, but is not supported on this platform."
6876 if [ "$CFG_V8SNAPSHOT" = "yes" ]; then
6877 QT_CONFIG="$QT_CONFIG v8snapshot"
6881 if [ "$CFG_DECLARATIVE_DEBUG" = "no" ]; then
6882 QCONFIG_FLAGS="$QCONFIG_FLAGS QDECLARATIVE_NO_DEBUG_PROTOCOL"
6885 if [ "$CFG_EXCEPTIONS" = "no" ]; then
6888 QMakeVar add QMAKE_CFLAGS -fno-exceptions
6889 QMakeVar add QMAKE_CXXFLAGS -fno-exceptions
6890 QMakeVar add QMAKE_LFLAGS -fno-exceptions
6895 QMakeVar add QMAKE_CFLAGS -LANG:exceptions=off
6896 QMakeVar add QMAKE_CXXFLAGS -LANG:exceptions=off
6897 QMakeVar add QMAKE_LFLAGS -LANG:exceptions=off
6904 QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off"
6910 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
6912 case "$COMPILER_VERSION" in
6914 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
6915 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
6916 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
6919 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
6920 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
6921 QT_GCC_PATCH_VERSION=0
6931 #-------------------------------------------------------------------------------
6932 # part of configuration information goes into qconfig.h
6933 #-------------------------------------------------------------------------------
6935 case "$CFG_QCONFIG" in
6937 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
6940 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
6941 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
6942 if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
6943 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
6944 elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
6945 cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
6947 echo "#endif" >>"$tmpconfig"
6951 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6955 # define QT_EDITION $QT_EDITION
6958 /* Machine byte-order */
6959 #define Q_BIG_ENDIAN 4321
6960 #define Q_LITTLE_ENDIAN 1234
6963 echo "#ifdef QT_BOOTSTRAPPED" >>"$outpath/src/corelib/global/qconfig.h.new"
6964 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
6965 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6966 #if defined(__BIG_ENDIAN__)
6967 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6968 #elif defined(__LITTLE_ENDIAN__)
6969 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6971 # error "Unable to determine byte order!"
6975 echo "#define Q_BYTE_ORDER $CFG_HOST_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6977 echo "#else" >>"$outpath/src/corelib/global/qconfig.h.new"
6978 if [ "$CFG_ENDIAN" = "auto" ]; then
6979 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6980 #if defined(__BIG_ENDIAN__)
6981 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6982 #elif defined(__LITTLE_ENDIAN__)
6983 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6985 # error "Unable to determine byte order!"
6989 echo "#define Q_BYTE_ORDER $CFG_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6991 echo "#endif" >>"$outpath/src/corelib/global/qconfig.h.new"
6993 if [ "$CFG_DOUBLEFORMAT" != "normal" ]; then
6994 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6995 /* Non-IEEE double format */
6996 #define Q_DOUBLE_LITTLE "01234567"
6997 #define Q_DOUBLE_BIG "76543210"
6998 #define Q_DOUBLE_LITTLE_SWAPPED "45670123"
6999 #define Q_DOUBLE_BIG_SWAPPED "32107654"
7000 #define Q_DOUBLE_FORMAT $CFG_DOUBLEFORMAT
7003 if [ "$CFG_ARMFPA" = "yes" ]; then
7004 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
7005 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
7006 #ifndef QT_BOOTSTRAPPED
7011 echo "#define QT_ARMFPA" >>"$outpath/src/corelib/global/qconfig.h.new"
7015 CFG_ARCH_STR=`echo $CFG_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7016 CFG_HOST_ARCH_STR=`echo $CFG_HOST_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7017 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
7018 /* Machine Architecture */
7019 #ifndef QT_BOOTSTRAPPED
7020 # define QT_ARCH_${CFG_ARCH_STR}
7022 # define QT_ARCH_${CFG_HOST_ARCH_STR}
7026 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
7027 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
7029 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
7030 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
7033 if [ "$CFG_FRAMEWORK" = "yes" ]; then
7034 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
7037 if [ "$PLATFORM_MAC" = "yes" ]; then
7038 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
7039 #if defined(__LP64__)
7040 # define QT_POINTER_SIZE 8
7042 # define QT_POINTER_SIZE 4
7046 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
7047 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
7051 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
7053 if [ "$CFG_DEV" = "yes" ]; then
7054 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
7057 # Embedded compile time options
7058 if [ "$PLATFORM_QWS" = "yes" ]; then
7059 # Add QWS to config.h
7060 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QWS"
7062 # Add excluded decorations to $QCONFIG_FLAGS
7063 decors=`grep '^decorations -= ' "$QMAKE_VARS_FILE" | ${AWK} '{print $3}'`
7064 for decor in $decors; do
7065 NODECORATION=`echo $decor | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7066 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_NO_QWS_DECORATION_${NODECORATION}"
7069 # Figure which embedded drivers which are turned off
7070 CFG_GFX_OFF="$CFG_GFX_AVAILABLE"
7071 for ADRIVER in $CFG_GFX_ON; do
7072 CFG_GFX_OFF=`echo "${CFG_GFX_OFF} " | sed "s,${ADRIVER} ,,g"`
7075 CFG_KBD_OFF="$CFG_KBD_AVAILABLE"
7076 # the um driver is currently not in the available list for external builds
7077 if [ "$CFG_DEV" = "no" ]; then
7078 CFG_KBD_OFF="$CFG_KBD_OFF um"
7080 for ADRIVER in $CFG_KBD_ON; do
7081 CFG_KBD_OFF=`echo "${CFG_KBD_OFF} " | sed "s,${ADRIVER} ,,g"`
7084 CFG_MOUSE_OFF="$CFG_MOUSE_AVAILABLE"
7085 for ADRIVER in $CFG_MOUSE_ON; do
7086 CFG_MOUSE_OFF=`echo "${CFG_MOUSE_OFF} " | sed "s,${ADRIVER} ,,g"`
7089 for DRIVER in $CFG_GFX_OFF; do
7090 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7091 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_$NODRIVER"
7094 for DRIVER in $CFG_KBD_OFF; do
7095 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7096 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_KBD_$NODRIVER"
7099 for DRIVER in $CFG_MOUSE_OFF; do
7100 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7101 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_MOUSE_$NODRIVER"
7105 if [ "$PLATFORM_QPA" = "yes" ]; then
7106 # Add QPA to config.h
7107 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
7110 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
7111 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
7114 # Add turned on SQL drivers
7115 for DRIVER in $CFG_SQL_AVAILABLE; do
7116 eval "VAL=\$CFG_SQL_$DRIVER"
7119 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7120 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
7121 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
7124 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
7130 QMakeVar set sql-drivers "$SQL_DRIVERS"
7131 QMakeVar set sql-plugins "$SQL_PLUGINS"
7133 # Add other configuration options to the qconfig.h file
7134 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
7135 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
7136 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
7137 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
7138 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
7139 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
7140 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
7142 # X11/Unix/Mac only configs
7143 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
7144 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
7145 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
7146 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
7147 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
7148 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
7149 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
7150 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
7151 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
7152 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
7153 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
7154 [ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NAS"
7155 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
7156 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
7157 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
7159 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
7160 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
7161 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
7162 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
7163 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
7164 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
7165 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
7166 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
7167 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
7168 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
7169 [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
7170 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
7171 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
7173 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
7174 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
7175 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
7176 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
7177 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
7178 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
7179 [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
7180 [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
7182 # sort QCONFIG_FLAGS for neatness if we can
7183 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
7184 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
7186 if [ -n "$QCONFIG_FLAGS" ]; then
7187 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7188 #ifndef QT_BOOTSTRAPPED
7191 for cfg in $QCONFIG_FLAGS; do
7192 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
7193 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
7194 # figure out define logic, so we can output the correct
7195 # ifdefs to override the global defines in a project
7197 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
7198 # QT_NO_option can be forcefully turned on by QT_option
7199 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
7200 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
7201 # QT_option can be forcefully turned off by QT_NO_option
7202 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
7205 if [ -z $cfgdNeg ]; then
7206 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7213 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7214 #if defined($cfgd) && defined($cfgdNeg)
7216 #elif !defined($cfgd) && !defined($cfgdNeg)
7223 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7224 #endif // QT_BOOTSTRAPPED
7229 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
7230 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7231 #define QT_VISIBILITY_AVAILABLE
7236 if [ -n "$QT_LIBINFIX" ]; then
7237 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7238 #define QT_LIBINFIX "$QT_LIBINFIX"
7243 # avoid unecessary rebuilds by copying only if qconfig.h has changed
7244 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
7245 rm -f "$outpath/src/corelib/global/qconfig.h.new"
7247 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
7248 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
7249 chmod -w "$outpath/src/corelib/global/qconfig.h"
7250 for conf in "$outpath/include/QtCore/qconfig.h" "$outpath/include/Qt/qconfig.h"; do
7251 ln -s "$outpath/src/corelib/global/qconfig.h" "$conf"
7255 #-------------------------------------------------------------------------------
7256 # save configuration into qconfig.pri
7257 #-------------------------------------------------------------------------------
7258 QTCONFIG="$outpath/mkspecs/qconfig.pri"
7259 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
7260 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
7261 if [ "$CFG_DEBUG" = "yes" ]; then
7262 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
7263 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
7264 QT_CONFIG="$QT_CONFIG release"
7266 QT_CONFIG="$QT_CONFIG debug"
7267 elif [ "$CFG_DEBUG" = "no" ]; then
7268 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
7269 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
7270 QT_CONFIG="$QT_CONFIG debug"
7272 QT_CONFIG="$QT_CONFIG release"
7274 if [ "$CFG_STL" = "yes" ]; then
7275 QTCONFIG_CONFIG="$QTCONFIG_CONFIG stl"
7277 if [ "$CFG_FRAMEWORK" = "no" ]; then
7278 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
7280 QT_CONFIG="$QT_CONFIG qt_framework"
7281 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
7283 if [ "$BUILD_ON_MAC" = "yes" ]; then
7284 QT_CONFIG="$QT_CONFIG $CFG_MAC_ARCHS"
7286 if [ "$CFG_DEV" = "yes" ]; then
7287 QT_CONFIG="$QT_CONFIG private_tests"
7290 # Make the application arch follow the Qt arch for single arch builds.
7291 # (for multiple-arch builds, set CONFIG manually in the application .pro file)
7292 if [ `echo "$CFG_MAC_ARCHS" | wc -w` -eq 1 ]; then
7293 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $CFG_MAC_ARCHS"
7296 cat >>"$QTCONFIG.tmp" <<EOF
7298 CONFIG += $QTCONFIG_CONFIG
7300 QT_EDITION = $Edition
7301 QT_CONFIG += $QT_CONFIG
7304 QT_VERSION = $QT_VERSION
7305 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
7306 QT_MINOR_VERSION = $QT_MINOR_VERSION
7307 QT_PATCH_VERSION = $QT_PATCH_VERSION
7310 QT_LIBINFIX = $QT_LIBINFIX
7311 QT_NAMESPACE = $QT_NAMESPACE
7312 QT_NAMESPACE_MAC_CRC = $QT_NAMESPACE_MAC_CRC
7315 if [ -n "$CFG_SYSROOT" ]; then
7316 echo "# sysroot" >>"$QTCONFIG.tmp"
7317 echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
7318 echo " QT_SYSROOT += \$\$quote($CFG_SYSROOT)" >>"$QTCONFIG.tmp"
7319 echo " QMAKE_CFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
7320 echo " QMAKE_CXXFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
7321 echo " QMAKE_LFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
7322 echo "}" >> "$QTCONFIG.tmp"
7323 echo >> "$QTCONFIG.tmp"
7325 if [ "$CFG_RPATH" = "yes" ]; then
7326 echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
7328 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
7329 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
7330 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
7331 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
7334 if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
7335 echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
7336 echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp"
7339 # replace qconfig.pri if it differs from the newly created temp file
7340 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
7341 rm -f "$QTCONFIG.tmp"
7343 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
7346 #-------------------------------------------------------------------------------
7347 # save configuration into qmodule.pri
7348 #-------------------------------------------------------------------------------
7349 QTMODULE="$outpath/mkspecs/qmodule.pri"
7351 echo "CONFIG += create_prl link_prl" >> "$QTMODULE.tmp"
7353 # Ensure we can link to uninistalled libraries
7354 if [ "$XPLATFORM_MINGW" != "yes" ] && [ "$CFG_EMBEDDED" != "nacl" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
7355 echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
7357 if [ -n "$QT_CFLAGS_PSQL" ]; then
7358 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
7360 if [ -n "$QT_LFLAGS_PSQL" ]; then
7361 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
7363 if [ -n "$QT_CFLAGS_MYSQL" ]; then
7364 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
7366 if [ -n "$QT_LFLAGS_MYSQL" ]; then
7367 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
7369 if [ -n "$QT_CFLAGS_SQLITE" ]; then
7370 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
7372 if [ -n "$QT_LFLAGS_SQLITE" ]; then
7373 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
7375 if [ -n "$QT_LFLAGS_ODBC" ]; then
7376 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
7378 if [ -n "$QT_LFLAGS_TDS" ]; then
7379 echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
7382 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
7383 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
7386 #dump in the OPENSSL_LIBS info
7387 if [ '!' -z "$OPENSSL_LIBS" ]; then
7388 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
7389 elif [ "$CFG_OPENSSL" = "linked" ]; then
7390 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
7393 #dump in the SDK info
7394 if [ '!' -z "$CFG_SDK" ]; then
7395 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
7398 # mac gcc -Xarch support
7399 if [ "$CFG_MAC_XARCH" = "no" ]; then
7400 echo "QMAKE_MAC_XARCH = no" >> "$QTMODULE.tmp"
7404 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
7405 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
7407 # replace qmodule.pri if it differs from the newly created temp file
7408 if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
7409 rm -f "$QTMODULE.tmp"
7411 mv -f "$QTMODULE.tmp" "$QTMODULE"
7414 #-------------------------------------------------------------------------------
7415 # save configuration into .qmake.cache
7416 #-------------------------------------------------------------------------------
7418 CACHEFILE="$outpath/.qmake.cache"
7419 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
7420 cat >>"$CACHEFILE.tmp" <<EOF
7422 QT_SOURCE_TREE = \$\$quote($relpath)
7423 QT_BUILD_TREE = \$\$quote($outpath)
7424 QT_BUILD_PARTS = $CFG_BUILD_PARTS
7426 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
7427 QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
7428 QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
7429 QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
7430 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
7431 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
7433 include(\$\$PWD/mkspecs/qmodule.pri)
7434 CONFIG += $QMAKE_CONFIG dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
7435 QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
7436 QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
7440 #dump the qmake spec
7441 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
7442 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
7444 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
7449 [ "$CFG_INCREMENTAL" = "auto" ] && "$WHICH" p4 >/dev/null 2>&1 && [ "$CFG_DEV" = "yes" ] && CFG_INCREMENTAL="yes"
7450 if [ "$CFG_INCREMENTAL" = "yes" ]; then
7451 find "$relpath" -perm u+w -mtime -3 | grep 'cpp$' | while read f; do
7452 # don't need to worry about generated files
7453 [ -r `echo $f | sed "s,cpp$,ui,"` ] && continue
7454 basename "$f" | grep '^moc_' >/dev/null 2>&1 && continue
7456 INCREMENTAL="$INCREMENTAL `basename \"$f\" | sed 's,.cpp,.o,'`"
7458 [ '!' -z "$INCREMENTAL" ] && echo "QMAKE_INCREMENTAL += $INCREMENTAL" >> "$CACHEFILE.tmp"
7459 [ -r "$outpath/.qmake.incremental" ] && echo "include($outpath/.qmake.incremental)" >> "$CACHEFILE.tmp"
7462 # replace .qmake.cache if it differs from the newly created temp file
7463 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
7464 rm -f "$CACHEFILE.tmp"
7466 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
7469 #-------------------------------------------------------------------------------
7470 # give feedback on configuration
7471 #-------------------------------------------------------------------------------
7475 if [ "$CFG_EXCEPTIONS" != "no" ]; then
7478 This target is using the GNU C++ compiler ($PLATFORM).
7480 Recent versions of this compiler automatically include code for
7481 exceptions, which increase both the size of the Qt libraries and
7482 the amount of memory taken by your applications.
7484 You may choose to re-run `basename $0` with the -no-exceptions
7485 option to compile Qt without exceptions. This is completely binary
7486 compatible, and existing applications will continue to work.
7494 if [ "$CFG_EXCEPTIONS" != "no" ]; then
7497 This target is using the MIPSpro C++ compiler ($PLATFORM).
7499 You may choose to re-run `basename $0` with the -no-exceptions
7500 option to compile Qt without exceptions. This will make the
7501 size of the Qt library smaller and reduce the amount of memory
7502 taken by your applications.
7514 if [ "$XPLATFORM" = "$PLATFORM" ]; then
7515 echo "Build type: $PLATFORM"
7517 echo "Building on: $PLATFORM"
7518 echo "Building for: $XPLATFORM"
7521 if [ ! -z "$CFG_MAC_ARCHS" ]; then
7522 echo "Architecture: $CFG_ARCH ($CFG_MAC_ARCHS )"
7524 echo "Architecture: $CFG_ARCH"
7527 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
7528 echo "Host architecture: $CFG_HOST_ARCH"
7531 if [ -n "$PLATFORM_NOTES" ]; then
7532 echo "Platform notes:"
7533 echo "$PLATFORM_NOTES"
7538 if [ "$OPT_VERBOSE" = "yes" ]; then
7539 echo $ECHO_N "qmake vars .......... $ECHO_C"
7540 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
7541 echo "qmake switches ......... $QMAKE_SWITCHES"
7544 [ "$CFG_INCREMENTAL" = "yes" ] && [ '!' -z "$INCREMENTAL" ] && echo "Incremental ............ $INCREMENTAL"
7545 echo "Build .................. $CFG_BUILD_PARTS"
7546 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
7547 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
7548 echo "Debug .................. yes (combined)"
7549 if [ "$CFG_DEBUG" = "yes" ]; then
7550 echo "Default Link ........... debug"
7552 echo "Default Link ........... release"
7555 echo "Debug .................. $CFG_DEBUG"
7557 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
7558 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
7559 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
7560 echo "QtConcurrent code ...... $CFG_CONCURRENT"
7561 echo "QtGui module ........... $CFG_GUI"
7562 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
7563 echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
7565 echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
7567 echo "Declarative debugging ...$CFG_DECLARATIVE_DEBUG"
7568 echo "STL support ............ $CFG_STL"
7569 echo "PCH support ............ $CFG_PRECOMPILE"
7570 echo "MMX/3DNOW/SSE/SSE2/SSE3. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}/${CFG_SSE3}"
7571 echo "SSSE3/SSE4.1/SSE4.2..... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
7572 echo "AVX..................... ${CFG_AVX}"
7573 if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then
7574 echo "iWMMXt support ......... ${CFG_IWMMXT}"
7575 echo "NEON support ........... ${CFG_NEON}"
7577 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
7578 echo "getaddrinfo support .... $CFG_GETADDRINFO"
7579 echo "getifaddrs support ..... $CFG_GETIFADDRS"
7580 echo "Accessibility .......... $CFG_ACCESSIBILITY"
7581 echo "NIS support ............ $CFG_NIS"
7582 echo "CUPS support ........... $CFG_CUPS"
7583 echo "Iconv support .......... $CFG_ICONV"
7584 echo "Glib support ........... $CFG_GLIB"
7585 echo "GStreamer support ...... $CFG_GSTREAMER"
7586 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
7587 echo "Large File support ..... $CFG_LARGEFILE"
7588 echo "GIF support ............ $CFG_GIF"
7589 if [ "$CFG_JPEG" = "no" ]; then
7590 echo "JPEG support ........... $CFG_JPEG"
7592 echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
7594 if [ "$CFG_PNG" = "no" ]; then
7595 echo "PNG support ............ $CFG_PNG"
7597 echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
7599 echo "zlib support ........... $CFG_ZLIB"
7600 echo "Session management ..... $CFG_SM"
7601 if [ "$PLATFORM_QWS" = "yes" ]; then
7602 echo "Embedded support ....... $CFG_EMBEDDED"
7603 if [ "$CFG_QWS_FREETYPE" = "auto" ]; then
7604 echo "Freetype2 support ...... $CFG_QWS_FREETYPE ($CFG_LIBFREETYPE)"
7606 echo "Freetype2 support ...... $CFG_QWS_FREETYPE"
7608 # Normalize the decoration output first
7609 CFG_GFX_ON=`echo ${CFG_GFX_ON}`
7610 CFG_GFX_PLUGIN=`echo ${CFG_GFX_PLUGIN}`
7611 echo "Graphics (qt) .......... ${CFG_GFX_ON}"
7612 echo "Graphics (plugin) ...... ${CFG_GFX_PLUGIN}"
7613 CFG_DECORATION_ON=`echo ${CFG_DECORATION_ON}`
7614 CFG_DECORATION_PLUGIN=`echo ${CFG_DECORATION_PLUGIN}`
7615 echo "Decorations (qt) ....... $CFG_DECORATION_ON"
7616 echo "Decorations (plugin) ... $CFG_DECORATION_PLUGIN"
7617 CFG_KBD_ON=`echo ${CFG_KBD_ON}`
7618 CFG_KBD_PLUGIN=`echo ${CFG_KBD_PLUGIN}`
7619 echo "Keyboard driver (qt) ... ${CFG_KBD_ON}"
7620 echo "Keyboard driver (plugin) .. ${CFG_KBD_PLUGIN}"
7621 CFG_MOUSE_ON=`echo ${CFG_MOUSE_ON}`
7622 CFG_MOUSE_PLUGIN=`echo ${CFG_MOUSE_PLUGIN}`
7623 echo "Mouse driver (qt) ...... $CFG_MOUSE_ON"
7624 echo "Mouse driver (plugin) .. $CFG_MOUSE_PLUGIN"
7626 if [ "$CFG_OPENGL" = "desktop" ]; then
7627 echo "OpenGL support ......... yes (Desktop OpenGL)"
7628 elif [ "$CFG_OPENGL" = "es2" ]; then
7629 echo "OpenGL support ......... yes (OpenGL ES 2.x)"
7631 echo "OpenGL support ......... no"
7633 if [ "$CFG_EGL" != "no" ]; then
7634 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
7635 echo "EGL support ............ yes <GLES/egl.h>"
7637 echo "EGL support ............ yes <EGL/egl.h>"
7640 if [ "$CFG_OPENVG" ]; then
7641 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
7642 echo "OpenVG support ......... ShivaVG"
7644 echo "OpenVG support ......... $CFG_OPENVG"
7647 if [ "$PLATFORM_X11" = "yes" ]; then
7648 echo "NAS sound support ...... $CFG_NAS"
7649 echo "XShape support ......... $CFG_XSHAPE"
7650 echo "XVideo support ......... $CFG_XVIDEO"
7651 echo "XSync support .......... $CFG_XSYNC"
7652 echo "Xinerama support ....... $CFG_XINERAMA"
7653 echo "Xcursor support ........ $CFG_XCURSOR"
7654 echo "Xfixes support ......... $CFG_XFIXES"
7655 echo "Xrandr support ......... $CFG_XRANDR"
7656 echo "Xi support ............. $CFG_XINPUT"
7657 echo "MIT-SHM support ........ $CFG_MITSHM"
7658 echo "FontConfig support ..... $CFG_FONTCONFIG"
7659 echo "XKB Support ............ $CFG_XKB"
7660 echo "immodule support ....... $CFG_IM"
7661 echo "GTK theme support ...... $CFG_QGTKSTYLE"
7663 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
7664 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
7665 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
7666 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
7667 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
7668 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
7669 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
7670 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
7671 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
7674 if [ "$CFG_OPENSSL" = "yes" ]; then
7675 OPENSSL_LINKAGE="(run-time)"
7676 elif [ "$CFG_OPENSSL" = "linked" ]; then
7677 OPENSSL_LINKAGE="(linked)"
7679 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
7680 echo "Alsa support ........... $CFG_ALSA"
7681 if [ "$PLATFORM_MAC" = "yes" ]; then
7682 echo "CoreWlan support ....... $CFG_COREWLAN"
7684 echo "libICU support ......... $CFG_ICU"
7685 echo "PCRE support ........... $CFG_PCRE"
7686 if [ "$CFG_XCB_LIMITED" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
7687 echo "Xcb support ............ limited (old version)"
7689 echo "Xcb support ............ $CFG_XCB"
7691 echo "Xrender support ........ $CFG_XRENDER"
7692 if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
7693 echo "XInput2 support ........ $CFG_XINPUT2"
7697 # complain about not being able to use dynamic plugins if we are using a static build
7698 if [ "$CFG_SHARED" = "no" ]; then
7700 echo "WARNING: Using static linking will disable the use of dynamically"
7701 echo "loaded plugins. Make sure to import all needed static plugins,"
7702 echo "or compile needed modules into the library."
7705 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
7707 echo "NOTE: When linking against OpenSSL, you can override the default"
7708 echo "library names through OPENSSL_LIBS."
7710 echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
7713 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
7715 echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
7716 echo "if you want a pure debug build."
7721 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
7726 #-------------------------------------------------------------------------------
7727 # build makefiles based on the configuration
7728 #-------------------------------------------------------------------------------
7730 echo "Finding project files. Please wait..."
7731 if [ "$CFG_NOPROCESS" != "yes" ]; then
7732 "$outpath/bin/qmake" -prl -r "${relpath}/qtbase.pro"
7733 if [ -f "${relpath}/qtbase.pro" ]; then
7734 mkfile="${outpath}/Makefile"
7735 [ -f "$mkfile" ] && chmod +w "$mkfile"
7736 QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/qtbase.pro" -o "$mkfile"
7740 # .projects -> projects to process
7741 # .projects.1 -> qt and moc
7742 # .projects.2 -> subdirs and libs
7743 # .projects.3 -> the rest
7744 rm -f .projects .projects.1 .projects.2 .projects.3
7746 QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
7747 if [ -z "$AWK" ]; then
7748 for p in `echo $QMAKE_PROJECTS`; do
7749 echo "$p" >> .projects
7752 cat >projects.awk <<EOF
7758 first = "./.projects.1.tmp"
7759 second = "./.projects.2.tmp"
7760 third = "./.projects.3.tmp"
7765 if ( ! target_file )
7767 print input_file >target_file
7772 input_file = FILENAME
7777 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
7780 } else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) {
7781 target_file = second
7786 matched_target == 0 && /^(TEMPLATE.*=)/ {
7787 if ( \$3 == "subdirs" )
7788 target_file = second
7789 else if ( \$3 == "lib" )
7795 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
7796 if ( \$0 ~ /plugin/ )
7799 target_file = second
7804 if ( ! target_file )
7806 print input_file >>target_file
7813 for p in `echo $QMAKE_PROJECTS`; do
7814 echo "$p" >> .projects.all
7817 # if you get errors about the length of the command line to awk, change the -l arg
7819 split -l 100 .projects.all .projects.all.
7820 for p in .projects.all.*; do
7821 "$AWK" -f projects.awk `cat $p`
7822 [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
7823 [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
7824 [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
7825 rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
7827 rm -f .projects.all* projects.awk
7829 [ -f .projects.1 ] && cat .projects.1 >>.projects
7830 [ -f .projects.2 ] && cat .projects.2 >>.projects
7831 rm -f .projects.1 .projects.2
7832 if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
7833 cat .projects.3 >>.projects
7837 # don't sort Qt and MOC in with the other project files
7838 # also work around a segfaulting uniq(1)
7839 if [ -f .sorted.projects.2 ]; then
7840 sort .sorted.projects.2 > .sorted.projects.2.new
7841 mv -f .sorted.projects.2.new .sorted.projects.2
7842 cat .sorted.projects.2 >> .sorted.projects.1
7844 [ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
7845 rm -f .sorted.projects.2 .sorted.projects.1
7849 if [ -f .projects ]; then
7850 uniq .projects >.tmp
7851 mv -f .tmp .projects
7852 NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
7854 if [ -f .projects.3 ]; then
7855 uniq .projects.3 >.tmp
7856 mv -f .tmp .projects.3
7857 FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
7859 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
7863 for part in $CFG_BUILD_PARTS; do
7865 tools) PART_ROOTS="$PART_ROOTS tools" ;;
7866 libs) PART_ROOTS="$PART_ROOTS src" ;;
7867 translations) PART_ROOTS="$PART_ROOTS translations" ;;
7868 examples) PART_ROOTS="$PART_ROOTS examples" ;;
7873 if [ "$CFG_DEV" = "yes" ]; then
7874 PART_ROOTS="$PART_ROOTS tests"
7877 echo "Creating makefiles. Please wait..."
7878 for file in .projects .projects.3; do
7879 [ '!' -f "$file" ] && continue
7880 for a in `cat $file`; do
7882 for r in $PART_ROOTS; do
7883 if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
7888 [ "$IN_ROOT" = "no" ] && continue
7891 *winmain/winmain.pro)
7892 if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_MINGW" != "yes" ]; then
7896 */qmake/qmake.pro) continue ;;
7897 *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*) SPEC=$QMAKESPEC ;;
7898 *) if [ "$CFG_NOPROCESS" = "yes" ]; then
7904 dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
7905 test -d "$dir" || mkdir -p "$dir"
7906 OUTDIR="$outpath/$dir"
7907 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
7908 # fast configure - the makefile exists, skip it
7909 # since the makefile exists, it was generated by qmake, which means we
7910 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
7912 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
7915 QMAKE_SPEC_ARGS="-spec $SPEC"
7916 echo $ECHO_N " for $a$ECHO_C"
7918 QMAKE="$outpath/bin/qmake"
7919 QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
7920 if [ "$file" = ".projects.3" ]; then
7923 cat >"${OUTDIR}/Makefile" <<EOF
7924 # ${OUTDIR}/Makefile: generated by configure
7926 # WARNING: This makefile will be replaced with a real makefile.
7927 # All changes made to this file will be lost.
7929 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
7931 cat >>"${OUTDIR}/Makefile" <<EOF
7933 all clean install qmake first Makefile: FORCE
7934 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
7942 if [ "$OPT_VERBOSE" = "yes" ]; then
7943 echo " (`basename $SPEC`)"
7944 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7949 [ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
7950 QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7954 rm -f .projects .projects.3
7956 #-------------------------------------------------------------------------------
7957 # check for platforms that we don't yet know about
7958 #-------------------------------------------------------------------------------
7959 if [ "$CFG_ARCH" = "generic" ]; then
7962 NOTICE: Atomic operations are not yet supported for this
7965 Qt will use the 'generic' architecture instead, which uses a
7966 single pthread_mutex_t to protect all atomic operations. This
7967 implementation is the slow (but safe) fallback implementation
7968 for architectures Qt does not yet support.
7972 #-------------------------------------------------------------------------------
7973 # check if the user passed the -no-zlib option, which is no longer supported
7974 #-------------------------------------------------------------------------------
7975 if [ -n "$ZLIB_FORCED" ]; then
7976 which_zlib="supplied"
7977 if [ "$CFG_ZLIB" = "system" ]; then
7983 NOTICE: The -no-zlib option was supplied but is no longer
7986 Qt now requires zlib support in all builds, so the -no-zlib
7987 option was ignored. Qt will be built using the $which_zlib
7992 #-------------------------------------------------------------------------------
7993 # finally save the executed command to another script
7994 #-------------------------------------------------------------------------------
7995 if [ `basename $0` != "config.status" ]; then
7996 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
7998 # add the system variables
7999 for varname in $SYSTEM_VARIABLES; do
8001 'if [ -n "\$'${varname}'" ]; then
8002 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
8007 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
8009 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
8010 echo "#!/bin/sh" > "$outpath/config.status"
8011 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
8012 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
8013 echo "else" >> "$outpath/config.status"
8014 echo " $CONFIG_STATUS" >> "$outpath/config.status"
8015 echo "fi" >> "$outpath/config.status"
8016 chmod +x "$outpath/config.status"
8019 if [ -n "$RPATH_MESSAGE" ]; then
8021 echo "$RPATH_MESSAGE"
8024 MAKE=`basename "$MAKE"`
8026 echo Qt is now configured for building. Just run \'$MAKE\'.
8027 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
8028 echo Once everything is built, Qt is installed.
8029 echo You should not run \'$MAKE install\'.
8031 echo Once everything is built, you must run \'$MAKE install\'.
8032 echo Qt will be installed into $QT_INSTALL_PREFIX
8035 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.