2 #############################################################################
4 ## Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
5 ## Contact: http://www.qt-project.org/
7 ## This file is the build configuration utility of the Qt Toolkit.
9 ## $QT_BEGIN_LICENSE:LGPL$
10 ## GNU Lesser General Public License Usage
11 ## This file may be used under the terms of the GNU Lesser General Public
12 ## License version 2.1 as published by the Free Software Foundation and
13 ## appearing in the file LICENSE.LGPL included in the packaging of this
14 ## file. Please review the following information to ensure the GNU Lesser
15 ## General Public License version 2.1 requirements will be met:
16 ## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
18 ## In addition, as a special exception, Nokia gives you certain additional
19 ## rights. These rights are described in the Nokia Qt LGPL Exception
20 ## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
22 ## GNU General Public License Usage
23 ## Alternatively, this file may be used under the terms of the GNU General
24 ## Public License version 3.0 as published by the Free Software Foundation
25 ## and appearing in the file LICENSE.GPL included in the packaging of this
26 ## file. Please review the following information to ensure the GNU General
27 ## Public License version 3.0 requirements will be met:
28 ## http://www.gnu.org/copyleft/gpl.html.
31 ## Alternatively, this file may be used in accordance with the terms and
32 ## conditions contained in a signed written agreement between you and Nokia.
41 #############################################################################
43 #-------------------------------------------------------------------------------
44 # script initialization
45 #-------------------------------------------------------------------------------
47 # the name of this script
49 # the directory of this script is the "source tree"
51 relpath=`(cd "$relpath"; /bin/pwd)`
52 # the current directory is the "build tree" or "object tree"
55 #license file location
56 LICENSE_FILE="$QT_LICENSE_FILE"
57 [ -z "$LICENSE_FILE" ] && LICENSE_FILE="$HOME/.qt-license"
58 if [ -f "$LICENSE_FILE" ]; then
59 tr -d '\r' <"$LICENSE_FILE" >"${LICENSE_FILE}.tmp"
60 diff "${LICENSE_FILE}.tmp" "${LICENSE_FILE}" >/dev/null 2>&1 || LICENSE_FILE="${LICENSE_FILE}.tmp"
63 # later cache the command line in config.status
64 OPT_CMDLINE=`echo $@ | sed "s,-v ,,g; s,-v$,,g"`
66 # initialize global variables
73 QMAKE_VARS_FILE=.qmake.vars
77 #-------------------------------------------------------------------------------
79 #-------------------------------------------------------------------------------
83 echo "$@" | sed 's/ /\ /g'
86 # Adds a new qmake variable to the cache
87 # Usage: QMakeVar mode varname contents
88 # where mode is one of: set, add, del
102 echo >&2 "BUG: wrong command to QMakeVar: $1"
106 echo "$2" "$eq" "$3" >> "$QMAKE_VARS_FILE"
109 # Helper function for getQMakeConf. It parses include statements in
110 # qmake.conf and prints out the expanded file
113 while read line; do case "$line" in
115 inc_file=`echo "$line" | sed -n -e "/^include.*(.*)/s/include.*(\(.*\)).*$/\1/p"`
116 current_dir=`dirname "$1"`
117 conf_file="$current_dir/$inc_file"
118 if [ ! -f "$conf_file" ]; then
119 echo "WARNING: Unable to find file $conf_file" >&2
122 getQMakeConf1 "$conf_file"
134 values["LITERAL_WHITESPACE"] = " "
135 values["LITERAL_DOLLAR"] = "$"
137 /^[_A-Z0-9.]+[ \t]*\+?=/ {
138 valStart = index($0, "=") + 1
141 if (substr($0, valStart - 2, 1) == "+") {
145 variable = substr($0, 0, valStart - 2 - append)
146 value = substr($0, valStart)
147 gsub("[ \t]+", "", variable)
148 gsub("^[ \t]+", "", value)
149 gsub("[ \t]+$", "", value)
152 while (match(value, /\$\$(\{[_A-Z0-9.]+\}|[_A-Z0-9.]+)/)) {
153 ovalue = ovalue substr(value, 1, RSTART - 1)
154 var = substr(value, RSTART + 2, RLENGTH - 2)
155 value = substr(value, RSTART + RLENGTH)
157 var = substr(var, 2, length(var) - 2)
159 ovalue = ovalue values[var]
161 ovalue = ovalue value
163 combinedValue = values[variable]
164 if (append == 1 && length(combinedValue) > 0) {
165 combinedValue = combinedValue " " ovalue
167 combinedValue = ovalue
169 values[variable] = combinedValue
172 for (var in values) {
173 print var "=" values[var]
181 echo "$2" | $AWK "/^($1)=/ { print substr(\$0, index(\$0, \"=\") + 1) }"
184 # relies on $QMAKESPEC being set correctly. parses include statements in
185 # qmake.conf and prints out the expanded file
188 if [ -z "$specvals" ]; then
189 specvals=`getQMakeConf1 "$QMAKESPEC/qmake.conf" | getQMakeConf2`
191 getQMakeConf3 "$1" "$specvals"
196 if [ -z "$xspecvals" ]; then
197 xspecvals=`getQMakeConf1 "$XQMAKESPEC/qmake.conf" | getQMakeConf2`
199 getQMakeConf3 "$1" "$xspecvals"
202 # relies on $TEST_COMPILER being set correctly
203 compilerSupportsFlag()
205 cat >conftest.cpp <<EOF
206 int main() { return 0; }
208 "$TEST_COMPILER" "$@" -o conftest.o conftest.cpp
210 rm -f conftest.cpp conftest.o
214 # relies on $TEST_COMPILER being set correctly
220 safe_flag=`shellEscape "$flag"`
221 lflags=$lflags,$safe_flag
223 compilerSupportsFlag "$lflags" >/dev/null 2>&1
226 #-------------------------------------------------------------------------------
227 # operating system detection
228 #-------------------------------------------------------------------------------
230 # need that throughout the script
231 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
232 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
233 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
234 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
236 # detect the "echo without newline" style. usage: echo $ECHO_N "<string>$ECHO_C"
237 if echo '\c' | grep '\c' >/dev/null; then
243 #-------------------------------------------------------------------------------
244 # window system detection
245 #-------------------------------------------------------------------------------
252 if [ -d /System/Library/Frameworks/Carbon.framework ]; then
257 #-----------------------------------------------------------------------------
258 # Qt version detection
259 #-----------------------------------------------------------------------------
260 QT_VERSION=`grep '^# *define *QT_VERSION_STR' "$relpath"/src/corelib/global/qglobal.h`
264 if [ -n "$QT_VERSION" ]; then
265 QT_VERSION=`echo $QT_VERSION | sed 's,^# *define *QT_VERSION_STR *"*\([^ ]*\)"$,\1,'`
266 MAJOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
267 if [ -n "$MAJOR" ]; then
268 MINOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
269 PATCH=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
270 QT_MAJOR_VERSION="$MAJOR"
271 [ -z "$MINOR" ] || QT_MINOR_VERSION="$MINOR"
272 [ -z "$PATCH" ] || QT_PATCH_VERSION="$PATCH"
275 if [ -z "$QT_MAJOR_VERSION" ]; then
276 echo "Cannot process version from qglobal.h: $QT_VERSION"
277 echo "Cannot proceed."
281 QT_PACKAGEDATE=`grep '^# *define *QT_PACKAGEDATE_STR' "$relpath"/src/corelib/global/qglobal.h | sed -e 's,^# *define *QT_PACKAGEDATE_STR *"\([^ ]*\)"$,\1,' -e s,-,,g`
282 if [ -z "$QT_PACKAGEDATE" ]; then
283 echo "Unable to determine package date from qglobal.h: '$QT_PACKAGEDATE'"
284 echo "Cannot proceed"
288 #-------------------------------------------------------------------------------
290 #-------------------------------------------------------------------------------
295 EditionString=Commercial
299 # parse the arguments, setting things to "yes" or "no"
300 while [ "$#" -gt 0 ]; do
304 #Autoconf style options
306 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
310 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
314 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
315 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
318 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
323 # this option may or may not be followed by an argument
324 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
333 # this option may or may not be followed by an argument
334 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
341 -h|help|--help|-help)
342 if [ "$VAL" = "yes" ]; then
344 COMMERCIAL_USER="no" #doesn't matter we will display the help
347 COMMERCIAL_USER="no" #doesn't matter we will display the help
351 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
355 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
362 if [ "$UNKNOWN_ARG" = "yes" ]; then
379 if [ "$PLATFORM_QPA" != "no" ]; then
380 if [ "$PLATFORM_QPA" = "maybe" ]; then
387 echo "No license exists to enable Qt QPA. Disabling."
395 COMMERCIAL_USER="yes"
409 if [ "$COMMERCIAL_USER" = "ask" ]; then
411 echo "Which edition of Qt do you want to use ?"
413 echo "Type 'c' if you want to use the Commercial Edition."
414 echo "Type 'o' if you want to use the Open Source Edition."
418 if [ "$commercial" = "c" ]; then
419 COMMERCIAL_USER="yes"
421 elif [ "$commercial" = "o" ]; then
428 if [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes" ]; then
429 # Commercial preview release
430 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
433 QT_EDITION="QT_EDITION_DESKTOP"
434 LicenseType="Technology Preview"
435 elif [ $COMMERCIAL_USER = "yes" ]; then
436 # one of commercial editions
437 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
438 [ "$PLATFORM_QPA" = "maybe" ] && PLATFORM_QPA=no
439 [ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=no
441 # read in the license file
442 if [ -f "$LICENSE_FILE" ]; then
443 . "$LICENSE_FILE" >/dev/null 2>&1
444 if [ -z "$LicenseKeyExt" ]; then
446 echo "You are using an old license file."
448 echo "Please install the license file supplied by Nokia,"
449 echo "or install the Qt Open Source Edition if you intend to"
450 echo "develop free software."
453 if [ -z "$Licensee" ]; then
455 echo "Invalid license key. Please check the license key."
459 if [ -z "$LicenseKeyExt" ]; then
461 echo $ECHO_N "Please enter your license key: $ECHO_C"
463 Licensee="Unknown user"
468 echo "$LicenseKeyExt" | grep ".....*-....*-....*-....*-.....*-.....*-...." >/dev/null 2>&1 \
469 && LicenseValid="yes" \
471 if [ "$LicenseValid" != "yes" ]; then
473 echo "Invalid license key. Please check the license key."
476 ProductCode=`echo $LicenseKeyExt | cut -f 1 -d - | cut -b 1`
477 PlatformCode=`echo $LicenseKeyExt | cut -f 2 -d -`
478 LicenseTypeCode=`echo $LicenseKeyExt | cut -f 3 -d -`
479 LicenseFeatureCode=`echo $LicenseKeyExt | cut -f 4 -d - | cut -b 1`
481 # determine which edition we are licensed to use
482 case "$LicenseTypeCode" in
484 LicenseType="Commercial"
488 QT_EDITION="QT_EDITION_UNIVERSAL"
491 Edition="FullFramework"
492 EditionString="Full Framework"
493 QT_EDITION="QT_EDITION_DESKTOP"
496 Edition="GUIFramework"
497 EditionString="GUI Framework"
498 QT_EDITION="QT_EDITION_DESKTOPLIGHT"
503 LicenseType="Evaluation"
504 QMakeVar add DEFINES QT_EVAL
508 QT_EDITION="QT_EDITION_EVALUATION"
513 if [ -z "$LicenseType" -o -z "$Edition" -o -z "$QT_EDITION" ]; then
515 echo "Invalid license key. Please check the license key."
519 # verify that we are licensed to use Qt on this platform
521 case "$PlatformCode" in
524 PlatformCode=`echo "$PlatformCode" | sed 'h;y/8NPQRTZ/UCWX9M7/;x;G;s/\(.\)....\(.\)./\1\2/'`
528 PlatformCode=`echo "$PlatformCode" | sed 's/.$//'`
531 ### EMBEDDED_QPA logic missing ###
532 case "$PlatformCode,$PLATFORM_MAC,$PLATFORM_QWS" in
533 X9,* | XC,* | XU,* | XW,* | XM,*)
535 LICENSE_EXTENSION="-ALLOS"
537 8M,* | KM,* | S9,* | SC,* | SM,* | SU,* | SW,* | X9,* | XC,* | XU,* | XW,*)
538 # Qt for Embedded Linux
539 LICENSE_EXTENSION="-EMBEDDED"
541 6M,*,no | N7,*,no | N9,*,no | NX,*,no)
543 LICENSE_EXTENSION="-EMBEDDED"
545 FM,*,no | LM,yes,* | ZM,no,no)
547 LICENSE_EXTENSION="-DESKTOP"
551 [ "$PLATFORM_MAC" = "yes" ] && Platform='Mac OS X'
552 [ "$PLATFORM_QWS" = "yes" ] && Platform='Embedded Linux'
554 echo "You are not licensed for the $Platform platform."
556 echo "Please contact qt-info@nokia.com to upgrade your license to"
557 echo "include the $Platform platform, or install the Qt Open Source Edition"
558 echo "if you intend to develop free software."
563 if test -r "$relpath/.LICENSE"; then
564 # Generic, non-final license
566 line=`sed 'y/a-z/A-Z/;q' "$relpath"/.LICENSE`
571 *TECHNOLOGY?PREVIEW*)
578 echo >&2 "Invalid license files; cannot continue"
583 EditionString="$Edition"
584 QT_EDITION="QT_EDITION_DESKTOP"
587 case "$LicenseFeatureCode" in
590 case "$LicenseType" in
592 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}-US" "$outpath/LICENSE"
595 cp -f "$relpath/.LICENSE-EVALUATION-US" "$outpath/LICENSE"
601 case "$LicenseType" in
603 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}" "$outpath/LICENSE"
606 cp -f "$relpath/.LICENSE-EVALUATION" "$outpath/LICENSE"
612 echo "Invalid license key. Please check the license key."
616 case "$LicenseFeatureCode" in
624 if [ '!' -f "$outpath/LICENSE" ]; then
625 echo "The LICENSE, LICENSE.GPL3 LICENSE.LGPL file shipped with"
626 echo "this software has disappeared."
628 echo "Sorry, you are not licensed to use this software."
629 echo "Try re-installing."
633 elif [ $COMMERCIAL_USER = "no" ]; then
634 # Open Source edition - may only be used under the terms of the GPL or LGPL.
635 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
636 Licensee="Open Source"
638 EditionString="Open Source"
639 QT_EDITION="QT_EDITION_OPENSOURCE"
642 #-------------------------------------------------------------------------------
643 # initalize variables
644 #-------------------------------------------------------------------------------
646 SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
647 for varname in $SYSTEM_VARIABLES; do
648 qmakevarname="${varname}"
649 # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
650 if [ "${varname}" = "LDFLAGS" ]; then
651 qmakevarname="LFLAGS"
652 elif [ "${varname}" = "LD" ]; then
656 'if [ -n "\$'${varname}'" ]; then
657 QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'"
661 # Use CC/CXX to run config.tests
662 mkdir -p "$outpath/config.tests"
663 rm -f "$outpath/config.tests/.qmake.cache"
664 cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
666 QMakeVar add styles "cde mac motif plastique cleanlooks windows"
667 QMakeVar add decorations "default windows styled"
668 QMakeVar add mouse-drivers "pc"
669 if [ "$UNAME_SYSTEM" = "Linux" ] ; then
670 QMakeVar add gfx-drivers "linuxfb"
671 QMakeVar add mouse-drivers "linuxtp"
673 QMakeVar add kbd-drivers "tty"
675 if [ "$CFG_DEV" = "yes" ]; then
676 QMakeVar add kbd-drivers "um"
679 # QTDIR may be set and point to an old or system-wide Qt installation
682 # the minimum version of libdbus-1 that we require:
683 MIN_DBUS_1_VERSION=0.93
685 # initalize internal variables
686 CFG_CONFIGURE_EXIT_ON_ERROR=yes
688 CFG_EXCEPTIONS=unspecified
689 CFG_GUI=auto # (yes|no|auto)
715 CFG_OPENVG_LC_INCLUDES=no
716 CFG_OPENVG_SHIVA=auto
717 CFG_OPENVG_ON_OPENGL=auto
719 CFG_EGL_GLES_INCLUDES=no
722 CFG_QWS_FREETYPE=auto
725 QT_DEFAULT_BUILD_PARTS="libs examples tests"
729 CFG_AUDIO_BACKEND=auto
731 CFG_DECLARATIVE_DEBUG=yes
732 CFG_JAVASCRIPTCORE_JIT=auto
734 CFG_GFX_AVAILABLE="linuxfb transformed qvfb vnc multiscreen directfb"
735 CFG_GFX_ON="linuxfb multiscreen"
736 CFG_GFX_PLUGIN_AVAILABLE=
739 CFG_KBD_AVAILABLE="tty linuxinput qvfb"
740 CFG_KBD_ON="tty" #default, see QMakeVar above
741 CFG_MOUSE_AVAILABLE="pc linuxtp linuxinput tslib qvfb"
742 CFG_MOUSE_ON="pc linuxtp" #default, see QMakeVar above
744 if [ -f "$relpath/src/gui/embedded/qscreenqnx_qws.cpp" ]; then
745 CFG_KBD_AVAILABLE="${CFG_KBD_AVAILABLE} qnx"
746 CFG_MOUSE_AVAILABLE="${CFG_MOUSE_AVAILABLE} qnx"
747 CFG_GFX_AVAILABLE="${CFG_GFX_AVAILABLE} qnx"
749 if [ -f "$relpath/src/gui/embedded/qscreenintegrityfb_qws.cpp" ]; then
750 CFG_KBD_AVAILABLE="${CFG_KBD_AVAILABLE} integrity"
751 CFG_MOUSE_AVAILABLE="${CFG_MOUSE_AVAILABLE} integrity"
752 CFG_GFX_AVAILABLE="${CFG_GFX_AVAILABLE} integrityfb"
757 CFG_KBD_PLUGIN_AVAILABLE=
760 CFG_MOUSE_PLUGIN_AVAILABLE=
765 CFG_DECORATION_AVAILABLE="styled windows default"
766 CFG_DECORATION_ON="${CFG_DECORATION_AVAILABLE}" # all on by default
767 CFG_DECORATION_PLUGIN_AVAILABLE=
768 CFG_DECORATION_PLUGIN=
788 CFG_SEPARATE_DEBUG_INFO=no
789 CFG_SEPARATE_DEBUG_INFO_NOCOPY=no
790 CFG_REDUCE_EXPORTS=auto
800 CFG_REDUCE_RELOCATIONS=auto
803 CFG_ACCESSIBILITY=auto
806 CFG_DOUBLEFORMAT=auto
810 CFG_CLOCK_GETTIME=auto
811 CFG_CLOCK_MONOTONIC=auto
820 MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
824 CFG_PREFIX_INSTALL=yes
833 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
834 XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
838 OPT_CONFIRM_LICENSE=no
852 # initalize variables used for installation
861 QT_INSTALL_TRANSLATIONS=
867 #flags for SQL drivers
875 QT_LFLAGS_ODBC="-lodbc"
878 # flags for libdbus-1
882 # flags for Glib (X11 only)
886 # flags for GStreamer (X11 only)
890 #-------------------------------------------------------------------------------
891 # check SQL drivers, mouse drivers and decorations available in this package
892 #-------------------------------------------------------------------------------
894 # opensource version removes some drivers, so force them to be off
900 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
901 for a in "$relpath/src/plugins/sqldrivers/"*; do
903 base_a=`basename "$a"`
904 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
905 eval "CFG_SQL_${base_a}=auto"
910 CFG_DECORATION_PLUGIN_AVAILABLE=
911 if [ -d "$relpath/src/plugins/decorations" ]; then
912 for a in "$relpath/src/plugins/decorations/"*; do
914 base_a=`basename "$a"`
915 CFG_DECORATION_PLUGIN_AVAILABLE="${CFG_DECORATION_PLUGIN_AVAILABLE} ${base_a}"
920 CFG_KBD_PLUGIN_AVAILABLE=
921 if [ -d "$relpath/src/plugins/kbddrivers" ]; then
922 for a in "$relpath/src/plugins/kbddrivers/"*; do
924 base_a=`basename "$a"`
925 CFG_KBD_PLUGIN_AVAILABLE="${CFG_KBD_PLUGIN_AVAILABLE} ${base_a}"
930 CFG_MOUSE_PLUGIN_AVAILABLE=
931 if [ -d "$relpath/src/plugins/mousedrivers" ]; then
932 for a in "$relpath/src/plugins/mousedrivers/"*; do
934 base_a=`basename "$a"`
935 CFG_MOUSE_PLUGIN_AVAILABLE="${CFG_MOUSE_PLUGIN_AVAILABLE} ${base_a}"
940 CFG_GFX_PLUGIN_AVAILABLE=
941 if [ -d "$relpath/src/plugins/gfxdrivers" ]; then
942 for a in "$relpath/src/plugins/gfxdrivers/"*; do
944 base_a=`basename "$a"`
945 CFG_GFX_PLUGIN_AVAILABLE="${CFG_GFX_PLUGIN_AVAILABLE} ${base_a}"
948 CFG_GFX_OFF="$CFG_GFX_AVAILABLE" # assume all off
951 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
952 if [ -d "$relpath/src/plugins/imageformats" ]; then
953 for a in "$relpath/src/plugins/imageformats/"*; do
955 base_a=`basename "$a"`
956 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
961 #-------------------------------------------------------------------------------
962 # parse command line arguments
963 #-------------------------------------------------------------------------------
965 # parse the arguments, setting things to "yes" or "no"
966 while [ "$#" -gt 0 ]; do
970 #Autoconf style options
972 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
976 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
980 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
981 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
984 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
988 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
992 -no-*-*|-plugin-*-*|-qt-*-*)
993 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
994 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
998 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
1001 #Qt style yes options
1002 -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)
1003 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1006 #Qt style options that pass an argument
1008 if [ "$PLATFORM_QWS" != "yes" -a "$PLATFORM_QPA" != "yes" ]; then
1010 echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
1014 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1018 -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-testsdir|-depths|-make|-nomake|-platform|-xplatform|-sdk|-arch|-host-arch|-mysql_config|-sysroot)
1019 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1023 #Qt style complex options in one command
1024 -enable-*|-disable-*)
1025 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
1026 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
1028 #Qt Builtin/System style options
1029 -no-*|-system-*|-qt-*)
1030 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
1031 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
1033 #Options that cannot be generalized
1040 # this option may or may not be followed by an argument
1041 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1048 -embedded-lite|-qpa)
1050 # this option may or may not be followed by an argument
1051 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1060 # this option may or may not be followed by an argument
1061 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1070 # this option may or may not be followed by an argument
1071 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1079 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1080 # this option may or may not be followed by an argument
1081 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1090 VAL=`echo $1 | sed "s,^-.*-\(.*\)-.*,\1,"`
1094 VAL=`echo $1 | sed "s,^-\(.*\)-.*,\1,"`
1108 if [ "$1" = "-D" ]; then
1112 VAL=`echo $1 | sed 's,-D,,'`
1117 # this option may or may not be followed by an argument
1118 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1127 if [ "$1" = "-I" ]; then
1131 VAL=`echo $1 | sed 's,-I,,'`
1136 if [ "$1" = "-L" ]; then
1140 VAL=`echo $1 | sed 's,-L,,'`
1145 if [ "$1" = "-R" ]; then
1149 VAL=`echo $1 | sed 's,-R,,'`
1154 VAL=`echo $1 | sed 's,-l,,'`
1158 if [ "$1" = "-F" ]; then
1162 VAL=`echo $1 | sed 's,-F,,'`
1167 if [ "$1" = "-fw" ]; then
1171 VAL=`echo $1 | sed 's,-fw,,'`
1179 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1186 if [ "$UNKNOWN_ARG" = "yes" ]; then
1187 echo "$1: unknown argument"
1198 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1199 CFG_ACCESSIBILITY="$VAL"
1208 CFG_USE_GNUMAKE="$VAL"
1211 CFG_MYSQL_CONFIG="$VAL"
1214 QT_INSTALL_PREFIX="$VAL"
1217 QT_HOST_PREFIX="$VAL"
1220 QT_FORCE_PKGCONFIG=yes
1223 QT_INSTALL_DOCS="$VAL"
1226 QT_INSTALL_HEADERS="$VAL"
1229 QT_INSTALL_PLUGINS="$VAL"
1232 QT_INSTALL_IMPORTS="$VAL"
1235 QT_INSTALL_DATA="$VAL"
1238 QT_INSTALL_LIBS="$VAL"
1247 QT_INSTALL_TRANSLATIONS="$VAL"
1249 sysconfdir|settingsdir)
1250 QT_INSTALL_SETTINGS="$VAL"
1253 QT_INSTALL_EXAMPLES="$VAL"
1256 QT_INSTALL_TESTS="$VAL"
1265 QT_INSTALL_BINS="$VAL"
1285 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1292 if [ "$VAL" = "little" ]; then
1293 CFG_ENDIAN="Q_LITTLE_ENDIAN"
1294 elif [ "$VAL" = "big" ]; then
1295 CFG_ENDIAN="Q_BIG_ENDIAN"
1301 if [ "$VAL" = "little" ]; then
1302 CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
1303 elif [ "$VAL" = "big" ]; then
1304 CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
1310 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1317 CFG_QWS_DEPTHS="$VAL"
1320 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1321 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1322 [ "$VAL" = "es2" ]; then
1324 if [ "$VAL" = "es2" ]; then
1332 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1334 if [ "$CFG_EGL" = "no" ] && [ "$VAL" != "no" ]; then
1341 qvfb) # left for commandline compatibility, not documented
1342 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1343 if [ "$VAL" = "yes" ]; then
1344 QMakeVar add gfx-drivers qvfb
1345 QMakeVar add kbd-drivers qvfb
1346 QMakeVar add mouse-drivers qvfb
1347 CFG_GFX_ON="$CFG_GFX_ON qvfb"
1348 CFG_KBD_ON="$CFG_KBD_ON qvfb"
1349 CFG_MOUSE_ON="$CFG_MOUSE_ON qvfb"
1356 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1359 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1368 if [ "$BUILD_ON_MAC" = "yes" ]; then
1375 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1376 CFG_MAC_DWARF2="$VAL"
1382 # if this is a Mac then "windows" probably means
1383 # we are cross-compiling for MinGW
1384 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" != "windows" ]; then
1385 CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL"
1394 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1395 CFG_MAC_HARFBUZZ="$VAL"
1402 if [ "$BUILD_ON_MAC" = "yes" ]; then
1403 CFG_FRAMEWORK="$VAL"
1409 if [ "$VAL" = "yes" ]; then
1411 QMakeVar add QMAKE_CFLAGS -pg
1412 QMakeVar add QMAKE_CXXFLAGS -pg
1413 QMakeVar add QMAKE_LFLAGS -pg
1414 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1420 if [ "$VAL" = "yes" ]; then
1421 QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon"
1424 exceptions|g++-exceptions)
1425 if [ "$VAL" = "no" ]; then
1427 elif [ "$VAL" = "yes" ]; then
1435 # keep compatibility with old platform names
1441 PLATFORM=hpux-acc-o64
1444 PLATFORM=hpux-acc-64
1447 PLATFORM=hpux-acc-64
1459 PLATFORM=reliant-cds-64
1462 PLATFORM=solaris-cc-64
1465 PLATFORM=unixware-cc
1468 PLATFORM=unixware-g++
1471 PLATFORM=unixware-cc
1474 PLATFORM=unixware-g++
1480 i386) NATIVE_64_ARCH="x86_64" ;;
1481 powerpc) NATIVE_64_ARCH="ppc64" ;;
1482 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1484 if [ ! -z "$NATIVE_64_ARCH" ]; then
1485 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1492 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1495 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1496 CFG_DEBUG_RELEASE="$VAL"
1502 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1503 CFG_RELEASE_QMAKE="$VAL"
1509 if [ "$VAL" = "yes" ]; then
1511 elif [ "$VAL" = "no" ]; then
1518 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1519 CFG_PREFIX_INSTALL="$VAL"
1527 developer-build|commercial|opensource)
1528 # These switches have been dealt with already
1531 if [ "$VAL" = "yes" ]; then
1533 elif [ "$VAL" = "no" ]; then
1540 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1541 CFG_INCREMENTAL="$VAL"
1547 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1548 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1554 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1555 if [ "$VAL" = "no" ]; then
1556 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1557 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1558 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1564 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1571 if [ "$VAL" = "no" ]; then
1578 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1586 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1593 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1600 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1607 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1614 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1621 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1628 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1635 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1642 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1643 CFG_PRECOMPILE="$VAL"
1648 separate-debug-info)
1649 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1650 CFG_SEPARATE_DEBUG_INFO="$VAL"
1651 elif [ "$VAL" = "nocopy" ] ; then
1652 CFG_SEPARATE_DEBUG_INFO="yes"
1653 CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1659 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1660 CFG_REDUCE_EXPORTS="$VAL"
1666 if [ "$VAL" = "no" ]; then
1673 if [ "$VAL" = "no" ]; then
1680 if [ "$VAL" = "no" ]; then
1687 if [ "$VAL" = "no" ]; then
1694 if [ "$VAL" = "no" ]; then
1701 if [ "$VAL" = "no" ]; then
1708 if [ "$VAL" = "no" ]; then
1715 if [ "$VAL" = "no" ]; then
1722 if [ "$VAL" = "no" ]; then
1732 if [ "$VAL" = "no" ]; then
1739 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1740 CFG_REDUCE_RELOCATIONS="$VAL"
1746 [ "$VAL" = "qt" ] && VAL=yes
1747 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1748 CFG_QWS_FREETYPE="$VAL"
1754 [ "$VAL" = "qt" ] && VAL=yes
1755 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1760 # No longer supported:
1761 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1764 if [ "$VAL" = "system" ]; then
1771 [ "$VAL" = "yes" ] && VAL=qt
1772 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1779 [ "$VAL" = "yes" ] && VAL=qt
1780 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1787 if [ "$VAL" = "system" ] || [ "$VAL" = "no" ]; then
1794 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1801 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1808 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1815 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1822 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1829 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1830 CFG_FONTCONFIG="$VAL"
1836 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1843 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1850 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1857 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1864 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1871 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1878 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1885 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1892 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1893 CFG_GSTREAMER="$VAL"
1899 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1900 CFG_QGTKSTYLE="$VAL"
1906 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1909 if [ "$VAL" = "no" ]; then
1917 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1919 elif [ "$VAL" = "runtime" ]; then
1926 if [ "$VAL" = "yes" ]; then
1933 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1940 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1941 CFG_LARGEFILE="$VAL"
1947 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1954 if [ "$VAL" = "yes" ]; then
1955 CFG_OPENSSL="linked"
1961 if [ "$VAL" = "yes" ]; then
1962 CFG_DECLARATIVE_DEBUG="yes"
1964 if [ "$VAL" = "no" ]; then
1965 CFG_DECLARATIVE_DEBUG="no"
1972 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1973 CFG_JAVASCRIPTCORE_JIT="$VAL"
1979 if [ "$VAL" = "yes" ]; then
1980 OPT_CONFIRM_LICENSE="$VAL"
1986 if [ "$VAL" = "yes" ]; then
1992 sql-*|gfx-*|decoration-*|kbd-*|mouse-*|imageformat-*)
1993 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1994 # if autoconf style options were used, $VAL can be "yes" or "no"
1995 [ "$VAL" = "yes" ] && VAL=qt
1996 # now $VAL should be "no", "qt", or "plugin"... double-check
1997 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
2000 # now $VAL is "no", "qt", or "plugin"
2002 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
2003 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
2005 # Grab the available values
2008 avail="$CFG_SQL_AVAILABLE"
2011 avail="$CFG_GFX_AVAILABLE"
2012 if [ "$OPT" = "plugin" ]; then
2013 avail="$CFG_GFX_PLUGIN_AVAILABLE"
2017 avail="$CFG_DECORATION_AVAILABLE"
2018 if [ "$OPT" = "plugin" ]; then
2019 avail="$CFG_DECORATION_PLUGIN_AVAILABLE"
2023 avail="$CFG_KBD_AVAILABLE"
2024 if [ "$OPT" = "plugin" ]; then
2025 avail="$CFG_KBD_PLUGIN_AVAILABLE"
2029 avail="$CFG_MOUSE_AVAILABLE"
2030 if [ "$OPT" = "plugin" ]; then
2031 avail="$CFG_MOUSE_PLUGIN_AVAILABLE"
2035 avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
2036 if [ "$OPT" != "plugin" ]; then
2037 # png is always built in
2043 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
2047 # Check that that user's value is available.
2050 if [ "$VAL" = "$d" ]; then
2055 [ "$found" = yes ] || ERROR=yes
2057 if [ "$VAR" = "sql" ]; then
2058 # set the CFG_SQL_driver
2059 eval "CFG_SQL_$VAL=\$OPT"
2061 elif [ "$VAR" = "imageformat" ]; then
2062 [ "$OPT" = "qt" ] && OPT=yes
2063 VAL="`echo $VAL |tr a-z A-Z`"
2064 eval "CFG_$VAL=$OPT"
2068 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
2069 if [ "$OPT" = "plugin" ]; then
2070 [ "$VAR" = "decoration" ] && QMakeVar del "${VAR}s" "$VAL"
2071 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"` && CFG_DECORATION_PLUGIN="$CFG_DECORATION_PLUGIN ${VAL}"
2072 [ "$VAR" = "kbd" ] && QMakeVar del "${VAR}s" "$VAL"
2073 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"` && CFG_KBD_PLUGIN="$CFG_KBD_PLUGIN ${VAL}"
2074 [ "$VAR" = "mouse" ] && QMakeVar del "${VAR}s" "$VAL"
2075 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_MOUSE_PLUGIN="$CFG_MOUSE_PLUGIN ${VAL}"
2076 [ "$VAR" = "gfx" ] && QMakeVar del "${VAR}s" "$VAL"
2077 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"` && CFG_GFX_PLUGIN="${CFG_GFX_PLUGIN} ${VAL}"
2080 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "decoration" ] || [ "$VAR" = "mouse" ]; then
2081 [ "$VAR" = "gfx" ] && CFG_GFX_ON="$CFG_GFX_ON $VAL"
2082 [ "$VAR" = "kbd" ] && CFG_KBD_ON="$CFG_KBD_ON $VAL"
2083 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON="$CFG_DECORATION_ON $VAL"
2084 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON="$CFG_MOUSE_ON $VAL"
2088 QMakeVar add "${VAR}s" "${VAL}"
2089 elif [ "$OPT" = "no" ]; then
2090 PLUG_VAR="${VAR}-plugin"
2091 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "mouse" ]; then
2092 IN_VAR="${VAR}-driver"
2096 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"`
2097 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"`
2098 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"`
2099 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"`
2100 QMakeVar del "${IN_VAR}s" "$VAL"
2101 QMakeVar del "${PLUG_VAR}s" "$VAL"
2103 if [ "$ERROR" = "yes" ]; then
2104 echo "$CURRENT_OPT: unknown argument"
2109 if [ "$VAL" = "yes" ]; then
2110 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
2111 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
2115 elif [ "$VAL" = "no" ]; then
2116 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
2117 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
2126 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2133 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2140 D_FLAGS="$D_FLAGS \"$VAL\""
2143 I_FLAGS="$I_FLAGS -I\"${VAL}\""
2146 L_FLAGS="$L_FLAGS -L\"${VAL}\""
2149 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
2152 l_FLAGS="$l_FLAGS -l\"${VAL}\""
2155 if [ "$BUILD_ON_MAC" = "yes" ]; then
2156 L_FLAGS="$L_FLAGS -F\"${VAL}\""
2157 I_FLAGS="$I_FLAGS -F\"${VAL}\""
2163 if [ "$BUILD_ON_MAC" = "yes" ]; then
2164 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
2170 W_FLAGS="$W_FLAGS \"${VAL}\""
2176 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2177 CFG_PHONON_BACKEND="$VAL"
2189 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2190 CFG_AUDIO_BACKEND="$VAL"
2196 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2203 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2204 CFG_FORCE_ASSERTS="$VAL"
2210 if [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
2220 if [ "$UNKNOWN_OPT" = "yes" ]; then
2221 echo "${CURRENT_OPT}: invalid command-line switch"
2227 # update QT_CONFIG to show our current predefined configuration
2228 case "$CFG_QCONFIG" in
2229 minimal|small|medium|large|full)
2230 # these are a sequence of increasing functionality
2231 for c in minimal small medium large full; do
2232 QT_CONFIG="$QT_CONFIG $c-config"
2233 [ "$CFG_QCONFIG" = $c ] && break
2237 # not known to be sufficient for anything
2238 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
2239 echo >&2 "Error: configuration file not found:"
2240 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2242 echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2247 #-------------------------------------------------------------------------------
2248 # build tree initialization
2249 #-------------------------------------------------------------------------------
2251 # where to find which..
2252 unixtests="$relpath/config.tests/unix"
2253 mactests="$relpath/config.tests/mac"
2254 WHICH="$unixtests/which.test"
2256 PERL=`$WHICH perl 2>/dev/null`
2258 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2260 for e in gawk nawk awk; do
2261 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2268 PERL="/usr/bin/perl"
2269 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2273 ### skip this if the user just needs help...
2274 if [ "$OPT_HELP" != "yes" ]; then
2276 # is this a shadow build?
2277 if [ "$OPT_SHADOW" = "maybe" ]; then
2279 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2280 if [ -h "$outpath" ]; then
2281 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2287 if [ "$OPT_SHADOW" = "yes" ]; then
2288 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2289 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2290 echo >&2 "Cannot proceed."
2293 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2296 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2298 echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
2299 echo "Qt can be built in release mode with separate debug information, so"
2300 echo "-debug-and-release is not necessary anymore"
2304 if [ "$CFG_SILENT" = "yes" ]; then
2305 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2308 # if the source tree is different from the build tree,
2309 # symlink or copy part of the sources
2310 if [ "$OPT_SHADOW" = "yes" ]; then
2311 echo "Preparing build tree..."
2313 if [ -z "$PERL" ]; then
2315 echo "You need perl in your PATH to make a shadow build."
2316 echo "Cannot proceed."
2320 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2322 # symlink the qmake directory
2323 find "$relpath/qmake" | while read a; do
2324 my_a=`echo "$a" | sed "s,^${relpath}/,${outpath}/,"`
2325 if [ '!' -f "$my_a" ]; then
2326 if [ -d "$a" ]; then
2327 # directories are created...
2330 a_dir=`dirname "$my_a"`
2331 [ -d "$a_dir" ] || mkdir -p "$a_dir"
2332 # ... and files are symlinked
2333 case `basename "$a"` in
2334 *.o|*.d|GNUmakefile*|qmake)
2345 # make a syncqt script that can be used in the shadow
2346 rm -f "$outpath/bin/syncqt"
2347 if [ -x "$relpath/bin/syncqt" ]; then
2348 mkdir -p "$outpath/bin"
2349 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2350 echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2351 chmod 755 "$outpath/bin/syncqt"
2354 for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
2355 rm -f "$outpath/bin/$i"
2356 if [ -x "$relpath/bin/$i" ]; then
2357 mkdir -p "$outpath/bin"
2358 echo "#!/bin/sh" >"$outpath/bin/$i"
2359 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2360 echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2361 chmod 755 "$outpath/bin/$i"
2365 # symlink the mkspecs directory
2366 mkdir -p "$outpath/mkspecs"
2367 rm -rf "$outpath"/mkspecs/*
2368 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2369 rm -f "$outpath/mkspecs/default"
2373 rm -rf "$outpath/mkspecs/$1"
2374 find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2375 find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2378 # Special case for mkspecs/features directory.
2379 # To be able to place .prf files into a shadow build directory,
2380 # we're creating links for files only. The directory structure is reproduced.
2381 ShadowMkspecs features
2383 # The modules dir is special, too.
2384 ShadowMkspecs modules
2386 # symlink the doc directory
2387 rm -rf "$outpath/doc"
2388 ln -s "$relpath/doc" "$outpath/doc"
2391 # symlink fonts to be able to run application from build directory
2392 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
2393 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2394 mkdir -p "${outpath}/lib"
2395 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2399 if [ "$OPT_FAST" = "auto" ]; then
2400 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2407 # find a make command
2408 if [ -z "$MAKE" ]; then
2410 for mk in gmake make; do
2411 if "$WHICH" $mk >/dev/null 2>&1; then
2416 if [ -z "$MAKE" ]; then
2417 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2418 echo >&2 "Cannot proceed."
2421 # export MAKE, we need it later in the config.tests
2427 #-------------------------------------------------------------------------------
2428 # auto-detect all that hasn't been specified in the arguments
2429 #-------------------------------------------------------------------------------
2431 [ "$PLATFORM_QWS" = "yes" -a "$CFG_EMBEDDED" = "no" ] && CFG_EMBEDDED=auto
2432 if [ "$CFG_EMBEDDED" != "no" ]; then
2433 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2435 [ -z "$PLATFORM" ] && PLATFORM=qws/macx-generic-g++
2436 if [ -z "$XPLATFORM" ]; then
2437 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2438 XPLATFORM="qws/macx-$CFG_EMBEDDED-g++"
2442 [ -z "$PLATFORM" ] && PLATFORM=qws/freebsd-generic-g++
2443 if [ -z "$XPLATFORM" ]; then
2444 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2445 XPLATFORM="qws/freebsd-$CFG_EMBEDDED-g++"
2449 [ -z "$PLATFORM" ] && PLATFORM=qws/solaris-generic-g++
2450 if [ -z "$XPLATFORM" ]; then
2451 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2452 XPLATFORM="qws/solaris-$CFG_EMBEDDED-g++"
2456 if [ -z "$PLATFORM" ]; then
2457 case "$UNAME_MACHINE" in
2459 PLATFORM=qws/linux-x86-g++
2462 PLATFORM=qws/linux-x86_64-g++
2465 PLATFORM=qws/linux-generic-g++
2469 if [ -z "$XPLATFORM" ]; then
2470 if [ "$CFG_EMBEDDED" = "auto" ]; then
2471 if [ -n "$CFG_ARCH" ]; then
2472 CFG_EMBEDDED=$CFG_ARCH
2474 case "$UNAME_MACHINE" in
2482 CFG_EMBEDDED=generic
2487 XPLATFORM="qws/linux-$CFG_EMBEDDED-g++"
2491 [ -z "$PLATFORM" ] && PLATFORM=unsupported/qws/qnx-generic-g++
2492 if [ -z "$XPLATFORM" ]; then
2493 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2494 XPLATFORM="unsupported/qws/qnx-$CFG_EMBEDDED-g++"
2498 if [ -z "$XPLATFORM" ]; then
2503 echo "Qt for Embedded Linux is not supported on this platform. Disabling."
2510 if [ -z "$PLATFORM" ]; then
2512 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2514 if [ "$PLATFORM_QPA" = "yes" ]; then
2515 OSX_VERSION=`uname -r | cut -d. -f1`
2516 if [ "$OSX_VERSION" -ge 11 ]; then
2517 # We're on Lion or above. Check if we have a supported Clang version
2518 case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
2521 PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
2536 #PLATFORM=aix-g++-64
2538 #PLATFORM=aix-xlc-64
2540 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2550 # PLATFORM=dynix-g++
2556 PLATFORM=freebsd-g++
2558 - Also available for FreeBSD: freebsd-icc
2562 PLATFORM=openbsd-g++
2573 #PLATFORM=irix-cc-64
2575 - Also available for IRIX: irix-g++ irix-cc-64
2579 case "$UNAME_MACHINE" in
2581 #PLATFORM=hpuxi-acc-32
2582 PLATFORM=hpuxi-acc-64
2584 - Also available for HP-UXi: hpuxi-acc-32
2590 #PLATFORM=hpux-acc-64
2592 #PLATFORM=hpux-acc-o64
2594 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2603 - Also available for Tru64: tru64-g++
2607 case "$UNAME_MACHINE" in
2609 PLATFORM=linux-g++-64
2616 - Also available for Linux: linux-kcc linux-icc linux-cxx
2620 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2621 PLATFORM="solaris-g++"
2623 #PLATFORM=solaris-g++
2625 #PLATFORM=solaris-cc64
2628 - Also available for Solaris: solaris-g++ solaris-cc-64
2631 ReliantUNIX-*:*|SINIX-*:*)
2632 PLATFORM=reliant-cds
2633 #PLATFORM=reliant-cds-64
2635 - Also available for Reliant UNIX: reliant-cds-64
2645 #PLATFORM=unixware-g++
2646 PLATFORM=unixware-cc
2648 - Also available for OpenUNIX: unixware-g++
2652 #PLATFORM=unixware-g++
2653 PLATFORM=unixware-cc
2655 - Also available for UnixWare: unixware-g++
2662 - Also available for SCO OpenServer: sco-g++
2666 PLATFORM=unixware-g++
2669 PLATFORM=unsupported/qnx-g++
2672 if [ "$OPT_HELP" != "yes" ]; then
2674 for p in $PLATFORMS; do
2675 echo " $relconf $* -platform $p"
2678 echo " The build script does not currently recognize all" >&2
2679 echo " platforms supported by Qt." >&2
2680 echo " Rerun this script with a -platform option listed to" >&2
2681 echo " set the system/compiler combination you use." >&2
2688 if [ "$PLATFORM_QWS" = "yes" ]; then
2690 PLATFORMS=`find "$relpath/mkspecs/qws" | sed "s,$relpath/mkspecs/qws/,,"`
2692 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2695 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2697 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2698 case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
2700 if [ -d "$PLATFORM" ]; then
2701 QMAKESPEC="$PLATFORM"
2703 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2705 if [ -d "$XPLATFORM" ]; then
2706 XQMAKESPEC="$XPLATFORM"
2708 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2710 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2711 QT_CROSS_COMPILE=yes
2712 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2715 if [ "$BUILD_ON_MAC" = "yes" ]; then
2716 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2718 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2719 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2720 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2721 echo " built with 'macx-g++'" >&2
2727 # check specified platforms are supported
2728 if [ '!' -d "$QMAKESPEC" ]; then
2730 echo " The specified system/compiler is not supported:"
2734 echo " Please see the README file for a complete list."
2738 if [ '!' -d "$XQMAKESPEC" ]; then
2740 echo " The specified system/compiler is not supported:"
2744 echo " Please see the README file for a complete list."
2748 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2750 echo " The specified system/compiler port is not complete:"
2752 echo " $XQMAKESPEC/qplatformdefs.h"
2754 echo " Please contact qt-info@nokia.com."
2759 # now look at the configs and figure out what platform we are config'd for
2760 [ "$CFG_EMBEDDED" = "no" ] && [ "$PLATFORM_QPA" != "yes" ] \
2761 && [ -n "`getXQMakeConf QMAKE_LIBS_X11`" ] \
2763 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2765 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2766 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2767 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2768 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2769 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2773 #-------------------------------------------------------------------------------
2774 # determine the system architecture
2775 #-------------------------------------------------------------------------------
2776 if [ "$OPT_VERBOSE" = "yes" ]; then
2777 echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
2780 if [ "$CFG_EMBEDDED" != "no" -a "$CFG_EMBEDDED" != "auto" ] && [ -n "$CFG_ARCH" ]; then
2781 if [ "$CFG_ARCH" != "$CFG_EMBEDDED" ]; then
2783 echo "You have specified a target architecture with -embedded and -arch."
2784 echo "The two architectures you have specified are different, so we can"
2785 echo "not proceed. Either set both to be the same, or only use -embedded."
2791 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2792 case `basename "$XPLATFORM"` in
2795 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2797 echo "Please contact qt-info@nokia.com to upgrade your license to"
2798 echo "include this platform, or install the Qt Open Source Edition"
2799 echo "if you intend to develop free software."
2805 if [ -z "${CFG_HOST_ARCH}" ]; then
2806 case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
2808 CFG_HOST_ARCH=`echo ${UNAME_MACHINE} | sed -e 's,[-/].*$,,'`
2809 case "$CFG_HOST_ARCH" in
2814 if [ "$OPT_VERBOSE" = "yes" ]; then
2815 echo " GNU/Hurd ($CFG_HOST_ARCH)"
2819 CFG_HOST_ARCH=`uname -p`
2820 if [ "$OPT_VERBOSE" = "yes" ]; then
2821 echo " SGI ($CFG_HOST_ARCH)"
2825 case "$UNAME_MACHINE" in
2827 if [ "$OPT_VERBOSE" = "yes" ]; then
2828 echo " Sun SPARC (sparc)"
2835 if [ "$OPT_VERBOSE" = "yes" ]; then
2836 echo " 64-bit AMD 80x86 (x86_64)"
2838 CFG_HOST_ARCH=x86_64
2841 if [ "$OPT_VERBOSE" = "yes" ]; then
2842 echo " 32-bit Intel 80x86 (i386)"
2850 if [ "$OPT_VERBOSE" = "yes" ]; then
2851 echo " 64-bit IBM PowerPC (powerpc)"
2853 CFG_HOST_ARCH=powerpc
2856 if [ "$OPT_VERBOSE" = "yes" ]; then
2857 echo " HP PA-RISC (parisc)"
2859 CFG_HOST_ARCH=parisc
2862 if [ "$OPT_VERBOSE" = "yes" ]; then
2863 echo " 32-bit Intel 80x86 (i386)"
2867 *:*:x86_64|*:*:amd64)
2868 if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
2869 if [ "$OPT_VERBOSE" = "yes" ]; then
2870 echo " 32 bit on 64-bit AMD 80x86 (i386)"
2874 if [ "$OPT_VERBOSE" = "yes" ]; then
2875 echo " 64-bit AMD 80x86 (x86_64)"
2877 CFG_HOST_ARCH=x86_64
2881 if [ "$OPT_VERBOSE" = "yes" ]; then
2882 echo " 32-bit PowerPC (powerpc)"
2884 CFG_HOST_ARCH=powerpc
2887 if [ "$OPT_VERBOSE" = "yes" ]; then
2888 echo " 64-bit PowerPC (powerpc)"
2890 CFG_HOST_ARCH=powerpc
2893 if [ "$OPT_VERBOSE" = "yes" ]; then
2894 echo " IBM S/390 (s390)"
2899 if [ "$OPT_VERBOSE" = "yes" ]; then
2905 if [ "$OPT_VERBOSE" = "yes" ]; then
2906 echo " Linux on SPARC"
2911 case "$UNAME_MACHINE" in
2913 if [ "$OPT_VERBOSE" = "yes" ]; then
2914 echo " QNX on Intel 80x86 (i386)"
2921 if [ "$OPT_VERBOSE" = "yes" ]; then
2922 echo " Trying '$UNAME_MACHINE'..."
2924 CFG_HOST_ARCH="$UNAME_MACHINE"
2929 if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
2930 if [ -n "$CFG_ARCH" ]; then
2931 CFG_EMBEDDED=$CFG_ARCH
2934 case "$CFG_EMBEDDED" in
2957 CFG_ARCH="$CFG_EMBEDDED"
2960 elif [ "$XPLATFORM_MINGW" = "yes" ]; then
2961 [ -z "$CFG_ARCH" ] && CFG_ARCH="windows"
2962 elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
2963 CFG_ARCH=$CFG_HOST_ARCH
2970 # previously, armv6 was a different arch
2976 if [ "$OPT_VERBOSE" = "yes" ]; then
2977 echo "System architecture: '$CFG_ARCH'"
2978 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
2979 echo "Host architecture: '$CFG_HOST_ARCH'"
2983 #-------------------------------------------------------------------------------
2984 # tests that don't need qmake (must be run before displaying help)
2985 #-------------------------------------------------------------------------------
2987 # detect build style
2988 if [ "$CFG_DEBUG" = "auto" ]; then
2989 if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2990 CFG_DEBUG_RELEASE=yes
2992 elif [ "$CFG_DEV" = "yes" ]; then
2993 CFG_DEBUG_RELEASE=no
2996 CFG_DEBUG_RELEASE=no
3000 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
3001 QT_CONFIG="$QT_CONFIG build_all"
3004 if [ -z "$PKG_CONFIG" ]; then
3005 # See if PKG_CONFIG is set in the mkspec:
3006 PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
3008 if [ -z "$PKG_CONFIG" ]; then
3009 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
3012 # Work out if we can use pkg-config
3013 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3014 if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
3016 echo >&2 "You have asked to use pkg-config and are cross-compiling."
3017 echo >&2 "Please make sure you have a correctly set-up pkg-config"
3018 echo >&2 "environment!"
3020 if [ -z "$PKG_CONFIG_PATH" ]; then
3022 echo >&2 "Warning: PKG_CONFIG_PATH has not been set. This could mean"
3023 echo >&2 "the host compiler's .pc files will be used. This is probably"
3024 echo >&2 "not what you want."
3026 elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
3028 echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
3029 echo >&2 "been set. This means your toolchain's .pc files must contain"
3030 echo >&2 "the paths to the toolchain's libraries & headers. If configure"
3031 echo >&2 "tests are failing, please check these files."
3036 echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
3037 echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
3038 echo >&2 "dependencies"
3044 if [ ! -n "$PKG_CONFIG" ]; then
3045 QT_CONFIG="$QT_CONFIG no-pkg-config"
3048 # pass on $CFG_SDK to the configure tests.
3049 if [ '!' -z "$CFG_SDK" ]; then
3050 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
3053 # find the default framework value
3054 if [ "$BUILD_ON_MAC" = "yes" ]; then
3055 if [ "$CFG_FRAMEWORK" = "auto" ]; then
3056 CFG_FRAMEWORK="$CFG_SHARED"
3057 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
3059 echo "WARNING: Using static linking will disable the use of Mac frameworks."
3067 QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
3069 TEST_COMPILER=$QMAKE_CONF_COMPILER
3070 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
3071 if [ -z "$TEST_COMPILER" ]; then
3072 echo "ERROR: Cannot set the compiler for the configuration tests"
3078 if [ -n "$CFG_SYSROOT" ]; then
3079 if compilerSupportsFlag --sysroot="$CFG_SYSROOT"; then
3080 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting sysroot to: $CFG_SYSROOT"
3081 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
3083 echo >&2 "The compiler doesn't support the --sysroot flag, I can't set the sysroot"
3087 export SYSROOT_FLAG # used by config.tests/unix/compile.test
3089 # auto-detect precompiled header support
3090 if [ "$CFG_PRECOMPILE" = "auto" ]; then
3091 if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
3098 #auto-detect DWARF2 on the mac
3099 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
3100 if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
3107 # don't autodetect support for separate debug info on objcopy when
3108 # cross-compiling as lots of toolchains seems to have problems with this
3109 if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3110 CFG_SEPARATE_DEBUG_INFO="no"
3113 # auto-detect support for separate debug info in objcopy
3114 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
3115 TEST_COMPILER_CFLAGS=`getXQMakeConf QMAKE_CFLAGS`
3116 TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
3117 TEST_OBJCOPY=`getXQMakeConf QMAKE_OBJCOPY`
3118 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
3119 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
3120 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
3121 CFG_SEPARATE_DEBUG_INFO=no
3125 # binutils on HP-UX is buggy; default to no.
3126 CFG_SEPARATE_DEBUG_INFO=no
3129 CFG_SEPARATE_DEBUG_INFO=yes
3135 # auto-detect -fvisibility support
3136 if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then
3137 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
3138 CFG_REDUCE_EXPORTS=no
3140 CFG_REDUCE_EXPORTS=yes
3144 # detect the availability of the -Bsymbolic-functions linker optimization
3145 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
3146 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
3147 CFG_REDUCE_RELOCATIONS=no
3149 CFG_REDUCE_RELOCATIONS=yes
3153 # auto-detect GNU make support
3154 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
3158 # If -opengl wasn't specified, don't try to auto-detect
3159 if [ "$PLATFORM_QWS" = "yes" ] && [ "$CFG_OPENGL" = "auto" ]; then
3163 # find the default framework value
3164 if [ "$BUILD_ON_MAC" = "yes" ]; then
3165 if [ "$CFG_FRAMEWORK" = "auto" ]; then
3166 CFG_FRAMEWORK="$CFG_SHARED"
3167 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
3169 echo "WARNING: Using static linking will disable the use of Mac frameworks."
3177 # x11 tests are done after qmake is built
3180 #setup the build parts
3181 if [ -z "$CFG_BUILD_PARTS" ]; then
3182 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
3184 # don't build tools by default when cross-compiling
3185 if [ "$PLATFORM" != "$XPLATFORM" ]; then
3186 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
3189 for nobuild in $CFG_NOBUILD_PARTS; do
3190 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
3192 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
3194 # echo "WARNING: libs is a required part of the build."
3196 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
3199 #-------------------------------------------------------------------------------
3200 # post process QT_INSTALL_* variables
3201 #-------------------------------------------------------------------------------
3203 if [ -z "$QT_INSTALL_PREFIX" ]; then
3204 if [ "$CFG_DEV" = "yes" ]; then
3205 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
3207 QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION
3210 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
3212 if [ -z "$QT_INSTALL_DOCS" ]; then #default
3213 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3214 if [ "$BUILD_ON_MAC" = "yes" ]; then
3215 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
3218 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
3221 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
3223 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
3224 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3225 if [ "$BUILD_ON_MAC" = "yes" ]; then
3226 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3231 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
3234 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
3236 if [ -z "$QT_INSTALL_LIBS" ]; then #default
3237 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3238 if [ "$BUILD_ON_MAC" = "yes" ]; then
3239 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3240 QT_INSTALL_LIBS="/Libraries/Frameworks"
3244 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
3246 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
3248 if [ -z "$QT_INSTALL_BINS" ]; then #default
3249 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3250 if [ "$BUILD_ON_MAC" = "yes" ]; then
3251 QT_INSTALL_BINS="/Developer/Applications/Qt"
3254 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
3256 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
3258 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
3259 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3260 if [ "$BUILD_ON_MAC" = "yes" ]; then
3261 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
3264 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
3266 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
3268 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
3269 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3270 if [ "$BUILD_ON_MAC" = "yes" ]; then
3271 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
3274 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
3276 QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
3278 if [ -z "$QT_INSTALL_DATA" ]; then #default
3279 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
3281 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
3283 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
3284 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
3286 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
3288 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
3289 if [ "$BUILD_ON_MAC" = "yes" ]; then
3290 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
3292 QT_INSTALL_SETTINGS=/etc/xdg
3295 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
3297 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
3298 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3299 if [ "$BUILD_ON_MAC" = "yes" ]; then
3300 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
3303 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
3305 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
3308 if [ -z "$QT_INSTALL_TESTS" ]; then #default
3309 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3310 if [ "$BUILD_ON_MAC" = "yes" ]; then
3311 QT_INSTALL_TESTS="/Developer/Tests/Qt"
3314 [ -z "$QT_INSTALL_TESTS" ] && QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback
3316 QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
3318 #-------------------------------------------------------------------------------
3319 # help - interactive parts of the script _after_ this section please
3320 #-------------------------------------------------------------------------------
3322 # next, emit a usage message if something failed.
3323 if [ "$OPT_HELP" = "yes" ]; then
3324 [ "x$ERROR" = "xyes" ] && echo
3325 if [ "$CFG_NIS" = "no" ]; then
3332 if [ "$CFG_CUPS" = "no" ]; then
3339 if [ "$CFG_ICONV" = "no" ]; then
3346 if [ "$CFG_LARGEFILE" = "no" ]; then
3353 if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then
3360 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
3368 if [ "$CFG_XCB" = "no" ]; then
3376 if [ "$CFG_WAYLAND" = "no" ]; then
3383 if [ "$CFG_XINPUT2" = "no" ]; then
3392 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
3393 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
3394 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-testsdir <dir>]
3395 [-release] [-debug] [-debug-and-release]
3396 [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
3397 [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
3398 [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
3399 [-plugin-sql-<driver>] [-system-sqlite]
3400 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
3401 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
3402 [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
3403 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
3404 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
3405 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
3406 [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
3407 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
3408 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] [-armfpa]
3409 [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
3410 [-no-audio-backend] [-audio-backend]
3411 [-no-javascript-jit] [-javascript-jit] [-no-declarative-debug] [-declarative-debug]
3412 [-no-optimized-qmake] [-optimized-qmake]
3413 [-no-openssl] [-openssl] [-openssl-linked]
3414 [-no-gtkstyle] [-gtkstyle]
3415 [-qt-pcre] [-system-pcre]
3416 [additional platform specific options (see below)]
3419 Installation options:
3421 -qpa ................ This will enable the QPA build.
3422 QPA is a window system agnostic implementation of Qt.
3424 These are optional, but you may specify install directories.
3426 -prefix <dir> ...... This will install everything relative to <dir>
3427 (default $QT_INSTALL_PREFIX)
3429 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3432 -hostprefix [dir] .. Tools and libraries needed when developing
3433 applications are installed in [dir]. If [dir] is
3434 not given, the current build directory will be used.
3439 * -prefix-install .... Force a sandboxed "local" installation of
3440 Qt. This will install into
3441 $QT_INSTALL_PREFIX, if this option is
3442 disabled then some platforms will attempt a
3443 "system" install by placing default values to
3444 be placed in a system location other than
3447 You may use these to separate different parts of the install:
3449 -bindir <dir> ......... Executables will be installed to <dir>
3450 (default PREFIX/bin)
3451 -libdir <dir> ......... Libraries will be installed to <dir>
3452 (default PREFIX/lib)
3453 -docdir <dir> ......... Documentation will be installed to <dir>
3454 (default PREFIX/doc)
3455 -headerdir <dir> ...... Headers will be installed to <dir>
3456 (default PREFIX/include)
3457 -plugindir <dir> ...... Plugins will be installed to <dir>
3458 (default PREFIX/plugins)
3459 -importdir <dir> ...... Imports for QML will be installed to <dir>
3460 (default PREFIX/imports)
3461 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
3463 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
3464 (default PREFIX/translations)
3465 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
3466 (default PREFIX/etc/settings)
3467 -examplesdir <dir> .... Examples will be installed to <dir>
3468 (default PREFIX/examples)
3469 -testsdir <dir> ....... Tests will be installed to <dir>
3470 (default PREFIX/tests)
3474 The defaults (*) are usually acceptable. A plus (+) denotes a default value
3475 that needs to be evaluated. If the evaluation succeeds, the feature is
3476 included. Here is a short explanation of each option:
3478 * -release ........... Compile and link Qt with debugging turned off.
3479 -debug ............. Compile and link Qt with debugging turned on.
3480 -debug-and-release . Compile and link two versions of Qt, with and without
3481 debugging turned on (Mac only).
3483 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
3485 -opensource ........ Compile and link the Open-Source Edition of Qt.
3486 -commercial ........ Compile and link the Commercial Edition of Qt.
3489 * -shared ............ Create and use shared Qt libraries.
3490 -static ............ Create and use static Qt libraries.
3492 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3494 -fast .............. Configure Qt quickly by generating Makefiles only for
3495 library and subdirectory targets. All other Makefiles
3496 are created as wrappers, which will in turn run qmake.
3498 -no-largefile ...... Disables large file support.
3499 + -largefile ......... Enables Qt to access files larger than 4 GB.
3502 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3509 if [ "$CFG_DBUS" = "no" ]; then
3518 $EXCN -no-exceptions ..... Disable exceptions on compilers that support it.
3519 $EXCY -exceptions ........ Enable exceptions on compilers that support it.
3521 -no-accessibility .. Do not compile Accessibility support.
3522 * -accessibility ..... Compile Accessibility support.
3524 $SHN -no-stl ............ Do not compile STL support.
3525 $SHY -stl ............... Compile STL support.
3527 -no-sql-<driver> ... Disable SQL <driver> entirely.
3528 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3530 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3533 Possible values for <driver>:
3534 [ $CFG_SQL_AVAILABLE ]
3536 -system-sqlite ..... Use sqlite from the operating system.
3538 -no-phonon-backend.. Do not build the platform phonon plugin.
3539 + -phonon-backend..... Build the platform phonon plugin.
3541 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
3542 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
3544 -no-declarative-debug ..... Do not build the declarative debugging support.
3545 + -declarative-debug ....... Build the declarative debugging support.
3547 -platform target ... The operating system and compiler you are building
3550 See the README file for a list of supported
3551 operating systems and compilers.
3554 if [ "${PLATFORM_QWS}" != "yes" -a "${PLATFORM_QPA}" != "yes" ]; then
3556 -graphicssystem <sys> Sets an alternate graphics system. Available options are:
3557 raster - Software rasterizer
3558 opengl - Rendering via OpenGL, Experimental!
3559 openvg - Rendering via OpenVG, Experimental!
3566 -no-mmx ............ Do not compile with use of MMX instructions.
3567 -no-3dnow .......... Do not compile with use of 3DNOW instructions.
3568 -no-sse ............ Do not compile with use of SSE instructions.
3569 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3570 -no-sse3 ........... Do not compile with use of SSE3 instructions.
3571 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
3572 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
3573 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
3574 -no-avx ............ Do not compile with use of AVX instructions.
3575 -no-neon ........... Do not compile with use of NEON instructions.
3577 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3578 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3580 -testcocoon Instrument Qt with the TestCocoon code coverage tool.
3582 -D <string> ........ Add an explicit define to the preprocessor.
3583 -I <string> ........ Add an explicit include path.
3584 -L <string> ........ Add an explicit library path.
3586 -help, -h .......... Display this information.
3588 Third Party Libraries:
3590 -qt-zlib ........... Use the zlib bundled with Qt.
3591 + -system-zlib ....... Use zlib from the operating system.
3592 See http://www.gzip.org/zlib
3594 -no-gif ............ Do not compile GIF reading support.
3596 -no-libpng ......... Do not compile PNG support.
3597 -qt-libpng ......... Use the libpng bundled with Qt.
3598 + -system-libpng ..... Use libpng from the operating system.
3599 See http://www.libpng.org/pub/png
3601 -no-libjpeg ........ Do not compile JPEG support.
3602 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3603 + -system-libjpeg .... Use libjpeg from the operating system.
3604 See http://www.ijg.org
3606 -no-openssl ........ Do not compile support for OpenSSL.
3607 + -openssl ........... Enable run-time OpenSSL support.
3608 -openssl-linked .... Enabled linked OpenSSL support.
3610 -qt-pcre ........... Use the PCRE library bundled with Qt.
3611 + -system-pcre ....... Use the PCRE library from the operating system.
3615 -make <part> ....... Add part to the list of parts to be built at make time.
3616 ($QT_DEFAULT_BUILD_PARTS)
3617 -nomake <part> ..... Exclude part from the list of parts to be built.
3619 -R <string> ........ Add an explicit runtime library path to the Qt
3621 -l <string> ........ Add an explicit library.
3623 -no-rpath .......... Do not use the library install path as a runtime
3625 + -rpath ............. Link Qt libraries and executables using the library
3626 install path as a runtime library path. Equivalent
3627 to -R install_libpath
3629 -continue .......... Continue as far as possible if an error occurs.
3631 -verbose, -v ....... Print verbose information about each step of the
3634 -silent ............ Reduce the build output so that warnings and errors
3635 can be seen more easily.
3637 * -no-optimized-qmake ... Do not build qmake optimized.
3638 -optimized-qmake ...... Build qmake optimized.
3640 -no-gui ............ Don't build the Qt GUI library
3642 $NSN -no-nis ............ Do not compile NIS support.
3643 $NSY -nis ............... Compile NIS support.
3645 $CUN -no-cups ........... Do not compile CUPS support.
3646 $CUY -cups .............. Compile CUPS support.
3647 Requires cups/cups.h and libcups.so.2.
3649 $CIN -no-iconv .......... Do not compile support for iconv(3).
3650 $CIY -iconv ............. Compile support for iconv(3).
3652 $PHN -no-pch ............ Do not use precompiled header support.
3653 $PHY -pch ............... Use precompiled header support.
3655 $DBN -no-dbus ........... Do not compile the QtDBus module.
3656 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3657 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3659 -reduce-relocations ..... Reduce relocations in the libraries through extra
3660 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3661 experimental; needs GNU ld >= 2.18).
3663 -force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
3667 if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3668 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3675 elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
3683 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3687 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3688 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3690 $XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
3691 $XCBY -xcb ............... Compile Xcb support.
3693 $XWN -no-wayland......... Do not compile Wayland support.
3694 $XWY -wayland .......... Compile Wayland support.
3700 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
3704 $X2N -no-xinput2......... Do not compile XInput2 support.
3705 $X2Y -xinput2............ Compile XInput2 support.
3711 if [ "$PLATFORM_X11" = "yes" ]; then
3712 if [ "$CFG_SM" = "no" ]; then
3719 if [ "$CFG_XSHAPE" = "no" ]; then
3726 if [ "$CFG_XVIDEO" = "no" ]; then
3733 if [ "$CFG_XINERAMA" = "no" ]; then
3740 if [ "$CFG_FONTCONFIG" = "no" ]; then
3747 if [ "$CFG_XCURSOR" = "no" ]; then
3754 if [ "$CFG_XFIXES" = "no" ]; then
3761 if [ "$CFG_XRANDR" = "no" ]; then
3768 if [ "$CFG_XRENDER" = "no" ]; then
3775 if [ "$CFG_MITSHM" = "no" ]; then
3782 if [ "$CFG_XINPUT" = "no" ]; then
3789 if [ "$CFG_XKB" = "no" ]; then
3796 if [ "$CFG_IM" = "no" ]; then
3807 -no-gtkstyle ....... Do not build the GTK theme integration.
3808 + -gtkstyle .......... Build the GTK theme integration.
3810 * -no-nas-sound ...... Do not compile in NAS sound support.
3811 -system-nas-sound .. Use NAS libaudio from the operating system.
3812 See http://radscan.com/nas.html
3814 -egl ............... Use EGL instead of GLX to manage contexts.
3815 When building for desktop OpenGL, this option will
3816 make Qt use EGL to manage contexts rather than the
3817 GLX, which is the default. Note: For OpenGL ES, EGL
3820 -no-opengl ......... Do not support OpenGL.
3821 + -opengl <api> ...... Enable OpenGL support.
3822 With no parameter, this will auto-detect the "best"
3823 OpenGL API to use. If desktop OpenGL is available, it
3824 will be used. Use desktop or es2 for <api>
3825 to force the use of the Desktop OpenGL or
3826 OpenGL ES 2 APIs instead.
3828 -no-openvg ........ Do not support OpenVG.
3829 + -openvg ........... Enable OpenVG support.
3830 Requires EGL support, typically supplied by an OpenGL
3831 or other graphics implementation.
3833 $SMN -no-sm ............. Do not support X Session Management.
3834 $SMY -sm ................ Support X Session Management, links in -lSM -lICE.
3836 $SHN -no-xshape ......... Do not compile XShape support.
3837 $SHY -xshape ............ Compile XShape support.
3838 Requires X11/extensions/shape.h.
3840 $XVN -no-xvideo ......... Do not compile XVideo support.
3841 $XVY -xvideo ............ Compile XVideo support.
3842 Requires X11/extensions/Xv.h & Xvlib.h.
3844 $SHN -no-xsync .......... Do not compile XSync support.
3845 $SHY -xsync ............. Compile XSync support.
3846 Requires X11/extensions/sync.h.
3848 $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
3849 $XAY -xinerama .......... Compile Xinerama support.
3850 Requires X11/extensions/Xinerama.h and libXinerama.
3851 By default, Xinerama support will be compiled if
3852 available and the shared libraries are dynamically
3855 $XCN -no-xcursor ........ Do not compile Xcursor support.
3856 $XCY -xcursor ........... Compile Xcursor support.
3857 Requires X11/Xcursor/Xcursor.h and libXcursor.
3858 By default, Xcursor support will be compiled if
3859 available and the shared libraries are dynamically
3862 $XFN -no-xfixes ......... Do not compile Xfixes support.
3863 $XFY -xfixes ............ Compile Xfixes support.
3864 Requires X11/extensions/Xfixes.h and libXfixes.
3865 By default, Xfixes support will be compiled if
3866 available and the shared libraries are dynamically
3869 $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
3870 $XZY -xrandr ............ Compile Xrandr support.
3871 Requires X11/extensions/Xrandr.h and libXrandr.
3873 $XRN -no-xrender ........ Do not compile Xrender support.
3874 $XRY -xrender ........... Compile Xrender support.
3875 Requires X11/extensions/Xrender.h and libXrender.
3877 $XMN -no-mitshm ......... Do not compile MIT-SHM support.
3878 $XMY -mitshm ............ Compile MIT-SHM support.
3879 Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
3881 $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
3882 $FCGY -fontconfig ........ Compile FontConfig support.
3883 Requires fontconfig/fontconfig.h, libfontconfig,
3884 freetype.h and libfreetype.
3886 $XIN -no-xinput ......... Do not compile Xinput support.
3887 $XIY -xinput ............ Compile Xinput support. This also enabled tablet support
3888 which requires IRIX with wacom.h and libXi or
3889 XFree86 with X11/extensions/XInput.h and libXi.
3891 $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
3892 $XKY -xkb ............... Compile XKB support.
3897 if [ "$BUILD_ON_MAC" = "yes" ]; then
3902 -Fstring ........... Add an explicit framework path.
3903 -fw string ......... Add an explicit framework.
3905 * -framework ......... Build Qt as a series of frameworks and
3906 link tools against those frameworks.
3907 -no-framework ...... Do not build Qt as a series of frameworks.
3909 * -dwarf2 ............ Enable dwarf2 debugging symbols.
3910 -no-dwarf2 ......... Disable dwarf2 debugging symbols.
3912 -arch <arch> ....... Build Qt for <arch>. Supported arch values: x86 x86_64.
3913 Only one arch value can be specified.
3915 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3916 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3918 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
3919 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
3920 QT_ENABLE_HARFBUZZ environment variable.
3925 if [ "$PLATFORM_QWS" = "yes" ]; then
3927 Qt for Embedded Linux:
3929 -embedded <arch> .... This will enable the embedded build, you must have a
3930 proper license for this switch to work.
3931 Example values for <arch>: arm mips x86 generic
3935 if [ "$PLATFORM_QPA" = "yes" ]; then
3941 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3944 -xplatform target ... The target platform when cross-compiling.
3946 -no-feature-<feature> Do not compile in <feature>.
3947 -feature-<feature> .. Compile in <feature>. The available features
3948 are described in src/corelib/global/qfeatures.txt
3950 -armfpa ............. Target platform uses the ARM-FPA floating point format.
3951 -no-armfpa .......... Target platform does not use the ARM-FPA floating point format.
3953 The floating point format is usually autodetected by configure. Use this
3954 to override the detected value.
3956 -little-endian ...... Target platform is little endian (LSB first).
3957 -big-endian ......... Target platform is big endian (MSB first).
3959 -host-little-endian . Host platform is little endian (LSB first).
3960 -host-big-endian .... Host platform is big endian (MSB first).
3962 You only need to specify the endianness when
3963 cross-compiling, otherwise the host
3964 endianness will be used.
3966 -no-freetype ........ Do not compile in Freetype2 support.
3967 -qt-freetype ........ Use the libfreetype bundled with Qt.
3968 * -system-freetype .... Use libfreetype from the operating system.
3969 See http://www.freetype.org/
3971 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3972 default ($CFG_QCONFIG).
3974 -no-opengl .......... Do not support OpenGL.
3975 -opengl <api> ....... Enable OpenGL ES support
3976 With no parameter, this will attempt to auto-detect
3977 OpenGL ES 2, or regular desktop OpenGL.
3978 Use es2 for <api> to override auto-detection.
3982 if [ "$PLATFORM_QWS" = "yes" ]; then
3985 -depths <list> ...... Comma-separated list of supported bit-per-pixel
3986 depths, from: 1, 4, 8, 12, 15, 16, 18, 24, 32 and 'all'.
3988 -qt-decoration-<style> ....Enable a decoration <style> in the QtGui library,
3989 by default all available decorations are on.
3990 Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
3991 -plugin-decoration-<style> Enable decoration <style> as a plugin to be
3992 linked to at run time.
3993 Possible values for <style>: [ $CFG_DECORATION_PLUGIN_AVAILABLE ]
3994 -no-decoration-<style> ....Disable decoration <style> entirely.
3995 Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
3997 -qt-gfx-<driver> ... Enable a graphics <driver> in the QtGui library.
3998 Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
3999 -plugin-gfx-<driver> Enable graphics <driver> as a plugin to be
4000 linked to at run time.
4001 Possible values for <driver>: [ $CFG_GFX_PLUGIN_AVAILABLE ]
4002 -no-gfx-<driver> ... Disable graphics <driver> entirely.
4003 Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
4005 -qt-kbd-<driver> ... Enable a keyboard <driver> in the QtGui library.
4006 Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
4008 -plugin-kbd-<driver> Enable keyboard <driver> as a plugin to be linked to
4010 Possible values for <driver>: [ $CFG_KBD_PLUGIN_AVAILABLE ]
4012 -no-kbd-<driver> ... Disable keyboard <driver> entirely.
4013 Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
4015 -qt-mouse-<driver> ... Enable a mouse <driver> in the QtGui library.
4016 Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
4017 -plugin-mouse-<driver> Enable mouse <driver> as a plugin to be linked to
4019 Possible values for <driver>: [ $CFG_MOUSE_PLUGIN_AVAILABLE ]
4020 -no-mouse-<driver> ... Disable mouse <driver> entirely.
4021 Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
4023 -iwmmxt ............ Compile using the iWMMXt instruction set
4024 (available on some XScale CPUs).
4028 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
4029 if [ "$CFG_GLIB" = "no" ]; then
4037 $GBN -no-glib ........... Do not compile Glib support.
4038 $GBY -glib .............. Compile Glib support.
4043 [ "x$ERROR" = "xyes" ] && exit 1
4048 # -----------------------------------------------------------------------------
4049 # LICENSING, INTERACTIVE PART
4050 # -----------------------------------------------------------------------------
4052 if [ "$PLATFORM_QWS" = "yes" ]; then
4053 Platform="Qt for Embedded Linux"
4054 elif [ "$PLATFORM_QPA" = "yes" ]; then
4055 Platform="Qt Lighthouse"
4056 elif [ "$XPLATFORM_MINGW" = "yes" ]; then
4057 Platform="Qt for Windows"
4058 elif [ -n "`getXQMakeConf grep QMAKE_LIBS_X11`" ]; then
4060 Platform="Qt for Linux/X11"
4064 echo "This is the $Platform ${EditionString} Edition."
4067 if [ "$Edition" = "OpenSource" ]; then
4069 echo "You are licensed to use this software under the terms of"
4070 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
4071 if [ -f "$relpath/LICENSE.GPL3" ]; then
4072 echo "You are also licensed to use this software under the terms of"
4073 echo "the GNU General Public License (GPL) versions 3."
4079 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
4080 echo "You have already accepted the terms of the $LicenseType license."
4083 if [ -f "$relpath/LICENSE.GPL3" ]; then
4084 echo "Type '3' to view the GNU General Public License version 3."
4086 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
4087 echo "Type 'yes' to accept this license offer."
4088 echo "Type 'no' to decline this license offer."
4090 echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
4094 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
4096 elif [ "$acceptance" = "no" ]; then
4097 echo "You are not licensed to use this software."
4100 elif [ "$acceptance" = "3" ]; then
4101 more "$relpath/LICENSE.GPL3"
4102 elif [ "$acceptance" = "L" ]; then
4103 more "$relpath/LICENSE.LGPL"
4106 elif [ "$Edition" = "Preview" ]; then
4107 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
4110 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
4111 echo "You have already accepted the terms of the $LicenseType license."
4114 echo "You are licensed to use this software under the terms of"
4115 echo "the $TheLicense"
4117 echo "Type '?' to read the Preview License."
4118 echo "Type 'yes' to accept this license offer."
4119 echo "Type 'no' to decline this license offer."
4121 echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
4125 if [ "$acceptance" = "yes" ]; then
4127 elif [ "$acceptance" = "no" ] ;then
4128 echo "You are not licensed to use this software."
4131 elif [ "$acceptance" = "?" ]; then
4132 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
4135 elif [ "$Edition" != "OpenSource" ]; then
4136 if [ -n "$ExpiryDate" ]; then
4137 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
4138 [ -z "$ExpiryDate" ] && ExpiryDate="0"
4139 Today=`date +%Y%m%d`
4140 if [ "$Today" -gt "$ExpiryDate" ]; then
4141 case "$LicenseType" in
4142 Commercial|Academic|Educational)
4143 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
4145 echo "NOTICE NOTICE NOTICE NOTICE"
4147 echo " Your support and upgrade period has expired."
4149 echo " You are no longer licensed to use this version of Qt."
4150 echo " Please contact qt-info@nokia.com to renew your support"
4151 echo " and upgrades for this license."
4153 echo "NOTICE NOTICE NOTICE NOTICE"
4158 echo "WARNING WARNING WARNING WARNING"
4160 echo " Your support and upgrade period has expired."
4162 echo " You may continue to use your last licensed release"
4163 echo " of Qt under the terms of your existing license"
4164 echo " agreement. But you are not entitled to technical"
4165 echo " support, nor are you entitled to use any more recent"
4166 echo " Qt releases."
4168 echo " Please contact qt-info@nokia.com to renew your"
4169 echo " support and upgrades for this license."
4171 echo "WARNING WARNING WARNING WARNING"
4178 echo "NOTICE NOTICE NOTICE NOTICE"
4180 echo " Your Evaluation license has expired."
4182 echo " You are no longer licensed to use this software. Please"
4183 echo " contact qt-info@nokia.com to purchase license, or install"
4184 echo " the Qt Open Source Edition if you intend to develop free"
4187 echo "NOTICE NOTICE NOTICE NOTICE"
4194 TheLicense=`head -n 1 "$outpath/LICENSE"`
4196 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
4197 echo "You have already accepted the terms of the $TheLicense."
4200 echo "You are licensed to use this software under the terms of"
4201 echo "the $TheLicense."
4203 echo "Type '?' to view the $TheLicense."
4204 echo "Type 'yes' to accept this license offer."
4205 echo "Type 'no' to decline this license offer."
4207 echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
4211 if [ "$acceptance" = "yes" ]; then
4213 elif [ "$acceptance" = "no" ]; then
4214 echo "You are not licensed to use this software."
4217 else [ "$acceptance" = "?" ]
4218 more "$outpath/LICENSE"
4223 # this should be moved somewhere else
4226 AIX_VERSION=`uname -v`
4227 if [ "$AIX_VERSION" -lt "5" ]; then
4228 QMakeVar add QMAKE_LIBS_X11 -lbind
4235 #-------------------------------------------------------------------------------
4236 # generate qconfig.cpp
4237 #-------------------------------------------------------------------------------
4238 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
4240 LICENSE_USER_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsuser=$Licensee"`
4241 LICENSE_PRODUCTS_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsprod=$Edition"`
4242 PREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_INSTALL_PREFIX"`
4243 DOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_INSTALL_DOCS"`
4244 HEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_INSTALL_HEADERS"`
4245 LIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_INSTALL_LIBS"`
4246 BINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_INSTALL_BINS"`
4247 PLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_INSTALL_PLUGINS"`
4248 IMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_INSTALL_IMPORTS"`
4249 DATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_INSTALL_DATA"`
4250 TRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_INSTALL_TRANSLATIONS"`
4251 SETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
4252 EXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
4253 TESTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_tstspath=$QT_INSTALL_TESTS"`
4255 TODAY=`date +%Y-%m-%d`
4256 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4258 static const char qt_configure_licensee_str [256 + 12] = "$LICENSE_USER_STR";
4259 static const char qt_configure_licensed_products_str [256 + 12] = "$LICENSE_PRODUCTS_STR";
4261 /* Installation date */
4262 static const char qt_configure_installation [12+11] = "qt_instdate=$TODAY";
4266 if [ ! -z "$QT_HOST_PREFIX" ]; then
4267 HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
4268 HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
4269 HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"`
4270 HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"`
4271 HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"`
4272 HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"`
4273 HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/IMPORTS"`
4274 HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"`
4275 HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
4276 HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
4277 HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
4278 HOSTTESTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_tstspath=$QT_INSTALL_TESTS"`
4280 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4282 #if defined(QT_BOOTSTRAPPED) || defined(QT_BUILD_QMAKE)
4283 /* Installation Info */
4284 static const char qt_configure_prefix_path_str [256 + 12] = "$HOSTPREFIX_PATH_STR";
4285 static const char qt_configure_documentation_path_str[256 + 12] = "$HOSTDOCUMENTATION_PATH_STR";
4286 static const char qt_configure_headers_path_str [256 + 12] = "$HOSTHEADERS_PATH_STR";
4287 static const char qt_configure_libraries_path_str [256 + 12] = "$HOSTLIBRARIES_PATH_STR";
4288 static const char qt_configure_binaries_path_str [256 + 12] = "$HOSTBINARIES_PATH_STR";
4289 static const char qt_configure_plugins_path_str [256 + 12] = "$HOSTPLUGINS_PATH_STR";
4290 static const char qt_configure_imports_path_str [256 + 12] = "$HOSTIMPORTS_PATH_STR";
4291 static const char qt_configure_data_path_str [256 + 12] = "$HOSTDATA_PATH_STR";
4292 static const char qt_configure_translations_path_str [256 + 12] = "$HOSTTRANSLATIONS_PATH_STR";
4293 static const char qt_configure_settings_path_str [256 + 12] = "$HOSTSETTINGS_PATH_STR";
4294 static const char qt_configure_examples_path_str [256 + 12] = "$HOSTEXAMPLES_PATH_STR";
4295 static const char qt_configure_tests_path_str [256 + 12] = "$HOSTTESTS_PATH_STR";
4296 #else // QT_BOOTSTRAPPED
4300 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4301 /* Installation Info */
4302 static const char qt_configure_prefix_path_str [256 + 12] = "$PREFIX_PATH_STR";
4303 static const char qt_configure_documentation_path_str[256 + 12] = "$DOCUMENTATION_PATH_STR";
4304 static const char qt_configure_headers_path_str [256 + 12] = "$HEADERS_PATH_STR";
4305 static const char qt_configure_libraries_path_str [256 + 12] = "$LIBRARIES_PATH_STR";
4306 static const char qt_configure_binaries_path_str [256 + 12] = "$BINARIES_PATH_STR";
4307 static const char qt_configure_plugins_path_str [256 + 12] = "$PLUGINS_PATH_STR";
4308 static const char qt_configure_imports_path_str [256 + 12] = "$IMPORTS_PATH_STR";
4309 static const char qt_configure_data_path_str [256 + 12] = "$DATA_PATH_STR";
4310 static const char qt_configure_translations_path_str [256 + 12] = "$TRANSLATIONS_PATH_STR";
4311 static const char qt_configure_settings_path_str [256 + 12] = "$SETTINGS_PATH_STR";
4312 static const char qt_configure_examples_path_str [256 + 12] = "$EXAMPLES_PATH_STR";
4313 static const char qt_configure_tests_path_str [256 + 12] = "$TESTS_PATH_STR";
4316 if [ ! -z "$QT_HOST_PREFIX" ]; then
4317 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4318 #endif // QT_BOOTSTRAPPED
4323 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4324 /* strlen( "qt_lcnsxxxx" ) == 12 */
4325 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
4326 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
4327 #define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12;
4328 #define QT_CONFIGURE_DOCUMENTATION_PATH qt_configure_documentation_path_str + 12;
4329 #define QT_CONFIGURE_HEADERS_PATH qt_configure_headers_path_str + 12;
4330 #define QT_CONFIGURE_LIBRARIES_PATH qt_configure_libraries_path_str + 12;
4331 #define QT_CONFIGURE_BINARIES_PATH qt_configure_binaries_path_str + 12;
4332 #define QT_CONFIGURE_PLUGINS_PATH qt_configure_plugins_path_str + 12;
4333 #define QT_CONFIGURE_IMPORTS_PATH qt_configure_imports_path_str + 12;
4334 #define QT_CONFIGURE_DATA_PATH qt_configure_data_path_str + 12;
4335 #define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12;
4336 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
4337 #define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;
4338 #define QT_CONFIGURE_TESTS_PATH qt_configure_tests_path_str + 12;
4341 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
4342 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
4343 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
4345 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
4346 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
4347 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
4350 # -----------------------------------------------------------------------------
4351 if [ "$LicenseType" = "Evaluation" ]; then
4352 EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey=$LicenseKeyExt"`
4353 elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then
4354 EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey="`
4357 if [ -n "$EVALKEY" ]; then
4358 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
4359 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
4360 /* Evaluation license key */
4361 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
4363 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
4367 # -----------------------------------------------------------------------------
4369 # -----------------------------------------------------------------------------
4372 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
4374 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
4375 if [ "$OPT_SHADOW" = "yes" ]; then
4376 "$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
4377 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
4378 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
4382 # $1: input variable name (awk regexp)
4383 # $2: optional output variable name
4384 # $3: optional value transformation (sed command)
4385 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
4386 # is where the resulting variable is written to
4387 setBootstrapVariable()
4389 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
4393 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
4394 echo "Creating qmake. Please wait..."
4397 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
4398 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
4399 if [ -f "$QCONFIG_H" ]; then
4400 OLD_QCONFIG_H=$QCONFIG_H
4401 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
4404 # create temporary qconfig.h for compiling qmake, if it doesn't exist
4405 # when building qmake, we use #defines for the install paths,
4406 # however they are real functions in the library
4407 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
4408 mkdir -p "$outpath/src/corelib/global"
4409 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
4410 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
4413 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
4415 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
4416 rm -rf mkspecs/default
4417 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
4419 for mkfile in GNUmakefile Makefile; do
4422 in_mkfile="${mkfile}.in"
4423 if [ "$mkfile" = "Makefile" ]; then
4424 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
4425 # (cd qmake && qmake) >/dev/null 2>&1 && continue
4427 in_mkfile="${mkfile}.unix"
4429 in_mkfile="$relpath/qmake/$in_mkfile"
4430 mkfile="$outpath/qmake/$mkfile"
4431 if [ -f "$mkfile" ]; then
4432 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
4435 [ -f "$in_mkfile" ] || continue
4437 echo "########################################################################" > "$mkfile"
4438 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
4439 echo "########################################################################" >> "$mkfile"
4442 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
4443 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
4444 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
4446 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
4447 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
4450 [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
4451 setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
4452 setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
4453 setBootstrapVariable QMAKE_CFLAGS
4454 setBootstrapVariable QMAKE_CXXFLAGS
4455 setBootstrapVariable QMAKE_LFLAGS
4457 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
4458 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
4459 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
4461 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
4462 setBootstrapVariable QMAKE_CFLAGS_RELEASE
4463 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
4464 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
4465 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
4466 elif [ "$CFG_DEBUG" = "yes" ]; then
4467 setBootstrapVariable QMAKE_CFLAGS_DEBUG
4468 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
4469 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
4470 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
4473 if [ -n "$RPATH_FLAGS" ] && [ -n "`getQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
4474 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" QMAKE_LFLAGS_RPATH
4475 for rpath in $RPATH_FLAGS; do
4476 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
4479 if [ "$BUILD_ON_MAC" = "yes" ]; then
4480 echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
4481 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
4482 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
4483 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
4484 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
4485 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
4486 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
4487 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
4488 if [ '!' -z "$CFG_SDK" ]; then
4489 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
4490 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
4491 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
4492 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
4493 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
4496 [ "$CFG_EMBEDDED" != "no" ] && EXTRA_CFLAGS="$EXTRA_CFLAGS -DQWS"
4497 if [ '!' -z "$D_FLAGS" ]; then
4498 for DEF in $D_FLAGS; do
4499 EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
4502 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
4503 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
4504 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
4505 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
4507 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
4508 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
4509 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
4510 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
4511 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
4512 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
4513 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
4514 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
4515 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
4516 -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
4518 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
4519 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
4520 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
4521 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
4526 QMAKE_BUILD_ERROR=no
4527 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
4528 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
4529 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
4530 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
4533 #-------------------------------------------------------------------------------
4534 # tests that need qmake
4535 #-------------------------------------------------------------------------------
4537 # detect availability of float math.h functions
4538 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
4539 CFG_USE_FLOATMATH=yes
4541 CFG_USE_FLOATMATH=no
4544 # detect mmx support
4545 if [ "${CFG_MMX}" = "auto" ]; then
4546 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mmx "mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
4553 # detect 3dnow support
4554 if [ "${CFG_3DNOW}" = "auto" ]; then
4555 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/3dnow "3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
4562 # detect sse support
4563 if [ "${CFG_SSE}" = "auto" ]; then
4564 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse "sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
4571 # detect sse2 support
4572 if [ "${CFG_SSE2}" = "auto" ]; then
4573 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
4580 # detect sse3 support
4581 if [ "${CFG_SSE3}" = "auto" ]; then
4582 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse3 "sse3" $L_FLAGS $I_FLAGS $l_FLAGS "-msse3"; then
4589 # detect ssse3 support
4590 if [ "${CFG_SSSE3}" = "auto" ]; then
4591 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ssse3 "ssse3" $L_FLAGS $I_FLAGS $l_FLAGS "-mssse3"; then
4598 # detect sse4.1 support
4599 if [ "${CFG_SSE4_1}" = "auto" ]; then
4600 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
4607 # detect sse4.2 support
4608 if [ "${CFG_SSE4_2}" = "auto" ]; then
4609 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
4616 # detect avx support
4617 if [ "${CFG_AVX}" = "auto" ]; then
4618 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx "avx" $L_FLAGS $I_FLAGS $l_FLAGS "-mavx"; then
4625 # check iWMMXt support
4626 if [ "$CFG_IWMMXT" = "yes" ]; then
4627 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
4628 if [ $? != "0" ]; then
4629 echo "The iWMMXt functionality test failed!"
4630 echo " Please make sure your compiler supports iWMMXt intrinsics!"
4635 # detect neon support
4636 if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
4637 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
4644 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
4647 if [ "$CFG_ZLIB" = "no" ]; then
4648 # Note: Qt no longer support builds without zlib
4649 # So we force a "no" to be "auto" here.
4650 # If you REALLY really need no zlib support, you can still disable
4651 # it by doing the following:
4652 # add "no-zlib" to mkspecs/qconfig.pri
4653 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
4655 # There's no guarantee that Qt will build under those conditions
4660 if [ "$CFG_ZLIB" = "auto" ]; then
4661 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
4668 if [ "$CFG_LARGEFILE" = "auto" ]; then
4669 #Large files should be enabled for all Linux systems
4673 # detect how jpeg should be built
4674 if [ "$CFG_JPEG" = "auto" ]; then
4675 if [ "$CFG_SHARED" = "yes" ]; then
4682 if [ "$CFG_LIBJPEG" = "auto" ]; then
4683 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
4690 # detect how gif should be built
4691 if [ "$CFG_GIF" = "auto" ]; then
4692 if [ "$CFG_SHARED" = "yes" ]; then
4700 if [ "$CFG_LIBPNG" = "auto" ]; then
4701 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
4708 # detect accessibility
4709 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4710 CFG_ACCESSIBILITY=yes
4713 # auto-detect SQL-modules support
4714 for _SQLDR in $CFG_SQL_AVAILABLE; do
4717 if [ "$CFG_SQL_mysql" != "no" ]; then
4718 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
4719 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4720 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4721 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4722 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4723 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4724 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4726 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4727 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4728 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4729 echo " You need MySql 4 or higher."
4730 echo " If you believe this message is in error you may use the continue"
4731 echo " switch (-continue) to $0 to continue."
4736 QT_LFLAGS_MYSQL_R=""
4740 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
4741 QMakeVar add CONFIG use_libmysqlclient_r
4742 if [ "$CFG_SQL_mysql" = "auto" ]; then
4743 CFG_SQL_mysql=plugin
4745 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
4746 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
4747 if [ "$CFG_SQL_mysql" = "auto" ]; then
4748 CFG_SQL_mysql=plugin
4751 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4752 echo "MySQL support cannot be enabled due to functionality tests!"
4753 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4754 echo " If you believe this message is in error you may use the continue"
4755 echo " switch (-continue) to $0 to continue."
4760 QT_LFLAGS_MYSQL_R=""
4768 if [ "$CFG_SQL_psql" != "no" ]; then
4769 # Be careful not to use native pg_config when cross building.
4770 if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
4771 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
4772 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
4774 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
4775 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
4776 # But, respect PSQL_LIBS if set
4777 [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
4778 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
4779 if [ "$CFG_SQL_psql" = "auto" ]; then
4783 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4784 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4785 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4786 echo " If you believe this message is in error you may use the continue"
4787 echo " switch (-continue) to $0 to continue."
4798 if [ "$CFG_SQL_odbc" != "no" ]; then
4799 if ( [ "$BUILD_ON_MAC" != "yes" ] || [ "$XPLATFORM_MINGW" = "yes" ] ) && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4800 if [ "$CFG_SQL_odbc" = "auto" ]; then
4804 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
4805 QT_LFLAGS_ODBC="-liodbc"
4806 if [ "$CFG_SQL_odbc" = "auto" ]; then
4810 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4811 echo "ODBC support cannot be enabled due to functionality tests!"
4812 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4813 echo " If you believe this message is in error you may use the continue"
4814 echo " switch (-continue) to $0 to continue."
4824 if [ "$CFG_SQL_oci" != "no" ]; then
4825 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
4826 if [ "$CFG_SQL_oci" = "auto" ]; then
4830 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4831 echo "Oracle (OCI) 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."
4843 if [ "$CFG_SQL_tds" != "no" ]; then
4844 [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
4845 [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
4846 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
4847 if [ "$CFG_SQL_tds" = "auto" ]; then
4851 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4852 echo "TDS support cannot be enabled due to functionality tests!"
4853 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4854 echo " If you believe this message is in error you may use the continue"
4855 echo " switch (-continue) to $0 to continue."
4864 if [ "$CFG_SQL_db2" != "no" ]; then
4865 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
4866 if [ "$CFG_SQL_db2" = "auto" ]; then
4870 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4871 echo "ODBC support cannot be enabled due to functionality tests!"
4872 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4873 echo " If you believe this message is in error you may use the continue"
4874 echo " switch (-continue) to $0 to continue."
4883 if [ "$CFG_SQL_ibase" != "no" ]; then
4884 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
4885 if [ "$CFG_SQL_ibase" = "auto" ]; then
4886 CFG_SQL_ibase=plugin
4889 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4890 echo "InterBase support cannot be enabled due to functionality tests!"
4891 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4892 echo " If you believe this message is in error you may use the continue"
4893 echo " switch (-continue) to $0 to continue."
4902 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4903 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
4904 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4905 CFG_SQL_sqlite2=plugin
4908 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4909 echo "SQLite2 support cannot be enabled due to functionality tests!"
4910 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4911 echo " If you believe this message is in error you may use the continue"
4912 echo " switch (-continue) to $0 to continue."
4921 if [ "$CFG_SQL_sqlite" != "no" ]; then
4922 SQLITE_AUTODETECT_FAILED="no"
4923 if [ "$CFG_SQLITE" = "system" ]; then
4924 if [ -n "$PKG_CONFIG" ]; then
4925 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4926 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4928 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
4929 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4930 CFG_SQL_sqlite=plugin
4932 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4934 SQLITE_AUTODETECT_FAILED="yes"
4937 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4938 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4939 CFG_SQL_sqlite=plugin
4942 SQLITE_AUTODETECT_FAILED="yes"
4946 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4947 echo "SQLite support cannot be enabled due to functionality tests!"
4948 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4949 echo " If you believe this message is in error you may use the continue"
4950 echo " switch (-continue) to $0 to continue."
4956 if [ "$OPT_VERBOSE" = "yes" ]; then
4957 echo "unknown SQL driver: $_SQLDR"
4963 # auto-detect NIS support
4964 if [ "$CFG_NIS" != "no" ]; then
4965 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
4968 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4969 echo "NIS support cannot be enabled due to functionality tests!"
4970 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4971 echo " If you believe this message is in error you may use the continue"
4972 echo " switch (-continue) to $0 to continue."
4980 # auto-detect CUPS support
4981 if [ "$CFG_CUPS" != "no" ]; then
4982 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
4985 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4986 echo "Cups support cannot be enabled due to functionality tests!"
4987 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4988 echo " If you believe this message is in error you may use the continue"
4989 echo " switch (-continue) to $0 to continue."
4997 # auto-detect iconv(3) support
4998 if [ "$CFG_ICONV" != "no" ]; then
4999 if [ "$PLATFORM_QWS" = "yes" -o "$XPLATFORM_MINGW" = "yes" ] || [ "$PLATFORM_QPA" = "yes" -a "$CFG_ICONV" = "auto" ]; then
5001 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
5003 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
5005 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
5008 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5009 echo "Iconv support cannot be enabled due to functionality tests!"
5010 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5011 echo " If you believe this message is in error you may use the continue"
5012 echo " switch (-continue) to $0 to continue."
5020 # auto-detect libdbus-1 support
5021 if [ "$CFG_DBUS" != "no" ]; then
5022 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
5023 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
5024 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
5026 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
5027 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
5028 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
5029 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
5031 if [ "$CFG_DBUS" = "auto" ]; then
5033 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5034 # CFG_DBUS is "yes" or "linked" here
5036 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
5037 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5038 echo " If you believe this message is in error you may use the continue"
5039 echo " switch (-continue) to $0 to continue."
5045 # X11/QWS/Lighthouse
5046 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
5048 # auto-detect Glib support
5049 if [ "$CFG_GLIB" != "no" ]; then
5050 if [ -n "$PKG_CONFIG" ]; then
5051 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
5052 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
5054 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
5056 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
5057 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
5059 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5060 echo "Glib support cannot be enabled due to functionality tests!"
5061 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5062 echo " If you believe this message is in error you may use the continue"
5063 echo " switch (-continue) to $0 to continue."
5072 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
5073 if [ -n "$PKG_CONFIG" ]; then
5074 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
5075 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
5077 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
5079 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
5080 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
5082 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5083 echo "Gstreamer support cannot be enabled due to functionality tests!"
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 elif [ "$CFG_GLIB" = "no" ]; then
5096 # auto-detect libicu support
5097 if [ "$CFG_ICU" != "no" ]; then
5098 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $l_FLAGS; then
5099 [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
5101 if [ "$CFG_ICU" = "auto" ]; then
5103 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5106 echo "The ICU library support cannot be enabled."
5107 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5108 echo " If you believe this message is in error you may use the continue"
5109 echo " switch (-continue) to $0 to continue."
5115 # Auto-detect PulseAudio support
5116 if [ "$CFG_PULSEAUDIO" != "no" ]; then
5117 if [ -n "$PKG_CONFIG" ]; then
5118 QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
5119 QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
5121 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
5123 QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
5124 QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
5126 if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5127 echo "PulseAudio support cannot be enabled due to functionality tests!"
5128 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5129 echo " If you believe this message is in error you may use the continue"
5130 echo " switch (-continue) to $0 to continue."
5137 fi # X11/QWS/Lighthouse
5140 if [ "$PLATFORM_X11" = "yes" -a "$CFG_GUI" != "no" ]; then
5141 x11tests="$relpath/config.tests/x11"
5144 # work around broken X11 headers when using GCC 2.95 or later
5146 "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE=yes
5147 if [ $NOTYPE = "yes" ]; then
5148 QMakeVar add QMAKE_CXXFLAGS -fpermissive
5149 X11TESTS_FLAGS="$X11TESTS_FLAGS -fpermissive"
5152 # Check we actually have X11 :-)
5153 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5154 if [ $? != "0" ]; then
5155 echo "Basic XLib functionality test failed!"
5156 echo " You might need to modify the include and library search paths by editing"
5157 echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
5163 if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
5164 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
5165 if [ "$CFG_GUI" = "no" ]; then
5166 if [ "$CFG_OPENGL" = "auto" ]; then
5169 if [ "$CFG_OPENGL" != "no" ]; then
5170 echo "OpenGL enabled, but GUI disabled."
5171 echo " You might need to either enable the GUI or disable OpenGL"
5175 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
5176 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
5178 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
5180 if [ "$CFG_EGL" = "no" ]; then
5184 if [ "$CFG_OPENGL" = "yes" ]; then
5185 echo "All the OpenGL functionality tests failed!"
5186 echo " You might need to modify the include and library search paths by editing"
5187 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5188 echo " ${XQMAKESPEC}."
5195 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
5196 if [ "$CFG_OPENGL" = "desktop" ]; then
5197 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5198 if [ $? != "0" ]; then
5199 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
5206 elif [ "$CFG_OPENGL" = "es2" ]; then
5208 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
5209 if [ $? != "0" ]; then
5210 echo "The OpenGL ES 2.0 functionality test failed!"
5211 echo " You might need to modify the include and library search paths by editing"
5212 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
5213 echo " ${XQMAKESPEC}."
5216 elif [ "$CFG_OPENGL" = "desktop" ]; then
5217 # Desktop OpenGL support
5218 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5219 if [ $? != "0" ]; then
5220 echo "The OpenGL functionality test failed!"
5221 echo " You might need to modify the include and library search paths by editing"
5222 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5223 echo " ${XQMAKESPEC}."
5228 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
5229 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5230 if [ $? != "0" ]; then
5231 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
5238 fi # X11/MINGW OpenGL
5241 if [ "$PLATFORM_X11" = "yes" ]; then
5242 # auto-detect Xcursor support
5243 if [ "$CFG_XCURSOR" != "no" ]; then
5244 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
5245 if [ "$CFG_XCURSOR" != "runtime" ]; then
5249 if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5250 echo "Xcursor support cannot be enabled due to functionality tests!"
5251 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5252 echo " If you believe this message is in error you may use the continue"
5253 echo " switch (-continue) to $0 to continue."
5261 # auto-detect Xfixes support
5262 if [ "$CFG_XFIXES" != "no" ]; then
5263 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xfixes "Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
5264 if [ "$CFG_XFIXES" != "runtime" ]; then
5268 if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5269 echo "Xfixes support cannot be enabled due to functionality tests!"
5270 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5271 echo " If you believe this message is in error you may use the continue"
5272 echo " switch (-continue) to $0 to continue."
5280 # auto-detect Xrandr support (resize and rotate extension)
5281 if [ "$CFG_XRANDR" != "no" ]; then
5282 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
5283 if [ "$CFG_XRANDR" != "runtime" ]; then
5287 if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5288 echo "Xrandr support cannot be enabled due to functionality tests!"
5289 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5290 echo " If you believe this message is in error you may use the continue"
5291 echo " switch (-continue) to $0 to continue."
5299 # auto-detect Xrender support
5300 if [ "$CFG_XRENDER" != "no" ]; then
5301 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
5304 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5305 echo "Xrender support cannot be enabled due to functionality tests!"
5306 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5307 echo " If you believe this message is in error you may use the continue"
5308 echo " switch (-continue) to $0 to continue."
5316 # auto-detect MIT-SHM support
5317 if [ "$CFG_MITSHM" != "no" ]; then
5318 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
5321 if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5322 echo "MITSHM support cannot be enabled due to functionality tests!"
5323 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5324 echo " If you believe this message is in error you may use the continue"
5325 echo " switch (-continue) to $0 to continue."
5333 # auto-detect FontConfig support
5334 if [ "$CFG_FONTCONFIG" != "no" ]; then
5335 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
5336 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
5337 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
5339 QT_CFLAGS_FONTCONFIG=
5340 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5342 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
5344 QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
5345 QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
5346 CFG_LIBFREETYPE=system
5348 if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5349 echo "FontConfig support cannot be enabled due to functionality tests!"
5350 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5351 echo " If you believe this message is in error you may use the continue"
5352 echo " switch (-continue) to $0 to continue."
5360 # auto-detect Session Management support
5361 if [ "$CFG_SM" = "auto" ]; then
5362 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
5365 if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5366 echo "Session Management support cannot be enabled due to functionality tests!"
5367 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5368 echo " If you believe this message is in error you may use the continue"
5369 echo " switch (-continue) to $0 to continue."
5377 # auto-detect SHAPE support
5378 if [ "$CFG_XSHAPE" != "no" ]; then
5379 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
5382 if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5383 echo "XShape support cannot be enabled due to functionality tests!"
5384 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5385 echo " If you believe this message is in error you may use the continue"
5386 echo " switch (-continue) to $0 to continue."
5394 # auto-detect XVideo support
5395 if [ "$CFG_XVIDEO" != "no" ]; then
5396 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
5399 if [ "$CFG_XVIDEO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5400 echo "XVideo support cannot be enabled due to functionality tests!"
5401 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5402 echo " If you believe this message is in error you may use the continue"
5403 echo " switch (-continue) to $0 to continue."
5411 # auto-detect XSync support
5412 if [ "$CFG_XSYNC" != "no" ]; then
5413 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
5416 if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5417 echo "XSync support cannot be enabled due to functionality tests!"
5418 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5419 echo " If you believe this message is in error you may use the continue"
5420 echo " switch (-continue) to $0 to continue."
5428 # auto-detect Xinerama support
5429 if [ "$CFG_XINERAMA" != "no" ]; then
5430 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
5431 if [ "$CFG_XINERAMA" != "runtime" ]; then
5435 if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5436 echo "Xinerama support cannot be enabled due to functionality tests!"
5437 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5438 echo " If you believe this message is in error you may use the continue"
5439 echo " switch (-continue) to $0 to continue."
5447 # auto-detect Xinput support
5448 if [ "$CFG_XINPUT" != "no" ]; then
5449 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
5450 if [ "$CFG_XINPUT" != "runtime" ]; then
5454 if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5455 echo "Tablet and Xinput support cannot be enabled due to functionality tests!"
5456 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5457 echo " If you believe this message is in error you may use the continue"
5458 echo " switch (-continue) to $0 to continue."
5466 # auto-detect XKB support
5467 if [ "$CFG_XKB" != "no" ]; then
5468 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
5471 if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5472 echo "XKB support cannot be enabled due to functionality tests!"
5473 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5474 echo " If you believe this message is in error you may use the continue"
5475 echo " switch (-continue) to $0 to continue."
5483 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
5484 if [ -n "$PKG_CONFIG" ]; then
5485 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
5486 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
5488 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
5490 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
5491 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
5493 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5494 echo "Gtk theme support cannot be enabled due to functionality tests!"
5495 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5496 echo " If you believe this message is in error you may use the continue"
5497 echo " switch (-continue) to $0 to continue."
5503 elif [ "$CFG_GLIB" = "no" ]; then
5509 if [ "$BUILD_ON_MAC" = "yes" ]; then
5510 if [ "$CFG_PHONON" != "no" ]; then
5511 # Always enable Phonon (unless it was explicitly disabled)
5515 if [ "$CFG_COREWLAN" = "auto" ]; then
5516 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
5525 if [ "$PLATFORM_QPA" = "yes" ]; then
5526 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
5527 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
5528 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
5530 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
5533 if [ "$CFG_OPENGL" = "yes" ]; then
5534 echo "All the OpenGL functionality tests failed!"
5535 echo " You might need to modify the include and library search paths by editing"
5536 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5537 echo " ${XQMAKESPEC}."
5542 elif [ "$CFG_OPENGL" = "es2" ]; then
5544 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
5545 QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
5546 QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
5547 QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
5548 QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
5549 QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
5550 QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2"
5551 QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2"
5554 "$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
5555 if [ $? != "0" ]; then
5556 echo "The OpenGL ES 2.0 functionality test failed!"
5557 echo " You might need to modify the include and library search paths by editing"
5558 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
5559 echo " ${XQMAKESPEC}."
5562 elif [ "$CFG_OPENGL" = "desktop" ]; then
5563 # Desktop OpenGL support
5564 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5565 if [ $? != "0" ]; then
5566 echo "The OpenGL functionality test failed!"
5567 echo " You might need to modify the include and library search paths by editing"
5568 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5569 echo " ${XQMAKESPEC}."
5574 # auto-detect FontConfig support
5575 if [ "$CFG_FONTCONFIG" != "no" ]; then
5576 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
5577 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
5578 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
5580 QT_CFLAGS_FONTCONFIG=
5581 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5583 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
5584 QT_CONFIG="$QT_CONFIG fontconfig"
5585 QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
5586 QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
5587 CFG_LIBFREETYPE=system
5592 # Save these for a check later
5593 ORIG_CFG_WAYLAND="$CFG_WAYLAND"
5594 ORIG_CFG_XCB="$CFG_XCB"
5596 if [ "$CFG_WAYLAND" != "no" ]; then
5597 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists wayland-client 2>/dev/null; then
5598 QMAKE_CFLAGS_WAYLAND=`$PKG_CONFIG --cflags wayland-client 2>/dev/null`
5599 QMAKE_LIBS_WAYLAND=`$PKG_CONFIG --libs wayland-client 2>/dev/null`
5600 QMAKE_INCDIR_WAYLAND=`$PKG_CONFIG --cflags-only-I wayland-client 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
5601 QMAKE_LIBDIR_WAYLAND=`$PKG_CONFIG --libs-only-L wayland-client 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
5603 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
5605 QT_CONFIG="$QT_CONFIG wayland"
5606 elif [ "$CFG_WAYLAND" = "yes" ]; then
5607 echo "The Wayland functionality test failed!"
5611 QMakeVar add DEFINES QT_NO_WAYLAND
5615 if [ "$CFG_LIBUDEV" != "no" ]; then
5616 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libudev "libudev" $L_FLAGS $I_FLAGS $l_FLAGS; then
5618 QT_CONFIG="$QT_CONFIG libudev"
5619 elif [ "$CFG_LIBUDEV" = "yes" ]; then
5620 echo "The libudev functionality test failed!"
5624 QMakeVar add DEFINES QT_NO_LIBUDEV
5628 if [ "$CFG_EVDEV" != "no" ]; then
5629 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/evdev "evdev" $L_FLAGS $I_FLAGS $l_FLAGS; then
5631 QT_CONFIG="$QT_CONFIG evdev"
5632 elif [ "$CFG_EVDEV" = "yes" ]; then
5633 echo "The evdev functionality test failed!"
5637 QMakeVar add DEFINES QT_NO_EVDEV
5641 # Check we actually have X11 :-)
5642 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
5643 QT_CONFIG="$QT_CONFIG xlib"
5646 # auto-detect Xrender support
5647 if [ "$CFG_XRENDER" != "no" ]; then
5648 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
5650 QT_CONFIG="$QT_CONFIG xrender"
5652 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5653 echo "Xrender support cannot be enabled due to functionality tests!"
5654 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5655 echo " If you believe this message is in error you may use the continue"
5656 echo " switch (-continue) to $0 to continue."
5664 if [ "$CFG_XCB" != "no" ]; then
5665 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xcb 2>/dev/null; then
5666 QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`"
5667 QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`"
5669 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb "xcb" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
5671 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-render "xcb-render" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
5672 QT_CONFIG="$QT_CONFIG xcb-render"
5675 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-poll-for-queued-event "xcb-poll-for-queued-event" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
5677 QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
5680 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-xlib "xcb-xlib" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
5681 QT_CONFIG="$QT_CONFIG xcb-xlib"
5684 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
5685 # auto-detect XInput2/Xinput support
5686 if [ "$CFG_XINPUT2" != "no" ]; then
5687 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
5691 if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5692 echo "XInput2 support cannot be enabled due to functionality tests!"
5693 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5694 echo " If you believe this message is in error you may use the continue"
5695 echo " switch (-continue) to $0 to continue."
5704 if [ "$CFG_XCB" = "yes" ]; then
5705 echo "The XCB test failed!"
5706 echo " You might need to install dependency packages."
5707 echo " See src/plugins/platforms/xcb/README."
5711 QMakeVar add DEFINES QT_NO_XCB
5715 # Detect libxkbcommon
5716 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
5717 QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
5718 QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
5719 if [ "$CFG_WAYLAND" = "yes" ]; then
5720 QMAKE_CFLAGS_WAYLAND="$QMAKE_CFLAGS_WAYLAND $QMAKE_CFLAGS_XKBCOMMON"
5721 QMAKE_LIBS_WAYLAND="$QMAKE_LIBS_WAYLAND $QMAKE_LIBS_XKBCOMMON"
5723 QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
5724 QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
5726 if [ "$CFG_WAYLAND" = "yes" ]; then
5727 QMAKE_DEFINES_WAYLAND=QT_NO_WAYLAND_XKB
5729 QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
5732 # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
5733 if [ -n "$QMAKE_CFLAGS_WAYLAND" ] || [ -n "$QMAKE_LIBS_WAYLAND" ]; then
5734 QMakeVar set QMAKE_CFLAGS_WAYLAND "$QMAKE_CFLAGS_WAYLAND"
5735 QMakeVar set QMAKE_INCDIR_WAYLAND "$QMAKE_INCDIR_WAYLAND"
5736 QMakeVar set QMAKE_LIBS_WAYLAND "$QMAKE_LIBS_WAYLAND"
5737 QMakeVar set QMAKE_LIBDIR_WAYLAND "$QMAKE_LIBDIR_WAYLAND"
5738 QMakeVar set QMAKE_DEFINES_WAYLAND " $QMAKE_DEFINES_WAYLAND"
5741 if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
5742 QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
5743 QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
5744 QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
5747 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
5748 QT_CONFIG="$QT_CONFIG coreservices"
5750 QMakeVar add DEFINES QT_NO_CORESERVICES
5753 if [ "$PLATFORM_QPA" = "yes" ] && [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ]; then
5754 if [ "$CFG_XCB" = "no" ] && [ "$CFG_WAYLAND" = "no" ]; then
5755 if [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_WAYLAND" = "auto" ]; then
5756 echo "No QPA platform plugin enabled!"
5757 echo " If you really want to build without a QPA platform plugin you must pass"
5758 echo " -no-xcb and -no-wayland to configure. Doing this will produce a Qt that"
5759 echo " cannot run GUI applications."
5769 if [ "$PLATFORM_QWS" = "yes" ]; then
5771 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
5772 if [ "$CFG_GUI" = "no" ]; then
5773 if [ "$CFG_OPENGL" = "auto" ]; then
5776 if [ "$CFG_OPENGL" != "no" ]; then
5777 echo "OpenGL enabled, but GUI disabled."
5778 echo " You might need to either enable the GUI or disable OpenGL"
5782 if [ "$CFG_OPENGL" = "yes" ]; then
5784 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
5787 elif [ "$CFG_OPENGL" = "es2" ]; then
5789 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
5790 if [ $? != "0" ]; then
5791 echo "The OpenGL ES 2.0 functionality test failed!"
5792 echo " You might need to modify the include and library search paths by editing"
5793 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5794 echo " ${XQMAKESPEC}."
5798 elif [ "$CFG_OPENGL" = "desktop" ]; then
5799 # Desktop OpenGL support
5800 echo "Desktop OpenGL support is not avaliable on Qt for Embedded Linux"
5805 if [ "$PLATFORM_QWS" = "yes" ]; then
5808 for screen in ${CFG_GFX_ON} ${CFG_GFX_PLUGIN}; do
5809 if [ "${screen}" = "ahi" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5810 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/ahi "Ahi" $L_FLAGS $I_FLAGS $l_FLAGS
5811 if [ $? != "0" ]; then
5812 echo "The Ahi screen driver functionality test failed!"
5813 echo " You might need to modify the include and library search paths by editing"
5814 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5815 echo " ${XQMAKESPEC}."
5820 if [ "${screen}" = "svgalib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5821 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/svgalib "SVGAlib" $L_FLAGS $I_FLAGS $l_FLAGS
5822 if [ $? != "0" ]; then
5823 echo "The SVGAlib screen driver functionality test failed!"
5824 echo " You might need to modify the include and library search paths by editing"
5825 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5826 echo " ${XQMAKESPEC}."
5831 if [ "${screen}" = "directfb" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5832 if test -n "$PKG_CONFIG" && "$PKG_CONFIG" --exists directfb 2>/dev/null; then
5833 QT_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
5834 QT_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
5835 elif directfb-config --version >/dev/null 2>&1; then
5836 QT_CFLAGS_DIRECTFB=`directfb-config --cflags 2>/dev/null`
5837 QT_LIBS_DIRECTFB=`directfb-config --libs 2>/dev/null`
5840 # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
5841 if [ -n "$QT_CFLAGS_DIRECTFB" ] || [ -n "$QT_LIBS_DIRECTFB" ]; then
5842 QMakeVar set QT_CFLAGS_DIRECTFB "$QT_CFLAGS_DIRECTFB"
5843 QMakeVar set QT_LIBS_DIRECTFB "$QT_LIBS_DIRECTFB"
5846 "$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
5847 if [ $? != "0" ]; then
5848 echo "The DirectFB screen driver functionality test failed!"
5849 echo " You might need to modify the include and library search paths by editing"
5850 echo " QT_CFLAGS_DIRECTFB and QT_LIBS_DIRECTFB in"
5851 echo " ${XQMAKESPEC}."
5859 for mouse in ${CFG_MOUSE_ON} ${CFG_MOUSE_PLUGIN}; do
5860 if [ "${mouse}" = "tslib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5861 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tslib "tslib" $L_FLAGS $I_FLAGS $l_FLAGS
5862 if [ $? != "0" ]; then
5863 echo "The tslib functionality test failed!"
5864 echo " You might need to modify the include and library search paths by editing"
5865 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5866 echo " ${XQMAKESPEC}."
5875 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/sound "sound" $L_FLAGS $I_FLAGS $l_FLAGS
5876 if [ $? != "0" ]; then
5877 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SOUND"
5884 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
5885 if [ "$CFG_EGL" != "no" ]; then
5886 # detect EGL support
5887 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
5888 # EGL specified by QMAKE_*_EGL, included with <EGL/egl.h>
5893 if [ "$EGL_VARIANT" = "none" ]; then
5894 if [ "$CFG_EGL" = "yes" ]; then
5895 echo "The EGL functionality test failed!"
5896 echo " EGL is required for OpenGL ES to manage contexts & surfaces."
5897 echo " You might need to modify the include and library search paths by editing"
5898 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in"
5899 echo " ${XQMAKESPEC}."
5903 # If QtOpenGL would be built against OpenGL ES, disable it as we can't to that if EGL is missing
5904 if [ "$CFG_OPENGL" = "es2" ]; then
5911 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
5914 [ "x$CFG_EMBEDDED" != "xno" ] && CFG_LIBFREETYPE="$CFG_QWS_FREETYPE"
5915 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
5916 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
5917 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
5918 CFG_LIBFREETYPE=system
5924 if [ "$CFG_ENDIAN" = "auto" ]; then
5925 if [ "$XPLATFORM_MINGW" = "yes" ]; then
5926 CFG_ENDIAN="Q_LITTLE_ENDIAN"
5928 "$unixtests/endian.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "QMAKE_LFLAGS+=$SYSROOT_FLAG"
5930 if [ "$F" -eq 0 ]; then
5931 CFG_ENDIAN="Q_LITTLE_ENDIAN"
5932 elif [ "$F" -eq 1 ]; then
5933 CFG_ENDIAN="Q_BIG_ENDIAN"
5936 echo "The target system byte order could not be detected!"
5937 echo "Turn on verbose messaging (-v) to see the final report."
5938 echo "You can use the -little-endian or -big-endian switch to"
5939 echo "$0 to continue."
5945 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
5946 if [ "$BUILD_ON_MAC" = "yes" ]; then
5949 "$unixtests/endian.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5951 if [ "$F" -eq 0 ]; then
5952 CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
5953 elif [ "$F" -eq 1 ]; then
5954 CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
5957 echo "The host system byte order could not be detected!"
5958 echo "Turn on verbose messaging (-v) to see the final report."
5959 echo "You can use the -host-little-endian or -host-big-endian switch to"
5960 echo "$0 to continue."
5966 if [ "$CFG_ARMFPA" != "auto" ]; then
5967 if [ "$CFG_ARMFPA" = "yes" ]; then
5968 if [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5969 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
5971 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
5974 CFG_DOUBLEFORMAT="normal"
5979 if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then
5980 if [ "$PLATFORM_QWS" != "yes" -o "$PLATFORM_QPA" = "yes" ]; then
5981 CFG_DOUBLEFORMAT=normal
5983 "$unixtests/doubleformat.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5985 if [ "$F" -eq 10 ] && [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5986 CFG_DOUBLEFORMAT=normal
5987 elif [ "$F" -eq 11 ] && [ "$CFG_ENDIAN" = "Q_BIG_ENDIAN" ]; then
5988 CFG_DOUBLEFORMAT=normal
5989 elif [ "$F" -eq 10 ]; then
5990 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE"
5991 elif [ "$F" -eq 11 ]; then
5992 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG"
5993 elif [ "$F" -eq 12 ]; then
5994 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
5996 elif [ "$F" -eq 13 ]; then
5997 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
6001 echo "The system floating point format could not be detected."
6002 echo "This may cause data to be generated in a wrong format"
6003 echo "Turn on verbose messaging (-v) to see the final report."
6004 # we do not fail on this since this is a new test, and if it fails,
6005 # the old behavior should be correct in most cases
6006 CFG_DOUBLEFORMAT=normal
6012 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
6016 if [ "$CFG_STL" != "no" ]; then
6017 if [ "$HAVE_STL" = "yes" ]; then
6020 if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6021 echo "STL support cannot be enabled due to functionality tests!"
6022 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6023 echo " If you believe this message is in error you may use the continue"
6024 echo " switch (-continue) to $0 to continue."
6032 # detect POSIX clock_gettime()
6033 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
6034 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
6035 CFG_CLOCK_GETTIME=yes
6037 CFG_CLOCK_GETTIME=no
6041 # detect POSIX monotonic clocks
6042 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
6043 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
6044 CFG_CLOCK_MONOTONIC=yes
6046 CFG_CLOCK_MONOTONIC=no
6048 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
6049 CFG_CLOCK_MONOTONIC=no
6053 if [ "$CFG_MREMAP" = "auto" ]; then
6054 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
6061 # find if the platform provides getaddrinfo (ipv6 dns lookups)
6062 if [ "$CFG_GETADDRINFO" != "no" ]; then
6063 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
6066 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6067 echo "getaddrinfo support cannot be enabled due to functionality tests!"
6068 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6069 echo " If you believe this message is in error you may use the continue"
6070 echo " switch (-continue) to $0 to continue."
6078 # find if the platform provides inotify
6079 if [ "$CFG_INOTIFY" != "no" ]; then
6080 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
6083 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6084 echo "inotify support cannot be enabled due to functionality tests!"
6085 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6086 echo " If you believe this message is in error you may use the continue"
6087 echo " switch (-continue) to $0 to continue."
6095 # find if the platform provides if_nametoindex (ipv6 interface name support)
6096 if [ "$CFG_IPV6IFNAME" != "no" ]; then
6097 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
6100 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6101 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
6102 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6103 echo " If you believe this message is in error you may use the continue"
6104 echo " switch (-continue) to $0 to continue."
6112 # find if the platform provides getifaddrs (network interface enumeration)
6113 if [ "$CFG_GETIFADDRS" != "no" ]; then
6114 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
6117 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6118 echo "getifaddrs support cannot be enabled due to functionality tests!"
6119 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6120 echo " If you believe this message is in error you may use the continue"
6121 echo " switch (-continue) to $0 to continue."
6130 if [ "$CFG_OPENSSL" != "no" ]; then
6131 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
6132 if [ "$CFG_OPENSSL" = "auto" ]; then
6136 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6137 echo "OpenSSL support cannot be enabled due to functionality tests!"
6138 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6139 echo " If you believe this message is in error you may use the continue"
6140 echo " switch (-continue) to $0 to continue."
6149 if [ "$CFG_PCRE" != "qt" ]; then
6150 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pcre "PCRE" $L_FLAGS $I_FLAGS $l_FLAGS; then
6153 if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6154 echo "PCRE support cannot be enabled due to functionality tests!"
6155 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6156 echo " If you believe this message is in error you may use the continue"
6157 echo " switch (-continue) to $0 to continue."
6165 # detect OpenVG support
6166 if [ "$CFG_OPENVG" != "no" ]; then
6167 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
6168 if [ "$CFG_OPENVG" = "auto" ]; then
6171 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
6172 if [ "$CFG_OPENVG" = "auto" ]; then
6175 CFG_OPENVG_ON_OPENGL=yes
6176 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
6177 if [ "$CFG_OPENVG" = "auto" ]; then
6180 CFG_OPENVG_LC_INCLUDES=yes
6181 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
6182 if [ "$CFG_OPENVG" = "auto" ]; then
6185 CFG_OPENVG_LC_INCLUDES=yes
6186 CFG_OPENVG_ON_OPENGL=yes
6188 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
6189 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
6190 echo " Turn on verbose messaging (-v) to $0 to see the final report."
6191 echo " If you believe this message is in error you may use the continue"
6192 echo " switch (-continue) to $0 to continue."
6198 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
6199 CFG_OPENVG_SHIVA=yes
6203 if [ "$CFG_ALSA" = "auto" ]; then
6204 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
6211 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
6212 if [ "$CFG_ARCH" = "arm" ]; then
6213 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
6214 if [ $? != "0" ]; then
6215 CFG_JAVASCRIPTCORE_JIT=no
6218 case "$XPLATFORM" in
6220 CFG_JAVASCRIPTCORE_JIT=no
6226 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
6227 QMakeVar set JAVASCRIPTCORE_JIT yes
6228 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
6229 QMakeVar set JAVASCRIPTCORE_JIT no
6232 if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
6233 CFG_AUDIO_BACKEND=yes
6236 if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
6237 echo "Warning: largefile support cannot be disabled for win32."
6241 #-------------------------------------------------------------------------------
6242 # ask for all that hasn't been auto-detected or specified in the arguments
6243 #-------------------------------------------------------------------------------
6245 ### fix this: user input should be validated in a loop
6246 if [ "$PLATFORM_QWS" = "yes" ]; then
6247 PROMPT_FOR_DEPTHS="yes"
6249 PROMPT_FOR_DEPTHS="no"
6251 if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PROMPT_FOR_DEPTHS" = "yes" ]; then
6253 echo "Choose pixel-depths to support:"
6255 echo " 1. 1bpp, black/white"
6256 echo " 4. 4bpp, grayscale"
6257 echo " 8. 8bpp, paletted"
6258 echo " 12. 12bpp, rgb 4-4-4"
6259 echo " 15. 15bpp, rgb 5-5-5"
6260 echo " 16. 16bpp, rgb 5-6-5"
6261 echo " 18. 18bpp, rgb 6-6-6"
6262 echo " 24. 24bpp, rgb 8-8-8"
6263 echo " 32. 32bpp, argb 8-8-8-8 and rgb 8-8-8"
6264 echo " all. All supported depths"
6266 echo "Your choices (default 8,16,32):"
6268 if [ -z "$CFG_QWS_DEPTHS" ] || [ "$CFG_QWS_DEPTHS" = "yes" ]; then
6269 CFG_QWS_DEPTHS=8,16,32
6272 if [ -n "$CFG_QWS_DEPTHS" -a "$PLATFORM_QWS" = "yes" ]; then
6273 if [ "$CFG_QWS_DEPTHS" = "all" ]; then
6274 CFG_QWS_DEPTHS="1 4 8 12 15 16 18 24 32 generic"
6276 for D in `echo "$CFG_QWS_DEPTHS" | sed -e 's/,/ /g'`; do
6278 1|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
6279 generic) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_GENERIC";;
6284 # enable dwarf2 support on Mac
6285 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
6286 QT_CONFIG="$QT_CONFIG dwarf2"
6289 # Set the default Mac OS X arch if there are no "-arch" arguments on the configure line
6290 if [ "$BUILD_ON_MAC" = "yes" ]; then
6291 DEFAULT_ARCH="$CFG_MAC_ARCHS"
6292 if [ -z "$DEFAULT_ARCH" ]; then
6293 case `file "${outpath}/bin/qmake"` in
6301 # unsupported/unknown
6305 if [ -n "$DEFAULT_ARCH" ]; then
6306 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting default Mac OS X architechture to $DEFAULT_ARCH."
6307 QT_CONFIG="$QT_CONFIG $DEFAULT_ARCH"
6308 QMAKE_CONFIG="$QMAKE_CONFIG $DEFAULT_ARCH"
6309 # Make the application arch follow the Qt arch for single arch builds.
6310 # (for multiple-arch builds, set CONFIG manually in the application .pro file)
6311 [ `echo "$DEFAULT_ARCH" | wc -w` -eq 1 ] && QTCONFIG_CONFIG="$QTCONFIG_CONFIG $DEFAULT_ARCH"
6316 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
6317 QT_CONFIG="$QT_CONFIG phonon-backend"
6320 # disable accessibility
6321 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
6322 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
6324 QT_CONFIG="$QT_CONFIG accessibility"
6327 # egl stuff does not belong in lighthouse, but rather in plugins
6328 if [ "$PLATFORM_QPA" = "yes" ]; then
6333 if [ "$CFG_EGL" = "no" ]; then
6334 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
6336 QT_CONFIG="$QT_CONFIG egl"
6337 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
6338 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GLES_EGL"
6343 if [ "$CFG_OPENVG" = "no" ]; then
6344 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
6346 QT_CONFIG="$QT_CONFIG openvg"
6347 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
6348 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
6350 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
6351 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
6353 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
6354 QT_CONFIG="$QT_CONFIG shivavg"
6355 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
6360 if [ "$CFG_OPENGL" = "no" ]; then
6361 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
6363 QT_CONFIG="$QT_CONFIG opengl"
6366 if [ "$CFG_OPENGL" = "es2" ]; then
6367 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
6370 if [ "$CFG_OPENGL" = "es2" ]; then
6371 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
6372 QT_CONFIG="$QT_CONFIG opengles2"
6375 # safe execution environment
6376 if [ "$CFG_SXE" != "no" ]; then
6377 QT_CONFIG="$QT_CONFIG sxe"
6380 # build up the variables for output
6381 if [ "$CFG_DEBUG" = "yes" ]; then
6382 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
6383 QMAKE_CONFIG="$QMAKE_CONFIG debug"
6384 elif [ "$CFG_DEBUG" = "no" ]; then
6385 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
6386 QMAKE_CONFIG="$QMAKE_CONFIG release"
6388 if [ "$CFG_SHARED" = "yes" ]; then
6389 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
6390 QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
6391 elif [ "$CFG_SHARED" = "no" ]; then
6392 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
6393 QMAKE_CONFIG="$QMAKE_CONFIG static"
6395 if [ "$PLATFORM_QWS" = "yes" ]; then
6396 QMAKE_OUTDIR="${QMAKE_OUTDIR}-emb-$CFG_EMBEDDED"
6397 QMAKE_CONFIG="$QMAKE_CONFIG embedded"
6398 QT_CONFIG="$QT_CONFIG embedded"
6399 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
6401 if [ "$PLATFORM_QPA" = "yes" ]; then
6402 QMAKE_CONFIG="$QMAKE_CONFIG qpa"
6403 QT_CONFIG="$QT_CONFIG qpa"
6404 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
6405 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
6408 if [ "$XPLATFORM_MINGW" != "yes" ]; then
6409 # Do not set this here for Windows. Let qmake do it so
6410 # debug and release precompiled headers are kept separate.
6411 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
6413 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
6414 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
6415 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
6416 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
6417 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
6418 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
6420 if [ "$CFG_STL" = "no" ]; then
6421 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STL"
6423 QMAKE_CONFIG="$QMAKE_CONFIG stl"
6425 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
6426 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
6428 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
6429 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
6430 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
6431 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
6432 QMakeVar add QMAKE_CFLAGS -g
6433 QMakeVar add QMAKE_CXXFLAGS -g
6434 QT_CONFIG="$QT_CONFIG separate_debug_info"
6436 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
6437 QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
6439 [ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mmx"
6440 [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow"
6441 [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse"
6442 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
6443 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
6444 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
6445 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
6446 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
6447 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
6448 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
6449 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
6450 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
6451 QT_CONFIG="$QT_CONFIG clock-gettime"
6453 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
6454 QT_CONFIG="$QT_CONFIG clock-monotonic"
6456 if [ "$CFG_MREMAP" = "yes" ]; then
6457 QT_CONFIG="$QT_CONFIG mremap"
6459 if [ "$CFG_GETADDRINFO" = "yes" ]; then
6460 QT_CONFIG="$QT_CONFIG getaddrinfo"
6462 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
6463 QT_CONFIG="$QT_CONFIG ipv6ifname"
6465 if [ "$CFG_GETIFADDRS" = "yes" ]; then
6466 QT_CONFIG="$QT_CONFIG getifaddrs"
6468 if [ "$CFG_INOTIFY" = "yes" ]; then
6469 QT_CONFIG="$QT_CONFIG inotify"
6471 if [ "$CFG_LIBJPEG" = "no" ]; then
6473 elif [ "$CFG_LIBJPEG" = "system" ]; then
6474 QT_CONFIG="$QT_CONFIG system-jpeg"
6476 if [ "$CFG_JPEG" = "no" ]; then
6477 QT_CONFIG="$QT_CONFIG no-jpeg"
6478 elif [ "$CFG_JPEG" = "yes" ]; then
6479 QT_CONFIG="$QT_CONFIG jpeg"
6481 if [ "$CFG_LIBPNG" = "no" ]; then
6484 if [ "$CFG_LIBPNG" = "system" ]; then
6485 QT_CONFIG="$QT_CONFIG system-png"
6487 if [ "$CFG_PNG" = "no" ]; then
6488 QT_CONFIG="$QT_CONFIG no-png"
6489 elif [ "$CFG_PNG" = "yes" ]; then
6490 QT_CONFIG="$QT_CONFIG png"
6492 if [ "$CFG_GIF" = "no" ]; then
6493 QT_CONFIG="$QT_CONFIG no-gif"
6494 elif [ "$CFG_GIF" = "yes" ]; then
6495 QT_CONFIG="$QT_CONFIG gif"
6497 if [ "$CFG_LIBFREETYPE" = "no" ]; then
6498 QT_CONFIG="$QT_CONFIG no-freetype"
6499 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
6500 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
6501 QT_CONFIG="$QT_CONFIG system-freetype"
6503 QT_CONFIG="$QT_CONFIG freetype"
6505 if [ "$CFG_GUI" = "auto" ]; then
6508 if [ "$CFG_GUI" = "no" ]; then
6509 QT_CONFIG="$QT_CONFIG no-gui"
6511 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GUI"
6515 if [ "x$BUILD_ON_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
6516 #On Mac we implicitly link against libz, so we
6517 #never use the 3rdparty stuff.
6518 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
6520 if [ "$CFG_ZLIB" = "yes" ]; then
6521 QT_CONFIG="$QT_CONFIG zlib"
6522 elif [ "$CFG_ZLIB" = "system" ]; then
6523 QT_CONFIG="$QT_CONFIG system-zlib"
6526 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
6527 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
6528 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
6529 [ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
6530 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
6531 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
6532 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
6533 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
6534 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
6535 [ "$CFG_NAS" = "system" ] && QT_CONFIG="$QT_CONFIG nas"
6536 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
6537 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
6538 [ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
6539 [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
6540 [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
6542 if [ "$PLATFORM_X11" = "yes" ]; then
6543 [ "$CFG_SM" = "yes" ] && QT_CONFIG="$QT_CONFIG x11sm"
6545 # for some reason, the following libraries are not always built shared,
6546 # so *every* program/lib (including Qt) has to link against them
6547 if [ "$CFG_XSHAPE" = "yes" ]; then
6548 QT_CONFIG="$QT_CONFIG xshape"
6550 if [ "$CFG_XVIDEO" = "yes" ]; then
6551 QT_CONFIG="$QT_CONFIG xvideo"
6553 if [ "$CFG_XSYNC" = "yes" ]; then
6554 QT_CONFIG="$QT_CONFIG xsync"
6556 if [ "$CFG_XINERAMA" = "yes" ]; then
6557 QT_CONFIG="$QT_CONFIG xinerama"
6558 QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11'
6560 if [ "$CFG_XCURSOR" = "yes" ]; then
6561 QT_CONFIG="$QT_CONFIG xcursor"
6562 QMakeVar set QMAKE_LIBS_X11 '-lXcursor $$QMAKE_LIBS_X11'
6564 if [ "$CFG_XFIXES" = "yes" ]; then
6565 QT_CONFIG="$QT_CONFIG xfixes"
6566 QMakeVar set QMAKE_LIBS_X11 '-lXfixes $$QMAKE_LIBS_X11'
6568 if [ "$CFG_XRANDR" = "yes" ]; then
6569 QT_CONFIG="$QT_CONFIG xrandr"
6570 if [ "$CFG_XRENDER" != "yes" ]; then
6571 # libXrandr uses 1 function from libXrender, so we always have to have it :/
6572 QMakeVar set QMAKE_LIBS_X11 '-lXrandr -lXrender $$QMAKE_LIBS_X11'
6574 QMakeVar set QMAKE_LIBS_X11 '-lXrandr $$QMAKE_LIBS_X11'
6577 if [ "$CFG_XRENDER" = "yes" ]; then
6578 QT_CONFIG="$QT_CONFIG xrender"
6579 QMakeVar set QMAKE_LIBS_X11 '-lXrender $$QMAKE_LIBS_X11'
6581 if [ "$CFG_MITSHM" = "yes" ]; then
6582 QT_CONFIG="$QT_CONFIG mitshm"
6584 if [ "$CFG_FONTCONFIG" = "yes" ]; then
6585 QT_CONFIG="$QT_CONFIG fontconfig"
6587 if [ "$CFG_XINPUT" = "yes" ]; then
6588 QMakeVar set QMAKE_LIBS_X11 '-lXi $$QMAKE_LIBS_X11'
6590 if [ "$CFG_XINPUT" = "yes" ]; then
6591 QT_CONFIG="$QT_CONFIG xinput tablet"
6593 if [ "$CFG_XKB" = "yes" ]; then
6594 QT_CONFIG="$QT_CONFIG xkb"
6598 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS"
6599 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
6600 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
6602 if [ "$PLATFORM_MAC" = "yes" ]; then
6603 if [ "$CFG_RPATH" = "yes" ]; then
6604 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
6606 elif [ -z "`getXQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
6607 if [ -n "$RPATH_FLAGS" ]; then
6609 echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
6613 elif [ "$CFG_RPATH" = "yes" ]; then
6614 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
6618 if [ "$CFG_RPATH" = "yes" ]; then
6619 # set the default rpath to the library installation directory
6620 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
6622 if [ -n "$RPATH_FLAGS" ]; then
6623 # add the user defined rpaths
6624 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
6628 if [ '!' -z "$I_FLAGS" ]; then
6629 # add the user define include paths
6630 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
6631 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
6634 if [ '!' -z "$W_FLAGS" ]; then
6635 # add the user defined warning flags
6636 QMakeVar add QMAKE_CFLAGS_WARN_ON "$W_FLAGS"
6637 QMakeVar add QMAKE_CXXFLAGS_WARN_ON "$W_FLAGS"
6638 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS"
6641 # turn off exceptions for the compilers that support it
6642 if [ "$PLATFORM_QWS" = "yes" ]; then
6643 COMPILER=`echo $XPLATFORM | cut -f 3- -d-`
6644 elif [ "$XPLATFORM" != "$PLATFORM" ]; then
6645 COMPILER=`echo $XPLATFORM | cut -f 2- -d-`
6647 COMPILER=`echo $PLATFORM | cut -f 2- -d-`
6649 if [ "$CFG_EXCEPTIONS" = "unspecified" -a "$PLATFORM_QWS" = "yes" ]; then
6653 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6654 QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
6657 if [ "$XPLATFORM_MINGW" = "yes" ]; then
6658 # mkspecs/features/win32/default_pre.prf sets "no-rtti".
6659 # Follow default behavior of configure.exe by overriding with "rtti".
6660 QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
6663 if [ "$CFG_ALSA" = "yes" ]; then
6664 QT_CONFIG="$QT_CONFIG alsa"
6667 if [ "$CFG_PULSEAUDIO" = "yes" ]; then
6668 QT_CONFIG="$QT_CONFIG pulseaudio"
6671 if [ "$CFG_COREWLAN" = "yes" ]; then
6672 QT_CONFIG="$QT_CONFIG corewlan"
6675 if [ "$CFG_ICU" = "yes" ]; then
6676 QT_CONFIG="$QT_CONFIG icu"
6679 if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
6680 QT_CONFIG="$QT_CONFIG force_asserts"
6683 if [ "$CFG_PCRE" = "qt" ]; then
6684 QMAKE_CONFIG="$QMAKE_CONFIG pcre"
6688 # Some Qt modules are too advanced in C++ for some old compilers
6689 # Detect here the platforms where they are known to work.
6691 # See Qt documentation for more information on which features are
6692 # supported and on which compilers.
6694 canBuildQtConcurrent="yes"
6695 canUseV8Snapshot="yes"
6697 case "$XPLATFORM" in
6699 # PA-RISC's assembly is too limited
6700 # gcc 3.4 on that platform can't build QtXmlPatterns
6701 # the assembly it generates cannot be compiled
6703 # Check gcc's version
6704 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
6708 canBuildQtXmlPatterns="no"
6712 canBuildQtXmlPatterns="no"
6716 unsupported/vxworks-*-g++*)
6719 unsupported/vxworks-*-dcc*)
6721 canBuildQtXmlPatterns="no"
6724 # Check gcc's version
6725 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
6733 canBuildQtXmlPatterns="no"
6738 # Check the compiler version
6739 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
6742 canBuildQtXmlPatterns="no"
6743 canBuildQtConcurrent="no"
6747 canBuildQtConcurrent="no"
6753 canBuildQtXmlPatterns="no"
6754 canBuildQtConcurrent="no"
6760 # Get the xlC version
6761 cat > xlcver.c <<EOF
6765 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
6770 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
6771 xlcver=`./xlcver 2>/dev/null`
6774 if [ "$OPT_VERBOSE" = "yes" ]; then
6775 if [ -n "$xlcver" ]; then
6776 echo Found IBM xlC version: $xlcver.
6778 echo Could not determine IBM xlC version, assuming oldest supported.
6785 canBuildQtXmlPatterns="no"
6786 canBuildQtConcurrent="no"
6790 canBuildQtConcurrent="no"
6796 canBuildQtConcurrent="no"
6800 if [ "$CFG_GUI" = "no" ]; then
6801 # WebKit requires QtGui
6805 if [ "$CFG_SHARED" = "no" ]; then
6807 echo "WARNING: Using static linking will disable the WebKit module."
6812 CFG_CONCURRENT="yes"
6813 if [ "$canBuildQtConcurrent" = "no" ]; then
6814 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
6817 QT_CONFIG="$QT_CONFIG concurrent"
6821 if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
6822 QT_CONFIG="$QT_CONFIG audio-backend"
6826 if [ "$CFG_WEBKIT" = "debug" ]; then
6827 QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
6831 QT_CONFIG="$QT_CONFIG v8"
6832 # Detect snapshot support
6833 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
6834 case "$CFG_HOST_ARCH,$CFG_ARCH" in
6837 *) canUseV8Snapshot="no"
6841 if [ -n "$_SBOX_DIR" -a "$CFG_ARCH" = "arm" ]; then
6842 # QEMU crashes when building inside Scratchbox with an ARM target
6843 canUseV8Snapshot="no"
6846 if [ "$CFG_V8SNAPSHOT" = "auto" ]; then
6847 CFG_V8SNAPSHOT="$canUseV8Snapshot"
6849 if [ "$CFG_V8SNAPSHOT" = "yes" -a "$canUseV8Snapshot" = "no" ]; then
6850 echo "Error: V8 snapshot was requested, but is not supported on this platform."
6853 if [ "$CFG_V8SNAPSHOT" = "yes" ]; then
6854 QT_CONFIG="$QT_CONFIG v8snapshot"
6858 if [ "$CFG_DECLARATIVE_DEBUG" = "no" ]; then
6859 QCONFIG_FLAGS="$QCONFIG_FLAGS QDECLARATIVE_NO_DEBUG_PROTOCOL"
6862 if [ "$CFG_EXCEPTIONS" = "no" ]; then
6865 QMakeVar add QMAKE_CFLAGS -fno-exceptions
6866 QMakeVar add QMAKE_CXXFLAGS -fno-exceptions
6867 QMakeVar add QMAKE_LFLAGS -fno-exceptions
6872 QMakeVar add QMAKE_CFLAGS -LANG:exceptions=off
6873 QMakeVar add QMAKE_CXXFLAGS -LANG:exceptions=off
6874 QMakeVar add QMAKE_LFLAGS -LANG:exceptions=off
6881 QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off"
6887 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
6889 case "$COMPILER_VERSION" in
6891 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
6892 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
6893 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
6896 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
6897 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
6898 QT_GCC_PATCH_VERSION=0
6908 #-------------------------------------------------------------------------------
6909 # part of configuration information goes into qconfig.h
6910 #-------------------------------------------------------------------------------
6912 case "$CFG_QCONFIG" in
6914 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
6917 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
6918 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
6919 if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
6920 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
6921 elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
6922 cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
6924 echo "#endif" >>"$tmpconfig"
6928 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6932 # define QT_EDITION $QT_EDITION
6935 /* Machine byte-order */
6936 #define Q_BIG_ENDIAN 4321
6937 #define Q_LITTLE_ENDIAN 1234
6940 echo "#ifdef QT_BOOTSTRAPPED" >>"$outpath/src/corelib/global/qconfig.h.new"
6941 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
6942 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6943 #if defined(__BIG_ENDIAN__)
6944 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6945 #elif defined(__LITTLE_ENDIAN__)
6946 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6948 # error "Unable to determine byte order!"
6952 echo "#define Q_BYTE_ORDER $CFG_HOST_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6954 echo "#else" >>"$outpath/src/corelib/global/qconfig.h.new"
6955 if [ "$CFG_ENDIAN" = "auto" ]; then
6956 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6957 #if defined(__BIG_ENDIAN__)
6958 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6959 #elif defined(__LITTLE_ENDIAN__)
6960 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6962 # error "Unable to determine byte order!"
6966 echo "#define Q_BYTE_ORDER $CFG_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6968 echo "#endif" >>"$outpath/src/corelib/global/qconfig.h.new"
6970 if [ "$CFG_DOUBLEFORMAT" != "normal" ]; then
6971 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6972 /* Non-IEEE double format */
6973 #define Q_DOUBLE_LITTLE "01234567"
6974 #define Q_DOUBLE_BIG "76543210"
6975 #define Q_DOUBLE_LITTLE_SWAPPED "45670123"
6976 #define Q_DOUBLE_BIG_SWAPPED "32107654"
6977 #define Q_DOUBLE_FORMAT $CFG_DOUBLEFORMAT
6980 if [ "$CFG_ARMFPA" = "yes" ]; then
6981 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
6982 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6983 #ifndef QT_BOOTSTRAPPED
6988 echo "#define QT_ARMFPA" >>"$outpath/src/corelib/global/qconfig.h.new"
6992 CFG_ARCH_STR=`echo $CFG_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6993 CFG_HOST_ARCH_STR=`echo $CFG_HOST_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6994 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6995 /* Machine Architecture */
6996 #ifndef QT_BOOTSTRAPPED
6997 # define QT_ARCH_${CFG_ARCH_STR}
6999 # define QT_ARCH_${CFG_HOST_ARCH_STR}
7003 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
7004 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
7006 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
7007 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
7010 if [ "$CFG_FRAMEWORK" = "yes" ]; then
7011 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
7014 if [ "$BUILD_ON_MAC" = "yes" ]; then
7015 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
7016 #if defined(__LP64__)
7017 # define QT_POINTER_SIZE 8
7019 # define QT_POINTER_SIZE 4
7023 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
7024 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
7027 #REDUCE_RELOCATIONS is a elf/unix only thing, so not in windows configure.exe
7028 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
7029 echo "#define QT_REDUCE_RELOCATIONS" >>"$outpath/src/corelib/global/qconfig.h.new"
7033 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
7035 if [ "$CFG_DEV" = "yes" ]; then
7036 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
7039 # Embedded compile time options
7040 if [ "$PLATFORM_QWS" = "yes" ]; then
7041 # Add QWS to config.h
7042 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QWS"
7044 # Add excluded decorations to $QCONFIG_FLAGS
7045 decors=`grep '^decorations -= ' "$QMAKE_VARS_FILE" | ${AWK} '{print $3}'`
7046 for decor in $decors; do
7047 NODECORATION=`echo $decor | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7048 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_NO_QWS_DECORATION_${NODECORATION}"
7051 # Figure which embedded drivers which are turned off
7052 CFG_GFX_OFF="$CFG_GFX_AVAILABLE"
7053 for ADRIVER in $CFG_GFX_ON; do
7054 CFG_GFX_OFF=`echo "${CFG_GFX_OFF} " | sed "s,${ADRIVER} ,,g"`
7057 CFG_KBD_OFF="$CFG_KBD_AVAILABLE"
7058 # the um driver is currently not in the available list for external builds
7059 if [ "$CFG_DEV" = "no" ]; then
7060 CFG_KBD_OFF="$CFG_KBD_OFF um"
7062 for ADRIVER in $CFG_KBD_ON; do
7063 CFG_KBD_OFF=`echo "${CFG_KBD_OFF} " | sed "s,${ADRIVER} ,,g"`
7066 CFG_MOUSE_OFF="$CFG_MOUSE_AVAILABLE"
7067 for ADRIVER in $CFG_MOUSE_ON; do
7068 CFG_MOUSE_OFF=`echo "${CFG_MOUSE_OFF} " | sed "s,${ADRIVER} ,,g"`
7071 for DRIVER in $CFG_GFX_OFF; do
7072 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7073 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_$NODRIVER"
7076 for DRIVER in $CFG_KBD_OFF; do
7077 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7078 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_KBD_$NODRIVER"
7081 for DRIVER in $CFG_MOUSE_OFF; do
7082 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7083 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_MOUSE_$NODRIVER"
7087 if [ "$PLATFORM_QPA" = "yes" ]; then
7088 # Add QPA to config.h
7089 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
7092 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
7093 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
7096 # Add turned on SQL drivers
7097 for DRIVER in $CFG_SQL_AVAILABLE; do
7098 eval "VAL=\$CFG_SQL_$DRIVER"
7101 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
7102 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
7103 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
7106 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
7112 QMakeVar set sql-drivers "$SQL_DRIVERS"
7113 QMakeVar set sql-plugins "$SQL_PLUGINS"
7115 # Add other configuration options to the qconfig.h file
7116 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
7117 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
7118 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
7119 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
7120 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
7121 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
7122 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
7124 # X11/Unix/Mac only configs
7125 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
7126 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
7127 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
7128 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
7129 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
7130 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
7131 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
7132 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
7133 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
7134 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
7135 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
7136 [ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NAS"
7137 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
7138 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
7139 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
7141 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
7142 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
7143 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
7144 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
7145 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
7146 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
7147 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
7148 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
7149 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
7150 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
7151 [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
7152 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
7153 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
7155 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
7156 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
7157 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
7158 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
7159 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
7160 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
7161 [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
7162 [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
7164 # sort QCONFIG_FLAGS for neatness if we can
7165 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
7166 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
7168 if [ -n "$QCONFIG_FLAGS" ]; then
7169 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7170 #ifndef QT_BOOTSTRAPPED
7173 for cfg in $QCONFIG_FLAGS; do
7174 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
7175 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
7176 # figure out define logic, so we can output the correct
7177 # ifdefs to override the global defines in a project
7179 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
7180 # QT_NO_option can be forcefully turned on by QT_option
7181 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
7182 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
7183 # QT_option can be forcefully turned off by QT_NO_option
7184 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
7187 if [ -z $cfgdNeg ]; then
7188 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7195 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7196 #if defined($cfgd) && defined($cfgdNeg)
7198 #elif !defined($cfgd) && !defined($cfgdNeg)
7205 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7206 #endif // QT_BOOTSTRAPPED
7211 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
7212 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7213 #define QT_VISIBILITY_AVAILABLE
7218 if [ -n "$QT_LIBINFIX" ]; then
7219 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
7220 #define QT_LIBINFIX "$QT_LIBINFIX"
7225 # avoid unecessary rebuilds by copying only if qconfig.h has changed
7226 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
7227 rm -f "$outpath/src/corelib/global/qconfig.h.new"
7229 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
7230 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
7231 chmod -w "$outpath/src/corelib/global/qconfig.h"
7232 for conf in "$outpath/include/QtCore/qconfig.h" "$outpath/include/Qt/qconfig.h"; do
7233 ln -s "$outpath/src/corelib/global/qconfig.h" "$conf"
7237 #-------------------------------------------------------------------------------
7238 # save configuration into qconfig.pri
7239 #-------------------------------------------------------------------------------
7240 QTCONFIG="$outpath/mkspecs/qconfig.pri"
7241 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
7242 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
7243 if [ "$CFG_DEBUG" = "yes" ]; then
7244 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
7245 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
7246 QT_CONFIG="$QT_CONFIG release"
7248 QT_CONFIG="$QT_CONFIG debug"
7249 elif [ "$CFG_DEBUG" = "no" ]; then
7250 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
7251 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
7252 QT_CONFIG="$QT_CONFIG debug"
7254 QT_CONFIG="$QT_CONFIG release"
7256 if [ "$CFG_STL" = "yes" ]; then
7257 QTCONFIG_CONFIG="$QTCONFIG_CONFIG stl"
7259 if [ "$CFG_FRAMEWORK" = "no" ]; then
7260 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
7262 QT_CONFIG="$QT_CONFIG qt_framework"
7263 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
7265 if [ "$CFG_DEV" = "yes" ]; then
7266 QT_CONFIG="$QT_CONFIG private_tests"
7269 cat >>"$QTCONFIG.tmp" <<EOF
7271 CONFIG += $QTCONFIG_CONFIG
7273 QT_EDITION = $Edition
7274 QT_CONFIG += $QT_CONFIG
7277 QT_VERSION = $QT_VERSION
7278 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
7279 QT_MINOR_VERSION = $QT_MINOR_VERSION
7280 QT_PATCH_VERSION = $QT_PATCH_VERSION
7283 QT_LIBINFIX = $QT_LIBINFIX
7284 QT_NAMESPACE = $QT_NAMESPACE
7287 if [ -n "$CFG_SYSROOT" ]; then
7288 echo "# sysroot" >>"$QTCONFIG.tmp"
7289 echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
7290 echo " QT_SYSROOT += \$\$quote($CFG_SYSROOT)" >>"$QTCONFIG.tmp"
7291 echo " QMAKE_CFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
7292 echo " QMAKE_CXXFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
7293 echo " QMAKE_LFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
7294 echo "}" >> "$QTCONFIG.tmp"
7295 echo >> "$QTCONFIG.tmp"
7297 if [ "$CFG_RPATH" = "yes" ]; then
7298 echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
7300 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
7301 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
7302 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
7303 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
7306 if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
7307 echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
7308 echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp"
7311 # replace qconfig.pri if it differs from the newly created temp file
7312 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
7313 rm -f "$QTCONFIG.tmp"
7315 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
7318 #-------------------------------------------------------------------------------
7319 # save configuration into qmodule.pri
7320 #-------------------------------------------------------------------------------
7321 QTMODULE="$outpath/mkspecs/qmodule.pri"
7323 echo "CONFIG += create_prl link_prl" >> "$QTMODULE.tmp"
7325 # Ensure we can link to uninistalled libraries
7326 if [ "$BUILD_ON_MAC" != "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
7327 echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
7329 if [ -n "$QT_CFLAGS_PSQL" ]; then
7330 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
7332 if [ -n "$QT_LFLAGS_PSQL" ]; then
7333 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
7335 if [ -n "$QT_CFLAGS_MYSQL" ]; then
7336 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
7338 if [ -n "$QT_LFLAGS_MYSQL" ]; then
7339 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
7341 if [ -n "$QT_CFLAGS_SQLITE" ]; then
7342 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
7344 if [ -n "$QT_LFLAGS_SQLITE" ]; then
7345 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
7347 if [ -n "$QT_LFLAGS_ODBC" ]; then
7348 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
7350 if [ -n "$QT_LFLAGS_TDS" ]; then
7351 echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
7354 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
7355 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
7358 #dump in the OPENSSL_LIBS info
7359 if [ '!' -z "$OPENSSL_LIBS" ]; then
7360 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
7361 elif [ "$CFG_OPENSSL" = "linked" ]; then
7362 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
7365 #dump in the SDK info
7366 if [ '!' -z "$CFG_SDK" ]; then
7367 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
7371 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
7372 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
7374 # replace qmodule.pri if it differs from the newly created temp file
7375 if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
7376 rm -f "$QTMODULE.tmp"
7378 mv -f "$QTMODULE.tmp" "$QTMODULE"
7381 #-------------------------------------------------------------------------------
7382 # save configuration into .qmake.cache
7383 #-------------------------------------------------------------------------------
7385 CACHEFILE="$outpath/.qmake.cache"
7386 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
7387 cat >>"$CACHEFILE.tmp" <<EOF
7389 QT_SOURCE_TREE = \$\$quote($relpath)
7390 QT_BUILD_TREE = \$\$quote($outpath)
7391 QT_BUILD_PARTS = $CFG_BUILD_PARTS
7393 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
7394 QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
7395 QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
7396 QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
7397 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
7398 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
7400 include(\$\$PWD/mkspecs/qmodule.pri)
7401 CONFIG += $QMAKE_CONFIG dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
7402 QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
7403 QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
7407 #dump the qmake spec
7408 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
7409 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
7411 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
7416 [ "$CFG_INCREMENTAL" = "auto" ] && "$WHICH" p4 >/dev/null 2>&1 && [ "$CFG_DEV" = "yes" ] && CFG_INCREMENTAL="yes"
7417 if [ "$CFG_INCREMENTAL" = "yes" ]; then
7418 find "$relpath" -perm u+w -mtime -3 | grep 'cpp$' | while read f; do
7419 # don't need to worry about generated files
7420 [ -r `echo $f | sed "s,cpp$,ui,"` ] && continue
7421 basename "$f" | grep '^moc_' >/dev/null 2>&1 && continue
7423 INCREMENTAL="$INCREMENTAL `basename \"$f\" | sed 's,.cpp,.o,'`"
7425 [ '!' -z "$INCREMENTAL" ] && echo "QMAKE_INCREMENTAL += $INCREMENTAL" >> "$CACHEFILE.tmp"
7426 [ -r "$outpath/.qmake.incremental" ] && echo "include($outpath/.qmake.incremental)" >> "$CACHEFILE.tmp"
7429 # replace .qmake.cache if it differs from the newly created temp file
7430 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
7431 rm -f "$CACHEFILE.tmp"
7433 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
7436 #-------------------------------------------------------------------------------
7437 # give feedback on configuration
7438 #-------------------------------------------------------------------------------
7442 if [ "$CFG_EXCEPTIONS" != "no" ]; then
7445 This target is using the GNU C++ compiler ($PLATFORM).
7447 Recent versions of this compiler automatically include code for
7448 exceptions, which increase both the size of the Qt libraries and
7449 the amount of memory taken by your applications.
7451 You may choose to re-run `basename $0` with the -no-exceptions
7452 option to compile Qt without exceptions. This is completely binary
7453 compatible, and existing applications will continue to work.
7461 if [ "$CFG_EXCEPTIONS" != "no" ]; then
7464 This target is using the MIPSpro C++ compiler ($PLATFORM).
7466 You may choose to re-run `basename $0` with the -no-exceptions
7467 option to compile Qt without exceptions. This will make the
7468 size of the Qt library smaller and reduce the amount of memory
7469 taken by your applications.
7481 if [ "$XPLATFORM" = "$PLATFORM" ]; then
7482 echo "Build type: $PLATFORM"
7484 echo "Building on: $PLATFORM"
7485 echo "Building for: $XPLATFORM"
7488 if [ ! -z "$CFG_MAC_ARCHS" ]; then
7489 echo "Architecture: $CFG_ARCH ($CFG_MAC_ARCHS )"
7491 echo "Architecture: $CFG_ARCH"
7494 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
7495 echo "Host architecture: $CFG_HOST_ARCH"
7498 if [ -n "$PLATFORM_NOTES" ]; then
7499 echo "Platform notes:"
7500 echo "$PLATFORM_NOTES"
7505 if [ "$OPT_VERBOSE" = "yes" ]; then
7506 echo $ECHO_N "qmake vars .......... $ECHO_C"
7507 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
7508 echo "qmake switches ......... $QMAKE_SWITCHES"
7511 [ "$CFG_INCREMENTAL" = "yes" ] && [ '!' -z "$INCREMENTAL" ] && echo "Incremental ............ $INCREMENTAL"
7512 echo "Build .................. $CFG_BUILD_PARTS"
7513 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
7514 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
7515 echo "Debug .................. yes (combined)"
7516 if [ "$CFG_DEBUG" = "yes" ]; then
7517 echo "Default Link ........... debug"
7519 echo "Default Link ........... release"
7522 echo "Debug .................. $CFG_DEBUG"
7524 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
7525 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
7526 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
7527 echo "QtConcurrent code ...... $CFG_CONCURRENT"
7528 echo "QtGui module ........... $CFG_GUI"
7529 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
7530 echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
7532 echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
7534 echo "Declarative debugging ...$CFG_DECLARATIVE_DEBUG"
7535 echo "STL support ............ $CFG_STL"
7536 echo "PCH support ............ $CFG_PRECOMPILE"
7537 echo "MMX/3DNOW/SSE/SSE2/SSE3. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}/${CFG_SSE3}"
7538 echo "SSSE3/SSE4.1/SSE4.2..... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
7539 echo "AVX..................... ${CFG_AVX}"
7540 if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then
7541 echo "iWMMXt support ......... ${CFG_IWMMXT}"
7542 echo "NEON support ........... ${CFG_NEON}"
7544 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
7545 echo "getaddrinfo support .... $CFG_GETADDRINFO"
7546 echo "getifaddrs support ..... $CFG_GETIFADDRS"
7547 echo "Accessibility .......... $CFG_ACCESSIBILITY"
7548 echo "NIS support ............ $CFG_NIS"
7549 echo "CUPS support ........... $CFG_CUPS"
7550 echo "Iconv support .......... $CFG_ICONV"
7551 echo "Glib support ........... $CFG_GLIB"
7552 echo "GStreamer support ...... $CFG_GSTREAMER"
7553 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
7554 echo "Large File support ..... $CFG_LARGEFILE"
7555 echo "GIF support ............ $CFG_GIF"
7556 if [ "$CFG_JPEG" = "no" ]; then
7557 echo "JPEG support ........... $CFG_JPEG"
7559 echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
7561 if [ "$CFG_PNG" = "no" ]; then
7562 echo "PNG support ............ $CFG_PNG"
7564 echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
7566 echo "zlib support ........... $CFG_ZLIB"
7567 echo "Session management ..... $CFG_SM"
7568 if [ "$PLATFORM_QWS" = "yes" ]; then
7569 echo "Embedded support ....... $CFG_EMBEDDED"
7570 if [ "$CFG_QWS_FREETYPE" = "auto" ]; then
7571 echo "Freetype2 support ...... $CFG_QWS_FREETYPE ($CFG_LIBFREETYPE)"
7573 echo "Freetype2 support ...... $CFG_QWS_FREETYPE"
7575 # Normalize the decoration output first
7576 CFG_GFX_ON=`echo ${CFG_GFX_ON}`
7577 CFG_GFX_PLUGIN=`echo ${CFG_GFX_PLUGIN}`
7578 echo "Graphics (qt) .......... ${CFG_GFX_ON}"
7579 echo "Graphics (plugin) ...... ${CFG_GFX_PLUGIN}"
7580 CFG_DECORATION_ON=`echo ${CFG_DECORATION_ON}`
7581 CFG_DECORATION_PLUGIN=`echo ${CFG_DECORATION_PLUGIN}`
7582 echo "Decorations (qt) ....... $CFG_DECORATION_ON"
7583 echo "Decorations (plugin) ... $CFG_DECORATION_PLUGIN"
7584 CFG_KBD_ON=`echo ${CFG_KBD_ON}`
7585 CFG_KBD_PLUGIN=`echo ${CFG_KBD_PLUGIN}`
7586 echo "Keyboard driver (qt) ... ${CFG_KBD_ON}"
7587 echo "Keyboard driver (plugin) .. ${CFG_KBD_PLUGIN}"
7588 CFG_MOUSE_ON=`echo ${CFG_MOUSE_ON}`
7589 CFG_MOUSE_PLUGIN=`echo ${CFG_MOUSE_PLUGIN}`
7590 echo "Mouse driver (qt) ...... $CFG_MOUSE_ON"
7591 echo "Mouse driver (plugin) .. $CFG_MOUSE_PLUGIN"
7593 if [ "$CFG_OPENGL" = "desktop" ]; then
7594 echo "OpenGL support ......... yes (Desktop OpenGL)"
7595 elif [ "$CFG_OPENGL" = "es2" ]; then
7596 echo "OpenGL support ......... yes (OpenGL ES 2.x)"
7598 echo "OpenGL support ......... no"
7600 if [ "$CFG_EGL" != "no" ]; then
7601 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
7602 echo "EGL support ............ yes <GLES/egl.h>"
7604 echo "EGL support ............ yes <EGL/egl.h>"
7607 if [ "$CFG_OPENVG" ]; then
7608 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
7609 echo "OpenVG support ......... ShivaVG"
7611 echo "OpenVG support ......... $CFG_OPENVG"
7614 if [ "$PLATFORM_X11" = "yes" ]; then
7615 echo "NAS sound support ...... $CFG_NAS"
7616 echo "XShape support ......... $CFG_XSHAPE"
7617 echo "XVideo support ......... $CFG_XVIDEO"
7618 echo "XSync support .......... $CFG_XSYNC"
7619 echo "Xinerama support ....... $CFG_XINERAMA"
7620 echo "Xcursor support ........ $CFG_XCURSOR"
7621 echo "Xfixes support ......... $CFG_XFIXES"
7622 echo "Xrandr support ......... $CFG_XRANDR"
7623 echo "Xi support ............. $CFG_XINPUT"
7624 echo "MIT-SHM support ........ $CFG_MITSHM"
7625 echo "FontConfig support ..... $CFG_FONTCONFIG"
7626 echo "XKB Support ............ $CFG_XKB"
7627 echo "immodule support ....... $CFG_IM"
7628 echo "GTK theme support ...... $CFG_QGTKSTYLE"
7630 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
7631 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
7632 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
7633 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
7634 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
7635 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
7636 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
7637 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
7638 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
7641 if [ "$CFG_OPENSSL" = "yes" ]; then
7642 OPENSSL_LINKAGE="(run-time)"
7643 elif [ "$CFG_OPENSSL" = "linked" ]; then
7644 OPENSSL_LINKAGE="(linked)"
7646 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
7647 echo "Alsa support ........... $CFG_ALSA"
7648 if [ "$BUILD_ON_MAC" = "yes" ]; then
7649 echo "CoreWlan support ....... $CFG_COREWLAN"
7651 echo "libICU support ......... $CFG_ICU"
7652 echo "PCRE support ........... $CFG_PCRE"
7653 if [ "$CFG_XCB_LIMITED" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
7654 echo "Xcb support ............ limited (old version)"
7656 echo "Xcb support ............ $CFG_XCB"
7658 echo "Xrender support ........ $CFG_XRENDER"
7659 if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
7660 echo "XInput2 support ........ $CFG_XINPUT2"
7664 # complain about not being able to use dynamic plugins if we are using a static build
7665 if [ "$CFG_SHARED" = "no" ]; then
7667 echo "WARNING: Using static linking will disable the use of dynamically"
7668 echo "loaded plugins. Make sure to import all needed static plugins,"
7669 echo "or compile needed modules into the library."
7672 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
7674 echo "NOTE: When linking against OpenSSL, you can override the default"
7675 echo "library names through OPENSSL_LIBS."
7677 echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
7680 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
7682 echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
7683 echo "if you want a pure debug build."
7688 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
7693 #-------------------------------------------------------------------------------
7694 # build makefiles based on the configuration
7695 #-------------------------------------------------------------------------------
7697 echo "Finding project files. Please wait..."
7698 if [ "$CFG_NOPROCESS" != "yes" ]; then
7699 "$outpath/bin/qmake" -prl -r "${relpath}/qtbase.pro"
7700 if [ -f "${relpath}/qtbase.pro" ]; then
7701 mkfile="${outpath}/Makefile"
7702 [ -f "$mkfile" ] && chmod +w "$mkfile"
7703 QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/qtbase.pro" -o "$mkfile"
7707 # .projects -> projects to process
7708 # .projects.1 -> qt and moc
7709 # .projects.2 -> subdirs and libs
7710 # .projects.3 -> the rest
7711 rm -f .projects .projects.1 .projects.2 .projects.3
7713 QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
7714 if [ -z "$AWK" ]; then
7715 for p in `echo $QMAKE_PROJECTS`; do
7716 echo "$p" >> .projects
7719 cat >projects.awk <<EOF
7725 first = "./.projects.1.tmp"
7726 second = "./.projects.2.tmp"
7727 third = "./.projects.3.tmp"
7732 if ( ! target_file )
7734 print input_file >target_file
7739 input_file = FILENAME
7744 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
7747 } else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) {
7748 target_file = second
7753 matched_target == 0 && /^(TEMPLATE.*=)/ {
7754 if ( \$3 == "subdirs" )
7755 target_file = second
7756 else if ( \$3 == "lib" )
7762 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
7763 if ( \$0 ~ /plugin/ )
7766 target_file = second
7771 if ( ! target_file )
7773 print input_file >>target_file
7780 for p in `echo $QMAKE_PROJECTS`; do
7781 echo "$p" >> .projects.all
7784 # if you get errors about the length of the command line to awk, change the -l arg
7786 split -l 100 .projects.all .projects.all.
7787 for p in .projects.all.*; do
7788 "$AWK" -f projects.awk `cat $p`
7789 [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
7790 [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
7791 [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
7792 rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
7794 rm -f .projects.all* projects.awk
7796 [ -f .projects.1 ] && cat .projects.1 >>.projects
7797 [ -f .projects.2 ] && cat .projects.2 >>.projects
7798 rm -f .projects.1 .projects.2
7799 if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
7800 cat .projects.3 >>.projects
7804 # don't sort Qt and MOC in with the other project files
7805 # also work around a segfaulting uniq(1)
7806 if [ -f .sorted.projects.2 ]; then
7807 sort .sorted.projects.2 > .sorted.projects.2.new
7808 mv -f .sorted.projects.2.new .sorted.projects.2
7809 cat .sorted.projects.2 >> .sorted.projects.1
7811 [ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
7812 rm -f .sorted.projects.2 .sorted.projects.1
7816 if [ -f .projects ]; then
7817 uniq .projects >.tmp
7818 mv -f .tmp .projects
7819 NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
7821 if [ -f .projects.3 ]; then
7822 uniq .projects.3 >.tmp
7823 mv -f .tmp .projects.3
7824 FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
7826 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
7830 for part in $CFG_BUILD_PARTS; do
7832 tools) PART_ROOTS="$PART_ROOTS tools" ;;
7833 libs) PART_ROOTS="$PART_ROOTS src" ;;
7834 translations) PART_ROOTS="$PART_ROOTS translations" ;;
7835 examples) PART_ROOTS="$PART_ROOTS examples" ;;
7840 if [ "$CFG_DEV" = "yes" ]; then
7841 PART_ROOTS="$PART_ROOTS tests"
7844 echo "Creating makefiles. Please wait..."
7845 for file in .projects .projects.3; do
7846 [ '!' -f "$file" ] && continue
7847 for a in `cat $file`; do
7849 for r in $PART_ROOTS; do
7850 if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
7855 [ "$IN_ROOT" = "no" ] && continue
7858 *winmain/winmain.pro)
7859 if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_MINGW" != "yes" ]; then
7863 */qmake/qmake.pro) continue ;;
7864 *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*) SPEC=$QMAKESPEC ;;
7865 *) if [ "$CFG_NOPROCESS" = "yes" ]; then
7871 dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
7872 test -d "$dir" || mkdir -p "$dir"
7873 OUTDIR="$outpath/$dir"
7874 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
7875 # fast configure - the makefile exists, skip it
7876 # since the makefile exists, it was generated by qmake, which means we
7877 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
7879 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
7882 QMAKE_SPEC_ARGS="-spec $SPEC"
7883 echo $ECHO_N " for $a$ECHO_C"
7885 QMAKE="$outpath/bin/qmake"
7886 QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
7887 if [ "$file" = ".projects.3" ]; then
7890 cat >"${OUTDIR}/Makefile" <<EOF
7891 # ${OUTDIR}/Makefile: generated by configure
7893 # WARNING: This makefile will be replaced with a real makefile.
7894 # All changes made to this file will be lost.
7896 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
7898 cat >>"${OUTDIR}/Makefile" <<EOF
7900 all clean install qmake first Makefile: FORCE
7901 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
7909 if [ "$OPT_VERBOSE" = "yes" ]; then
7910 echo " (`basename $SPEC`)"
7911 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7916 [ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
7917 QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7921 rm -f .projects .projects.3
7923 #-------------------------------------------------------------------------------
7924 # check for platforms that we don't yet know about
7925 #-------------------------------------------------------------------------------
7926 if [ "$CFG_ARCH" = "generic" ]; then
7929 NOTICE: Atomic operations are not yet supported for this
7932 Qt will use the 'generic' architecture instead, which uses a
7933 single pthread_mutex_t to protect all atomic operations. This
7934 implementation is the slow (but safe) fallback implementation
7935 for architectures Qt does not yet support.
7939 #-------------------------------------------------------------------------------
7940 # check if the user passed the -no-zlib option, which is no longer supported
7941 #-------------------------------------------------------------------------------
7942 if [ -n "$ZLIB_FORCED" ]; then
7943 which_zlib="supplied"
7944 if [ "$CFG_ZLIB" = "system" ]; then
7950 NOTICE: The -no-zlib option was supplied but is no longer
7953 Qt now requires zlib support in all builds, so the -no-zlib
7954 option was ignored. Qt will be built using the $which_zlib
7959 #-------------------------------------------------------------------------------
7960 # finally save the executed command to another script
7961 #-------------------------------------------------------------------------------
7962 if [ `basename $0` != "config.status" ]; then
7963 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
7965 # add the system variables
7966 for varname in $SYSTEM_VARIABLES; do
7968 'if [ -n "\$'${varname}'" ]; then
7969 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
7974 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
7976 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
7977 echo "#!/bin/sh" > "$outpath/config.status"
7978 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
7979 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
7980 echo "else" >> "$outpath/config.status"
7981 echo " $CONFIG_STATUS" >> "$outpath/config.status"
7982 echo "fi" >> "$outpath/config.status"
7983 chmod +x "$outpath/config.status"
7986 if [ -n "$RPATH_MESSAGE" ]; then
7988 echo "$RPATH_MESSAGE"
7991 MAKE=`basename "$MAKE"`
7993 echo Qt is now configured for building. Just run \'$MAKE\'.
7994 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
7995 echo Once everything is built, Qt is installed.
7996 echo You should not run \'$MAKE install\'.
7998 echo Once everything is built, you must run \'$MAKE install\'.
7999 echo Qt will be installed into $QT_INSTALL_PREFIX
8002 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.