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\" -outdir \"$outpath\" \"$relpath\" \"\$@\"" >>"$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
2492 # PLATFORM=macx-xcode
2499 #PLATFORM=aix-g++-64
2501 #PLATFORM=aix-xlc-64
2503 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2513 # PLATFORM=dynix-g++
2519 PLATFORM=freebsd-g++
2521 - Also available for FreeBSD: freebsd-icc
2525 PLATFORM=openbsd-g++
2536 #PLATFORM=irix-cc-64
2538 - Also available for IRIX: irix-g++ irix-cc-64
2542 case "$UNAME_MACHINE" in
2544 #PLATFORM=hpuxi-acc-32
2545 PLATFORM=hpuxi-acc-64
2547 - Also available for HP-UXi: hpuxi-acc-32
2553 #PLATFORM=hpux-acc-64
2555 #PLATFORM=hpux-acc-o64
2557 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2566 - Also available for Tru64: tru64-g++
2570 case "$UNAME_MACHINE" in
2572 PLATFORM=linux-g++-64
2579 - Also available for Linux: linux-kcc linux-icc linux-cxx
2583 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2584 PLATFORM="solaris-g++"
2586 #PLATFORM=solaris-g++
2588 #PLATFORM=solaris-cc64
2591 - Also available for Solaris: solaris-g++ solaris-cc-64
2594 ReliantUNIX-*:*|SINIX-*:*)
2595 PLATFORM=reliant-cds
2596 #PLATFORM=reliant-cds-64
2598 - Also available for Reliant UNIX: reliant-cds-64
2608 #PLATFORM=unixware-g++
2609 PLATFORM=unixware-cc
2611 - Also available for OpenUNIX: unixware-g++
2615 #PLATFORM=unixware-g++
2616 PLATFORM=unixware-cc
2618 - Also available for UnixWare: unixware-g++
2625 - Also available for SCO OpenServer: sco-g++
2629 PLATFORM=unixware-g++
2632 PLATFORM=unsupported/qnx-g++
2635 if [ "$OPT_HELP" != "yes" ]; then
2637 for p in $PLATFORMS; do
2638 echo " $relconf $* -platform $p"
2641 echo " The build script does not currently recognize all" >&2
2642 echo " platforms supported by Qt." >&2
2643 echo " Rerun this script with a -platform option listed to" >&2
2644 echo " set the system/compiler combination you use." >&2
2651 if [ "$PLATFORM_QWS" = "yes" ]; then
2653 PLATFORMS=`find "$relpath/mkspecs/qws" | sed "s,$relpath/mkspecs/qws/,,"`
2655 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2658 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2660 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2661 case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
2663 if [ -d "$PLATFORM" ]; then
2664 QMAKESPEC="$PLATFORM"
2666 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2668 if [ -d "$XPLATFORM" ]; then
2669 XQMAKESPEC="$XPLATFORM"
2671 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2673 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2674 QT_CROSS_COMPILE=yes
2675 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2678 if [ "$PLATFORM_MAC" = "yes" ]; then
2679 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2681 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2682 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2683 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2684 echo " built with 'macx-g++'" >&2
2690 # check specified platforms are supported
2691 if [ '!' -d "$QMAKESPEC" ]; then
2693 echo " The specified system/compiler is not supported:"
2697 echo " Please see the README file for a complete list."
2701 if [ '!' -d "$XQMAKESPEC" ]; then
2703 echo " The specified system/compiler is not supported:"
2707 echo " Please see the README file for a complete list."
2711 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2713 echo " The specified system/compiler port is not complete:"
2715 echo " $XQMAKESPEC/qplatformdefs.h"
2717 echo " Please contact qt-info@nokia.com."
2722 # now look at the configs and figure out what platform we are config'd for
2723 [ "$CFG_EMBEDDED" = "no" ] && [ "$PLATFORM_QPA" != "yes" ] \
2724 && [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ] \
2726 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2728 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2729 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2730 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2731 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2732 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2736 #-------------------------------------------------------------------------------
2737 # determine the system architecture
2738 #-------------------------------------------------------------------------------
2739 if [ "$OPT_VERBOSE" = "yes" ]; then
2740 echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
2743 if [ "$CFG_EMBEDDED" != "no" -a "$CFG_EMBEDDED" != "auto" ] && [ -n "$CFG_ARCH" ]; then
2744 if [ "$CFG_ARCH" != "$CFG_EMBEDDED" ]; then
2746 echo "You have specified a target architecture with -embedded and -arch."
2747 echo "The two architectures you have specified are different, so we can"
2748 echo "not proceed. Either set both to be the same, or only use -embedded."
2754 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2755 case `basename "$XPLATFORM"` in
2758 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2760 echo "Please contact qt-info@nokia.com to upgrade your license to"
2761 echo "include this platform, or install the Qt Open Source Edition"
2762 echo "if you intend to develop free software."
2768 if [ -z "${CFG_HOST_ARCH}" ]; then
2769 case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
2771 CFG_HOST_ARCH=`echo ${UNAME_MACHINE} | sed -e 's,[-/].*$,,'`
2772 case "$CFG_HOST_ARCH" in
2777 if [ "$OPT_VERBOSE" = "yes" ]; then
2778 echo " GNU/Hurd ($CFG_HOST_ARCH)"
2782 CFG_HOST_ARCH=`uname -p`
2783 if [ "$OPT_VERBOSE" = "yes" ]; then
2784 echo " SGI ($CFG_HOST_ARCH)"
2788 case "$UNAME_MACHINE" in
2790 if [ "$OPT_VERBOSE" = "yes" ]; then
2791 echo " Sun SPARC (sparc)"
2798 if [ "$OPT_VERBOSE" = "yes" ]; then
2799 echo " 64-bit AMD 80x86 (x86_64)"
2801 CFG_HOST_ARCH=x86_64
2804 if [ "$OPT_VERBOSE" = "yes" ]; then
2805 echo " 32-bit Intel 80x86 (i386)"
2813 if [ "$OPT_VERBOSE" = "yes" ]; then
2814 echo " 64-bit IBM PowerPC (powerpc)"
2816 CFG_HOST_ARCH=powerpc
2819 if [ "$OPT_VERBOSE" = "yes" ]; then
2820 echo " HP PA-RISC (parisc)"
2822 CFG_HOST_ARCH=parisc
2825 if [ "$OPT_VERBOSE" = "yes" ]; then
2826 echo " 32-bit Intel 80x86 (i386)"
2830 *:*:x86_64|*:*:amd64)
2831 if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
2832 if [ "$OPT_VERBOSE" = "yes" ]; then
2833 echo " 32 bit on 64-bit AMD 80x86 (i386)"
2837 if [ "$OPT_VERBOSE" = "yes" ]; then
2838 echo " 64-bit AMD 80x86 (x86_64)"
2840 CFG_HOST_ARCH=x86_64
2844 if [ "$OPT_VERBOSE" = "yes" ]; then
2845 echo " 32-bit PowerPC (powerpc)"
2847 CFG_HOST_ARCH=powerpc
2850 if [ "$OPT_VERBOSE" = "yes" ]; then
2851 echo " 64-bit PowerPC (powerpc)"
2853 CFG_HOST_ARCH=powerpc
2856 if [ "$OPT_VERBOSE" = "yes" ]; then
2857 echo " IBM S/390 (s390)"
2862 if [ "$OPT_VERBOSE" = "yes" ]; then
2868 if [ "$OPT_VERBOSE" = "yes" ]; then
2869 echo " Linux on SPARC"
2874 case "$UNAME_MACHINE" in
2876 if [ "$OPT_VERBOSE" = "yes" ]; then
2877 echo " QNX on Intel 80x86 (i386)"
2884 if [ "$OPT_VERBOSE" = "yes" ]; then
2885 echo " Trying '$UNAME_MACHINE'..."
2887 CFG_HOST_ARCH="$UNAME_MACHINE"
2892 if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
2893 if [ -n "$CFG_ARCH" ]; then
2894 CFG_EMBEDDED=$CFG_ARCH
2897 case "$CFG_EMBEDDED" in
2920 CFG_ARCH="$CFG_EMBEDDED"
2923 elif [ "$XPLATFORM_MINGW" = "yes" ]; then
2924 [ -z "$CFG_ARCH" ] && CFG_ARCH="windows"
2925 elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
2926 CFG_ARCH=$CFG_HOST_ARCH
2933 # previously, armv6 was a different arch
2939 if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
2940 if [ "$OPT_VERBOSE" = "yes" ]; then
2941 echo " '$CFG_ARCH' is supported"
2944 if [ "$OPT_VERBOSE" = "yes" ]; then
2945 echo " '$CFG_ARCH' is unsupported, using 'generic'"
2949 if [ "$CFG_HOST_ARCH" != "$CFG_ARCH" ]; then
2950 if [ -d "$relpath/src/corelib/arch/$CFG_HOST_ARCH" ]; then
2951 if [ "$OPT_VERBOSE" = "yes" ]; then
2952 echo " '$CFG_HOST_ARCH' is supported"
2955 if [ "$OPT_VERBOSE" = "yes" ]; then
2956 echo " '$CFG_HOST_ARCH' is unsupported, using 'generic'"
2958 CFG_HOST_ARCH=generic
2962 if [ "$OPT_VERBOSE" = "yes" ]; then
2963 echo "System architecture: '$CFG_ARCH'"
2964 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
2965 echo "Host architecture: '$CFG_HOST_ARCH'"
2969 #-------------------------------------------------------------------------------
2970 # tests that don't need qmake (must be run before displaying help)
2971 #-------------------------------------------------------------------------------
2973 # detect build style
2974 if [ "$CFG_DEBUG" = "auto" ]; then
2975 if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2976 CFG_DEBUG_RELEASE=yes
2978 elif [ "$CFG_DEV" = "yes" ]; then
2979 CFG_DEBUG_RELEASE=no
2982 CFG_DEBUG_RELEASE=no
2986 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2987 QT_CONFIG="$QT_CONFIG build_all"
2990 if [ -z "$PKG_CONFIG" ]; then
2991 # See if PKG_CONFIG is set in the mkspec:
2992 PKG_CONFIG=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%PKG_CONFIG[^_].*=%%p' | tr '\n' ' '`
2994 if [ -z "$PKG_CONFIG" ]; then
2995 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
2998 # Work out if we can use pkg-config
2999 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3000 if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
3002 echo >&2 "You have asked to use pkg-config and are cross-compiling."
3003 echo >&2 "Please make sure you have a correctly set-up pkg-config"
3004 echo >&2 "environment!"
3006 if [ -z "$PKG_CONFIG_PATH" ]; then
3008 echo >&2 "Warning: PKG_CONFIG_PATH has not been set. This could mean"
3009 echo >&2 "the host compiler's .pc files will be used. This is probably"
3010 echo >&2 "not what you want."
3012 elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
3014 echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
3015 echo >&2 "been set. This means your toolchain's .pc files must contain"
3016 echo >&2 "the paths to the toolchain's libraries & headers. If configure"
3017 echo >&2 "tests are failing, please check these files."
3022 echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
3023 echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
3024 echo >&2 "dependencies"
3030 if [ ! -n "$PKG_CONFIG" ]; then
3031 QT_CONFIG="$QT_CONFIG no-pkg-config"
3034 # pass on $CFG_SDK to the configure tests.
3035 if [ '!' -z "$CFG_SDK" ]; then
3036 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
3039 # find the default framework value
3040 if [ "$PLATFORM_MAC" = "yes" ]; then
3041 if [ "$CFG_FRAMEWORK" = "auto" ]; then
3042 CFG_FRAMEWORK="$CFG_SHARED"
3043 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
3045 echo "WARNING: Using static linking will disable the use of Mac frameworks."
3053 QMAKE_CONF_COMPILER=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | tail -1`
3054 TEST_COMPILER="$CXX"
3056 [ -z "$TEST_COMPILER" ] && TEST_COMPILER=$QMAKE_CONF_COMPILER
3057 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
3058 if [ -z "$TEST_COMPILER" ]; then
3059 echo "ERROR: Cannot set the compiler for the configuration tests"
3064 if [ "$CFG_EMBEDDED" = "nacl" ]; then
3065 TEST_COMPILER="nacl-gcc"
3069 if [ -n "$CFG_SYSROOT" ]; then
3070 if compilerSupportsFlag --sysroot="$CFG_SYSROOT"; then
3071 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting sysroot to: $CFG_SYSROOT"
3072 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
3074 echo >&2 "The compiler doesn't support the --sysroot flag, I can't set the sysroot"
3078 export SYSROOT_FLAG # used by config.tests/unix/compile.test
3080 # auto-detect precompiled header support
3081 if [ "$CFG_PRECOMPILE" = "auto" ]; then
3082 if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
3089 #auto-detect DWARF2 on the mac
3090 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
3091 if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
3098 # don't autodetect support for separate debug info on objcopy when
3099 # cross-compiling as lots of toolchains seems to have problems with this
3100 if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3101 CFG_SEPARATE_DEBUG_INFO="no"
3104 # auto-detect support for separate debug info in objcopy
3105 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
3106 TEST_COMPILER_CFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CFLAGS[^_=]*[+*]*=%%p' | tr '\n' ' '`
3107 TEST_COMPILER_CXXFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CXXFLAGS[^_=]*[+*]*=%%p' | tr '\n' ' '`
3108 TEST_OBJCOPY=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_OBJCOPY" | sed "s%.* *= *\(.*\)$%\1%" | tail -1`
3109 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
3110 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
3111 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
3112 CFG_SEPARATE_DEBUG_INFO=no
3116 # binutils on HP-UX is buggy; default to no.
3117 CFG_SEPARATE_DEBUG_INFO=no
3120 CFG_SEPARATE_DEBUG_INFO=yes
3126 # auto-detect -fvisibility support
3127 if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then
3128 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
3129 CFG_REDUCE_EXPORTS=no
3131 CFG_REDUCE_EXPORTS=yes
3135 # detect the availability of the -Bsymbolic-functions linker optimization
3136 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
3137 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
3138 CFG_REDUCE_RELOCATIONS=no
3140 CFG_REDUCE_RELOCATIONS=yes
3144 # auto-detect GNU make support
3145 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
3149 # If -opengl wasn't specified, don't try to auto-detect
3150 if [ "$PLATFORM_QWS" = "yes" ] && [ "$CFG_OPENGL" = "auto" ]; then
3155 if [ "$PLATFORM_MAC" = "yes" ]; then
3156 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
3161 # find the default framework value
3162 if [ "$PLATFORM_MAC" = "yes" ]; then
3163 if [ "$CFG_FRAMEWORK" = "auto" ]; then
3164 CFG_FRAMEWORK="$CFG_SHARED"
3165 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
3167 echo "WARNING: Using static linking will disable the use of Mac frameworks."
3175 # Print a warning if configure was called with the 10.4u SDK option on Snow Leopard
3176 # with the default mkspec. The 10.4u SDK does not support gcc 4.2.
3177 if [ "$PLATFORM_MAC" = "yes" ] && [ '!' -z "$CFG_SDK" ]; then
3178 # get the darwin version. 10.0.0 and up means snow leopard.
3179 VERSION=`uname -r | tr '.' ' ' | awk '{print $1}'`
3180 if [ "$VERSION" -gt 9 ] && [ "$CFG_SDK" == "/Developer/SDKs/MacOSX10.4u.sdk/" ] && [ "$PLATFORM" == "macx-g++" ]; then
3182 echo "WARNING: The 10.4u SDK does not support gcc 4.2. Configure with -platform macx-g++40. "
3187 # x11 tests are done after qmake is built
3190 #setup the build parts
3191 if [ -z "$CFG_BUILD_PARTS" ]; then
3192 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
3194 # don't build tools by default when cross-compiling
3195 if [ "$PLATFORM" != "$XPLATFORM" ]; then
3196 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
3199 for nobuild in $CFG_NOBUILD_PARTS; do
3200 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
3202 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
3204 # echo "WARNING: libs is a required part of the build."
3206 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
3209 #-------------------------------------------------------------------------------
3210 # post process QT_INSTALL_* variables
3211 #-------------------------------------------------------------------------------
3213 if [ -z "$QT_INSTALL_PREFIX" ]; then
3214 if [ "$CFG_DEV" = "yes" ]; then
3215 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
3217 QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION
3220 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
3222 if [ -z "$QT_INSTALL_DOCS" ]; then #default
3223 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3224 if [ "$PLATFORM_MAC" = "yes" ]; then
3225 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
3228 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
3231 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
3233 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
3234 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3235 if [ "$PLATFORM_MAC" = "yes" ]; then
3236 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3241 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
3244 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
3246 if [ -z "$QT_INSTALL_LIBS" ]; then #default
3247 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3248 if [ "$PLATFORM_MAC" = "yes" ]; then
3249 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3250 QT_INSTALL_LIBS="/Libraries/Frameworks"
3254 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
3256 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
3258 if [ -z "$QT_INSTALL_BINS" ]; then #default
3259 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3260 if [ "$PLATFORM_MAC" = "yes" ]; then
3261 QT_INSTALL_BINS="/Developer/Applications/Qt"
3264 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
3266 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
3268 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
3269 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3270 if [ "$PLATFORM_MAC" = "yes" ]; then
3271 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
3274 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
3276 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
3278 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
3279 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3280 if [ "$PLATFORM_MAC" = "yes" ]; then
3281 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
3284 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
3286 QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
3288 if [ -z "$QT_INSTALL_DATA" ]; then #default
3289 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
3291 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
3293 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
3294 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
3296 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
3298 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
3299 if [ "$PLATFORM_MAC" = "yes" ]; then
3300 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
3302 QT_INSTALL_SETTINGS=/etc/xdg
3305 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
3307 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
3308 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3309 if [ "$PLATFORM_MAC" = "yes" ]; then
3310 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
3313 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
3315 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
3318 if [ -z "$QT_INSTALL_TESTS" ]; then #default
3319 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3320 if [ "$PLATFORM_MAC" = "yes" ]; then
3321 QT_INSTALL_TESTS="/Developer/Tests/Qt"
3324 [ -z "$QT_INSTALL_TESTS" ] && QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback
3326 QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
3328 #-------------------------------------------------------------------------------
3329 # help - interactive parts of the script _after_ this section please
3330 #-------------------------------------------------------------------------------
3332 # next, emit a usage message if something failed.
3333 if [ "$OPT_HELP" = "yes" ]; then
3334 [ "x$ERROR" = "xyes" ] && echo
3335 if [ "$CFG_NIS" = "no" ]; then
3342 if [ "$CFG_CUPS" = "no" ]; then
3349 if [ "$CFG_ICONV" = "no" ]; then
3356 if [ "$CFG_LARGEFILE" = "no" ]; then
3363 if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then
3370 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
3378 if [ "$CFG_XCB" = "no" ]; then
3386 if [ "$CFG_WAYLAND" = "no" ]; then
3393 if [ "$CFG_XINPUT2" = "no" ]; then
3402 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
3403 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
3404 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-testsdir <dir>]
3405 [-release] [-debug] [-debug-and-release]
3406 [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
3407 [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
3408 [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
3409 [-plugin-sql-<driver>] [-system-sqlite]
3410 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
3411 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
3412 [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
3413 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
3414 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
3415 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
3416 [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
3417 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
3418 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] [-armfpa]
3419 [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
3420 [-no-audio-backend] [-audio-backend]
3421 [-no-javascript-jit] [-javascript-jit] [-no-declarative-debug] [-declarative-debug]
3422 [-no-optimized-qmake] [-optimized-qmake]
3423 [-no-openssl] [-openssl] [-openssl-linked]
3424 [-no-gtkstyle] [-gtkstyle]
3425 [-qt-pcre] [-system-pcre]
3426 [additional platform specific options (see below)]
3429 Installation options:
3431 -qpa ................ This will enable the QPA build.
3432 QPA is a window system agnostic implementation of Qt.
3434 These are optional, but you may specify install directories.
3436 -prefix <dir> ...... This will install everything relative to <dir>
3437 (default $QT_INSTALL_PREFIX)
3439 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3442 -hostprefix [dir] .. Tools and libraries needed when developing
3443 applications are installed in [dir]. If [dir] is
3444 not given, the current build directory will be used.
3449 * -prefix-install .... Force a sandboxed "local" installation of
3450 Qt. This will install into
3451 $QT_INSTALL_PREFIX, if this option is
3452 disabled then some platforms will attempt a
3453 "system" install by placing default values to
3454 be placed in a system location other than
3457 You may use these to separate different parts of the install:
3459 -bindir <dir> ......... Executables will be installed to <dir>
3460 (default PREFIX/bin)
3461 -libdir <dir> ......... Libraries will be installed to <dir>
3462 (default PREFIX/lib)
3463 -docdir <dir> ......... Documentation will be installed to <dir>
3464 (default PREFIX/doc)
3465 -headerdir <dir> ...... Headers will be installed to <dir>
3466 (default PREFIX/include)
3467 -plugindir <dir> ...... Plugins will be installed to <dir>
3468 (default PREFIX/plugins)
3469 -importdir <dir> ...... Imports for QML will be installed to <dir>
3470 (default PREFIX/imports)
3471 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
3473 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
3474 (default PREFIX/translations)
3475 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
3476 (default PREFIX/etc/settings)
3477 -examplesdir <dir> .... Examples will be installed to <dir>
3478 (default PREFIX/examples)
3479 -testsdir <dir> ....... Tests will be installed to <dir>
3480 (default PREFIX/tests)
3484 The defaults (*) are usually acceptable. A plus (+) denotes a default value
3485 that needs to be evaluated. If the evaluation succeeds, the feature is
3486 included. Here is a short explanation of each option:
3488 * -release ........... Compile and link Qt with debugging turned off.
3489 -debug ............. Compile and link Qt with debugging turned on.
3490 -debug-and-release . Compile and link two versions of Qt, with and without
3491 debugging turned on (Mac only).
3493 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
3495 -opensource ........ Compile and link the Open-Source Edition of Qt.
3496 -commercial ........ Compile and link the Commercial Edition of Qt.
3499 * -shared ............ Create and use shared Qt libraries.
3500 -static ............ Create and use static Qt libraries.
3502 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3504 -fast .............. Configure Qt quickly by generating Makefiles only for
3505 library and subdirectory targets. All other Makefiles
3506 are created as wrappers, which will in turn run qmake.
3508 -no-largefile ...... Disables large file support.
3509 + -largefile ......... Enables Qt to access files larger than 4 GB.
3512 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3519 if [ "$CFG_DBUS" = "no" ]; then
3528 $EXCN -no-exceptions ..... Disable exceptions on compilers that support it.
3529 $EXCY -exceptions ........ Enable exceptions on compilers that support it.
3531 -no-accessibility .. Do not compile Accessibility support.
3532 * -accessibility ..... Compile Accessibility support.
3534 $SHN -no-stl ............ Do not compile STL support.
3535 $SHY -stl ............... Compile STL support.
3537 -no-sql-<driver> ... Disable SQL <driver> entirely.
3538 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3540 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3543 Possible values for <driver>:
3544 [ $CFG_SQL_AVAILABLE ]
3546 -system-sqlite ..... Use sqlite from the operating system.
3548 -no-phonon-backend.. Do not build the platform phonon plugin.
3549 + -phonon-backend..... Build the platform phonon plugin.
3551 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
3552 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
3554 -no-declarative-debug ..... Do not build the declarative debugging support.
3555 + -declarative-debug ....... Build the declarative debugging support.
3557 -platform target ... The operating system and compiler you are building
3560 See the README file for a list of supported
3561 operating systems and compilers.
3564 if [ "${PLATFORM_QWS}" != "yes" -a "${PLATFORM_QPA}" != "yes" ]; then
3566 -graphicssystem <sys> Sets an alternate graphics system. Available options are:
3567 raster - Software rasterizer
3568 opengl - Rendering via OpenGL, Experimental!
3569 openvg - Rendering via OpenVG, Experimental!
3576 -no-mmx ............ Do not compile with use of MMX instructions.
3577 -no-3dnow .......... Do not compile with use of 3DNOW instructions.
3578 -no-sse ............ Do not compile with use of SSE instructions.
3579 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3580 -no-sse3 ........... Do not compile with use of SSE3 instructions.
3581 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
3582 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
3583 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
3584 -no-avx ............ Do not compile with use of AVX instructions.
3585 -no-neon ........... Do not compile with use of NEON instructions.
3587 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3588 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3590 -testcocoon Instrument Qt with the TestCocoon code coverage tool.
3592 -D <string> ........ Add an explicit define to the preprocessor.
3593 -I <string> ........ Add an explicit include path.
3594 -L <string> ........ Add an explicit library path.
3596 -help, -h .......... Display this information.
3598 Third Party Libraries:
3600 -qt-zlib ........... Use the zlib bundled with Qt.
3601 + -system-zlib ....... Use zlib from the operating system.
3602 See http://www.gzip.org/zlib
3604 -no-gif ............ Do not compile GIF reading support.
3606 -no-libpng ......... Do not compile PNG support.
3607 -qt-libpng ......... Use the libpng bundled with Qt.
3608 + -system-libpng ..... Use libpng from the operating system.
3609 See http://www.libpng.org/pub/png
3611 -no-libjpeg ........ Do not compile JPEG support.
3612 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3613 + -system-libjpeg .... Use libjpeg from the operating system.
3614 See http://www.ijg.org
3616 -no-openssl ........ Do not compile support for OpenSSL.
3617 + -openssl ........... Enable run-time OpenSSL support.
3618 -openssl-linked .... Enabled linked OpenSSL support.
3620 -qt-pcre ........... Use the PCRE library bundled with Qt.
3621 + -system-pcre ....... Use the PCRE library from the operating system.
3625 -make <part> ....... Add part to the list of parts to be built at make time.
3626 ($QT_DEFAULT_BUILD_PARTS)
3627 -nomake <part> ..... Exclude part from the list of parts to be built.
3629 -R <string> ........ Add an explicit runtime library path to the Qt
3631 -l <string> ........ Add an explicit library.
3633 -no-rpath .......... Do not use the library install path as a runtime
3635 + -rpath ............. Link Qt libraries and executables using the library
3636 install path as a runtime library path. Equivalent
3637 to -R install_libpath
3639 -continue .......... Continue as far as possible if an error occurs.
3641 -verbose, -v ....... Print verbose information about each step of the
3644 -silent ............ Reduce the build output so that warnings and errors
3645 can be seen more easily.
3647 * -no-optimized-qmake ... Do not build qmake optimized.
3648 -optimized-qmake ...... Build qmake optimized.
3650 -no-gui ............ Don't build the Qt GUI library
3652 $NSN -no-nis ............ Do not compile NIS support.
3653 $NSY -nis ............... Compile NIS support.
3655 $CUN -no-cups ........... Do not compile CUPS support.
3656 $CUY -cups .............. Compile CUPS support.
3657 Requires cups/cups.h and libcups.so.2.
3659 $CIN -no-iconv .......... Do not compile support for iconv(3).
3660 $CIY -iconv ............. Compile support for iconv(3).
3662 $PHN -no-pch ............ Do not use precompiled header support.
3663 $PHY -pch ............... Use precompiled header support.
3665 $DBN -no-dbus ........... Do not compile the QtDBus module.
3666 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3667 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3669 -reduce-relocations ..... Reduce relocations in the libraries through extra
3670 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3671 experimental; needs GNU ld >= 2.18).
3673 -force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
3677 if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3678 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3685 elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
3693 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3697 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3698 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3700 $XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
3701 $XCBY -xcb ............... Compile Xcb support.
3703 $XWN -no-wayland......... Do not compile Wayland support.
3704 $XWY -wayland .......... Compile Wayland support.
3710 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
3714 $X2N -no-xinput2......... Do not compile XInput2 support.
3715 $X2Y -xinput2............ Compile XInput2 support.
3721 if [ "$PLATFORM_X11" = "yes" ]; then
3722 if [ "$CFG_SM" = "no" ]; then
3729 if [ "$CFG_XSHAPE" = "no" ]; then
3736 if [ "$CFG_XVIDEO" = "no" ]; then
3743 if [ "$CFG_XINERAMA" = "no" ]; then
3750 if [ "$CFG_FONTCONFIG" = "no" ]; then
3757 if [ "$CFG_XCURSOR" = "no" ]; then
3764 if [ "$CFG_XFIXES" = "no" ]; then
3771 if [ "$CFG_XRANDR" = "no" ]; then
3778 if [ "$CFG_XRENDER" = "no" ]; then
3785 if [ "$CFG_MITSHM" = "no" ]; then
3792 if [ "$CFG_XINPUT" = "no" ]; then
3799 if [ "$CFG_XKB" = "no" ]; then
3806 if [ "$CFG_IM" = "no" ]; then
3817 -no-gtkstyle ....... Do not build the GTK theme integration.
3818 + -gtkstyle .......... Build the GTK theme integration.
3820 * -no-nas-sound ...... Do not compile in NAS sound support.
3821 -system-nas-sound .. Use NAS libaudio from the operating system.
3822 See http://radscan.com/nas.html
3824 -egl ............... Use EGL instead of GLX to manage contexts.
3825 When building for desktop OpenGL, this option will
3826 make Qt use EGL to manage contexts rather than the
3827 GLX, which is the default. Note: For OpenGL ES, EGL
3830 -no-opengl ......... Do not support OpenGL.
3831 + -opengl <api> ...... Enable OpenGL support.
3832 With no parameter, this will auto-detect the "best"
3833 OpenGL API to use. If desktop OpenGL is available, it
3834 will be used. Use desktop or es2 for <api>
3835 to force the use of the Desktop OpenGL or
3836 OpenGL ES 2 APIs instead.
3838 -no-openvg ........ Do not support OpenVG.
3839 + -openvg ........... Enable OpenVG support.
3840 Requires EGL support, typically supplied by an OpenGL
3841 or other graphics implementation.
3843 $SMN -no-sm ............. Do not support X Session Management.
3844 $SMY -sm ................ Support X Session Management, links in -lSM -lICE.
3846 $SHN -no-xshape ......... Do not compile XShape support.
3847 $SHY -xshape ............ Compile XShape support.
3848 Requires X11/extensions/shape.h.
3850 $XVN -no-xvideo ......... Do not compile XVideo support.
3851 $XVY -xvideo ............ Compile XVideo support.
3852 Requires X11/extensions/Xv.h & Xvlib.h.
3854 $SHN -no-xsync .......... Do not compile XSync support.
3855 $SHY -xsync ............. Compile XSync support.
3856 Requires X11/extensions/sync.h.
3858 $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
3859 $XAY -xinerama .......... Compile Xinerama support.
3860 Requires X11/extensions/Xinerama.h and libXinerama.
3861 By default, Xinerama support will be compiled if
3862 available and the shared libraries are dynamically
3865 $XCN -no-xcursor ........ Do not compile Xcursor support.
3866 $XCY -xcursor ........... Compile Xcursor support.
3867 Requires X11/Xcursor/Xcursor.h and libXcursor.
3868 By default, Xcursor support will be compiled if
3869 available and the shared libraries are dynamically
3872 $XFN -no-xfixes ......... Do not compile Xfixes support.
3873 $XFY -xfixes ............ Compile Xfixes support.
3874 Requires X11/extensions/Xfixes.h and libXfixes.
3875 By default, Xfixes support will be compiled if
3876 available and the shared libraries are dynamically
3879 $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
3880 $XZY -xrandr ............ Compile Xrandr support.
3881 Requires X11/extensions/Xrandr.h and libXrandr.
3883 $XRN -no-xrender ........ Do not compile Xrender support.
3884 $XRY -xrender ........... Compile Xrender support.
3885 Requires X11/extensions/Xrender.h and libXrender.
3887 $XMN -no-mitshm ......... Do not compile MIT-SHM support.
3888 $XMY -mitshm ............ Compile MIT-SHM support.
3889 Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
3891 $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
3892 $FCGY -fontconfig ........ Compile FontConfig support.
3893 Requires fontconfig/fontconfig.h, libfontconfig,
3894 freetype.h and libfreetype.
3896 $XIN -no-xinput ......... Do not compile Xinput support.
3897 $XIY -xinput ............ Compile Xinput support. This also enabled tablet support
3898 which requires IRIX with wacom.h and libXi or
3899 XFree86 with X11/extensions/XInput.h and libXi.
3901 $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
3902 $XKY -xkb ............... Compile XKB support.
3907 if [ "$BUILD_ON_MAC" = "yes" ]; then
3912 -Fstring ........... Add an explicit framework path.
3913 -fw string ......... Add an explicit framework.
3915 * -framework ......... Build Qt as a series of frameworks and
3916 link tools against those frameworks.
3917 -no-framework ...... Do not build Qt as a series of frameworks.
3919 * -dwarf2 ............ Enable dwarf2 debugging symbols.
3920 -no-dwarf2 ......... Disable dwarf2 debugging symbols.
3922 -arch <arch> ....... Build Qt for <arch>. Supported arch values: x86 x86_64.
3923 Only one arch value can be specified.
3925 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3926 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3928 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
3929 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
3930 QT_ENABLE_HARFBUZZ environment variable.
3935 if [ "$PLATFORM_QWS" = "yes" ]; then
3937 Qt for Embedded Linux:
3939 -embedded <arch> .... This will enable the embedded build, you must have a
3940 proper license for this switch to work.
3941 Example values for <arch>: arm mips x86 generic
3945 if [ "$PLATFORM_QPA" = "yes" ]; then
3951 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3954 -xplatform target ... The target platform when cross-compiling.
3956 -no-feature-<feature> Do not compile in <feature>.
3957 -feature-<feature> .. Compile in <feature>. The available features
3958 are described in src/corelib/global/qfeatures.txt
3960 -armfpa ............. Target platform uses the ARM-FPA floating point format.
3961 -no-armfpa .......... Target platform does not use the ARM-FPA floating point format.
3963 The floating point format is usually autodetected by configure. Use this
3964 to override the detected value.
3966 -little-endian ...... Target platform is little endian (LSB first).
3967 -big-endian ......... Target platform is big endian (MSB first).
3969 -host-little-endian . Host platform is little endian (LSB first).
3970 -host-big-endian .... Host platform is big endian (MSB first).
3972 You only need to specify the endianness when
3973 cross-compiling, otherwise the host
3974 endianness will be used.
3976 -no-freetype ........ Do not compile in Freetype2 support.
3977 -qt-freetype ........ Use the libfreetype bundled with Qt.
3978 * -system-freetype .... Use libfreetype from the operating system.
3979 See http://www.freetype.org/
3981 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3982 default ($CFG_QCONFIG).
3984 -no-opengl .......... Do not support OpenGL.
3985 -opengl <api> ....... Enable OpenGL ES support
3986 With no parameter, this will attempt to auto-detect
3987 OpenGL ES 2, or regular desktop OpenGL.
3988 Use es2 for <api> to override auto-detection.
3992 if [ "$PLATFORM_QWS" = "yes" ]; then
3995 -depths <list> ...... Comma-separated list of supported bit-per-pixel
3996 depths, from: 1, 4, 8, 12, 15, 16, 18, 24, 32 and 'all'.
3998 -qt-decoration-<style> ....Enable a decoration <style> in the QtGui library,
3999 by default all available decorations are on.
4000 Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
4001 -plugin-decoration-<style> Enable decoration <style> as a plugin to be
4002 linked to at run time.
4003 Possible values for <style>: [ $CFG_DECORATION_PLUGIN_AVAILABLE ]
4004 -no-decoration-<style> ....Disable decoration <style> entirely.
4005 Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
4007 -qt-gfx-<driver> ... Enable a graphics <driver> in the QtGui library.
4008 Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
4009 -plugin-gfx-<driver> Enable graphics <driver> as a plugin to be
4010 linked to at run time.
4011 Possible values for <driver>: [ $CFG_GFX_PLUGIN_AVAILABLE ]
4012 -no-gfx-<driver> ... Disable graphics <driver> entirely.
4013 Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
4015 -qt-kbd-<driver> ... Enable a keyboard <driver> in the QtGui library.
4016 Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
4018 -plugin-kbd-<driver> Enable keyboard <driver> as a plugin to be linked to
4020 Possible values for <driver>: [ $CFG_KBD_PLUGIN_AVAILABLE ]
4022 -no-kbd-<driver> ... Disable keyboard <driver> entirely.
4023 Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
4025 -qt-mouse-<driver> ... Enable a mouse <driver> in the QtGui library.
4026 Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
4027 -plugin-mouse-<driver> Enable mouse <driver> as a plugin to be linked to
4029 Possible values for <driver>: [ $CFG_MOUSE_PLUGIN_AVAILABLE ]
4030 -no-mouse-<driver> ... Disable mouse <driver> entirely.
4031 Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
4033 -iwmmxt ............ Compile using the iWMMXt instruction set
4034 (available on some XScale CPUs).
4038 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
4039 if [ "$CFG_GLIB" = "no" ]; then
4047 $GBN -no-glib ........... Do not compile Glib support.
4048 $GBY -glib .............. Compile Glib support.
4053 [ "x$ERROR" = "xyes" ] && exit 1
4058 # -----------------------------------------------------------------------------
4059 # LICENSING, INTERACTIVE PART
4060 # -----------------------------------------------------------------------------
4062 if [ "$PLATFORM_QWS" = "yes" ]; then
4063 Platform="Qt for Embedded Linux"
4064 elif [ "$PLATFORM_QPA" = "yes" ]; then
4065 Platform="Qt Lighthouse"
4066 elif [ "$PLATFORM_MAC" = "yes" ]; then
4067 Platform="Qt for Mac OS X"
4068 elif [ "$XPLATFORM_MINGW" = "yes" ]; then
4069 Platform="Qt for Windows"
4070 elif [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ]; then
4072 Platform="Qt for Linux/X11"
4076 echo "This is the $Platform ${EditionString} Edition."
4079 if [ "$Edition" = "OpenSource" ]; then
4081 echo "You are licensed to use this software under the terms of"
4082 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
4083 if [ -f "$relpath/LICENSE.GPL3" ]; then
4084 echo "You are also licensed to use this software under the terms of"
4085 echo "the GNU General Public License (GPL) versions 3."
4091 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
4092 echo "You have already accepted the terms of the $LicenseType license."
4095 if [ -f "$relpath/LICENSE.GPL3" ]; then
4096 echo "Type '3' to view the GNU General Public License version 3."
4098 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
4099 echo "Type 'yes' to accept this license offer."
4100 echo "Type 'no' to decline this license offer."
4102 echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
4106 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
4108 elif [ "$acceptance" = "no" ]; then
4109 echo "You are not licensed to use this software."
4112 elif [ "$acceptance" = "3" ]; then
4113 more "$relpath/LICENSE.GPL3"
4114 elif [ "$acceptance" = "L" ]; then
4115 more "$relpath/LICENSE.LGPL"
4118 elif [ "$Edition" = "Preview" ]; then
4119 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
4122 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
4123 echo "You have already accepted the terms of the $LicenseType license."
4126 echo "You are licensed to use this software under the terms of"
4127 echo "the $TheLicense"
4129 echo "Type '?' to read the Preview License."
4130 echo "Type 'yes' to accept this license offer."
4131 echo "Type 'no' to decline this license offer."
4133 echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
4137 if [ "$acceptance" = "yes" ]; then
4139 elif [ "$acceptance" = "no" ] ;then
4140 echo "You are not licensed to use this software."
4143 elif [ "$acceptance" = "?" ]; then
4144 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
4147 elif [ "$Edition" != "OpenSource" ]; then
4148 if [ -n "$ExpiryDate" ]; then
4149 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
4150 [ -z "$ExpiryDate" ] && ExpiryDate="0"
4151 Today=`date +%Y%m%d`
4152 if [ "$Today" -gt "$ExpiryDate" ]; then
4153 case "$LicenseType" in
4154 Commercial|Academic|Educational)
4155 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
4157 echo "NOTICE NOTICE NOTICE NOTICE"
4159 echo " Your support and upgrade period has expired."
4161 echo " You are no longer licensed to use this version of Qt."
4162 echo " Please contact qt-info@nokia.com to renew your support"
4163 echo " and upgrades for this license."
4165 echo "NOTICE NOTICE NOTICE NOTICE"
4170 echo "WARNING WARNING WARNING WARNING"
4172 echo " Your support and upgrade period has expired."
4174 echo " You may continue to use your last licensed release"
4175 echo " of Qt under the terms of your existing license"
4176 echo " agreement. But you are not entitled to technical"
4177 echo " support, nor are you entitled to use any more recent"
4178 echo " Qt releases."
4180 echo " Please contact qt-info@nokia.com to renew your"
4181 echo " support and upgrades for this license."
4183 echo "WARNING WARNING WARNING WARNING"
4190 echo "NOTICE NOTICE NOTICE NOTICE"
4192 echo " Your Evaluation license has expired."
4194 echo " You are no longer licensed to use this software. Please"
4195 echo " contact qt-info@nokia.com to purchase license, or install"
4196 echo " the Qt Open Source Edition if you intend to develop free"
4199 echo "NOTICE NOTICE NOTICE NOTICE"
4206 TheLicense=`head -n 1 "$outpath/LICENSE"`
4208 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
4209 echo "You have already accepted the terms of the $TheLicense."
4212 echo "You are licensed to use this software under the terms of"
4213 echo "the $TheLicense."
4215 echo "Type '?' to view the $TheLicense."
4216 echo "Type 'yes' to accept this license offer."
4217 echo "Type 'no' to decline this license offer."
4219 echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
4223 if [ "$acceptance" = "yes" ]; then
4225 elif [ "$acceptance" = "no" ]; then
4226 echo "You are not licensed to use this software."
4229 else [ "$acceptance" = "?" ]
4230 more "$outpath/LICENSE"
4235 # this should be moved somewhere else
4238 AIX_VERSION=`uname -v`
4239 if [ "$AIX_VERSION" -lt "5" ]; then
4240 QMakeVar add QMAKE_LIBS_X11 -lbind
4247 #-------------------------------------------------------------------------------
4248 # generate qconfig.cpp
4249 #-------------------------------------------------------------------------------
4250 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
4252 LICENSE_USER_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsuser=$Licensee"`
4253 LICENSE_PRODUCTS_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsprod=$Edition"`
4254 PREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_INSTALL_PREFIX"`
4255 DOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_INSTALL_DOCS"`
4256 HEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_INSTALL_HEADERS"`
4257 LIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_INSTALL_LIBS"`
4258 BINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_INSTALL_BINS"`
4259 PLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_INSTALL_PLUGINS"`
4260 IMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_INSTALL_IMPORTS"`
4261 DATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_INSTALL_DATA"`
4262 TRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_INSTALL_TRANSLATIONS"`
4263 SETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
4264 EXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
4265 TESTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_tstspath=$QT_INSTALL_TESTS"`
4267 TODAY=`date +%Y-%m-%d`
4268 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4270 static const char qt_configure_licensee_str [256 + 12] = "$LICENSE_USER_STR";
4271 static const char qt_configure_licensed_products_str [256 + 12] = "$LICENSE_PRODUCTS_STR";
4273 /* Installation date */
4274 static const char qt_configure_installation [12+11] = "qt_instdate=$TODAY";
4278 if [ ! -z "$QT_HOST_PREFIX" ]; then
4279 HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
4280 HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
4281 HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"`
4282 HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"`
4283 HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"`
4284 HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"`
4285 HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/IMPORTS"`
4286 HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"`
4287 HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
4288 HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
4289 HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
4290 HOSTTESTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_tstspath=$QT_INSTALL_TESTS"`
4292 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4294 #if defined(QT_BOOTSTRAPPED) || defined(QT_BUILD_QMAKE)
4295 /* Installation Info */
4296 static const char qt_configure_prefix_path_str [256 + 12] = "$HOSTPREFIX_PATH_STR";
4297 static const char qt_configure_documentation_path_str[256 + 12] = "$HOSTDOCUMENTATION_PATH_STR";
4298 static const char qt_configure_headers_path_str [256 + 12] = "$HOSTHEADERS_PATH_STR";
4299 static const char qt_configure_libraries_path_str [256 + 12] = "$HOSTLIBRARIES_PATH_STR";
4300 static const char qt_configure_binaries_path_str [256 + 12] = "$HOSTBINARIES_PATH_STR";
4301 static const char qt_configure_plugins_path_str [256 + 12] = "$HOSTPLUGINS_PATH_STR";
4302 static const char qt_configure_imports_path_str [256 + 12] = "$HOSTIMPORTS_PATH_STR";
4303 static const char qt_configure_data_path_str [256 + 12] = "$HOSTDATA_PATH_STR";
4304 static const char qt_configure_translations_path_str [256 + 12] = "$HOSTTRANSLATIONS_PATH_STR";
4305 static const char qt_configure_settings_path_str [256 + 12] = "$HOSTSETTINGS_PATH_STR";
4306 static const char qt_configure_examples_path_str [256 + 12] = "$HOSTEXAMPLES_PATH_STR";
4307 static const char qt_configure_tests_path_str [256 + 12] = "$HOSTTESTS_PATH_STR";
4308 #else // QT_BOOTSTRAPPED
4312 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4313 /* Installation Info */
4314 static const char qt_configure_prefix_path_str [256 + 12] = "$PREFIX_PATH_STR";
4315 static const char qt_configure_documentation_path_str[256 + 12] = "$DOCUMENTATION_PATH_STR";
4316 static const char qt_configure_headers_path_str [256 + 12] = "$HEADERS_PATH_STR";
4317 static const char qt_configure_libraries_path_str [256 + 12] = "$LIBRARIES_PATH_STR";
4318 static const char qt_configure_binaries_path_str [256 + 12] = "$BINARIES_PATH_STR";
4319 static const char qt_configure_plugins_path_str [256 + 12] = "$PLUGINS_PATH_STR";
4320 static const char qt_configure_imports_path_str [256 + 12] = "$IMPORTS_PATH_STR";
4321 static const char qt_configure_data_path_str [256 + 12] = "$DATA_PATH_STR";
4322 static const char qt_configure_translations_path_str [256 + 12] = "$TRANSLATIONS_PATH_STR";
4323 static const char qt_configure_settings_path_str [256 + 12] = "$SETTINGS_PATH_STR";
4324 static const char qt_configure_examples_path_str [256 + 12] = "$EXAMPLES_PATH_STR";
4325 static const char qt_configure_tests_path_str [256 + 12] = "$TESTS_PATH_STR";
4328 if [ ! -z "$QT_HOST_PREFIX" ]; then
4329 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4330 #endif // QT_BOOTSTRAPPED
4335 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4336 /* strlen( "qt_lcnsxxxx" ) == 12 */
4337 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
4338 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
4339 #define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12;
4340 #define QT_CONFIGURE_DOCUMENTATION_PATH qt_configure_documentation_path_str + 12;
4341 #define QT_CONFIGURE_HEADERS_PATH qt_configure_headers_path_str + 12;
4342 #define QT_CONFIGURE_LIBRARIES_PATH qt_configure_libraries_path_str + 12;
4343 #define QT_CONFIGURE_BINARIES_PATH qt_configure_binaries_path_str + 12;
4344 #define QT_CONFIGURE_PLUGINS_PATH qt_configure_plugins_path_str + 12;
4345 #define QT_CONFIGURE_IMPORTS_PATH qt_configure_imports_path_str + 12;
4346 #define QT_CONFIGURE_DATA_PATH qt_configure_data_path_str + 12;
4347 #define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12;
4348 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
4349 #define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;
4350 #define QT_CONFIGURE_TESTS_PATH qt_configure_tests_path_str + 12;
4353 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
4354 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
4355 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
4357 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
4358 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
4359 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
4362 # -----------------------------------------------------------------------------
4363 if [ "$LicenseType" = "Evaluation" ]; then
4364 EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey=$LicenseKeyExt"`
4365 elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then
4366 EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey="`
4369 if [ -n "$EVALKEY" ]; then
4370 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
4371 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
4372 /* Evaluation license key */
4373 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
4375 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
4379 # -----------------------------------------------------------------------------
4381 # -----------------------------------------------------------------------------
4384 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
4386 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
4387 if [ "$OPT_SHADOW" = "yes" ]; then
4388 "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
4389 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
4390 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
4395 # $2: optional transformation
4396 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
4397 # is where the resulting variable is written to
4398 # Assumes that the optional transformation produces the same variable name for each hit
4399 setBootstrapVariable()
4401 getQMakeConf | $AWK '/^('"$1"')[^_A-Z0-9]/ { print $0; }' | ( [ -n "$2" ] && sed "$2" ; [ -z "$2" ] && cat ) | $AWK '
4407 valStart = index($0, "=") + 1
4410 if (substr($0, valStart - 2, 1) == "+") {
4414 variable = substr($0, 0, valStart - 2 - append)
4415 value = substr($0, valStart)
4416 gsub("[ \t]+", "", variable)
4417 gsub("^[ \t]+", "", value)
4418 gsub("[ \t]+$", "", value)
4420 if (append == 1 && length(combinedValue) > 0) {
4421 combinedValue = combinedValue " " value
4423 combinedValue = value
4427 if (length(combinedValue) > 0) {
4428 printf "%s = %s\n", variable, combinedValue
4434 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
4435 echo "Creating qmake. Please wait..."
4438 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
4439 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
4440 if [ -f "$QCONFIG_H" ]; then
4441 OLD_QCONFIG_H=$QCONFIG_H
4442 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
4445 # create temporary qconfig.h for compiling qmake, if it doesn't exist
4446 # when building qmake, we use #defines for the install paths,
4447 # however they are real functions in the library
4448 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
4449 mkdir -p "$outpath/src/corelib/global"
4450 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
4451 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
4454 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
4456 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
4457 rm -rf mkspecs/default
4458 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
4460 for mkfile in GNUmakefile Makefile; do
4463 in_mkfile="${mkfile}.in"
4464 if [ "$mkfile" = "Makefile" ]; then
4465 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
4466 # (cd qmake && qmake) >/dev/null 2>&1 && continue
4468 in_mkfile="${mkfile}.unix"
4470 in_mkfile="$relpath/qmake/$in_mkfile"
4471 mkfile="$outpath/qmake/$mkfile"
4472 if [ -f "$mkfile" ]; then
4473 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
4476 [ -f "$in_mkfile" ] || continue
4478 echo "########################################################################" > "$mkfile"
4479 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
4480 echo "########################################################################" >> "$mkfile"
4483 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
4484 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
4485 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
4487 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
4488 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
4491 [ -n "$CC" ] && echo "CC = $CC" >> "$mkfile"
4492 [ -n "$CXX" ] && echo "CXX = $CXX" >> "$mkfile"
4493 if [ "$CFG_SILENT" = "yes" ]; then
4494 [ -z "$CC" ] && setBootstrapVariable QMAKE_CC 's,QMAKE_CC.*=,CC=\@,'
4495 [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX 's,QMAKE_CXX.*=,CXX=\@,'
4497 [ -z "$CC" ] && setBootstrapVariable QMAKE_CC 's,QMAKE_CC,CC,'
4498 [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX 's,QMAKE_CXX,CXX,'
4500 setBootstrapVariable QMAKE_CFLAGS
4501 setBootstrapVariable QMAKE_CXXFLAGS 's,\$\$QMAKE_CFLAGS,\$(QMAKE_CFLAGS),'
4502 setBootstrapVariable QMAKE_LFLAGS
4504 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
4505 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
4506 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
4508 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
4509 setBootstrapVariable QMAKE_CFLAGS_RELEASE
4510 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE 's,\$\$QMAKE_CFLAGS_RELEASE,\$(QMAKE_CFLAGS_RELEASE),'
4511 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
4512 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
4513 elif [ "$CFG_DEBUG" = "yes" ]; then
4514 setBootstrapVariable QMAKE_CFLAGS_DEBUG
4515 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG 's,\$\$QMAKE_CFLAGS_DEBUG,\$(QMAKE_CFLAGS_DEBUG),'
4516 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
4517 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
4520 if [ '!' -z "$RPATH_FLAGS" ] && [ '!' -z "`getQMakeConf \"$QMAKESPEC\" | $AWK '/QMAKE_(LFLAGS_)?RPATH/ {print $3;}'`" ]; then
4521 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" 's,\$\$LITERAL_WHITESPACE, ,;s,QMAKE_RPATH,QMAKE_LFLAGS_RPATH,'
4522 for rpath in $RPATH_FLAGS; do
4523 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
4526 if [ "$BUILD_ON_MAC" = "yes" ]; then
4527 echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
4528 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
4529 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
4530 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
4531 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
4532 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
4533 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
4534 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
4535 if [ '!' -z "$CFG_SDK" ]; then
4536 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
4537 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
4538 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
4539 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
4540 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
4543 [ "$CFG_EMBEDDED" != "no" ] && EXTRA_CFLAGS="$EXTRA_CFLAGS -DQWS"
4544 if [ '!' -z "$D_FLAGS" ]; then
4545 for DEF in $D_FLAGS; do
4546 EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
4549 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
4550 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
4551 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
4552 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
4554 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
4555 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
4556 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
4557 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
4558 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
4559 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
4560 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
4561 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
4562 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
4563 -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
4565 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
4566 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
4567 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
4568 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
4573 QMAKE_BUILD_ERROR=no
4574 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
4575 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
4576 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
4577 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
4580 #-------------------------------------------------------------------------------
4581 # tests that need qmake
4582 #-------------------------------------------------------------------------------
4584 # detect availability of float math.h functions
4585 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
4586 CFG_USE_FLOATMATH=yes
4588 CFG_USE_FLOATMATH=no
4591 # detect mmx support
4592 if [ "${CFG_MMX}" = "auto" ]; then
4593 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mmx "mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
4600 # detect 3dnow support
4601 if [ "${CFG_3DNOW}" = "auto" ]; then
4602 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/3dnow "3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
4609 # detect sse support
4610 if [ "${CFG_SSE}" = "auto" ]; then
4611 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse "sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
4618 # detect sse2 support
4619 if [ "${CFG_SSE2}" = "auto" ]; then
4620 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
4627 # detect sse3 support
4628 if [ "${CFG_SSE3}" = "auto" ]; then
4629 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse3 "sse3" $L_FLAGS $I_FLAGS $l_FLAGS "-msse3"; then
4636 # detect ssse3 support
4637 if [ "${CFG_SSSE3}" = "auto" ]; then
4638 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ssse3 "ssse3" $L_FLAGS $I_FLAGS $l_FLAGS "-mssse3"; then
4645 # detect sse4.1 support
4646 if [ "${CFG_SSE4_1}" = "auto" ]; then
4647 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
4654 # detect sse4.2 support
4655 if [ "${CFG_SSE4_2}" = "auto" ]; then
4656 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
4663 # detect avx support
4664 if [ "${CFG_AVX}" = "auto" ]; then
4665 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx "avx" $L_FLAGS $I_FLAGS $l_FLAGS "-mavx"; then
4672 # check iWMMXt support
4673 if [ "$CFG_IWMMXT" = "yes" ]; then
4674 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
4675 if [ $? != "0" ]; then
4676 echo "The iWMMXt functionality test failed!"
4677 echo " Please make sure your compiler supports iWMMXt intrinsics!"
4682 # detect neon support
4683 if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
4684 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
4691 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
4694 if [ "$CFG_ZLIB" = "no" ]; then
4695 # Note: Qt no longer support builds without zlib
4696 # So we force a "no" to be "auto" here.
4697 # If you REALLY really need no zlib support, you can still disable
4698 # it by doing the following:
4699 # add "no-zlib" to mkspecs/qconfig.pri
4700 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
4702 # There's no guarantee that Qt will build under those conditions
4707 if [ "$CFG_ZLIB" = "auto" ]; then
4708 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
4715 if [ "$CFG_LARGEFILE" = "auto" ]; then
4716 #Large files should be enabled for all Linux systems
4720 # detect how jpeg should be built
4721 if [ "$CFG_JPEG" = "auto" ]; then
4722 if [ "$CFG_SHARED" = "yes" ]; then
4729 if [ "$CFG_LIBJPEG" = "auto" ]; then
4730 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
4737 # detect how gif should be built
4738 if [ "$CFG_GIF" = "auto" ]; then
4739 if [ "$CFG_SHARED" = "yes" ]; then
4747 if [ "$CFG_LIBPNG" = "auto" ]; then
4748 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
4755 # detect accessibility
4756 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4757 CFG_ACCESSIBILITY=yes
4760 # auto-detect SQL-modules support
4761 for _SQLDR in $CFG_SQL_AVAILABLE; do
4764 if [ "$CFG_SQL_mysql" != "no" ]; then
4765 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
4766 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4767 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4768 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4769 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4770 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4771 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4773 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4774 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4775 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4776 echo " You need MySql 4 or higher."
4777 echo " If you believe this message is in error you may use the continue"
4778 echo " switch (-continue) to $0 to continue."
4783 QT_LFLAGS_MYSQL_R=""
4787 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
4788 QMakeVar add CONFIG use_libmysqlclient_r
4789 if [ "$CFG_SQL_mysql" = "auto" ]; then
4790 CFG_SQL_mysql=plugin
4792 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
4793 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
4794 if [ "$CFG_SQL_mysql" = "auto" ]; then
4795 CFG_SQL_mysql=plugin
4798 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4799 echo "MySQL support cannot be enabled due to functionality tests!"
4800 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4801 echo " If you believe this message is in error you may use the continue"
4802 echo " switch (-continue) to $0 to continue."
4807 QT_LFLAGS_MYSQL_R=""
4815 if [ "$CFG_SQL_psql" != "no" ]; then
4816 # Be careful not to use native pg_config when cross building.
4817 if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
4818 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
4819 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
4821 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
4822 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
4823 # But, respect PSQL_LIBS if set
4824 [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
4825 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
4826 if [ "$CFG_SQL_psql" = "auto" ]; then
4830 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4831 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4832 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4833 echo " If you believe this message is in error you may use the continue"
4834 echo " switch (-continue) to $0 to continue."
4845 if [ "$CFG_SQL_odbc" != "no" ]; then
4846 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
4847 if [ "$CFG_SQL_odbc" = "auto" ]; then
4851 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
4852 QT_LFLAGS_ODBC="-liodbc"
4853 if [ "$CFG_SQL_odbc" = "auto" ]; then
4857 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4858 echo "ODBC support cannot be enabled due to functionality tests!"
4859 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4860 echo " If you believe this message is in error you may use the continue"
4861 echo " switch (-continue) to $0 to continue."
4871 if [ "$CFG_SQL_oci" != "no" ]; then
4872 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
4873 if [ "$CFG_SQL_oci" = "auto" ]; then
4877 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4878 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4879 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4880 echo " If you believe this message is in error you may use the continue"
4881 echo " switch (-continue) to $0 to continue."
4890 if [ "$CFG_SQL_tds" != "no" ]; then
4891 [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
4892 [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
4893 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
4894 if [ "$CFG_SQL_tds" = "auto" ]; then
4898 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4899 echo "TDS support cannot be enabled due to functionality tests!"
4900 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4901 echo " If you believe this message is in error you may use the continue"
4902 echo " switch (-continue) to $0 to continue."
4911 if [ "$CFG_SQL_db2" != "no" ]; then
4912 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
4913 if [ "$CFG_SQL_db2" = "auto" ]; then
4917 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4918 echo "ODBC support cannot be enabled due to functionality tests!"
4919 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4920 echo " If you believe this message is in error you may use the continue"
4921 echo " switch (-continue) to $0 to continue."
4930 if [ "$CFG_SQL_ibase" != "no" ]; then
4931 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
4932 if [ "$CFG_SQL_ibase" = "auto" ]; then
4933 CFG_SQL_ibase=plugin
4936 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4937 echo "InterBase support cannot be enabled due to functionality tests!"
4938 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4939 echo " If you believe this message is in error you may use the continue"
4940 echo " switch (-continue) to $0 to continue."
4949 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4950 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
4951 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4952 CFG_SQL_sqlite2=plugin
4955 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4956 echo "SQLite2 support cannot be enabled due to functionality tests!"
4957 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4958 echo " If you believe this message is in error you may use the continue"
4959 echo " switch (-continue) to $0 to continue."
4968 if [ "$CFG_SQL_sqlite" != "no" ]; then
4969 SQLITE_AUTODETECT_FAILED="no"
4970 if [ "$CFG_SQLITE" = "system" ]; then
4971 if [ -n "$PKG_CONFIG" ]; then
4972 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4973 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4975 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
4976 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4977 CFG_SQL_sqlite=plugin
4979 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4981 SQLITE_AUTODETECT_FAILED="yes"
4984 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4985 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4986 CFG_SQL_sqlite=plugin
4989 SQLITE_AUTODETECT_FAILED="yes"
4993 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4994 echo "SQLite support cannot be enabled due to functionality tests!"
4995 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4996 echo " If you believe this message is in error you may use the continue"
4997 echo " switch (-continue) to $0 to continue."
5003 if [ "$OPT_VERBOSE" = "yes" ]; then
5004 echo "unknown SQL driver: $_SQLDR"
5010 # auto-detect NIS support
5011 if [ "$CFG_NIS" != "no" ]; then
5012 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
5015 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5016 echo "NIS support cannot be enabled due to functionality tests!"
5017 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5018 echo " If you believe this message is in error you may use the continue"
5019 echo " switch (-continue) to $0 to continue."
5027 # auto-detect CUPS support
5028 if [ "$CFG_CUPS" != "no" ]; then
5029 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
5032 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5033 echo "Cups support cannot be enabled due to functionality tests!"
5034 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5035 echo " If you believe this message is in error you may use the continue"
5036 echo " switch (-continue) to $0 to continue."
5044 # auto-detect iconv(3) support
5045 if [ "$CFG_ICONV" != "no" ]; then
5046 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
5048 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
5050 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
5052 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
5055 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5056 echo "Iconv support cannot be enabled due to functionality tests!"
5057 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5058 echo " If you believe this message is in error you may use the continue"
5059 echo " switch (-continue) to $0 to continue."
5067 # auto-detect libdbus-1 support
5068 if [ "$CFG_DBUS" != "no" ]; then
5069 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
5070 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
5071 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
5073 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
5074 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
5075 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
5076 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
5078 if [ "$CFG_DBUS" = "auto" ]; then
5080 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5081 # CFG_DBUS is "yes" or "linked" here
5083 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
5084 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5085 echo " If you believe this message is in error you may use the continue"
5086 echo " switch (-continue) to $0 to continue."
5092 # X11/QWS/Lighthouse
5093 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
5095 # auto-detect Glib support
5096 if [ "$CFG_GLIB" != "no" ]; then
5097 if [ -n "$PKG_CONFIG" ]; then
5098 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
5099 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
5101 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
5103 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
5104 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
5106 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5107 echo "Glib support cannot be enabled due to functionality tests!"
5108 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5109 echo " If you believe this message is in error you may use the continue"
5110 echo " switch (-continue) to $0 to continue."
5119 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
5120 if [ -n "$PKG_CONFIG" ]; then
5121 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
5122 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
5124 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
5126 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
5127 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
5129 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5130 echo "Gstreamer support cannot be enabled due to functionality tests!"
5131 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5132 echo " If you believe this message is in error you may use the continue"
5133 echo " switch (-continue) to $0 to continue."
5139 elif [ "$CFG_GLIB" = "no" ]; then
5143 # auto-detect libicu support
5144 if [ "$CFG_ICU" != "no" ]; then
5145 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $l_FLAGS; then
5146 [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
5148 if [ "$CFG_ICU" = "auto" ]; then
5150 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5153 echo "The ICU library support cannot be enabled."
5154 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5155 echo " If you believe this message is in error you may use the continue"
5156 echo " switch (-continue) to $0 to continue."
5162 # Auto-detect PulseAudio support
5163 if [ "$CFG_PULSEAUDIO" != "no" ]; then
5164 if [ -n "$PKG_CONFIG" ]; then
5165 QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
5166 QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
5168 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
5170 QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
5171 QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
5173 if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5174 echo "PulseAudio support cannot be enabled due to functionality tests!"
5175 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5176 echo " If you believe this message is in error you may use the continue"
5177 echo " switch (-continue) to $0 to continue."
5184 fi # X11/QWS/Lighthouse
5187 if [ "$PLATFORM_X11" = "yes" -a "$CFG_GUI" != "no" ]; then
5188 x11tests="$relpath/config.tests/x11"
5191 # work around broken X11 headers when using GCC 2.95 or later
5193 "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE=yes
5194 if [ $NOTYPE = "yes" ]; then
5195 QMakeVar add QMAKE_CXXFLAGS -fpermissive
5196 X11TESTS_FLAGS="$X11TESTS_FLAGS -fpermissive"
5199 # Check we actually have X11 :-)
5200 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5201 if [ $? != "0" ]; then
5202 echo "Basic XLib functionality test failed!"
5203 echo " You might need to modify the include and library search paths by editing"
5204 echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
5210 if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
5211 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
5212 if [ "$CFG_GUI" = "no" ]; then
5213 if [ "$CFG_OPENGL" = "auto" ]; then
5216 if [ "$CFG_OPENGL" != "no" ]; then
5217 echo "OpenGL enabled, but GUI disabled."
5218 echo " You might need to either enable the GUI or disable OpenGL"
5222 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
5223 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
5225 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
5227 if [ "$CFG_EGL" = "no" ]; then
5231 if [ "$CFG_OPENGL" = "yes" ]; then
5232 echo "All the OpenGL functionality tests failed!"
5233 echo " You might need to modify the include and library search paths by editing"
5234 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5235 echo " ${XQMAKESPEC}."
5242 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
5243 if [ "$CFG_OPENGL" = "desktop" ]; then
5244 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5245 if [ $? != "0" ]; then
5246 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
5253 elif [ "$CFG_OPENGL" = "es2" ]; then
5255 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
5256 if [ $? != "0" ]; then
5257 echo "The OpenGL ES 2.0 functionality test failed!"
5258 echo " You might need to modify the include and library search paths by editing"
5259 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
5260 echo " ${XQMAKESPEC}."
5263 elif [ "$CFG_OPENGL" = "desktop" ]; then
5264 # Desktop OpenGL support
5265 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5266 if [ $? != "0" ]; then
5267 echo "The OpenGL functionality test failed!"
5268 echo " You might need to modify the include and library search paths by editing"
5269 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5270 echo " ${XQMAKESPEC}."
5275 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
5276 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5277 if [ $? != "0" ]; then
5278 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
5285 fi # X11/MINGW OpenGL
5288 if [ "$PLATFORM_X11" = "yes" ]; then
5289 # auto-detect Xcursor support
5290 if [ "$CFG_XCURSOR" != "no" ]; then
5291 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
5292 if [ "$CFG_XCURSOR" != "runtime" ]; then
5296 if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5297 echo "Xcursor support cannot be enabled due to functionality tests!"
5298 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5299 echo " If you believe this message is in error you may use the continue"
5300 echo " switch (-continue) to $0 to continue."
5308 # auto-detect Xfixes support
5309 if [ "$CFG_XFIXES" != "no" ]; then
5310 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xfixes "Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
5311 if [ "$CFG_XFIXES" != "runtime" ]; then
5315 if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5316 echo "Xfixes support cannot be enabled due to functionality tests!"
5317 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5318 echo " If you believe this message is in error you may use the continue"
5319 echo " switch (-continue) to $0 to continue."
5327 # auto-detect Xrandr support (resize and rotate extension)
5328 if [ "$CFG_XRANDR" != "no" ]; then
5329 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
5330 if [ "$CFG_XRANDR" != "runtime" ]; then
5334 if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5335 echo "Xrandr support cannot be enabled due to functionality tests!"
5336 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5337 echo " If you believe this message is in error you may use the continue"
5338 echo " switch (-continue) to $0 to continue."
5346 # auto-detect Xrender support
5347 if [ "$CFG_XRENDER" != "no" ]; then
5348 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
5351 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5352 echo "Xrender support cannot be enabled due to functionality tests!"
5353 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5354 echo " If you believe this message is in error you may use the continue"
5355 echo " switch (-continue) to $0 to continue."
5363 # auto-detect MIT-SHM support
5364 if [ "$CFG_MITSHM" != "no" ]; then
5365 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
5368 if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5369 echo "MITSHM support cannot be enabled due to functionality tests!"
5370 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5371 echo " If you believe this message is in error you may use the continue"
5372 echo " switch (-continue) to $0 to continue."
5380 # auto-detect FontConfig support
5381 if [ "$CFG_FONTCONFIG" != "no" ]; then
5382 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
5383 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
5384 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
5386 QT_CFLAGS_FONTCONFIG=
5387 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5389 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
5391 QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
5392 QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
5393 CFG_LIBFREETYPE=system
5395 if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5396 echo "FontConfig support cannot be enabled due to functionality tests!"
5397 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5398 echo " If you believe this message is in error you may use the continue"
5399 echo " switch (-continue) to $0 to continue."
5407 # auto-detect Session Management support
5408 if [ "$CFG_SM" = "auto" ]; then
5409 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
5412 if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5413 echo "Session Management support cannot be enabled due to functionality tests!"
5414 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5415 echo " If you believe this message is in error you may use the continue"
5416 echo " switch (-continue) to $0 to continue."
5424 # auto-detect SHAPE support
5425 if [ "$CFG_XSHAPE" != "no" ]; then
5426 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
5429 if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5430 echo "XShape support cannot be enabled due to functionality tests!"
5431 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5432 echo " If you believe this message is in error you may use the continue"
5433 echo " switch (-continue) to $0 to continue."
5441 # auto-detect XVideo support
5442 if [ "$CFG_XVIDEO" != "no" ]; then
5443 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
5446 if [ "$CFG_XVIDEO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5447 echo "XVideo support cannot be enabled due to functionality tests!"
5448 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5449 echo " If you believe this message is in error you may use the continue"
5450 echo " switch (-continue) to $0 to continue."
5458 # auto-detect XSync support
5459 if [ "$CFG_XSYNC" != "no" ]; then
5460 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
5463 if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5464 echo "XSync support cannot be enabled due to functionality tests!"
5465 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5466 echo " If you believe this message is in error you may use the continue"
5467 echo " switch (-continue) to $0 to continue."
5475 # auto-detect Xinerama support
5476 if [ "$CFG_XINERAMA" != "no" ]; then
5477 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
5478 if [ "$CFG_XINERAMA" != "runtime" ]; then
5482 if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5483 echo "Xinerama support cannot be enabled due to functionality tests!"
5484 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5485 echo " If you believe this message is in error you may use the continue"
5486 echo " switch (-continue) to $0 to continue."
5494 # auto-detect Xinput support
5495 if [ "$CFG_XINPUT" != "no" ]; then
5496 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
5497 if [ "$CFG_XINPUT" != "runtime" ]; then
5501 if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5502 echo "Tablet and Xinput support cannot be enabled due to functionality tests!"
5503 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5504 echo " If you believe this message is in error you may use the continue"
5505 echo " switch (-continue) to $0 to continue."
5513 # auto-detect XKB support
5514 if [ "$CFG_XKB" != "no" ]; then
5515 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
5518 if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5519 echo "XKB support cannot be enabled due to functionality tests!"
5520 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5521 echo " If you believe this message is in error you may use the continue"
5522 echo " switch (-continue) to $0 to continue."
5530 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
5531 if [ -n "$PKG_CONFIG" ]; then
5532 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
5533 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
5535 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
5537 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
5538 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
5540 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5541 echo "Gtk theme support cannot be enabled due to functionality tests!"
5542 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5543 echo " If you believe this message is in error you may use the continue"
5544 echo " switch (-continue) to $0 to continue."
5550 elif [ "$CFG_GLIB" = "no" ]; then
5556 if [ "$PLATFORM_MAC" = "yes" ]; then
5557 if [ "$CFG_PHONON" != "no" ]; then
5558 # Always enable Phonon (unless it was explicitly disabled)
5562 if [ "$CFG_COREWLAN" = "auto" ]; then
5563 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
5572 if [ "$PLATFORM_QPA" = "yes" ]; then
5573 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
5574 if [ "$PLATFORM_MAC" = "yes" ]; then
5576 elif [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
5577 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
5579 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
5582 if [ "$CFG_OPENGL" = "yes" ]; then
5583 echo "All the OpenGL functionality tests failed!"
5584 echo " You might need to modify the include and library search paths by editing"
5585 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5586 echo " ${XQMAKESPEC}."
5591 elif [ "$CFG_OPENGL" = "es2" ]; then
5593 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
5594 QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --variable=includedir glesv2 2>/dev/null`
5595 QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --variable=libdir glesv2 2>/dev/null`
5596 QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
5597 QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
5598 QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
5599 QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2"
5600 QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2"
5603 "$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
5604 if [ $? != "0" ]; then
5605 echo "The OpenGL ES 2.0 functionality test failed!"
5606 echo " You might need to modify the include and library search paths by editing"
5607 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
5608 echo " ${XQMAKESPEC}."
5611 elif [ "$CFG_OPENGL" = "desktop" ]; then
5612 # Desktop OpenGL support
5613 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5614 if [ $? != "0" ]; then
5615 echo "The OpenGL functionality test failed!"
5616 echo " You might need to modify the include and library search paths by editing"
5617 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5618 echo " ${XQMAKESPEC}."
5623 # auto-detect FontConfig support
5624 if [ "$CFG_FONTCONFIG" != "no" ]; then
5625 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
5626 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
5627 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
5629 QT_CFLAGS_FONTCONFIG=
5630 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5632 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
5633 QT_CONFIG="$QT_CONFIG fontconfig"
5634 QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
5635 QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
5636 CFG_LIBFREETYPE=system
5641 # Save these for a check later
5642 ORIG_CFG_WAYLAND="$CFG_WAYLAND"
5643 ORIG_CFG_XCB="$CFG_XCB"
5645 if [ "$CFG_WAYLAND" != "no" ]; then
5646 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists wayland-client 2>/dev/null; then
5647 QMAKE_CFLAGS_WAYLAND=`$PKG_CONFIG --cflags wayland-client 2>/dev/null`
5648 QMAKE_LIBS_WAYLAND=`$PKG_CONFIG --libs wayland-client 2>/dev/null`
5649 QMAKE_INCDIR_WAYLAND=`$PKG_CONFIG --variable=includedir wayland-client 2>/dev/null`
5650 QMAKE_LIBDIR_WAYLAND=`$PKG_CONFIG --variable=libdir wayland-client 2>/dev/null`
5652 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
5654 QT_CONFIG="$QT_CONFIG wayland"
5655 elif [ "$CFG_WAYLAND" = "yes" ]; then
5656 echo "The Wayland functionality test failed!"
5660 QMakeVar add DEFINES QT_NO_WAYLAND
5664 # Check we actually have X11 :-)
5665 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
5666 QT_CONFIG="$QT_CONFIG xlib"
5669 # auto-detect Xrender support
5670 if [ "$CFG_XRENDER" != "no" ]; then
5671 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
5673 QT_CONFIG="$QT_CONFIG xrender"
5675 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5676 echo "Xrender support cannot be enabled due to functionality tests!"
5677 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5678 echo " If you believe this message is in error you may use the continue"
5679 echo " switch (-continue) to $0 to continue."
5687 if [ "$CFG_XCB" != "no" ]; then
5688 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb "xcb" $L_FLAGS $I_FLAGS $l_FLAGS; then
5690 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
5691 QT_CONFIG="$QT_CONFIG xcb-render"
5694 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
5696 QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
5699 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
5700 QT_CONFIG="$QT_CONFIG xcb-xlib"
5703 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
5704 # auto-detect XInput2/Xinput support
5705 if [ "$CFG_XINPUT2" != "no" ]; then
5706 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
5710 if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5711 echo "XInput2 support cannot be enabled due to functionality tests!"
5712 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5713 echo " If you believe this message is in error you may use the continue"
5714 echo " switch (-continue) to $0 to continue."
5723 if [ "$CFG_XCB" = "yes" ]; then
5724 echo "The XCB test failed!"
5725 echo " You might need to install dependency packages."
5726 echo " See src/plugins/platforms/xcb/README."
5730 QMakeVar add DEFINES QT_NO_XCB
5734 # Detect libxkbcommon
5735 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
5736 QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
5737 QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
5738 if [ "$CFG_WAYLAND" = "yes" ]; then
5739 QMAKE_CFLAGS_WAYLAND="$QMAKE_CFLAGS_WAYLAND $QMAKE_CFLAGS_XKBCOMMON"
5740 QMAKE_LIBS_WAYLAND="$QMAKE_LIBS_WAYLAND $QMAKE_LIBS_XKBCOMMON"
5742 QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
5743 QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
5745 if [ "$CFG_WAYLAND" = "yes" ]; then
5746 QMAKE_DEFINES_WAYLAND=QT_NO_WAYLAND_XKB
5748 QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
5751 # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
5752 if [ -n "$QMAKE_CFLAGS_WAYLAND" ] || [ -n "$QMAKE_LIBS_WAYLAND" ]; then
5753 QMakeVar set QMAKE_CFLAGS_WAYLAND "$QMAKE_CFLAGS_WAYLAND"
5754 QMakeVar set QMAKE_INCDIR_WAYLAND "$QMAKE_INCDIR_WAYLAND"
5755 QMakeVar set QMAKE_LIBS_WAYLAND "$QMAKE_LIBS_WAYLAND"
5756 QMakeVar set QMAKE_LIBDIR_WAYLAND "$QMAKE_LIBDIR_WAYLAND"
5757 QMakeVar set QMAKE_DEFINES_WAYLAND " $QMAKE_DEFINES_WAYLAND"
5760 if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
5761 QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
5762 QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
5763 QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
5766 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
5767 QT_CONFIG="$QT_CONFIG coreservices"
5769 QMakeVar add DEFINES QT_NO_CORESERVICES
5772 if [ "$PLATFORM_QPA" = "yes" ] && [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ]; then
5773 if [ "$CFG_XCB" = "no" ] && [ "$CFG_WAYLAND" = "no" ]; then
5774 if [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_WAYLAND" = "auto" ]; then
5775 echo "No QPA platform plugin enabled!"
5776 echo " If you really want to build without a QPA platform plugin you must pass"
5777 echo " -no-xcb and -no-wayland to configure. Doing this will produce a Qt that"
5778 echo " cannot run GUI applications."
5788 if [ "$PLATFORM_QWS" = "yes" ]; then
5790 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
5791 if [ "$CFG_GUI" = "no" ]; then
5792 if [ "$CFG_OPENGL" = "auto" ]; then
5795 if [ "$CFG_OPENGL" != "no" ]; then
5796 echo "OpenGL enabled, but GUI disabled."
5797 echo " You might need to either enable the GUI or disable OpenGL"
5801 if [ "$CFG_OPENGL" = "yes" ]; then
5803 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
5806 elif [ "$CFG_OPENGL" = "es2" ]; then
5808 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
5809 if [ $? != "0" ]; then
5810 echo "The OpenGL ES 2.0 functionality test failed!"
5811 echo " You might need to modify the include and library search paths by editing"
5812 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5813 echo " ${XQMAKESPEC}."
5817 elif [ "$CFG_OPENGL" = "desktop" ]; then
5818 # Desktop OpenGL support
5819 echo "Desktop OpenGL support is not avaliable on Qt for Embedded Linux"
5824 if [ "$PLATFORM_QWS" = "yes" ]; then
5827 for screen in ${CFG_GFX_ON} ${CFG_GFX_PLUGIN}; do
5828 if [ "${screen}" = "ahi" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5829 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/ahi "Ahi" $L_FLAGS $I_FLAGS $l_FLAGS
5830 if [ $? != "0" ]; then
5831 echo "The Ahi screen driver functionality test failed!"
5832 echo " You might need to modify the include and library search paths by editing"
5833 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5834 echo " ${XQMAKESPEC}."
5839 if [ "${screen}" = "svgalib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5840 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/svgalib "SVGAlib" $L_FLAGS $I_FLAGS $l_FLAGS
5841 if [ $? != "0" ]; then
5842 echo "The SVGAlib screen driver functionality test failed!"
5843 echo " You might need to modify the include and library search paths by editing"
5844 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5845 echo " ${XQMAKESPEC}."
5850 if [ "${screen}" = "directfb" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5851 if test -n "$PKG_CONFIG" && "$PKG_CONFIG" --exists directfb 2>/dev/null; then
5852 QT_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
5853 QT_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
5854 elif directfb-config --version >/dev/null 2>&1; then
5855 QT_CFLAGS_DIRECTFB=`directfb-config --cflags 2>/dev/null`
5856 QT_LIBS_DIRECTFB=`directfb-config --libs 2>/dev/null`
5859 # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
5860 if [ -n "$QT_CFLAGS_DIRECTFB" ] || [ -n "$QT_LIBS_DIRECTFB" ]; then
5861 QMakeVar set QT_CFLAGS_DIRECTFB "$QT_CFLAGS_DIRECTFB"
5862 QMakeVar set QT_LIBS_DIRECTFB "$QT_LIBS_DIRECTFB"
5865 "$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
5866 if [ $? != "0" ]; then
5867 echo "The DirectFB screen driver functionality test failed!"
5868 echo " You might need to modify the include and library search paths by editing"
5869 echo " QT_CFLAGS_DIRECTFB and QT_LIBS_DIRECTFB in"
5870 echo " ${XQMAKESPEC}."
5878 for mouse in ${CFG_MOUSE_ON} ${CFG_MOUSE_PLUGIN}; do
5879 if [ "${mouse}" = "tslib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5880 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tslib "tslib" $L_FLAGS $I_FLAGS $l_FLAGS
5881 if [ $? != "0" ]; then
5882 echo "The tslib functionality test failed!"
5883 echo " You might need to modify the include and library search paths by editing"
5884 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5885 echo " ${XQMAKESPEC}."
5894 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/sound "sound" $L_FLAGS $I_FLAGS $l_FLAGS
5895 if [ $? != "0" ]; then
5896 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SOUND"
5903 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
5904 if [ "$CFG_EGL" != "no" ]; then
5905 # detect EGL support
5906 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
5907 # EGL specified by QMAKE_*_EGL, included with <EGL/egl.h>
5912 if [ "$EGL_VARIANT" = "none" ]; then
5913 if [ "$CFG_EGL" = "yes" ]; then
5914 echo "The EGL functionality test failed!"
5915 echo " EGL is required for OpenGL ES to manage contexts & surfaces."
5916 echo " You might need to modify the include and library search paths by editing"
5917 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in"
5918 echo " ${XQMAKESPEC}."
5922 # If QtOpenGL would be built against OpenGL ES, disable it as we can't to that if EGL is missing
5923 if [ "$CFG_OPENGL" = "es2" ]; then
5930 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
5933 [ "x$CFG_EMBEDDED" != "xno" ] && CFG_LIBFREETYPE="$CFG_QWS_FREETYPE"
5934 [ "x$PLATFORM_MAC" = "xyes" ] && CFG_LIBFREETYPE=no
5935 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
5936 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
5937 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
5938 CFG_LIBFREETYPE=system
5944 if [ "$CFG_ENDIAN" = "auto" ]; then
5945 if [ "$XPLATFORM_MINGW" = "yes" ]; then
5946 CFG_ENDIAN="Q_LITTLE_ENDIAN"
5947 elif [ "$PLATFORM_MAC" = "yes" ]; then
5950 "$unixtests/endian.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5952 if [ "$F" -eq 0 ]; then
5953 CFG_ENDIAN="Q_LITTLE_ENDIAN"
5954 elif [ "$F" -eq 1 ]; then
5955 CFG_ENDIAN="Q_BIG_ENDIAN"
5958 echo "The target system byte order could not be detected!"
5959 echo "Turn on verbose messaging (-v) to see the final report."
5960 echo "You can use the -little-endian or -big-endian switch to"
5961 echo "$0 to continue."
5967 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
5968 if [ "$PLATFORM_MAC" = "yes" ]; then
5971 "$unixtests/endian.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5973 if [ "$F" -eq 0 ]; then
5974 CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
5975 elif [ "$F" -eq 1 ]; then
5976 CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
5979 echo "The host system byte order could not be detected!"
5980 echo "Turn on verbose messaging (-v) to see the final report."
5981 echo "You can use the -host-little-endian or -host-big-endian switch to"
5982 echo "$0 to continue."
5988 if [ "$CFG_ARMFPA" != "auto" ]; then
5989 if [ "$CFG_ARMFPA" = "yes" ]; then
5990 if [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5991 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
5993 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
5996 CFG_DOUBLEFORMAT="normal"
6001 if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then
6002 if [ "$PLATFORM_QWS" != "yes" -o "$PLATFORM_QPA" = "yes" ]; then
6003 CFG_DOUBLEFORMAT=normal
6005 "$unixtests/doubleformat.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6007 if [ "$F" -eq 10 ] && [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
6008 CFG_DOUBLEFORMAT=normal
6009 elif [ "$F" -eq 11 ] && [ "$CFG_ENDIAN" = "Q_BIG_ENDIAN" ]; then
6010 CFG_DOUBLEFORMAT=normal
6011 elif [ "$F" -eq 10 ]; then
6012 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE"
6013 elif [ "$F" -eq 11 ]; then
6014 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG"
6015 elif [ "$F" -eq 12 ]; then
6016 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
6018 elif [ "$F" -eq 13 ]; then
6019 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
6023 echo "The system floating point format could not be detected."
6024 echo "This may cause data to be generated in a wrong format"
6025 echo "Turn on verbose messaging (-v) to see the final report."
6026 # we do not fail on this since this is a new test, and if it fails,
6027 # the old behavior should be correct in most cases
6028 CFG_DOUBLEFORMAT=normal
6034 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
6038 if [ "$CFG_STL" != "no" ]; then
6039 if [ "$HAVE_STL" = "yes" ]; then
6042 if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6043 echo "STL support cannot be enabled due to functionality tests!"
6044 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6045 echo " If you believe this message is in error you may use the continue"
6046 echo " switch (-continue) to $0 to continue."
6054 # detect POSIX clock_gettime()
6055 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
6056 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
6057 CFG_CLOCK_GETTIME=yes
6059 CFG_CLOCK_GETTIME=no
6063 # detect POSIX monotonic clocks
6064 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
6065 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
6066 CFG_CLOCK_MONOTONIC=yes
6068 CFG_CLOCK_MONOTONIC=no
6070 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
6071 CFG_CLOCK_MONOTONIC=no
6075 if [ "$CFG_MREMAP" = "auto" ]; then
6076 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
6083 # find if the platform provides getaddrinfo (ipv6 dns lookups)
6084 if [ "$CFG_GETADDRINFO" != "no" ]; then
6085 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
6088 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6089 echo "getaddrinfo support cannot be enabled due to functionality tests!"
6090 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6091 echo " If you believe this message is in error you may use the continue"
6092 echo " switch (-continue) to $0 to continue."
6100 # find if the platform provides inotify
6101 if [ "$CFG_INOTIFY" != "no" ]; then
6102 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
6105 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6106 echo "inotify support cannot be enabled due to functionality tests!"
6107 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6108 echo " If you believe this message is in error you may use the continue"
6109 echo " switch (-continue) to $0 to continue."
6117 # find if the platform provides if_nametoindex (ipv6 interface name support)
6118 if [ "$CFG_IPV6IFNAME" != "no" ]; then
6119 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
6122 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6123 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
6124 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6125 echo " If you believe this message is in error you may use the continue"
6126 echo " switch (-continue) to $0 to continue."
6134 # find if the platform provides getifaddrs (network interface enumeration)
6135 if [ "$CFG_GETIFADDRS" != "no" ]; then
6136 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
6139 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6140 echo "getifaddrs support cannot be enabled due to functionality tests!"
6141 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6142 echo " If you believe this message is in error you may use the continue"
6143 echo " switch (-continue) to $0 to continue."
6152 if [ "$CFG_OPENSSL" != "no" ]; then
6153 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
6154 if [ "$CFG_OPENSSL" = "auto" ]; then
6158 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6159 echo "OpenSSL support cannot be enabled due to functionality tests!"
6160 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6161 echo " If you believe this message is in error you may use the continue"
6162 echo " switch (-continue) to $0 to continue."
6171 if [ "$CFG_PCRE" != "qt" ]; then
6172 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pcre "PCRE" $L_FLAGS $I_FLAGS $l_FLAGS; then
6175 if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6176 echo "PCRE support cannot be enabled due to functionality tests!"
6177 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6178 echo " If you believe this message is in error you may use the continue"
6179 echo " switch (-continue) to $0 to continue."
6187 # detect OpenVG support
6188 if [ "$CFG_OPENVG" != "no" ]; then
6189 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
6190 if [ "$CFG_OPENVG" = "auto" ]; then
6193 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
6194 if [ "$CFG_OPENVG" = "auto" ]; then
6197 CFG_OPENVG_ON_OPENGL=yes
6198 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
6199 if [ "$CFG_OPENVG" = "auto" ]; then
6202 CFG_OPENVG_LC_INCLUDES=yes
6203 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
6204 if [ "$CFG_OPENVG" = "auto" ]; then
6207 CFG_OPENVG_LC_INCLUDES=yes
6208 CFG_OPENVG_ON_OPENGL=yes
6210 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6211 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
6212 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6213 echo " If you believe this message is in error you may use the continue"
6214 echo " switch (-continue) to $0 to continue."
6220 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
6221 CFG_OPENVG_SHIVA=yes
6225 if [ "$CFG_ALSA" = "auto" ]; then
6226 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
6233 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
6234 if [ "$CFG_ARCH" = "arm" ]; then
6235 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
6236 if [ $? != "0" ]; then
6237 CFG_JAVASCRIPTCORE_JIT=no
6240 case "$XPLATFORM" in
6242 CFG_JAVASCRIPTCORE_JIT=no
6248 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
6249 QMakeVar set JAVASCRIPTCORE_JIT yes
6250 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
6251 QMakeVar set JAVASCRIPTCORE_JIT no
6254 if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
6255 CFG_AUDIO_BACKEND=yes
6258 if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
6259 echo "Warning: largefile support cannot be disabled for win32."
6263 #-------------------------------------------------------------------------------
6264 # ask for all that hasn't been auto-detected or specified in the arguments
6265 #-------------------------------------------------------------------------------
6267 ### fix this: user input should be validated in a loop
6268 if [ "$PLATFORM_QWS" = "yes" ]; then
6269 PROMPT_FOR_DEPTHS="yes"
6271 PROMPT_FOR_DEPTHS="no"
6273 if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PROMPT_FOR_DEPTHS" = "yes" ]; then
6275 echo "Choose pixel-depths to support:"
6277 echo " 1. 1bpp, black/white"
6278 echo " 4. 4bpp, grayscale"
6279 echo " 8. 8bpp, paletted"
6280 echo " 12. 12bpp, rgb 4-4-4"
6281 echo " 15. 15bpp, rgb 5-5-5"
6282 echo " 16. 16bpp, rgb 5-6-5"
6283 echo " 18. 18bpp, rgb 6-6-6"
6284 echo " 24. 24bpp, rgb 8-8-8"
6285 echo " 32. 32bpp, argb 8-8-8-8 and rgb 8-8-8"
6286 echo " all. All supported depths"
6288 echo "Your choices (default 8,16,32):"
6290 if [ -z "$CFG_QWS_DEPTHS" ] || [ "$CFG_QWS_DEPTHS" = "yes" ]; then
6291 CFG_QWS_DEPTHS=8,16,32
6294 if [ -n "$CFG_QWS_DEPTHS" -a "$PLATFORM_QWS" = "yes" ]; then
6295 if [ "$CFG_QWS_DEPTHS" = "all" ]; then
6296 CFG_QWS_DEPTHS="1 4 8 12 15 16 18 24 32 generic"
6298 for D in `echo "$CFG_QWS_DEPTHS" | sed -e 's/,/ /g'`; do
6300 1|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
6301 generic) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_GENERIC";;
6306 # enable dwarf2 support on Mac
6307 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
6308 QT_CONFIG="$QT_CONFIG dwarf2"
6311 # Set the default arch if there are no "-arch" arguments on the configure line
6312 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_ARCHS" = "" ]; then
6313 source "$mactests/defaultarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests"
6314 CFG_MAC_ARCHS=" $QT_MAC_DEFAULT_ARCH"
6315 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting Mac architechture to$CFG_MAC_ARCHS."
6319 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
6320 QT_CONFIG="$QT_CONFIG phonon-backend"
6323 # disable accessibility
6324 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
6325 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
6327 QT_CONFIG="$QT_CONFIG accessibility"
6330 # egl stuff does not belong in lighthouse, but rather in plugins
6331 if [ "$PLATFORM_QPA" = "yes" ]; then
6336 if [ "$CFG_EGL" = "no" ]; then
6337 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
6339 QT_CONFIG="$QT_CONFIG egl"
6340 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
6341 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GLES_EGL"
6346 if [ "$CFG_OPENVG" = "no" ]; then
6347 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
6349 QT_CONFIG="$QT_CONFIG openvg"
6350 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
6351 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
6353 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
6354 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
6356 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
6357 QT_CONFIG="$QT_CONFIG shivavg"
6358 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
6363 if [ "$CFG_OPENGL" = "no" ]; then
6364 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
6366 QT_CONFIG="$QT_CONFIG opengl"
6369 if [ "$CFG_OPENGL" = "es2" ]; then
6370 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
6373 if [ "$CFG_OPENGL" = "es2" ]; then
6374 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
6375 QT_CONFIG="$QT_CONFIG opengles2"
6378 # safe execution environment
6379 if [ "$CFG_SXE" != "no" ]; then
6380 QT_CONFIG="$QT_CONFIG sxe"
6383 # build up the variables for output
6384 if [ "$CFG_DEBUG" = "yes" ]; then
6385 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
6386 QMAKE_CONFIG="$QMAKE_CONFIG debug"
6387 elif [ "$CFG_DEBUG" = "no" ]; then
6388 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
6389 QMAKE_CONFIG="$QMAKE_CONFIG release"
6391 if [ "$CFG_SHARED" = "yes" ]; then
6392 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
6393 QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
6394 elif [ "$CFG_SHARED" = "no" ]; then
6395 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
6396 QMAKE_CONFIG="$QMAKE_CONFIG static"
6398 if [ "$PLATFORM_QWS" = "yes" ]; then
6399 QMAKE_OUTDIR="${QMAKE_OUTDIR}-emb-$CFG_EMBEDDED"
6400 QMAKE_CONFIG="$QMAKE_CONFIG embedded"
6401 QT_CONFIG="$QT_CONFIG embedded"
6402 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
6404 if [ "$PLATFORM_QPA" = "yes" ]; then
6405 QMAKE_CONFIG="$QMAKE_CONFIG qpa"
6406 QT_CONFIG="$QT_CONFIG qpa"
6407 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
6408 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
6411 if [ "$CFG_EMBEDDED" = "nacl" ]; then
6412 QMAKE_CONFIG="$QMAKE_CONFIG nacl pepper"
6413 QT_CONFIG="$QT_CONFIG nacl pepper"
6414 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
6417 if [ "$XPLATFORM_MINGW" != "yes" ]; then
6418 # Do not set this here for Windows. Let qmake do it so
6419 # debug and release precompiled headers are kept separate.
6420 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
6422 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
6423 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
6424 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
6425 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
6426 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
6427 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
6429 if [ "$CFG_STL" = "no" ]; then
6430 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STL"
6432 QMAKE_CONFIG="$QMAKE_CONFIG stl"
6434 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
6435 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
6437 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
6438 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
6439 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
6440 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
6441 QMakeVar add QMAKE_CFLAGS -g
6442 QMakeVar add QMAKE_CXXFLAGS -g
6443 QT_CONFIG="$QT_CONFIG separate_debug_info"
6445 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
6446 QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
6448 [ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mmx"
6449 [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow"
6450 [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse"
6451 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
6452 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
6453 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
6454 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
6455 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
6456 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
6457 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
6458 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
6459 [ "$PLATFORM_MAC" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG $CFG_MAC_ARCHS"
6460 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
6461 QT_CONFIG="$QT_CONFIG clock-gettime"
6463 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
6464 QT_CONFIG="$QT_CONFIG clock-monotonic"
6466 if [ "$CFG_MREMAP" = "yes" ]; then
6467 QT_CONFIG="$QT_CONFIG mremap"
6469 if [ "$CFG_GETADDRINFO" = "yes" ]; then
6470 QT_CONFIG="$QT_CONFIG getaddrinfo"
6472 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
6473 QT_CONFIG="$QT_CONFIG ipv6ifname"
6475 if [ "$CFG_GETIFADDRS" = "yes" ]; then
6476 QT_CONFIG="$QT_CONFIG getifaddrs"
6478 if [ "$CFG_INOTIFY" = "yes" ]; then
6479 QT_CONFIG="$QT_CONFIG inotify"
6481 if [ "$CFG_LIBJPEG" = "no" ]; then
6483 elif [ "$CFG_LIBJPEG" = "system" ]; then
6484 QT_CONFIG="$QT_CONFIG system-jpeg"
6486 if [ "$CFG_JPEG" = "no" ]; then
6487 QT_CONFIG="$QT_CONFIG no-jpeg"
6488 elif [ "$CFG_JPEG" = "yes" ]; then
6489 QT_CONFIG="$QT_CONFIG jpeg"
6491 if [ "$CFG_LIBPNG" = "no" ]; then
6494 if [ "$CFG_LIBPNG" = "system" ]; then
6495 QT_CONFIG="$QT_CONFIG system-png"
6497 if [ "$CFG_PNG" = "no" ]; then
6498 QT_CONFIG="$QT_CONFIG no-png"
6499 elif [ "$CFG_PNG" = "yes" ]; then
6500 QT_CONFIG="$QT_CONFIG png"
6502 if [ "$CFG_GIF" = "no" ]; then
6503 QT_CONFIG="$QT_CONFIG no-gif"
6504 elif [ "$CFG_GIF" = "yes" ]; then
6505 QT_CONFIG="$QT_CONFIG gif"
6507 if [ "$CFG_LIBFREETYPE" = "no" ]; then
6508 QT_CONFIG="$QT_CONFIG no-freetype"
6509 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
6510 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
6511 QT_CONFIG="$QT_CONFIG system-freetype"
6513 QT_CONFIG="$QT_CONFIG freetype"
6515 if [ "$CFG_GUI" = "auto" ]; then
6518 if [ "$CFG_GUI" = "no" ]; then
6519 QT_CONFIG="$QT_CONFIG no-gui"
6521 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GUI"
6525 if [ "x$PLATFORM_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
6526 #On Mac we implicitly link against libz, so we
6527 #never use the 3rdparty stuff.
6528 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
6530 if [ "$CFG_ZLIB" = "yes" ]; then
6531 QT_CONFIG="$QT_CONFIG zlib"
6532 elif [ "$CFG_ZLIB" = "system" ]; then
6533 QT_CONFIG="$QT_CONFIG system-zlib"
6536 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
6537 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
6538 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
6539 [ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
6540 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
6541 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
6542 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
6543 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
6544 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
6545 [ "$CFG_NAS" = "system" ] && QT_CONFIG="$QT_CONFIG nas"
6546 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
6547 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
6548 [ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
6549 [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
6550 [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
6552 if [ "$PLATFORM_X11" = "yes" ]; then
6553 [ "$CFG_SM" = "yes" ] && QT_CONFIG="$QT_CONFIG x11sm"
6555 # for some reason, the following libraries are not always built shared,
6556 # so *every* program/lib (including Qt) has to link against them
6557 if [ "$CFG_XSHAPE" = "yes" ]; then
6558 QT_CONFIG="$QT_CONFIG xshape"
6560 if [ "$CFG_XVIDEO" = "yes" ]; then
6561 QT_CONFIG="$QT_CONFIG xvideo"
6563 if [ "$CFG_XSYNC" = "yes" ]; then
6564 QT_CONFIG="$QT_CONFIG xsync"
6566 if [ "$CFG_XINERAMA" = "yes" ]; then
6567 QT_CONFIG="$QT_CONFIG xinerama"
6568 QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11'
6570 if [ "$CFG_XCURSOR" = "yes" ]; then
6571 QT_CONFIG="$QT_CONFIG xcursor"
6572 QMakeVar set QMAKE_LIBS_X11 '-lXcursor $$QMAKE_LIBS_X11'
6574 if [ "$CFG_XFIXES" = "yes" ]; then
6575 QT_CONFIG="$QT_CONFIG xfixes"
6576 QMakeVar set QMAKE_LIBS_X11 '-lXfixes $$QMAKE_LIBS_X11'
6578 if [ "$CFG_XRANDR" = "yes" ]; then
6579 QT_CONFIG="$QT_CONFIG xrandr"
6580 if [ "$CFG_XRENDER" != "yes" ]; then
6581 # libXrandr uses 1 function from libXrender, so we always have to have it :/
6582 QMakeVar set QMAKE_LIBS_X11 '-lXrandr -lXrender $$QMAKE_LIBS_X11'
6584 QMakeVar set QMAKE_LIBS_X11 '-lXrandr $$QMAKE_LIBS_X11'
6587 if [ "$CFG_XRENDER" = "yes" ]; then
6588 QT_CONFIG="$QT_CONFIG xrender"
6589 QMakeVar set QMAKE_LIBS_X11 '-lXrender $$QMAKE_LIBS_X11'
6591 if [ "$CFG_MITSHM" = "yes" ]; then
6592 QT_CONFIG="$QT_CONFIG mitshm"
6594 if [ "$CFG_FONTCONFIG" = "yes" ]; then
6595 QT_CONFIG="$QT_CONFIG fontconfig"
6597 if [ "$CFG_XINPUT" = "yes" ]; then
6598 QMakeVar set QMAKE_LIBS_X11 '-lXi $$QMAKE_LIBS_X11'
6600 if [ "$CFG_XINPUT" = "yes" ]; then
6601 QT_CONFIG="$QT_CONFIG xinput tablet"
6603 if [ "$CFG_XKB" = "yes" ]; then
6604 QT_CONFIG="$QT_CONFIG xkb"
6608 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS"
6609 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
6610 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
6612 if [ "$PLATFORM_MAC" = "yes" ]; then
6613 if [ "$CFG_RPATH" = "yes" ]; then
6614 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
6616 elif [ -z "`getQMakeConf \"$XQMAKESPEC\" | $AWK '/QMAKE_(LFLAGS_)?RPATH/ {print $3;}'`" ]; then
6617 if [ -n "$RPATH_FLAGS" ]; then
6619 echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
6623 elif [ "$CFG_RPATH" = "yes" ]; then
6624 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
6628 if [ "$CFG_RPATH" = "yes" ]; then
6629 # set the default rpath to the library installation directory
6630 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
6632 if [ -n "$RPATH_FLAGS" ]; then
6633 # add the user defined rpaths
6634 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
6638 if [ '!' -z "$I_FLAGS" ]; then
6639 # add the user define include paths
6640 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
6641 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
6644 if [ '!' -z "$W_FLAGS" ]; then
6645 # add the user defined warning flags
6646 QMakeVar add QMAKE_CFLAGS_WARN_ON "$W_FLAGS"
6647 QMakeVar add QMAKE_CXXFLAGS_WARN_ON "$W_FLAGS"
6648 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS"
6651 # turn off exceptions for the compilers that support it
6652 if [ "$PLATFORM_QWS" = "yes" ]; then
6653 COMPILER=`echo $XPLATFORM | cut -f 3- -d-`
6654 elif [ "$XPLATFORM" != "$PLATFORM" ]; then
6655 COMPILER=`echo $XPLATFORM | cut -f 2- -d-`
6657 COMPILER=`echo $PLATFORM | cut -f 2- -d-`
6659 if [ "$CFG_EXCEPTIONS" = "unspecified" -a "$PLATFORM_QWS" = "yes" ]; then
6663 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6664 QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
6667 if [ "$XPLATFORM_MINGW" = "yes" ]; then
6668 # mkspecs/features/win32/default_pre.prf sets "no-rtti".
6669 # Follow default behavior of configure.exe by overriding with "rtti".
6670 QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
6673 if [ "$CFG_ALSA" = "yes" ]; then
6674 QT_CONFIG="$QT_CONFIG alsa"
6677 if [ "$CFG_PULSEAUDIO" = "yes" ]; then
6678 QT_CONFIG="$QT_CONFIG pulseaudio"
6681 if [ "$CFG_COREWLAN" = "yes" ]; then
6682 QT_CONFIG="$QT_CONFIG corewlan"
6685 if [ "$CFG_ICU" = "yes" ]; then
6686 QT_CONFIG="$QT_CONFIG icu"
6689 if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
6690 QT_CONFIG="$QT_CONFIG force_asserts"
6693 if [ "$CFG_PCRE" = "qt" ]; then
6694 QMAKE_CONFIG="$QMAKE_CONFIG pcre"
6698 # Some Qt modules are too advanced in C++ for some old compilers
6699 # Detect here the platforms where they are known to work.
6701 # See Qt documentation for more information on which features are
6702 # supported and on which compilers.
6704 canBuildQtConcurrent="yes"
6705 canUseV8Snapshot="yes"
6707 case "$XPLATFORM" in
6709 # PA-RISC's assembly is too limited
6710 # gcc 3.4 on that platform can't build QtXmlPatterns
6711 # the assembly it generates cannot be compiled
6713 # Check gcc's version
6714 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
6718 canBuildQtXmlPatterns="no"
6722 canBuildQtXmlPatterns="no"
6726 unsupported/vxworks-*-g++*)
6729 unsupported/vxworks-*-dcc*)
6731 canBuildQtXmlPatterns="no"
6734 # Check gcc's version
6735 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
6743 canBuildQtXmlPatterns="no"
6748 # Check the compiler version
6749 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
6752 canBuildQtXmlPatterns="no"
6753 canBuildQtConcurrent="no"
6757 canBuildQtConcurrent="no"
6763 canBuildQtXmlPatterns="no"
6764 canBuildQtConcurrent="no"
6770 # Get the xlC version
6771 cat > xlcver.c <<EOF
6775 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
6780 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
6781 xlcver=`./xlcver 2>/dev/null`
6784 if [ "$OPT_VERBOSE" = "yes" ]; then
6785 if [ -n "$xlcver" ]; then
6786 echo Found IBM xlC version: $xlcver.
6788 echo Could not determine IBM xlC version, assuming oldest supported.
6795 canBuildQtXmlPatterns="no"
6796 canBuildQtConcurrent="no"
6800 canBuildQtConcurrent="no"
6806 canBuildQtConcurrent="no"
6810 if [ "$CFG_GUI" = "no" ]; then
6811 # WebKit requires QtGui
6815 if [ "$CFG_SHARED" = "no" ]; then
6817 echo "WARNING: Using static linking will disable the WebKit module."
6822 CFG_CONCURRENT="yes"
6823 if [ "$canBuildQtConcurrent" = "no" ]; then
6824 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
6827 QT_CONFIG="$QT_CONFIG concurrent"
6831 if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
6832 QT_CONFIG="$QT_CONFIG audio-backend"
6836 if [ "$CFG_WEBKIT" = "debug" ]; then
6837 QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
6841 QT_CONFIG="$QT_CONFIG v8"
6842 # Detect snapshot support
6843 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
6844 case "$CFG_HOST_ARCH,$CFG_ARCH" in
6847 *) canUseV8Snapshot="no"
6851 if [ -n "$_SBOX_DIR" -a "$CFG_ARCH" = "arm" ]; then
6852 # QEMU crashes when building inside Scratchbox with an ARM target
6853 canUseV8Snapshot="no"
6856 if [ "$CFG_V8SNAPSHOT" = "auto" ]; then
6857 CFG_V8SNAPSHOT="$canUseV8Snapshot"
6859 if [ "$CFG_V8SNAPSHOT" = "yes" -a "$canUseV8Snapshot" = "no" ]; then
6860 echo "Error: V8 snapshot was requested, but is not supported on this platform."
6863 if [ "$CFG_V8SNAPSHOT" = "yes" ]; then
6864 QT_CONFIG="$QT_CONFIG v8snapshot"
6868 if [ "$CFG_DECLARATIVE_DEBUG" = "no" ]; then
6869 QCONFIG_FLAGS="$QCONFIG_FLAGS QDECLARATIVE_NO_DEBUG_PROTOCOL"
6872 if [ "$CFG_EXCEPTIONS" = "no" ]; then
6875 QMakeVar add QMAKE_CFLAGS -fno-exceptions
6876 QMakeVar add QMAKE_CXXFLAGS -fno-exceptions
6877 QMakeVar add QMAKE_LFLAGS -fno-exceptions
6882 QMakeVar add QMAKE_CFLAGS -LANG:exceptions=off
6883 QMakeVar add QMAKE_CXXFLAGS -LANG:exceptions=off
6884 QMakeVar add QMAKE_LFLAGS -LANG:exceptions=off
6891 QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off"
6897 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
6899 case "$COMPILER_VERSION" in
6901 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
6902 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
6903 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
6906 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
6907 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
6908 QT_GCC_PATCH_VERSION=0
6918 #-------------------------------------------------------------------------------
6919 # part of configuration information goes into qconfig.h
6920 #-------------------------------------------------------------------------------
6922 case "$CFG_QCONFIG" in
6924 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
6927 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
6928 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
6929 if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
6930 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
6931 elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
6932 cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
6934 echo "#endif" >>"$tmpconfig"
6938 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6942 # define QT_EDITION $QT_EDITION
6945 /* Machine byte-order */
6946 #define Q_BIG_ENDIAN 4321
6947 #define Q_LITTLE_ENDIAN 1234
6950 echo "#ifdef QT_BOOTSTRAPPED" >>"$outpath/src/corelib/global/qconfig.h.new"
6951 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
6952 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6953 #if defined(__BIG_ENDIAN__)
6954 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6955 #elif defined(__LITTLE_ENDIAN__)
6956 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6958 # error "Unable to determine byte order!"
6962 echo "#define Q_BYTE_ORDER $CFG_HOST_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6964 echo "#else" >>"$outpath/src/corelib/global/qconfig.h.new"
6965 if [ "$CFG_ENDIAN" = "auto" ]; then
6966 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6967 #if defined(__BIG_ENDIAN__)
6968 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6969 #elif defined(__LITTLE_ENDIAN__)
6970 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6972 # error "Unable to determine byte order!"
6976 echo "#define Q_BYTE_ORDER $CFG_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6978 echo "#endif" >>"$outpath/src/corelib/global/qconfig.h.new"
6980 if [ "$CFG_DOUBLEFORMAT" != "normal" ]; then
6981 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6982 /* Non-IEEE double format */
6983 #define Q_DOUBLE_LITTLE "01234567"
6984 #define Q_DOUBLE_BIG "76543210"
6985 #define Q_DOUBLE_LITTLE_SWAPPED "45670123"
6986 #define Q_DOUBLE_BIG_SWAPPED "32107654"
6987 #define Q_DOUBLE_FORMAT $CFG_DOUBLEFORMAT
6990 if [ "$CFG_ARMFPA" = "yes" ]; then
6991 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
6992 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6993 #ifndef QT_BOOTSTRAPPED
6998 echo "#define QT_ARMFPA" >>"$outpath/src/corelib/global/qconfig.h.new"
7002 CFG_ARCH_STR=`echo $CFG_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7003 CFG_HOST_ARCH_STR=`echo $CFG_HOST_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7004 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
7005 /* Machine Architecture */
7006 #ifndef QT_BOOTSTRAPPED
7007 # define QT_ARCH_${CFG_ARCH_STR}
7009 # define QT_ARCH_${CFG_HOST_ARCH_STR}
7013 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
7014 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
7016 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
7017 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
7020 if [ "$CFG_FRAMEWORK" = "yes" ]; then
7021 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
7024 if [ "$PLATFORM_MAC" = "yes" ]; then
7025 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
7026 #if defined(__LP64__)
7027 # define QT_POINTER_SIZE 8
7029 # define QT_POINTER_SIZE 4
7033 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
7034 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
7038 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
7040 if [ "$CFG_DEV" = "yes" ]; then
7041 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
7044 # Embedded compile time options
7045 if [ "$PLATFORM_QWS" = "yes" ]; then
7046 # Add QWS to config.h
7047 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QWS"
7049 # Add excluded decorations to $QCONFIG_FLAGS
7050 decors=`grep '^decorations -= ' "$QMAKE_VARS_FILE" | ${AWK} '{print $3}'`
7051 for decor in $decors; do
7052 NODECORATION=`echo $decor | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7053 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_NO_QWS_DECORATION_${NODECORATION}"
7056 # Figure which embedded drivers which are turned off
7057 CFG_GFX_OFF="$CFG_GFX_AVAILABLE"
7058 for ADRIVER in $CFG_GFX_ON; do
7059 CFG_GFX_OFF=`echo "${CFG_GFX_OFF} " | sed "s,${ADRIVER} ,,g"`
7062 CFG_KBD_OFF="$CFG_KBD_AVAILABLE"
7063 # the um driver is currently not in the available list for external builds
7064 if [ "$CFG_DEV" = "no" ]; then
7065 CFG_KBD_OFF="$CFG_KBD_OFF um"
7067 for ADRIVER in $CFG_KBD_ON; do
7068 CFG_KBD_OFF=`echo "${CFG_KBD_OFF} " | sed "s,${ADRIVER} ,,g"`
7071 CFG_MOUSE_OFF="$CFG_MOUSE_AVAILABLE"
7072 for ADRIVER in $CFG_MOUSE_ON; do
7073 CFG_MOUSE_OFF=`echo "${CFG_MOUSE_OFF} " | sed "s,${ADRIVER} ,,g"`
7076 for DRIVER in $CFG_GFX_OFF; do
7077 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7078 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_$NODRIVER"
7081 for DRIVER in $CFG_KBD_OFF; do
7082 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7083 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_KBD_$NODRIVER"
7086 for DRIVER in $CFG_MOUSE_OFF; do
7087 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7088 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_MOUSE_$NODRIVER"
7092 if [ "$PLATFORM_QPA" = "yes" ]; then
7093 # Add QPA to config.h
7094 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
7097 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
7098 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
7101 # Add turned on SQL drivers
7102 for DRIVER in $CFG_SQL_AVAILABLE; do
7103 eval "VAL=\$CFG_SQL_$DRIVER"
7106 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7107 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
7108 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
7111 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
7117 QMakeVar set sql-drivers "$SQL_DRIVERS"
7118 QMakeVar set sql-plugins "$SQL_PLUGINS"
7120 # Add other configuration options to the qconfig.h file
7121 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
7122 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
7123 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
7124 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
7125 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
7126 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
7127 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
7129 # X11/Unix/Mac only configs
7130 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
7131 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
7132 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
7133 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
7134 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
7135 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
7136 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
7137 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
7138 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
7139 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
7140 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
7141 [ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NAS"
7142 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
7143 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
7144 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
7146 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
7147 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
7148 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
7149 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
7150 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
7151 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
7152 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
7153 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
7154 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
7155 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
7156 [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
7157 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
7158 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
7160 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
7161 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
7162 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
7163 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
7164 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
7165 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
7166 [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
7167 [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
7169 # sort QCONFIG_FLAGS for neatness if we can
7170 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
7171 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
7173 if [ -n "$QCONFIG_FLAGS" ]; then
7174 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7175 #ifndef QT_BOOTSTRAPPED
7178 for cfg in $QCONFIG_FLAGS; do
7179 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
7180 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
7181 # figure out define logic, so we can output the correct
7182 # ifdefs to override the global defines in a project
7184 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
7185 # QT_NO_option can be forcefully turned on by QT_option
7186 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
7187 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
7188 # QT_option can be forcefully turned off by QT_NO_option
7189 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
7192 if [ -z $cfgdNeg ]; then
7193 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7200 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7201 #if defined($cfgd) && defined($cfgdNeg)
7203 #elif !defined($cfgd) && !defined($cfgdNeg)
7210 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7211 #endif // QT_BOOTSTRAPPED
7216 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
7217 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7218 #define QT_VISIBILITY_AVAILABLE
7223 if [ -n "$QT_LIBINFIX" ]; then
7224 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7225 #define QT_LIBINFIX "$QT_LIBINFIX"
7230 # avoid unecessary rebuilds by copying only if qconfig.h has changed
7231 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
7232 rm -f "$outpath/src/corelib/global/qconfig.h.new"
7234 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
7235 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
7236 chmod -w "$outpath/src/corelib/global/qconfig.h"
7237 for conf in "$outpath/include/QtCore/qconfig.h" "$outpath/include/Qt/qconfig.h"; do
7238 ln -s "$outpath/src/corelib/global/qconfig.h" "$conf"
7242 #-------------------------------------------------------------------------------
7243 # save configuration into qconfig.pri
7244 #-------------------------------------------------------------------------------
7245 QTCONFIG="$outpath/mkspecs/qconfig.pri"
7246 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
7247 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
7248 if [ "$CFG_DEBUG" = "yes" ]; then
7249 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
7250 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
7251 QT_CONFIG="$QT_CONFIG release"
7253 QT_CONFIG="$QT_CONFIG debug"
7254 elif [ "$CFG_DEBUG" = "no" ]; then
7255 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
7256 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
7257 QT_CONFIG="$QT_CONFIG debug"
7259 QT_CONFIG="$QT_CONFIG release"
7261 if [ "$CFG_STL" = "yes" ]; then
7262 QTCONFIG_CONFIG="$QTCONFIG_CONFIG stl"
7264 if [ "$CFG_FRAMEWORK" = "no" ]; then
7265 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
7267 QT_CONFIG="$QT_CONFIG qt_framework"
7268 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
7270 if [ "$BUILD_ON_MAC" = "yes" ]; then
7271 QT_CONFIG="$QT_CONFIG $CFG_MAC_ARCHS"
7273 if [ "$CFG_DEV" = "yes" ]; then
7274 QT_CONFIG="$QT_CONFIG private_tests"
7277 # Make the application arch follow the Qt arch for single arch builds.
7278 # (for multiple-arch builds, set CONFIG manually in the application .pro file)
7279 if [ `echo "$CFG_MAC_ARCHS" | wc -w` -eq 1 ]; then
7280 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $CFG_MAC_ARCHS"
7283 cat >>"$QTCONFIG.tmp" <<EOF
7285 CONFIG += $QTCONFIG_CONFIG
7287 QT_EDITION = $Edition
7288 QT_CONFIG += $QT_CONFIG
7291 QT_VERSION = $QT_VERSION
7292 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
7293 QT_MINOR_VERSION = $QT_MINOR_VERSION
7294 QT_PATCH_VERSION = $QT_PATCH_VERSION
7297 QT_LIBINFIX = $QT_LIBINFIX
7298 QT_NAMESPACE = $QT_NAMESPACE
7299 QT_NAMESPACE_MAC_CRC = $QT_NAMESPACE_MAC_CRC
7302 if [ -n "$CFG_SYSROOT" ]; then
7303 echo "# sysroot" >>"$QTCONFIG.tmp"
7304 echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
7305 echo " QT_SYSROOT += \$\$quote($CFG_SYSROOT)" >>"$QTCONFIG.tmp"
7306 echo " QMAKE_CFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
7307 echo " QMAKE_CXXFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
7308 echo " QMAKE_LFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
7309 echo "}" >> "$QTCONFIG.tmp"
7310 echo >> "$QTCONFIG.tmp"
7312 if [ "$CFG_RPATH" = "yes" ]; then
7313 echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
7315 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
7316 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
7317 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
7318 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
7321 if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
7322 echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
7323 echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp"
7326 # replace qconfig.pri if it differs from the newly created temp file
7327 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
7328 rm -f "$QTCONFIG.tmp"
7330 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
7333 #-------------------------------------------------------------------------------
7334 # save configuration into qmodule.pri
7335 #-------------------------------------------------------------------------------
7336 QTMODULE="$outpath/mkspecs/qmodule.pri"
7338 echo "CONFIG += create_prl link_prl" >> "$QTMODULE.tmp"
7340 # Ensure we can link to uninistalled libraries
7341 if [ "$XPLATFORM_MINGW" != "yes" ] && [ "$CFG_EMBEDDED" != "nacl" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
7342 echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
7344 if [ -n "$QT_CFLAGS_PSQL" ]; then
7345 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
7347 if [ -n "$QT_LFLAGS_PSQL" ]; then
7348 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
7350 if [ -n "$QT_CFLAGS_MYSQL" ]; then
7351 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
7353 if [ -n "$QT_LFLAGS_MYSQL" ]; then
7354 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
7356 if [ -n "$QT_CFLAGS_SQLITE" ]; then
7357 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
7359 if [ -n "$QT_LFLAGS_SQLITE" ]; then
7360 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
7362 if [ -n "$QT_LFLAGS_ODBC" ]; then
7363 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
7365 if [ -n "$QT_LFLAGS_TDS" ]; then
7366 echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
7369 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
7370 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
7373 #dump in the OPENSSL_LIBS info
7374 if [ '!' -z "$OPENSSL_LIBS" ]; then
7375 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
7376 elif [ "$CFG_OPENSSL" = "linked" ]; then
7377 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
7380 #dump in the SDK info
7381 if [ '!' -z "$CFG_SDK" ]; then
7382 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
7385 # mac gcc -Xarch support
7386 if [ "$CFG_MAC_XARCH" = "no" ]; then
7387 echo "QMAKE_MAC_XARCH = no" >> "$QTMODULE.tmp"
7391 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
7392 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
7394 # replace qmodule.pri if it differs from the newly created temp file
7395 if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
7396 rm -f "$QTMODULE.tmp"
7398 mv -f "$QTMODULE.tmp" "$QTMODULE"
7401 #-------------------------------------------------------------------------------
7402 # save configuration into .qmake.cache
7403 #-------------------------------------------------------------------------------
7405 CACHEFILE="$outpath/.qmake.cache"
7406 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
7407 cat >>"$CACHEFILE.tmp" <<EOF
7409 QT_SOURCE_TREE = \$\$quote($relpath)
7410 QT_BUILD_TREE = \$\$quote($outpath)
7411 QT_BUILD_PARTS = $CFG_BUILD_PARTS
7413 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
7414 QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
7415 QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
7416 QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
7417 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
7418 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
7420 include(\$\$PWD/mkspecs/qmodule.pri)
7421 CONFIG += $QMAKE_CONFIG dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
7422 QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
7423 QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
7427 #dump the qmake spec
7428 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
7429 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
7431 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
7436 [ "$CFG_INCREMENTAL" = "auto" ] && "$WHICH" p4 >/dev/null 2>&1 && [ "$CFG_DEV" = "yes" ] && CFG_INCREMENTAL="yes"
7437 if [ "$CFG_INCREMENTAL" = "yes" ]; then
7438 find "$relpath" -perm u+w -mtime -3 | grep 'cpp$' | while read f; do
7439 # don't need to worry about generated files
7440 [ -r `echo $f | sed "s,cpp$,ui,"` ] && continue
7441 basename "$f" | grep '^moc_' >/dev/null 2>&1 && continue
7443 INCREMENTAL="$INCREMENTAL `basename \"$f\" | sed 's,.cpp,.o,'`"
7445 [ '!' -z "$INCREMENTAL" ] && echo "QMAKE_INCREMENTAL += $INCREMENTAL" >> "$CACHEFILE.tmp"
7446 [ -r "$outpath/.qmake.incremental" ] && echo "include($outpath/.qmake.incremental)" >> "$CACHEFILE.tmp"
7449 # replace .qmake.cache if it differs from the newly created temp file
7450 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
7451 rm -f "$CACHEFILE.tmp"
7453 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
7456 #-------------------------------------------------------------------------------
7457 # give feedback on configuration
7458 #-------------------------------------------------------------------------------
7462 if [ "$CFG_EXCEPTIONS" != "no" ]; then
7465 This target is using the GNU C++ compiler ($PLATFORM).
7467 Recent versions of this compiler automatically include code for
7468 exceptions, which increase both the size of the Qt libraries and
7469 the amount of memory taken by your applications.
7471 You may choose to re-run `basename $0` with the -no-exceptions
7472 option to compile Qt without exceptions. This is completely binary
7473 compatible, and existing applications will continue to work.
7481 if [ "$CFG_EXCEPTIONS" != "no" ]; then
7484 This target is using the MIPSpro C++ compiler ($PLATFORM).
7486 You may choose to re-run `basename $0` with the -no-exceptions
7487 option to compile Qt without exceptions. This will make the
7488 size of the Qt library smaller and reduce the amount of memory
7489 taken by your applications.
7501 if [ "$XPLATFORM" = "$PLATFORM" ]; then
7502 echo "Build type: $PLATFORM"
7504 echo "Building on: $PLATFORM"
7505 echo "Building for: $XPLATFORM"
7508 if [ ! -z "$CFG_MAC_ARCHS" ]; then
7509 echo "Architecture: $CFG_ARCH ($CFG_MAC_ARCHS )"
7511 echo "Architecture: $CFG_ARCH"
7514 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
7515 echo "Host architecture: $CFG_HOST_ARCH"
7518 if [ -n "$PLATFORM_NOTES" ]; then
7519 echo "Platform notes:"
7520 echo "$PLATFORM_NOTES"
7525 if [ "$OPT_VERBOSE" = "yes" ]; then
7526 echo $ECHO_N "qmake vars .......... $ECHO_C"
7527 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
7528 echo "qmake switches ......... $QMAKE_SWITCHES"
7531 [ "$CFG_INCREMENTAL" = "yes" ] && [ '!' -z "$INCREMENTAL" ] && echo "Incremental ............ $INCREMENTAL"
7532 echo "Build .................. $CFG_BUILD_PARTS"
7533 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
7534 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
7535 echo "Debug .................. yes (combined)"
7536 if [ "$CFG_DEBUG" = "yes" ]; then
7537 echo "Default Link ........... debug"
7539 echo "Default Link ........... release"
7542 echo "Debug .................. $CFG_DEBUG"
7544 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
7545 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
7546 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
7547 echo "QtConcurrent code ...... $CFG_CONCURRENT"
7548 echo "QtGui module ........... $CFG_GUI"
7549 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
7550 echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
7552 echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
7554 echo "Declarative debugging ...$CFG_DECLARATIVE_DEBUG"
7555 echo "STL support ............ $CFG_STL"
7556 echo "PCH support ............ $CFG_PRECOMPILE"
7557 echo "MMX/3DNOW/SSE/SSE2/SSE3. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}/${CFG_SSE3}"
7558 echo "SSSE3/SSE4.1/SSE4.2..... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
7559 echo "AVX..................... ${CFG_AVX}"
7560 if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then
7561 echo "iWMMXt support ......... ${CFG_IWMMXT}"
7562 echo "NEON support ........... ${CFG_NEON}"
7564 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
7565 echo "getaddrinfo support .... $CFG_GETADDRINFO"
7566 echo "getifaddrs support ..... $CFG_GETIFADDRS"
7567 echo "Accessibility .......... $CFG_ACCESSIBILITY"
7568 echo "NIS support ............ $CFG_NIS"
7569 echo "CUPS support ........... $CFG_CUPS"
7570 echo "Iconv support .......... $CFG_ICONV"
7571 echo "Glib support ........... $CFG_GLIB"
7572 echo "GStreamer support ...... $CFG_GSTREAMER"
7573 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
7574 echo "Large File support ..... $CFG_LARGEFILE"
7575 echo "GIF support ............ $CFG_GIF"
7576 if [ "$CFG_JPEG" = "no" ]; then
7577 echo "JPEG support ........... $CFG_JPEG"
7579 echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
7581 if [ "$CFG_PNG" = "no" ]; then
7582 echo "PNG support ............ $CFG_PNG"
7584 echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
7586 echo "zlib support ........... $CFG_ZLIB"
7587 echo "Session management ..... $CFG_SM"
7588 if [ "$PLATFORM_QWS" = "yes" ]; then
7589 echo "Embedded support ....... $CFG_EMBEDDED"
7590 if [ "$CFG_QWS_FREETYPE" = "auto" ]; then
7591 echo "Freetype2 support ...... $CFG_QWS_FREETYPE ($CFG_LIBFREETYPE)"
7593 echo "Freetype2 support ...... $CFG_QWS_FREETYPE"
7595 # Normalize the decoration output first
7596 CFG_GFX_ON=`echo ${CFG_GFX_ON}`
7597 CFG_GFX_PLUGIN=`echo ${CFG_GFX_PLUGIN}`
7598 echo "Graphics (qt) .......... ${CFG_GFX_ON}"
7599 echo "Graphics (plugin) ...... ${CFG_GFX_PLUGIN}"
7600 CFG_DECORATION_ON=`echo ${CFG_DECORATION_ON}`
7601 CFG_DECORATION_PLUGIN=`echo ${CFG_DECORATION_PLUGIN}`
7602 echo "Decorations (qt) ....... $CFG_DECORATION_ON"
7603 echo "Decorations (plugin) ... $CFG_DECORATION_PLUGIN"
7604 CFG_KBD_ON=`echo ${CFG_KBD_ON}`
7605 CFG_KBD_PLUGIN=`echo ${CFG_KBD_PLUGIN}`
7606 echo "Keyboard driver (qt) ... ${CFG_KBD_ON}"
7607 echo "Keyboard driver (plugin) .. ${CFG_KBD_PLUGIN}"
7608 CFG_MOUSE_ON=`echo ${CFG_MOUSE_ON}`
7609 CFG_MOUSE_PLUGIN=`echo ${CFG_MOUSE_PLUGIN}`
7610 echo "Mouse driver (qt) ...... $CFG_MOUSE_ON"
7611 echo "Mouse driver (plugin) .. $CFG_MOUSE_PLUGIN"
7613 if [ "$CFG_OPENGL" = "desktop" ]; then
7614 echo "OpenGL support ......... yes (Desktop OpenGL)"
7615 elif [ "$CFG_OPENGL" = "es2" ]; then
7616 echo "OpenGL support ......... yes (OpenGL ES 2.x)"
7618 echo "OpenGL support ......... no"
7620 if [ "$CFG_EGL" != "no" ]; then
7621 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
7622 echo "EGL support ............ yes <GLES/egl.h>"
7624 echo "EGL support ............ yes <EGL/egl.h>"
7627 if [ "$CFG_OPENVG" ]; then
7628 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
7629 echo "OpenVG support ......... ShivaVG"
7631 echo "OpenVG support ......... $CFG_OPENVG"
7634 if [ "$PLATFORM_X11" = "yes" ]; then
7635 echo "NAS sound support ...... $CFG_NAS"
7636 echo "XShape support ......... $CFG_XSHAPE"
7637 echo "XVideo support ......... $CFG_XVIDEO"
7638 echo "XSync support .......... $CFG_XSYNC"
7639 echo "Xinerama support ....... $CFG_XINERAMA"
7640 echo "Xcursor support ........ $CFG_XCURSOR"
7641 echo "Xfixes support ......... $CFG_XFIXES"
7642 echo "Xrandr support ......... $CFG_XRANDR"
7643 echo "Xi support ............. $CFG_XINPUT"
7644 echo "MIT-SHM support ........ $CFG_MITSHM"
7645 echo "FontConfig support ..... $CFG_FONTCONFIG"
7646 echo "XKB Support ............ $CFG_XKB"
7647 echo "immodule support ....... $CFG_IM"
7648 echo "GTK theme support ...... $CFG_QGTKSTYLE"
7650 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
7651 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
7652 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
7653 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
7654 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
7655 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
7656 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
7657 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
7658 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
7661 if [ "$CFG_OPENSSL" = "yes" ]; then
7662 OPENSSL_LINKAGE="(run-time)"
7663 elif [ "$CFG_OPENSSL" = "linked" ]; then
7664 OPENSSL_LINKAGE="(linked)"
7666 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
7667 echo "Alsa support ........... $CFG_ALSA"
7668 if [ "$PLATFORM_MAC" = "yes" ]; then
7669 echo "CoreWlan support ....... $CFG_COREWLAN"
7671 echo "libICU support ......... $CFG_ICU"
7672 echo "PCRE support ........... $CFG_PCRE"
7673 if [ "$CFG_XCB_LIMITED" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
7674 echo "Xcb support ............ limited (old version)"
7676 echo "Xcb support ............ $CFG_XCB"
7678 echo "Xrender support ........ $CFG_XRENDER"
7679 if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
7680 echo "XInput2 support ........ $CFG_XINPUT2"
7684 # complain about not being able to use dynamic plugins if we are using a static build
7685 if [ "$CFG_SHARED" = "no" ]; then
7687 echo "WARNING: Using static linking will disable the use of dynamically"
7688 echo "loaded plugins. Make sure to import all needed static plugins,"
7689 echo "or compile needed modules into the library."
7692 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
7694 echo "NOTE: When linking against OpenSSL, you can override the default"
7695 echo "library names through OPENSSL_LIBS."
7697 echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
7700 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
7702 echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
7703 echo "if you want a pure debug build."
7708 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
7713 #-------------------------------------------------------------------------------
7714 # build makefiles based on the configuration
7715 #-------------------------------------------------------------------------------
7717 echo "Finding project files. Please wait..."
7718 if [ "$CFG_NOPROCESS" != "yes" ]; then
7719 "$outpath/bin/qmake" -prl -r "${relpath}/qtbase.pro"
7720 if [ -f "${relpath}/qtbase.pro" ]; then
7721 mkfile="${outpath}/Makefile"
7722 [ -f "$mkfile" ] && chmod +w "$mkfile"
7723 QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/qtbase.pro" -o "$mkfile"
7727 # .projects -> projects to process
7728 # .projects.1 -> qt and moc
7729 # .projects.2 -> subdirs and libs
7730 # .projects.3 -> the rest
7731 rm -f .projects .projects.1 .projects.2 .projects.3
7733 QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
7734 if [ -z "$AWK" ]; then
7735 for p in `echo $QMAKE_PROJECTS`; do
7736 echo "$p" >> .projects
7739 cat >projects.awk <<EOF
7745 first = "./.projects.1.tmp"
7746 second = "./.projects.2.tmp"
7747 third = "./.projects.3.tmp"
7752 if ( ! target_file )
7754 print input_file >target_file
7759 input_file = FILENAME
7764 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
7767 } else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) {
7768 target_file = second
7773 matched_target == 0 && /^(TEMPLATE.*=)/ {
7774 if ( \$3 == "subdirs" )
7775 target_file = second
7776 else if ( \$3 == "lib" )
7782 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
7783 if ( \$0 ~ /plugin/ )
7786 target_file = second
7791 if ( ! target_file )
7793 print input_file >>target_file
7800 for p in `echo $QMAKE_PROJECTS`; do
7801 echo "$p" >> .projects.all
7804 # if you get errors about the length of the command line to awk, change the -l arg
7806 split -l 100 .projects.all .projects.all.
7807 for p in .projects.all.*; do
7808 "$AWK" -f projects.awk `cat $p`
7809 [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
7810 [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
7811 [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
7812 rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
7814 rm -f .projects.all* projects.awk
7816 [ -f .projects.1 ] && cat .projects.1 >>.projects
7817 [ -f .projects.2 ] && cat .projects.2 >>.projects
7818 rm -f .projects.1 .projects.2
7819 if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
7820 cat .projects.3 >>.projects
7824 # don't sort Qt and MOC in with the other project files
7825 # also work around a segfaulting uniq(1)
7826 if [ -f .sorted.projects.2 ]; then
7827 sort .sorted.projects.2 > .sorted.projects.2.new
7828 mv -f .sorted.projects.2.new .sorted.projects.2
7829 cat .sorted.projects.2 >> .sorted.projects.1
7831 [ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
7832 rm -f .sorted.projects.2 .sorted.projects.1
7836 if [ -f .projects ]; then
7837 uniq .projects >.tmp
7838 mv -f .tmp .projects
7839 NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
7841 if [ -f .projects.3 ]; then
7842 uniq .projects.3 >.tmp
7843 mv -f .tmp .projects.3
7844 FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
7846 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
7850 for part in $CFG_BUILD_PARTS; do
7852 tools) PART_ROOTS="$PART_ROOTS tools" ;;
7853 libs) PART_ROOTS="$PART_ROOTS src" ;;
7854 translations) PART_ROOTS="$PART_ROOTS translations" ;;
7855 examples) PART_ROOTS="$PART_ROOTS examples" ;;
7860 if [ "$CFG_DEV" = "yes" ]; then
7861 PART_ROOTS="$PART_ROOTS tests"
7864 echo "Creating makefiles. Please wait..."
7865 for file in .projects .projects.3; do
7866 [ '!' -f "$file" ] && continue
7867 for a in `cat $file`; do
7869 for r in $PART_ROOTS; do
7870 if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
7875 [ "$IN_ROOT" = "no" ] && continue
7878 *winmain/winmain.pro)
7879 if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_MINGW" != "yes" ]; then
7883 */qmake/qmake.pro) continue ;;
7884 *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*) SPEC=$QMAKESPEC ;;
7885 *) if [ "$CFG_NOPROCESS" = "yes" ]; then
7891 dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
7892 test -d "$dir" || mkdir -p "$dir"
7893 OUTDIR="$outpath/$dir"
7894 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
7895 # fast configure - the makefile exists, skip it
7896 # since the makefile exists, it was generated by qmake, which means we
7897 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
7899 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
7902 QMAKE_SPEC_ARGS="-spec $SPEC"
7903 echo $ECHO_N " for $a$ECHO_C"
7905 QMAKE="$outpath/bin/qmake"
7906 QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
7907 if [ "$file" = ".projects.3" ]; then
7910 cat >"${OUTDIR}/Makefile" <<EOF
7911 # ${OUTDIR}/Makefile: generated by configure
7913 # WARNING: This makefile will be replaced with a real makefile.
7914 # All changes made to this file will be lost.
7916 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
7918 cat >>"${OUTDIR}/Makefile" <<EOF
7920 all clean install qmake first Makefile: FORCE
7921 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
7929 if [ "$OPT_VERBOSE" = "yes" ]; then
7930 echo " (`basename $SPEC`)"
7931 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7936 [ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
7937 QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7941 rm -f .projects .projects.3
7943 #-------------------------------------------------------------------------------
7944 # check for platforms that we don't yet know about
7945 #-------------------------------------------------------------------------------
7946 if [ "$CFG_ARCH" = "generic" ]; then
7949 NOTICE: Atomic operations are not yet supported for this
7952 Qt will use the 'generic' architecture instead, which uses a
7953 single pthread_mutex_t to protect all atomic operations. This
7954 implementation is the slow (but safe) fallback implementation
7955 for architectures Qt does not yet support.
7959 #-------------------------------------------------------------------------------
7960 # check if the user passed the -no-zlib option, which is no longer supported
7961 #-------------------------------------------------------------------------------
7962 if [ -n "$ZLIB_FORCED" ]; then
7963 which_zlib="supplied"
7964 if [ "$CFG_ZLIB" = "system" ]; then
7970 NOTICE: The -no-zlib option was supplied but is no longer
7973 Qt now requires zlib support in all builds, so the -no-zlib
7974 option was ignored. Qt will be built using the $which_zlib
7979 #-------------------------------------------------------------------------------
7980 # finally save the executed command to another script
7981 #-------------------------------------------------------------------------------
7982 if [ `basename $0` != "config.status" ]; then
7983 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
7985 # add the system variables
7986 for varname in $SYSTEM_VARIABLES; do
7988 'if [ -n "\$'${varname}'" ]; then
7989 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
7994 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
7996 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
7997 echo "#!/bin/sh" > "$outpath/config.status"
7998 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
7999 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
8000 echo "else" >> "$outpath/config.status"
8001 echo " $CONFIG_STATUS" >> "$outpath/config.status"
8002 echo "fi" >> "$outpath/config.status"
8003 chmod +x "$outpath/config.status"
8006 if [ -n "$RPATH_MESSAGE" ]; then
8008 echo "$RPATH_MESSAGE"
8011 MAKE=`basename "$MAKE"`
8013 echo Qt is now configured for building. Just run \'$MAKE\'.
8014 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
8015 echo Once everything is built, Qt is installed.
8016 echo You should not run \'$MAKE install\'.
8018 echo Once everything is built, you must run \'$MAKE install\'.
8019 echo Qt will be installed into $QT_INSTALL_PREFIX
8022 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.