2 #############################################################################
4 ## Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
5 ## Contact: http://www.qt-project.org/
7 ## This file is the build configuration utility of the Qt Toolkit.
9 ## $QT_BEGIN_LICENSE:LGPL$
10 ## GNU Lesser General Public License Usage
11 ## This file may be used under the terms of the GNU Lesser General Public
12 ## License version 2.1 as published by the Free Software Foundation and
13 ## appearing in the file LICENSE.LGPL included in the packaging of this
14 ## file. Please review the following information to ensure the GNU Lesser
15 ## General Public License version 2.1 requirements will be met:
16 ## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
18 ## In addition, as a special exception, Nokia gives you certain additional
19 ## rights. These rights are described in the Nokia Qt LGPL Exception
20 ## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
22 ## GNU General Public License Usage
23 ## Alternatively, this file may be used under the terms of the GNU General
24 ## Public License version 3.0 as published by the Free Software Foundation
25 ## and appearing in the file LICENSE.GPL included in the packaging of this
26 ## file. Please review the following information to ensure the GNU General
27 ## Public License version 3.0 requirements will be met:
28 ## http://www.gnu.org/copyleft/gpl.html.
31 ## Alternatively, this file may be used in accordance with the terms and
32 ## conditions contained in a signed written agreement between you and Nokia.
41 #############################################################################
43 #-------------------------------------------------------------------------------
44 # script initialization
45 #-------------------------------------------------------------------------------
47 # the name of this script
49 # the directory of this script is the "source tree"
51 relpath=`(cd "$relpath"; /bin/pwd)`
52 # the current directory is the "build tree" or "object tree"
55 #license file location
56 LICENSE_FILE="$QT_LICENSE_FILE"
57 [ -z "$LICENSE_FILE" ] && LICENSE_FILE="$HOME/.qt-license"
58 if [ -f "$LICENSE_FILE" ]; then
59 tr -d '\r' <"$LICENSE_FILE" >"${LICENSE_FILE}.tmp"
60 diff "${LICENSE_FILE}.tmp" "${LICENSE_FILE}" >/dev/null 2>&1 || LICENSE_FILE="${LICENSE_FILE}.tmp"
63 # later cache the command line in config.status
64 OPT_CMDLINE=`echo $@ | sed "s,-v ,,g; s,-v$,,g"`
66 # initialize global variables
73 QMAKE_VARS_FILE=.qmake.vars
77 #-------------------------------------------------------------------------------
79 #-------------------------------------------------------------------------------
83 echo "$@" | sed 's/ /\ /g'
86 # Adds a new qmake variable to the cache
87 # Usage: QMakeVar mode varname contents
88 # where mode is one of: set, add, del
102 echo >&2 "BUG: wrong command to QMakeVar: $1"
106 echo "$2" "$eq" "$3" >> "$QMAKE_VARS_FILE"
109 # Helper function for getQMakeConf. It parses include statements in
110 # qmake.conf and prints out the expanded file
113 while read line; do case "$line" in
115 inc_file=`echo "$line" | sed -n -e "/^include.*(.*)/s/include.*(\(.*\)).*$/\1/p"`
116 current_dir=`dirname "$1"`
117 conf_file="$current_dir/$inc_file"
118 if [ ! -f "$conf_file" ]; then
119 echo "WARNING: Unable to find file $conf_file" >&2
122 getQMakeConf1 "$conf_file"
134 values["LITERAL_WHITESPACE"] = " "
135 values["LITERAL_DOLLAR"] = "$"
137 /^[_A-Z0-9.]+[ \t]*\+?=/ {
138 valStart = index($0, "=") + 1
141 if (substr($0, valStart - 2, 1) == "+") {
145 variable = substr($0, 0, valStart - 2 - append)
146 value = substr($0, valStart)
147 gsub("[ \t]+", "", variable)
148 gsub("^[ \t]+", "", value)
149 gsub("[ \t]+$", "", value)
152 while (match(value, /\$\$(\{[_A-Z0-9.]+\}|[_A-Z0-9.]+)/)) {
153 ovalue = ovalue substr(value, 1, RSTART - 1)
154 var = substr(value, RSTART + 2, RLENGTH - 2)
155 value = substr(value, RSTART + RLENGTH)
157 var = substr(var, 2, length(var) - 2)
159 ovalue = ovalue values[var]
161 ovalue = ovalue value
163 combinedValue = values[variable]
164 if (append == 1 && length(combinedValue) > 0) {
165 combinedValue = combinedValue " " ovalue
167 combinedValue = ovalue
169 values[variable] = combinedValue
172 for (var in values) {
173 print var "=" values[var]
181 echo "$2" | $AWK "/^($1)=/ { print substr(\$0, index(\$0, \"=\") + 1) }"
184 # relies on $QMAKESPEC being set correctly. parses include statements in
185 # qmake.conf and prints out the expanded file
188 if [ -z "$specvals" ]; then
189 specvals=`getQMakeConf1 "$QMAKESPEC/qmake.conf" | getQMakeConf2`
191 getQMakeConf3 "$1" "$specvals"
196 if [ -z "$xspecvals" ]; then
197 xspecvals=`getQMakeConf1 "$XQMAKESPEC/qmake.conf" | getQMakeConf2`
199 getQMakeConf3 "$1" "$xspecvals"
202 # relies on $TEST_COMPILER being set correctly
203 compilerSupportsFlag()
205 cat >conftest.cpp <<EOF
206 int main() { return 0; }
208 "$TEST_COMPILER" "$@" -o conftest.o conftest.cpp
210 rm -f conftest.cpp conftest.o
214 # relies on $TEST_COMPILER being set correctly
220 safe_flag=`shellEscape "$flag"`
221 lflags=$lflags,$safe_flag
223 compilerSupportsFlag "$lflags" >/dev/null 2>&1
226 #-------------------------------------------------------------------------------
227 # operating system detection
228 #-------------------------------------------------------------------------------
230 # need that throughout the script
231 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
232 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
233 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
234 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
236 # detect the "echo without newline" style. usage: echo $ECHO_N "<string>$ECHO_C"
237 if echo '\c' | grep '\c' >/dev/null; then
243 #-------------------------------------------------------------------------------
244 # window system detection
245 #-------------------------------------------------------------------------------
251 if [ -d /System/Library/Frameworks/Carbon.framework ]; then
256 #-----------------------------------------------------------------------------
257 # Qt version detection
258 #-----------------------------------------------------------------------------
259 QT_VERSION=`grep '^# *define *QT_VERSION_STR' "$relpath"/src/corelib/global/qglobal.h`
263 if [ -n "$QT_VERSION" ]; then
264 QT_VERSION=`echo $QT_VERSION | sed 's,^# *define *QT_VERSION_STR *"*\([^ ]*\)"$,\1,'`
265 MAJOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
266 if [ -n "$MAJOR" ]; then
267 MINOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
268 PATCH=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
269 QT_MAJOR_VERSION="$MAJOR"
270 [ -z "$MINOR" ] || QT_MINOR_VERSION="$MINOR"
271 [ -z "$PATCH" ] || QT_PATCH_VERSION="$PATCH"
274 if [ -z "$QT_MAJOR_VERSION" ]; then
275 echo "Cannot process version from qglobal.h: $QT_VERSION"
276 echo "Cannot proceed."
280 QT_PACKAGEDATE=`grep '^# *define *QT_PACKAGEDATE_STR' "$relpath"/src/corelib/global/qglobal.h | sed -e 's,^# *define *QT_PACKAGEDATE_STR *"\([^ ]*\)"$,\1,' -e s,-,,g`
281 if [ -z "$QT_PACKAGEDATE" ]; then
282 echo "Unable to determine package date from qglobal.h: '$QT_PACKAGEDATE'"
283 echo "Cannot proceed"
287 #-------------------------------------------------------------------------------
289 #-------------------------------------------------------------------------------
293 EditionString=Commercial
297 # parse the arguments, setting things to "yes" or "no"
298 while [ "$#" -gt 0 ]; do
302 #Autoconf style options
304 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
308 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
312 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
313 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
316 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
321 # this option may or may not be followed by an argument
322 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
329 -h|help|--help|-help)
330 if [ "$VAL" = "yes" ]; then
332 COMMERCIAL_USER="no" #doesn't matter we will display the help
335 COMMERCIAL_USER="no" #doesn't matter we will display the help
339 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
343 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
350 if [ "$UNKNOWN_ARG" = "yes" ]; then
359 if [ "$PLATFORM_QPA" != "no" ]; then
360 if [ "$PLATFORM_QPA" = "maybe" ]; then
365 echo "No license exists to enable Qt QPA. Disabling."
372 COMMERCIAL_USER="yes"
386 if [ "$COMMERCIAL_USER" = "ask" ]; then
388 echo "Which edition of Qt do you want to use ?"
390 echo "Type 'c' if you want to use the Commercial Edition."
391 echo "Type 'o' if you want to use the Open Source Edition."
395 if [ "$commercial" = "c" ]; then
396 COMMERCIAL_USER="yes"
398 elif [ "$commercial" = "o" ]; then
405 if [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes" ]; then
406 # Commercial preview release
407 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
410 QT_EDITION="QT_EDITION_DESKTOP"
411 LicenseType="Technology Preview"
412 elif [ $COMMERCIAL_USER = "yes" ]; then
413 # one of commercial editions
414 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
415 [ "$PLATFORM_QPA" = "maybe" ] && PLATFORM_QPA=no
417 # read in the license file
418 if [ -f "$LICENSE_FILE" ]; then
419 . "$LICENSE_FILE" >/dev/null 2>&1
420 if [ -z "$LicenseKeyExt" ]; then
422 echo "You are using an old license file."
424 echo "Please install the license file supplied by Nokia,"
425 echo "or install the Qt Open Source Edition if you intend to"
426 echo "develop free software."
429 if [ -z "$Licensee" ]; then
431 echo "Invalid license key. Please check the license key."
435 if [ -z "$LicenseKeyExt" ]; then
437 echo $ECHO_N "Please enter your license key: $ECHO_C"
439 Licensee="Unknown user"
444 echo "$LicenseKeyExt" | grep ".....*-....*-....*-....*-.....*-.....*-...." >/dev/null 2>&1 \
445 && LicenseValid="yes" \
447 if [ "$LicenseValid" != "yes" ]; then
449 echo "Invalid license key. Please check the license key."
452 ProductCode=`echo $LicenseKeyExt | cut -f 1 -d - | cut -b 1`
453 PlatformCode=`echo $LicenseKeyExt | cut -f 2 -d -`
454 LicenseTypeCode=`echo $LicenseKeyExt | cut -f 3 -d -`
455 LicenseFeatureCode=`echo $LicenseKeyExt | cut -f 4 -d - | cut -b 1`
457 # determine which edition we are licensed to use
458 case "$LicenseTypeCode" in
460 LicenseType="Commercial"
464 QT_EDITION="QT_EDITION_UNIVERSAL"
467 Edition="FullFramework"
468 EditionString="Full Framework"
469 QT_EDITION="QT_EDITION_DESKTOP"
472 Edition="GUIFramework"
473 EditionString="GUI Framework"
474 QT_EDITION="QT_EDITION_DESKTOPLIGHT"
479 LicenseType="Evaluation"
480 QMakeVar add DEFINES QT_EVAL
484 QT_EDITION="QT_EDITION_EVALUATION"
489 if [ -z "$LicenseType" -o -z "$Edition" -o -z "$QT_EDITION" ]; then
491 echo "Invalid license key. Please check the license key."
495 # verify that we are licensed to use Qt on this platform
497 case "$PlatformCode" in
500 PlatformCode=`echo "$PlatformCode" | sed 'h;y/8NPQRTZ/UCWX9M7/;x;G;s/\(.\)....\(.\)./\1\2/'`
504 PlatformCode=`echo "$PlatformCode" | sed 's/.$//'`
507 ### EMBEDDED_QPA logic missing ###
508 case "$PlatformCode,$PLATFORM_MAC,$PLATFORM_QWS" in
509 X9,* | XC,* | XU,* | XW,* | XM,*)
511 LICENSE_EXTENSION="-ALLOS"
513 8M,* | KM,* | S9,* | SC,* | SM,* | SU,* | SW,* | X9,* | XC,* | XU,* | XW,*)
514 # Qt for Embedded Linux
515 LICENSE_EXTENSION="-EMBEDDED"
517 6M,*,no | N7,*,no | N9,*,no | NX,*,no)
519 LICENSE_EXTENSION="-EMBEDDED"
521 FM,*,no | LM,yes,* | ZM,no,no)
523 LICENSE_EXTENSION="-DESKTOP"
527 [ "$PLATFORM_MAC" = "yes" ] && Platform='Mac OS X'
529 echo "You are not licensed for the $Platform platform."
531 echo "Please contact qt-info@nokia.com to upgrade your license to"
532 echo "include the $Platform platform, or install the Qt Open Source Edition"
533 echo "if you intend to develop free software."
538 if test -r "$relpath/.LICENSE"; then
539 # Generic, non-final license
541 line=`sed 'y/a-z/A-Z/;q' "$relpath"/.LICENSE`
546 *TECHNOLOGY?PREVIEW*)
553 echo >&2 "Invalid license files; cannot continue"
558 EditionString="$Edition"
559 QT_EDITION="QT_EDITION_DESKTOP"
562 case "$LicenseFeatureCode" in
565 case "$LicenseType" in
567 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}-US" "$outpath/LICENSE"
570 cp -f "$relpath/.LICENSE-EVALUATION-US" "$outpath/LICENSE"
576 case "$LicenseType" in
578 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}" "$outpath/LICENSE"
581 cp -f "$relpath/.LICENSE-EVALUATION" "$outpath/LICENSE"
587 echo "Invalid license key. Please check the license key."
591 case "$LicenseFeatureCode" in
599 if [ '!' -f "$outpath/LICENSE" ]; then
600 echo "The LICENSE, LICENSE.GPL3 LICENSE.LGPL file shipped with"
601 echo "this software has disappeared."
603 echo "Sorry, you are not licensed to use this software."
604 echo "Try re-installing."
608 elif [ $COMMERCIAL_USER = "no" ]; then
609 # Open Source edition - may only be used under the terms of the GPL or LGPL.
610 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
611 Licensee="Open Source"
613 EditionString="Open Source"
614 QT_EDITION="QT_EDITION_OPENSOURCE"
617 #-------------------------------------------------------------------------------
618 # initalize variables
619 #-------------------------------------------------------------------------------
621 SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
622 for varname in $SYSTEM_VARIABLES; do
623 qmakevarname="${varname}"
624 # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
625 if [ "${varname}" = "LDFLAGS" ]; then
626 qmakevarname="LFLAGS"
627 elif [ "${varname}" = "LD" ]; then
631 'if [ -n "\$'${varname}'" ]; then
632 QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'"
636 # Use CC/CXX to run config.tests
637 mkdir -p "$outpath/config.tests"
638 rm -f "$outpath/config.tests/.qmake.cache"
639 cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
641 QMakeVar add styles "cde mac motif plastique cleanlooks windows"
643 # QTDIR may be set and point to an old or system-wide Qt installation
646 # the minimum version of libdbus-1 that we require:
647 MIN_DBUS_1_VERSION=0.93
649 # initalize internal variables
650 CFG_CONFIGURE_EXIT_ON_ERROR=yes
652 CFG_EXCEPTIONS=unspecified
653 CFG_GUI=auto # (yes|no|auto)
679 CFG_OPENVG_LC_INCLUDES=no
680 CFG_OPENVG_SHIVA=auto
681 CFG_OPENVG_ON_OPENGL=auto
687 QT_DEFAULT_BUILD_PARTS="libs examples tests"
691 CFG_AUDIO_BACKEND=auto
693 CFG_DECLARATIVE_DEBUG=yes
694 CFG_JAVASCRIPTCORE_JIT=auto
696 # Target architecture
698 # Host architecture, same as CFG_ARCH when not cross-compiling
700 # Set when the -arch or -host-arch arguments are used
701 OPT_OBSOLETE_HOST_ARG=no
712 CFG_OBSOLETE_WAYLAND=no
725 CFG_SEPARATE_DEBUG_INFO=no
726 CFG_SEPARATE_DEBUG_INFO_NOCOPY=no
727 CFG_REDUCE_EXPORTS=auto
734 CFG_REDUCE_RELOCATIONS=auto
736 CFG_ACCESSIBILITY=auto
741 CFG_CLOCK_GETTIME=auto
742 CFG_CLOCK_MONOTONIC=auto
750 MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
754 CFG_PREFIX_INSTALL=yes
763 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
764 XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
768 OPT_CONFIRM_LICENSE=no
781 QPA_PLATFORM_GUARD=yes
783 # initalize variables used for installation
792 QT_INSTALL_TRANSLATIONS=
801 #flags for SQL drivers
809 QT_LFLAGS_ODBC="-lodbc"
812 # flags for libdbus-1
816 # flags for Glib (X11 only)
820 # flags for GStreamer (X11 only)
824 #-------------------------------------------------------------------------------
825 # check SQL drivers available in this package
826 #-------------------------------------------------------------------------------
828 # opensource version removes some drivers, so force them to be off
834 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
835 for a in "$relpath/src/plugins/sqldrivers/"*; do
837 base_a=`basename "$a"`
838 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
839 eval "CFG_SQL_${base_a}=auto"
844 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
845 if [ -d "$relpath/src/plugins/imageformats" ]; then
846 for a in "$relpath/src/plugins/imageformats/"*; do
848 base_a=`basename "$a"`
849 CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
854 #-------------------------------------------------------------------------------
855 # parse command line arguments
856 #-------------------------------------------------------------------------------
858 # parse the arguments, setting things to "yes" or "no"
859 while [ "$#" -gt 0 ]; do
863 #Autoconf style options
865 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
869 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
873 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
874 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
877 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
881 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
885 -no-*-*|-plugin-*-*|-qt-*-*)
886 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
887 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
891 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
894 #Qt style yes options
895 -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|-eglfs|-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|-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)
896 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
899 #Qt style options that pass an argument
901 if [ "$PLATFORM_QPA" != "yes" ]; then
903 echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
907 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
911 -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-testsdir|-depths|-make|-nomake|-platform|-xplatform|-sdk|-arch|-host-arch|-mysql_config|-sysroot|-hostdatadir|-hostbindir)
912 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
916 #Qt style complex options in one command
917 -enable-*|-disable-*)
918 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
919 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
921 #Qt Builtin/System style options
922 -no-*|-system-*|-qt-*)
923 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
924 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
926 #Options that cannot be generalized
933 # this option may or may not be followed by an argument
934 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
943 # this option may or may not be followed by an argument
944 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
953 # this option may or may not be followed by an argument
954 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
962 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
963 # this option may or may not be followed by an argument
964 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
983 if [ "$1" = "-D" ]; then
987 VAL=`echo $1 | sed 's,-D,,'`
992 # this option may or may not be followed by an argument
993 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1002 if [ "$1" = "-I" ]; then
1006 VAL=`echo $1 | sed 's,-I,,'`
1011 if [ "$1" = "-L" ]; then
1015 VAL=`echo $1 | sed 's,-L,,'`
1020 if [ "$1" = "-R" ]; then
1024 VAL=`echo $1 | sed 's,-R,,'`
1029 VAL=`echo $1 | sed 's,-l,,'`
1033 if [ "$1" = "-F" ]; then
1037 VAL=`echo $1 | sed 's,-F,,'`
1042 if [ "$1" = "-fw" ]; then
1046 VAL=`echo $1 | sed 's,-fw,,'`
1054 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1061 if [ "$UNKNOWN_ARG" = "yes" ]; then
1062 echo "$1: unknown argument"
1073 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1074 CFG_ACCESSIBILITY="$VAL"
1083 CFG_USE_GNUMAKE="$VAL"
1086 CFG_MYSQL_CONFIG="$VAL"
1089 QT_INSTALL_PREFIX="$VAL"
1092 QT_HOST_PREFIX="$VAL"
1101 QT_FORCE_PKGCONFIG=yes
1104 QT_INSTALL_DOCS="$VAL"
1107 QT_INSTALL_HEADERS="$VAL"
1110 QT_INSTALL_PLUGINS="$VAL"
1113 QT_INSTALL_IMPORTS="$VAL"
1116 QT_INSTALL_DATA="$VAL"
1119 QT_INSTALL_LIBS="$VAL"
1128 QT_INSTALL_TRANSLATIONS="$VAL"
1130 sysconfdir|settingsdir)
1131 QT_INSTALL_SETTINGS="$VAL"
1134 QT_INSTALL_EXAMPLES="$VAL"
1137 QT_INSTALL_TESTS="$VAL"
1146 QT_INSTALL_BINS="$VAL"
1156 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1163 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1164 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1165 [ "$VAL" = "es2" ]; then
1172 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1179 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1182 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1190 if [ "$BUILD_ON_MAC" = "yes" ]; then
1197 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1198 CFG_MAC_DWARF2="$VAL"
1204 OPT_OBSOLETE_HOST_ARG=yes
1207 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1208 CFG_MAC_HARFBUZZ="$VAL"
1215 if [ "$BUILD_ON_MAC" = "yes" ]; then
1216 CFG_FRAMEWORK="$VAL"
1222 if [ "$VAL" = "yes" ]; then
1224 QMakeVar add QMAKE_CFLAGS -pg
1225 QMakeVar add QMAKE_CXXFLAGS -pg
1226 QMakeVar add QMAKE_LFLAGS -pg
1227 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1233 if [ "$VAL" = "yes" ]; then
1234 QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon"
1237 exceptions|g++-exceptions)
1238 if [ "$VAL" = "no" ]; then
1240 elif [ "$VAL" = "yes" ]; then
1248 # keep compatibility with old platform names
1254 PLATFORM=hpux-acc-o64
1257 PLATFORM=hpux-acc-64
1260 PLATFORM=hpux-acc-64
1272 PLATFORM=reliant-cds-64
1275 PLATFORM=solaris-cc-64
1278 PLATFORM=unixware-cc
1281 PLATFORM=unixware-g++
1284 PLATFORM=unixware-cc
1287 PLATFORM=unixware-g++
1293 i386) NATIVE_64_ARCH="x86_64" ;;
1294 powerpc) NATIVE_64_ARCH="ppc64" ;;
1295 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1297 if [ ! -z "$NATIVE_64_ARCH" ]; then
1298 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1305 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1308 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1309 CFG_DEBUG_RELEASE="$VAL"
1315 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1316 CFG_RELEASE_QMAKE="$VAL"
1322 if [ "$VAL" = "yes" ]; then
1324 elif [ "$VAL" = "no" ]; then
1331 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1332 CFG_PREFIX_INSTALL="$VAL"
1340 developer-build|commercial|opensource)
1341 # These switches have been dealt with already
1344 if [ "$VAL" = "yes" ]; then
1346 elif [ "$VAL" = "no" ]; then
1353 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1354 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1360 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1361 if [ "$VAL" = "no" ]; then
1362 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1363 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1364 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1370 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1377 if [ "$VAL" = "no" ]; then
1384 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1392 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1399 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1406 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1413 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1420 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1427 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1434 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1441 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1448 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1449 CFG_PRECOMPILE="$VAL"
1454 separate-debug-info)
1455 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1456 CFG_SEPARATE_DEBUG_INFO="$VAL"
1457 elif [ "$VAL" = "nocopy" ] ; then
1458 CFG_SEPARATE_DEBUG_INFO="yes"
1459 CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1465 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1466 CFG_REDUCE_EXPORTS="$VAL"
1472 if [ "$VAL" = "no" ]; then
1479 if [ "$VAL" = "no" ]; then
1486 if [ "$VAL" = "no" ]; then
1493 if [ "$VAL" = "no" ]; then
1500 if [ "$VAL" = "no" ]; then
1507 if [ "$VAL" = "no" ]; then
1517 if [ "$VAL" = "no" ]; then
1524 if [ "$VAL" = "no" ]; then
1531 if [ "$VAL" = "no" ]; then
1532 CFG_MIPS_DSPR2="$VAL"
1538 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1539 CFG_REDUCE_RELOCATIONS="$VAL"
1545 [ "$VAL" = "qt" ] && VAL=yes
1546 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1551 # No longer supported:
1552 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1555 if [ "$VAL" = "system" ]; then
1562 [ "$VAL" = "yes" ] && VAL=qt
1563 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1570 [ "$VAL" = "yes" ] && VAL=qt
1571 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1578 if [ "$VAL" = "system" ] || [ "$VAL" = "no" ]; then
1585 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1592 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1599 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1606 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1613 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1620 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1621 CFG_FONTCONFIG="$VAL"
1627 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1634 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1641 CFG_OBSOLETE_WAYLAND=yes
1644 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1651 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1658 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1665 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1672 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1679 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1686 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1687 CFG_GSTREAMER="$VAL"
1693 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1694 CFG_QGTKSTYLE="$VAL"
1700 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1703 if [ "$VAL" = "no" ]; then
1711 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1713 elif [ "$VAL" = "no" ]; then
1720 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1721 QPA_PLATFORM_GUARD="$VAL"
1727 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1729 elif [ "$VAL" = "runtime" ]; then
1736 if [ "$VAL" = "yes" ]; then
1743 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1750 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1751 CFG_LARGEFILE="$VAL"
1757 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1764 if [ "$VAL" = "yes" ]; then
1765 CFG_OPENSSL="linked"
1771 if [ "$VAL" = "yes" ]; then
1772 CFG_DECLARATIVE_DEBUG="yes"
1774 if [ "$VAL" = "no" ]; then
1775 CFG_DECLARATIVE_DEBUG="no"
1782 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1783 CFG_JAVASCRIPTCORE_JIT="$VAL"
1789 if [ "$VAL" = "yes" ]; then
1790 OPT_CONFIRM_LICENSE="$VAL"
1796 if [ "$VAL" = "yes" ]; then
1802 sql-*|imageformat-*)
1803 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1804 # if autoconf style options were used, $VAL can be "yes" or "no"
1805 [ "$VAL" = "yes" ] && VAL=qt
1806 # now $VAL should be "no", "qt", or "plugin"... double-check
1807 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1810 # now $VAL is "no", "qt", or "plugin"
1812 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1813 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1815 # Grab the available values
1818 avail="$CFG_SQL_AVAILABLE"
1821 avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
1822 if [ "$OPT" != "plugin" ]; then
1823 # png is always built in
1829 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1833 # Check that that user's value is available.
1836 if [ "$VAL" = "$d" ]; then
1841 [ "$found" = yes ] || ERROR=yes
1843 if [ "$VAR" = "sql" ]; then
1844 # set the CFG_SQL_driver
1845 eval "CFG_SQL_$VAL=\$OPT"
1847 elif [ "$VAR" = "imageformat" ]; then
1848 [ "$OPT" = "qt" ] && OPT=yes
1849 VAL="`echo $VAL |tr a-z A-Z`"
1850 eval "CFG_$VAL=$OPT"
1854 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
1855 if [ "$OPT" = "plugin" ]; then
1858 QMakeVar add "${VAR}s" "${VAL}"
1859 elif [ "$OPT" = "no" ]; then
1860 PLUG_VAR="${VAR}-plugin"
1862 QMakeVar del "${IN_VAR}s" "$VAL"
1863 QMakeVar del "${PLUG_VAR}s" "$VAL"
1865 if [ "$ERROR" = "yes" ]; then
1866 echo "$CURRENT_OPT: unknown argument"
1871 if [ "$VAL" = "yes" ]; then
1872 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
1873 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
1877 elif [ "$VAL" = "no" ]; then
1878 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
1879 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
1888 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1895 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1902 D_FLAGS="$D_FLAGS \"$VAL\""
1905 I_FLAGS="$I_FLAGS -I\"${VAL}\""
1908 L_FLAGS="$L_FLAGS -L\"${VAL}\""
1911 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
1914 l_FLAGS="$l_FLAGS -l\"${VAL}\""
1917 if [ "$BUILD_ON_MAC" = "yes" ]; then
1918 L_FLAGS="$L_FLAGS -F\"${VAL}\""
1919 I_FLAGS="$I_FLAGS -F\"${VAL}\""
1925 if [ "$BUILD_ON_MAC" = "yes" ]; then
1926 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
1932 W_FLAGS="$W_FLAGS \"${VAL}\""
1938 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1939 CFG_PHONON_BACKEND="$VAL"
1951 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1952 CFG_AUDIO_BACKEND="$VAL"
1958 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1965 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1966 CFG_FORCE_ASSERTS="$VAL"
1972 if [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
1982 if [ "$UNKNOWN_OPT" = "yes" ]; then
1983 echo "${CURRENT_OPT}: invalid command-line switch"
1989 # update QT_CONFIG to show our current predefined configuration
1990 case "$CFG_QCONFIG" in
1991 minimal|small|medium|large|full)
1992 # these are a sequence of increasing functionality
1993 for c in minimal small medium large full; do
1994 QT_CONFIG="$QT_CONFIG $c-config"
1995 [ "$CFG_QCONFIG" = $c ] && break
1999 # not known to be sufficient for anything
2000 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
2001 echo >&2 "Error: configuration file not found:"
2002 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2004 echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2009 #-------------------------------------------------------------------------------
2010 # build tree initialization
2011 #-------------------------------------------------------------------------------
2013 # where to find which..
2014 unixtests="$relpath/config.tests/unix"
2015 mactests="$relpath/config.tests/mac"
2016 WHICH="$unixtests/which.test"
2018 PERL=`$WHICH perl 2>/dev/null`
2020 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2022 for e in gawk nawk awk; do
2023 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2030 PERL="/usr/bin/perl"
2031 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2035 ### skip this if the user just needs help...
2036 if [ "$OPT_HELP" != "yes" ]; then
2038 # is this a shadow build?
2039 if [ "$OPT_SHADOW" = "maybe" ]; then
2041 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2042 if [ -h "$outpath" ]; then
2043 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2049 if [ "$OPT_SHADOW" = "yes" ]; then
2050 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2051 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2052 echo >&2 "Cannot proceed."
2055 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2058 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2060 echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
2061 echo "Qt can be built in release mode with separate debug information, so"
2062 echo "-debug-and-release is not necessary anymore"
2066 if [ "$CFG_SILENT" = "yes" ]; then
2067 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2070 # if the source tree is different from the build tree,
2071 # symlink or copy part of the sources
2072 if [ "$OPT_SHADOW" = "yes" ]; then
2073 echo "Preparing build tree..."
2075 if [ -z "$PERL" ]; then
2077 echo "You need perl in your PATH to make a shadow build."
2078 echo "Cannot proceed."
2082 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2084 # make a syncqt script that can be used in the shadow
2085 rm -f "$outpath/bin/syncqt"
2086 if [ -x "$relpath/bin/syncqt" ]; then
2087 mkdir -p "$outpath/bin"
2088 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2089 echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2090 chmod 755 "$outpath/bin/syncqt"
2093 for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
2094 rm -f "$outpath/bin/$i"
2095 if [ -x "$relpath/bin/$i" ]; then
2096 mkdir -p "$outpath/bin"
2097 echo "#!/bin/sh" >"$outpath/bin/$i"
2098 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2099 echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2100 chmod 755 "$outpath/bin/$i"
2104 # symlink the mkspecs directory
2105 mkdir -p "$outpath/mkspecs"
2106 rm -rf "$outpath"/mkspecs/*
2107 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2108 rm -f "$outpath/mkspecs/default"
2112 rm -rf "$outpath/mkspecs/$1"
2113 find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2114 find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2117 # Special case for mkspecs/features directory.
2118 # To be able to place .prf files into a shadow build directory,
2119 # we're creating links for files only. The directory structure is reproduced.
2120 ShadowMkspecs features
2122 # The modules dir is special, too.
2123 ShadowMkspecs modules
2125 # symlink the doc directory
2126 rm -rf "$outpath/doc"
2127 ln -s "$relpath/doc" "$outpath/doc"
2130 # symlink fonts to be able to run application from build directory
2131 if [ "$PLATFORM_QPA" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
2132 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2133 mkdir -p "${outpath}/lib"
2134 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2138 if [ "$OPT_FAST" = "auto" ]; then
2139 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2146 # find a make command
2147 if [ -z "$MAKE" ]; then
2149 for mk in gmake make; do
2150 if "$WHICH" $mk >/dev/null 2>&1; then
2155 if [ -z "$MAKE" ]; then
2156 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2157 echo >&2 "Cannot proceed."
2160 # export MAKE, we need it later in the config.tests
2166 #-------------------------------------------------------------------------------
2167 # auto-detect all that hasn't been specified in the arguments
2168 #-------------------------------------------------------------------------------
2170 if [ -z "$PLATFORM" ]; then
2172 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2174 if [ "$PLATFORM_QPA" = "yes" ]; then
2175 OSX_VERSION=`uname -r | cut -d. -f1`
2176 if [ "$OSX_VERSION" -ge 11 ]; then
2177 # We're on Lion or above. Check if we have a supported Clang version
2178 case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
2181 PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
2196 #PLATFORM=aix-g++-64
2198 #PLATFORM=aix-xlc-64
2200 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2210 # PLATFORM=dynix-g++
2216 PLATFORM=freebsd-g++
2218 - Also available for FreeBSD: freebsd-icc
2222 PLATFORM=openbsd-g++
2233 #PLATFORM=irix-cc-64
2235 - Also available for IRIX: irix-g++ irix-cc-64
2239 case "$UNAME_MACHINE" in
2241 #PLATFORM=hpuxi-acc-32
2242 PLATFORM=hpuxi-acc-64
2244 - Also available for HP-UXi: hpuxi-acc-32
2250 #PLATFORM=hpux-acc-64
2252 #PLATFORM=hpux-acc-o64
2254 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2263 - Also available for Tru64: tru64-g++
2267 case "$UNAME_MACHINE" in
2269 PLATFORM=linux-g++-64
2276 - Also available for Linux: linux-kcc linux-icc linux-cxx
2280 if [ "$XPLATFORM_MINGW" = "yes" ]; then
2281 PLATFORM="solaris-g++"
2283 #PLATFORM=solaris-g++
2285 #PLATFORM=solaris-cc64
2288 - Also available for Solaris: solaris-g++ solaris-cc-64
2291 ReliantUNIX-*:*|SINIX-*:*)
2292 PLATFORM=reliant-cds
2293 #PLATFORM=reliant-cds-64
2295 - Also available for Reliant UNIX: reliant-cds-64
2305 #PLATFORM=unixware-g++
2306 PLATFORM=unixware-cc
2308 - Also available for OpenUNIX: unixware-g++
2312 #PLATFORM=unixware-g++
2313 PLATFORM=unixware-cc
2315 - Also available for UnixWare: unixware-g++
2322 - Also available for SCO OpenServer: sco-g++
2326 PLATFORM=unixware-g++
2329 PLATFORM=unsupported/qnx-g++
2332 if [ "$OPT_HELP" != "yes" ]; then
2334 for p in $PLATFORMS; do
2335 echo " $relconf $* -platform $p"
2338 echo " The build script does not currently recognize all" >&2
2339 echo " platforms supported by Qt." >&2
2340 echo " Rerun this script with a -platform option listed to" >&2
2341 echo " set the system/compiler combination you use." >&2
2348 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2350 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2352 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2353 case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
2355 if [ -d "$PLATFORM" ]; then
2356 QMAKESPEC="$PLATFORM"
2358 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2360 if [ -d "$XPLATFORM" ]; then
2361 XQMAKESPEC="$XPLATFORM"
2363 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2365 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2366 QT_CROSS_COMPILE=yes
2367 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2368 QTCONFIG_CONFIG="$QTCONFIG_CONFIG cross_compile"
2371 if [ "$BUILD_ON_MAC" = "yes" ]; then
2372 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2374 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2375 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2376 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2377 echo " built with 'macx-g++'" >&2
2383 # check specified platforms are supported
2384 if [ '!' -d "$QMAKESPEC" ]; then
2386 echo " The specified system/compiler is not supported:"
2390 echo " Please see the README file for a complete list."
2394 if [ '!' -d "$XQMAKESPEC" ]; then
2396 echo " The specified system/compiler is not supported:"
2400 echo " Please see the README file for a complete list."
2404 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2406 echo " The specified system/compiler port is not complete:"
2408 echo " $XQMAKESPEC/qplatformdefs.h"
2410 echo " Please contact qt-info@nokia.com."
2415 # now look at the configs and figure out what platform we are config'd for
2416 [ "$PLATFORM_QPA" != "yes" ] \
2417 && [ -n "`getXQMakeConf QMAKE_LIBS_X11`" ] \
2419 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2421 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2422 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2423 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2424 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2425 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2429 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2430 case `basename "$XPLATFORM"` in
2433 echo "You are not licensed for Qt for `basename $XPLATFORM`."
2435 echo "Please contact qt-info@nokia.com to upgrade your license to"
2436 echo "include this platform, or install the Qt Open Source Edition"
2437 echo "if you intend to develop free software."
2443 #-------------------------------------------------------------------------------
2444 # tests that don't need qmake (must be run before displaying help)
2445 #-------------------------------------------------------------------------------
2447 # detect build style
2448 if [ "$CFG_DEBUG" = "auto" ]; then
2449 if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2450 CFG_DEBUG_RELEASE=yes
2452 elif [ "$CFG_DEV" = "yes" ]; then
2453 CFG_DEBUG_RELEASE=no
2456 CFG_DEBUG_RELEASE=no
2460 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2461 QT_CONFIG="$QT_CONFIG build_all"
2464 if [ -z "$PKG_CONFIG" ]; then
2465 # See if PKG_CONFIG is set in the mkspec:
2466 PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
2468 if [ -z "$PKG_CONFIG" ]; then
2469 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
2472 # Work out if we can use pkg-config
2473 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
2474 if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
2476 echo >&2 "You have asked to use pkg-config and are cross-compiling."
2477 echo >&2 "Please make sure you have a correctly set-up pkg-config"
2478 echo >&2 "environment!"
2480 if [ -z "$PKG_CONFIG_LIBDIR" ]; then
2482 echo >&2 "Warning: PKG_CONFIG_LIBDIR has not been set. This could mean"
2483 echo >&2 "the host's .pc files will be used (even if you set PKG_CONFIG_PATH)."
2484 echo >&2 "This is probably not what you want."
2486 elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
2488 echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
2489 echo >&2 "been set. This means your toolchain's .pc files must contain"
2490 echo >&2 "the paths to the toolchain's libraries & headers. If configure"
2491 echo >&2 "tests are failing, please check these files."
2496 echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
2497 echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
2498 echo >&2 "dependencies"
2504 if [ ! -n "$PKG_CONFIG" ]; then
2505 QT_CONFIG="$QT_CONFIG no-pkg-config"
2508 # pass on $CFG_SDK to the configure tests.
2509 if [ '!' -z "$CFG_SDK" ]; then
2510 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
2513 # find the default framework value
2514 if [ "$BUILD_ON_MAC" = "yes" ]; then
2515 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2516 CFG_FRAMEWORK="$CFG_SHARED"
2517 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2519 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2527 QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
2529 TEST_COMPILER=$QMAKE_CONF_COMPILER
2530 if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
2531 if [ -z "$TEST_COMPILER" ]; then
2532 echo "ERROR: Cannot set the compiler for the configuration tests"
2538 if [ -n "$CFG_SYSROOT" ]; then
2539 if compilerSupportsFlag --sysroot="$CFG_SYSROOT"; then
2540 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting sysroot to: $CFG_SYSROOT"
2541 SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
2543 echo >&2 "The compiler doesn't support the --sysroot flag, I can't set the sysroot"
2547 export SYSROOT_FLAG # used by config.tests/unix/compile.test
2549 # auto-detect precompiled header support
2550 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2551 if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2558 #auto-detect DWARF2 on the mac
2559 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
2560 if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
2567 # don't autodetect support for separate debug info on objcopy when
2568 # cross-compiling as lots of toolchains seems to have problems with this
2569 if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
2570 CFG_SEPARATE_DEBUG_INFO="no"
2573 # auto-detect support for separate debug info in objcopy
2574 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
2575 TEST_COMPILER_CFLAGS=`getXQMakeConf QMAKE_CFLAGS`
2576 TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
2577 TEST_OBJCOPY=`getXQMakeConf QMAKE_OBJCOPY`
2578 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
2579 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
2580 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
2581 CFG_SEPARATE_DEBUG_INFO=no
2585 # binutils on HP-UX is buggy; default to no.
2586 CFG_SEPARATE_DEBUG_INFO=no
2589 CFG_SEPARATE_DEBUG_INFO=yes
2595 # auto-detect -fvisibility support
2596 if [ "$CFG_REDUCE_EXPORTS" != "no" ]; then
2597 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2598 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
2599 echo "-reduce-exports was requested but this compiler does not support it"
2600 echo "Re-run configure with -v for more information"
2603 CFG_REDUCE_EXPORTS=no
2605 CFG_REDUCE_EXPORTS=yes
2609 # detect the availability of the -Bsymbolic-functions linker optimization
2610 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
2611 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2612 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
2613 echo "-reduce-relocations was requested but this compiler does not support it"
2614 echo "Re-run configure with -v for more information"
2617 CFG_REDUCE_RELOCATIONS=no
2619 CFG_REDUCE_RELOCATIONS=yes
2623 # auto-detect GNU make support
2624 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
2628 # find the default framework value
2629 if [ "$BUILD_ON_MAC" = "yes" ]; then
2630 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2631 CFG_FRAMEWORK="$CFG_SHARED"
2632 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2634 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2642 # x11 tests are done after qmake is built
2645 #setup the build parts
2646 if [ -z "$CFG_BUILD_PARTS" ]; then
2647 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
2649 # don't build tools by default when cross-compiling
2650 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2651 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
2654 for nobuild in $CFG_NOBUILD_PARTS; do
2655 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
2657 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
2659 # echo "WARNING: libs is a required part of the build."
2661 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
2664 #-------------------------------------------------------------------------------
2665 # post process QT_INSTALL_* variables
2666 #-------------------------------------------------------------------------------
2668 if [ -z "$QT_INSTALL_PREFIX" ]; then
2669 if [ "$CFG_DEV" = "yes" ]; then
2670 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
2672 QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION
2675 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
2677 if [ -z "$QT_INSTALL_DOCS" ]; then #default
2678 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2679 if [ "$BUILD_ON_MAC" = "yes" ]; then
2680 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
2683 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
2686 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
2688 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
2689 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2690 if [ "$BUILD_ON_MAC" = "yes" ]; then
2691 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2696 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
2699 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
2701 if [ -z "$QT_INSTALL_LIBS" ]; then #default
2702 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2703 if [ "$BUILD_ON_MAC" = "yes" ]; then
2704 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2705 QT_INSTALL_LIBS="/Libraries/Frameworks"
2709 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
2711 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
2713 if [ -z "$QT_INSTALL_BINS" ]; then #default
2714 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2715 if [ "$BUILD_ON_MAC" = "yes" ]; then
2716 QT_INSTALL_BINS="/Developer/Applications/Qt"
2719 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
2721 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
2723 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
2724 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2725 if [ "$BUILD_ON_MAC" = "yes" ]; then
2726 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
2729 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
2731 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
2733 if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
2734 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2735 if [ "$BUILD_ON_MAC" = "yes" ]; then
2736 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
2739 [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
2741 QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
2743 if [ -z "$QT_INSTALL_DATA" ]; then #default
2744 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
2746 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
2748 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
2749 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
2751 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
2753 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
2754 if [ "$BUILD_ON_MAC" = "yes" ]; then
2755 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
2757 QT_INSTALL_SETTINGS=/etc/xdg
2760 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
2762 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
2763 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2764 if [ "$BUILD_ON_MAC" = "yes" ]; then
2765 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
2768 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
2770 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
2773 if [ -z "$QT_INSTALL_TESTS" ]; then #default
2774 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2775 if [ "$BUILD_ON_MAC" = "yes" ]; then
2776 QT_INSTALL_TESTS="/Developer/Tests/Qt"
2779 [ -z "$QT_INSTALL_TESTS" ] && QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback
2781 QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
2783 #------- host paths --------
2785 if [ -z "$QT_HOST_PREFIX" ]; then
2786 QT_HOST_PREFIX=$QT_INSTALL_PREFIX
2789 QT_HOST_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_PREFIX"`
2793 if [ -z "$QT_HOST_BINS" ]; then #default
2795 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2796 if [ "$BUILD_ON_MAC" = "yes" ]; then
2797 QT_HOST_BINS="/Developer/Applications/Qt"
2800 [ -z "$QT_HOST_BINS" ] && QT_HOST_BINS="$QT_HOST_PREFIX/bin" #fallback
2802 QT_HOST_BINS="$QT_INSTALL_BINS"
2805 QT_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_BINS"`
2807 if [ -z "$QT_HOST_DATA" ]; then #default
2809 QT_HOST_DATA="$QT_HOST_PREFIX"
2811 QT_HOST_DATA="$QT_INSTALL_DATA"
2814 QT_HOST_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_DATA"`
2817 #-------------------------------------------------------------------------------
2818 # help - interactive parts of the script _after_ this section please
2819 #-------------------------------------------------------------------------------
2821 # next, emit a usage message if something failed.
2822 if [ "$OPT_HELP" = "yes" ]; then
2823 [ "x$ERROR" = "xyes" ] && echo
2824 if [ "$CFG_NIS" = "no" ]; then
2831 if [ "$CFG_CUPS" = "no" ]; then
2838 if [ "$CFG_ICONV" = "no" ]; then
2845 if [ "$CFG_LARGEFILE" = "no" ]; then
2852 if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then
2859 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
2867 if [ "$CFG_XCB" = "no" ]; then
2875 if [ "$CFG_EGLFS" = "no" ]; then
2883 if [ "$CFG_XINPUT2" = "no" ]; then
2892 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
2893 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
2894 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-testsdir <dir>]
2895 [-release] [-debug] [-debug-and-release]
2896 [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
2897 [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
2898 [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
2899 [-plugin-sql-<driver>] [-system-sqlite]
2900 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
2901 [-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
2902 [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
2903 [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
2904 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
2905 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
2906 [-no-separate-debug-info] [-no-sse2]
2907 [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
2908 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info]
2909 [-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
2910 [-no-audio-backend] [-audio-backend]
2911 [-no-javascript-jit] [-javascript-jit] [-no-declarative-debug] [-declarative-debug]
2912 [-no-optimized-qmake] [-optimized-qmake]
2913 [-no-openssl] [-openssl] [-openssl-linked]
2914 [-no-gtkstyle] [-gtkstyle]
2915 [-qt-pcre] [-system-pcre]
2916 [additional platform specific options (see below)]
2919 Installation options:
2921 -qpa ................ This will enable the QPA build.
2922 QPA is a window system agnostic implementation of Qt.
2924 These are optional, but you may specify install directories.
2926 -prefix <dir> ...... This will install everything relative to <dir>
2927 (default $QT_INSTALL_PREFIX)
2929 if [ "$PLATFORM_QPA" = "yes" ]; then
2932 -hostprefix [dir] .. Tools and libraries needed when developing
2933 applications are installed in [dir]. If [dir] is
2934 not given, the current build directory will be used.
2940 * -prefix-install .... Force a sandboxed "local" installation of
2941 Qt. This will install into
2942 $QT_INSTALL_PREFIX, if this option is
2943 disabled then some platforms will attempt a
2944 "system" install by placing default values to
2945 be placed in a system location other than
2948 You may use these to separate different parts of the install:
2950 -bindir <dir> ......... Executables will be installed to <dir>
2951 (default PREFIX/bin)
2952 -libdir <dir> ......... Libraries will be installed to <dir>
2953 (default PREFIX/lib)
2954 -docdir <dir> ......... Documentation will be installed to <dir>
2955 (default PREFIX/doc)
2956 -headerdir <dir> ...... Headers will be installed to <dir>
2957 (default PREFIX/include)
2958 -plugindir <dir> ...... Plugins will be installed to <dir>
2959 (default PREFIX/plugins)
2960 -importdir <dir> ...... Imports for QML will be installed to <dir>
2961 (default PREFIX/imports)
2962 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
2964 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
2965 (default PREFIX/translations)
2966 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
2967 (default PREFIX/etc/settings)
2968 -examplesdir <dir> .... Examples will be installed to <dir>
2969 (default PREFIX/examples)
2970 -testsdir <dir> ....... Tests will be installed to <dir>
2971 (default PREFIX/tests)
2973 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
2976 -hostbindir <dir> .. Host executables will be installed to <dir>
2977 (default HOSTPREFIX/bin)
2978 -hostdatadir <dir> . Data used by qmake will be installed to <dir>
2979 (default HOSTPREFIX)
2986 The defaults (*) are usually acceptable. A plus (+) denotes a default value
2987 that needs to be evaluated. If the evaluation succeeds, the feature is
2988 included. Here is a short explanation of each option:
2990 * -release ........... Compile and link Qt with debugging turned off.
2991 -debug ............. Compile and link Qt with debugging turned on.
2992 -debug-and-release . Compile and link two versions of Qt, with and without
2993 debugging turned on (Mac only).
2995 -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
2997 -opensource ........ Compile and link the Open-Source Edition of Qt.
2998 -commercial ........ Compile and link the Commercial Edition of Qt.
3001 * -shared ............ Create and use shared Qt libraries.
3002 -static ............ Create and use static Qt libraries.
3004 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3006 -fast .............. Configure Qt quickly by generating Makefiles only for
3007 library and subdirectory targets. All other Makefiles
3008 are created as wrappers, which will in turn run qmake.
3010 -no-largefile ...... Disables large file support.
3011 + -largefile ......... Enables Qt to access files larger than 4 GB.
3014 if [ "$PLATFORM_QPA" = "yes" ]; then
3021 if [ "$CFG_DBUS" = "no" ]; then
3030 $EXCN -no-exceptions ..... Disable exceptions on compilers that support it.
3031 $EXCY -exceptions ........ Enable exceptions on compilers that support it.
3033 -no-accessibility .. Do not compile Accessibility support.
3034 * -accessibility ..... Compile Accessibility support.
3036 $SHN -no-stl ............ Do not compile STL support.
3037 $SHY -stl ............... Compile STL support.
3039 -no-sql-<driver> ... Disable SQL <driver> entirely.
3040 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3042 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3045 Possible values for <driver>:
3046 [ $CFG_SQL_AVAILABLE ]
3048 -system-sqlite ..... Use sqlite from the operating system.
3050 -no-phonon-backend.. Do not build the platform phonon plugin.
3051 + -phonon-backend..... Build the platform phonon plugin.
3053 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
3054 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
3056 -no-declarative-debug ..... Do not build the declarative debugging support.
3057 + -declarative-debug ....... Build the declarative debugging support.
3059 -platform target ... The operating system and compiler you are building
3062 See the README file for a list of supported
3063 operating systems and compilers.
3066 if [ "${PLATFORM_QPA}" != "yes" ]; then
3068 -graphicssystem <sys> Sets an alternate graphics system. Available options are:
3069 raster - Software rasterizer
3070 opengl - Rendering via OpenGL, Experimental!
3071 openvg - Rendering via OpenVG, Experimental!
3078 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3079 -no-sse3 ........... Do not compile with use of SSE3 instructions.
3080 -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
3081 -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
3082 -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
3083 -no-avx ............ Do not compile with use of AVX instructions.
3084 -no-neon ........... Do not compile with use of NEON instructions.
3085 -no-mips_dsp ....... Do not compile with use of MIPS DSP instructions.
3086 -no-mips_dspr2 ..... Do not compile with use of MIPS DSP rev2 instructions.
3088 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3089 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3091 -testcocoon Instrument Qt with the TestCocoon code coverage tool.
3093 -D <string> ........ Add an explicit define to the preprocessor.
3094 -I <string> ........ Add an explicit include path.
3095 -L <string> ........ Add an explicit library path.
3097 -help, -h .......... Display this information.
3099 Third Party Libraries:
3101 -qt-zlib ........... Use the zlib bundled with Qt.
3102 + -system-zlib ....... Use zlib from the operating system.
3103 See http://www.gzip.org/zlib
3105 -no-gif ............ Do not compile GIF reading support.
3107 -no-libpng ......... Do not compile PNG support.
3108 -qt-libpng ......... Use the libpng bundled with Qt.
3109 + -system-libpng ..... Use libpng from the operating system.
3110 See http://www.libpng.org/pub/png
3112 -no-libjpeg ........ Do not compile JPEG support.
3113 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3114 + -system-libjpeg .... Use libjpeg from the operating system.
3115 See http://www.ijg.org
3117 -no-openssl ........ Do not compile support for OpenSSL.
3118 + -openssl ........... Enable run-time OpenSSL support.
3119 -openssl-linked .... Enabled linked OpenSSL support.
3121 -qt-pcre ........... Use the PCRE library bundled with Qt.
3122 + -system-pcre ....... Use the PCRE library from the operating system.
3126 -make <part> ....... Add part to the list of parts to be built at make time.
3127 ($QT_DEFAULT_BUILD_PARTS)
3128 -nomake <part> ..... Exclude part from the list of parts to be built.
3130 -R <string> ........ Add an explicit runtime library path to the Qt
3132 -l <string> ........ Add an explicit library.
3134 -no-rpath .......... Do not use the library install path as a runtime
3136 + -rpath ............. Link Qt libraries and executables using the library
3137 install path as a runtime library path. Equivalent
3138 to -R install_libpath
3140 -continue .......... Continue as far as possible if an error occurs.
3142 -verbose, -v ....... Print verbose information about each step of the
3145 -silent ............ Reduce the build output so that warnings and errors
3146 can be seen more easily.
3148 * -no-optimized-qmake ... Do not build qmake optimized.
3149 -optimized-qmake ...... Build qmake optimized.
3151 -no-gui ............ Don't build the Qt GUI library
3153 $NSN -no-nis ............ Do not compile NIS support.
3154 $NSY -nis ............... Compile NIS support.
3156 $CUN -no-cups ........... Do not compile CUPS support.
3157 $CUY -cups .............. Compile CUPS support.
3158 Requires cups/cups.h and libcups.so.2.
3160 $CIN -no-iconv .......... Do not compile support for iconv(3).
3161 $CIY -iconv ............. Compile support for iconv(3).
3163 $PHN -no-pch ............ Do not use precompiled header support.
3164 $PHY -pch ............... Use precompiled header support.
3166 $DBN -no-dbus ........... Do not compile the QtDBus module.
3167 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3168 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3170 -reduce-relocations ..... Reduce relocations in the libraries through extra
3171 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3172 experimental; needs GNU ld >= 2.18).
3174 -force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
3178 if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3179 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3186 elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
3194 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
3198 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3199 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3201 $XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
3202 $XCBY -xcb ............... Compile Xcb support.
3204 $EGLFSN -no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support.
3205 $EGLFSY -eglfs ............. Compile EGLFS support.
3211 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
3215 $X2N -no-xinput2......... Do not compile XInput2 support.
3216 $X2Y -xinput2............ Compile XInput2 support.
3222 if [ "$PLATFORM_X11" = "yes" ]; then
3223 if [ "$CFG_SM" = "no" ]; then
3230 if [ "$CFG_XSHAPE" = "no" ]; then
3237 if [ "$CFG_XVIDEO" = "no" ]; then
3244 if [ "$CFG_XINERAMA" = "no" ]; then
3251 if [ "$CFG_FONTCONFIG" = "no" ]; then
3258 if [ "$CFG_XCURSOR" = "no" ]; then
3265 if [ "$CFG_XFIXES" = "no" ]; then
3272 if [ "$CFG_XRANDR" = "no" ]; then
3279 if [ "$CFG_XRENDER" = "no" ]; then
3286 if [ "$CFG_MITSHM" = "no" ]; then
3293 if [ "$CFG_XINPUT" = "no" ]; then
3300 if [ "$CFG_XKB" = "no" ]; then
3307 if [ "$CFG_IM" = "no" ]; then
3318 -no-gtkstyle ....... Do not build the GTK theme integration.
3319 + -gtkstyle .......... Build the GTK theme integration.
3321 * -no-nas-sound ...... Do not compile in NAS sound support.
3322 -system-nas-sound .. Use NAS libaudio from the operating system.
3323 See http://radscan.com/nas.html
3325 -no-opengl ......... Do not support OpenGL.
3326 + -opengl <api> ...... Enable OpenGL support.
3327 With no parameter, this will auto-detect the "best"
3328 OpenGL API to use. If desktop OpenGL is available, it
3329 will be used. Use desktop or es2 for <api>
3330 to force the use of the Desktop OpenGL or
3331 OpenGL ES 2 APIs instead.
3333 -no-openvg ........ Do not support OpenVG.
3334 + -openvg ........... Enable OpenVG support.
3335 Requires EGL support, typically supplied by an OpenGL
3336 or other graphics implementation.
3338 $SMN -no-sm ............. Do not support X Session Management.
3339 $SMY -sm ................ Support X Session Management, links in -lSM -lICE.
3341 $SHN -no-xshape ......... Do not compile XShape support.
3342 $SHY -xshape ............ Compile XShape support.
3343 Requires X11/extensions/shape.h.
3345 $XVN -no-xvideo ......... Do not compile XVideo support.
3346 $XVY -xvideo ............ Compile XVideo support.
3347 Requires X11/extensions/Xv.h & Xvlib.h.
3349 $SHN -no-xsync .......... Do not compile XSync support.
3350 $SHY -xsync ............. Compile XSync support.
3351 Requires X11/extensions/sync.h.
3353 $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
3354 $XAY -xinerama .......... Compile Xinerama support.
3355 Requires X11/extensions/Xinerama.h and libXinerama.
3356 By default, Xinerama support will be compiled if
3357 available and the shared libraries are dynamically
3360 $XCN -no-xcursor ........ Do not compile Xcursor support.
3361 $XCY -xcursor ........... Compile Xcursor support.
3362 Requires X11/Xcursor/Xcursor.h and libXcursor.
3363 By default, Xcursor support will be compiled if
3364 available and the shared libraries are dynamically
3367 $XFN -no-xfixes ......... Do not compile Xfixes support.
3368 $XFY -xfixes ............ Compile Xfixes support.
3369 Requires X11/extensions/Xfixes.h and libXfixes.
3370 By default, Xfixes support will be compiled if
3371 available and the shared libraries are dynamically
3374 $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
3375 $XZY -xrandr ............ Compile Xrandr support.
3376 Requires X11/extensions/Xrandr.h and libXrandr.
3378 $XRN -no-xrender ........ Do not compile Xrender support.
3379 $XRY -xrender ........... Compile Xrender support.
3380 Requires X11/extensions/Xrender.h and libXrender.
3382 $XMN -no-mitshm ......... Do not compile MIT-SHM support.
3383 $XMY -mitshm ............ Compile MIT-SHM support.
3384 Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
3386 $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
3387 $FCGY -fontconfig ........ Compile FontConfig support.
3388 Requires fontconfig/fontconfig.h, libfontconfig,
3389 freetype.h and libfreetype.
3391 $XIN -no-xinput ......... Do not compile Xinput support.
3392 $XIY -xinput ............ Compile Xinput support. This also enabled tablet support
3393 which requires IRIX with wacom.h and libXi or
3394 XFree86 with X11/extensions/XInput.h and libXi.
3396 $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
3397 $XKY -xkb ............... Compile XKB support.
3402 if [ "$BUILD_ON_MAC" = "yes" ]; then
3407 -Fstring ........... Add an explicit framework path.
3408 -fw string ......... Add an explicit framework.
3410 * -framework ......... Build Qt as a series of frameworks and
3411 link tools against those frameworks.
3412 -no-framework ...... Do not build Qt as a series of frameworks.
3414 * -dwarf2 ............ Enable dwarf2 debugging symbols.
3415 -no-dwarf2 ......... Disable dwarf2 debugging symbols.
3417 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3418 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3420 -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
3421 * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
3422 QT_ENABLE_HARFBUZZ environment variable.
3427 if [ "$PLATFORM_QPA" = "yes" ]; then
3433 if [ "$PLATFORM_QPA" = "yes" ]; then
3436 -xplatform target ... The target platform when cross-compiling.
3438 -no-feature-<feature> Do not compile in <feature>.
3439 -feature-<feature> .. Compile in <feature>. The available features
3440 are described in src/corelib/global/qfeatures.txt
3442 -no-freetype ........ Do not compile in Freetype2 support.
3443 -qt-freetype ........ Use the libfreetype bundled with Qt.
3444 * -system-freetype .... Use libfreetype from the operating system.
3445 See http://www.freetype.org/
3447 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3448 default ($CFG_QCONFIG).
3450 -no-opengl .......... Do not support OpenGL.
3451 -opengl <api> ....... Enable OpenGL ES support
3452 With no parameter, this will attempt to auto-detect
3453 OpenGL ES 2, or regular desktop OpenGL.
3454 Use es2 for <api> to override auto-detection.
3458 if [ "$PLATFORM_QPA" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
3459 if [ "$CFG_GLIB" = "no" ]; then
3467 $GBN -no-glib ........... Do not compile Glib support.
3468 $GBY -glib .............. Compile Glib support.
3473 [ "x$ERROR" = "xyes" ] && exit 1
3478 # -----------------------------------------------------------------------------
3479 # LICENSING, INTERACTIVE PART
3480 # -----------------------------------------------------------------------------
3482 if [ "$PLATFORM_QPA" = "yes" ]; then
3483 Platform="Qt Lighthouse"
3484 elif [ "$XPLATFORM_MINGW" = "yes" ]; then
3485 Platform="Qt for Windows"
3486 elif [ -n "`getXQMakeConf grep QMAKE_LIBS_X11`" ]; then
3488 Platform="Qt for Linux/X11"
3492 echo "This is the $Platform ${EditionString} Edition."
3495 if [ "$Edition" = "OpenSource" ]; then
3497 echo "You are licensed to use this software under the terms of"
3498 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
3499 if [ -f "$relpath/LICENSE.GPL3" ]; then
3500 echo "You are also licensed to use this software under the terms of"
3501 echo "the GNU General Public License (GPL) versions 3."
3507 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3508 echo "You have already accepted the terms of the $LicenseType license."
3511 if [ -f "$relpath/LICENSE.GPL3" ]; then
3512 echo "Type '3' to view the GNU General Public License version 3."
3514 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
3515 echo "Type 'yes' to accept this license offer."
3516 echo "Type 'no' to decline this license offer."
3518 echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
3522 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
3524 elif [ "$acceptance" = "no" ]; then
3525 echo "You are not licensed to use this software."
3528 elif [ "$acceptance" = "3" ]; then
3529 more "$relpath/LICENSE.GPL3"
3530 elif [ "$acceptance" = "L" ]; then
3531 more "$relpath/LICENSE.LGPL"
3534 elif [ "$Edition" = "Preview" ]; then
3535 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
3538 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3539 echo "You have already accepted the terms of the $LicenseType license."
3542 echo "You are licensed to use this software under the terms of"
3543 echo "the $TheLicense"
3545 echo "Type '?' to read the Preview License."
3546 echo "Type 'yes' to accept this license offer."
3547 echo "Type 'no' to decline this license offer."
3549 echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
3553 if [ "$acceptance" = "yes" ]; then
3555 elif [ "$acceptance" = "no" ] ;then
3556 echo "You are not licensed to use this software."
3559 elif [ "$acceptance" = "?" ]; then
3560 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
3563 elif [ "$Edition" != "OpenSource" ]; then
3564 if [ -n "$ExpiryDate" ]; then
3565 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
3566 [ -z "$ExpiryDate" ] && ExpiryDate="0"
3567 Today=`date +%Y%m%d`
3568 if [ "$Today" -gt "$ExpiryDate" ]; then
3569 case "$LicenseType" in
3570 Commercial|Academic|Educational)
3571 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
3573 echo "NOTICE NOTICE NOTICE NOTICE"
3575 echo " Your support and upgrade period has expired."
3577 echo " You are no longer licensed to use this version of Qt."
3578 echo " Please contact qt-info@nokia.com to renew your support"
3579 echo " and upgrades for this license."
3581 echo "NOTICE NOTICE NOTICE NOTICE"
3586 echo "WARNING WARNING WARNING WARNING"
3588 echo " Your support and upgrade period has expired."
3590 echo " You may continue to use your last licensed release"
3591 echo " of Qt under the terms of your existing license"
3592 echo " agreement. But you are not entitled to technical"
3593 echo " support, nor are you entitled to use any more recent"
3594 echo " Qt releases."
3596 echo " Please contact qt-info@nokia.com to renew your"
3597 echo " support and upgrades for this license."
3599 echo "WARNING WARNING WARNING WARNING"
3606 echo "NOTICE NOTICE NOTICE NOTICE"
3608 echo " Your Evaluation license has expired."
3610 echo " You are no longer licensed to use this software. Please"
3611 echo " contact qt-info@nokia.com to purchase license, or install"
3612 echo " the Qt Open Source Edition if you intend to develop free"
3615 echo "NOTICE NOTICE NOTICE NOTICE"
3622 TheLicense=`head -n 1 "$outpath/LICENSE"`
3624 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3625 echo "You have already accepted the terms of the $TheLicense."
3628 echo "You are licensed to use this software under the terms of"
3629 echo "the $TheLicense."
3631 echo "Type '?' to view the $TheLicense."
3632 echo "Type 'yes' to accept this license offer."
3633 echo "Type 'no' to decline this license offer."
3635 echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
3639 if [ "$acceptance" = "yes" ]; then
3641 elif [ "$acceptance" = "no" ]; then
3642 echo "You are not licensed to use this software."
3645 else [ "$acceptance" = "?" ]
3646 more "$outpath/LICENSE"
3651 # this should be moved somewhere else
3654 AIX_VERSION=`uname -v`
3655 if [ "$AIX_VERSION" -lt "5" ]; then
3656 QMakeVar add QMAKE_LIBS_X11 -lbind
3663 #-------------------------------------------------------------------------------
3664 # generate qconfig.cpp
3665 #-------------------------------------------------------------------------------
3666 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
3668 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3670 static const char qt_configure_licensee_str [256 + 12] = "qt_lcnsuser=$Licensee";
3671 static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$Edition";
3673 /* Installation date */
3674 static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`";
3676 /* Installation Info */
3677 static const char qt_configure_prefix_path_strs[][256 + 12] = {
3678 "qt_prfxpath=$QT_INSTALL_PREFIX",
3679 "qt_docspath=$QT_INSTALL_DOCS",
3680 "qt_hdrspath=$QT_INSTALL_HEADERS",
3681 "qt_libspath=$QT_INSTALL_LIBS",
3682 "qt_binspath=$QT_INSTALL_BINS",
3683 "qt_plugpath=$QT_INSTALL_PLUGINS",
3684 "qt_impspath=$QT_INSTALL_IMPORTS",
3685 "qt_datapath=$QT_INSTALL_DATA",
3686 "qt_trnspath=$QT_INSTALL_TRANSLATIONS",
3687 "qt_xmplpath=$QT_INSTALL_EXAMPLES",
3688 "qt_tstspath=$QT_INSTALL_TESTS",
3689 #ifdef QT_BUILD_QMAKE
3690 "qt_ssrtpath=$CFG_SYSROOT",
3691 "qt_hpfxpath=$QT_HOST_PREFIX",
3692 "qt_hbinpath=$QT_HOST_BINS",
3693 "qt_hdatpath=$QT_HOST_DATA",
3696 static const char qt_configure_settings_path_str[256 + 12] = "qt_stngpath=$QT_INSTALL_SETTINGS";
3699 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3701 /* strlen( "qt_lcnsxxxx" ) == 12 */
3702 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
3703 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
3705 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
3708 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
3709 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
3710 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
3712 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
3713 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
3714 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
3717 # -----------------------------------------------------------------------------
3718 if [ "$LicenseType" = "Evaluation" ]; then
3719 EVALKEY=qt_qevalkey=$LicenseKeyExt
3720 elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then
3721 EVALKEY=qt_qevalkey=
3724 if [ -n "$EVALKEY" ]; then
3725 rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
3726 cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
3727 /* Evaluation license key */
3728 static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
3730 chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
3734 # -----------------------------------------------------------------------------
3736 # -----------------------------------------------------------------------------
3739 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
3741 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
3742 if [ "$OPT_SHADOW" = "yes" ]; then
3743 "$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
3744 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
3745 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
3749 # $1: input variable name (awk regexp)
3750 # $2: optional output variable name
3751 # $3: optional value transformation (sed command)
3752 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
3753 # is where the resulting variable is written to
3754 setBootstrapVariable()
3756 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
3760 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
3761 echo "Creating qmake. Please wait..."
3764 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
3765 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
3766 if [ -f "$QCONFIG_H" ]; then
3767 OLD_QCONFIG_H=$QCONFIG_H
3768 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
3771 # create temporary qconfig.h for compiling qmake, if it doesn't exist
3772 # when building qmake, we use #defines for the install paths,
3773 # however they are real functions in the library
3774 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
3775 mkdir -p "$outpath/src/corelib/global"
3776 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
3777 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
3780 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
3782 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
3783 rm -rf mkspecs/default
3784 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
3785 mkdir -p "$outpath/qmake" || exit
3787 for mkfile in GNUmakefile Makefile; do
3790 in_mkfile="${mkfile}.in"
3791 if [ "$mkfile" = "Makefile" ]; then
3792 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
3793 # (cd qmake && qmake) >/dev/null 2>&1 && continue
3795 in_mkfile="${mkfile}.unix"
3797 in_mkfile="$relpath/qmake/$in_mkfile"
3798 mkfile="$outpath/qmake/$mkfile"
3799 if [ -f "$mkfile" ]; then
3800 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
3803 [ -f "$in_mkfile" ] || continue
3805 echo "########################################################################" > "$mkfile"
3806 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
3807 echo "########################################################################" >> "$mkfile"
3810 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
3811 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
3812 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
3814 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
3815 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
3818 [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
3819 setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
3820 setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
3821 setBootstrapVariable QMAKE_CFLAGS
3822 setBootstrapVariable QMAKE_CXXFLAGS
3823 setBootstrapVariable QMAKE_LFLAGS
3825 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
3826 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
3827 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
3829 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
3830 setBootstrapVariable QMAKE_CFLAGS_RELEASE
3831 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
3832 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
3833 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
3834 elif [ "$CFG_DEBUG" = "yes" ]; then
3835 setBootstrapVariable QMAKE_CFLAGS_DEBUG
3836 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
3837 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
3838 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
3841 if [ -n "$RPATH_FLAGS" ] && [ -n "`getQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
3842 setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" QMAKE_LFLAGS_RPATH
3843 for rpath in $RPATH_FLAGS; do
3844 EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
3847 if [ "$BUILD_ON_MAC" = "yes" ]; then
3848 echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
3849 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
3850 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
3851 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
3852 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
3853 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
3854 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
3855 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
3856 if [ '!' -z "$CFG_SDK" ]; then
3857 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
3858 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
3859 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
3860 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
3861 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
3864 if [ '!' -z "$D_FLAGS" ]; then
3865 for DEF in $D_FLAGS; do
3866 EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
3869 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
3870 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
3871 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
3872 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
3874 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
3875 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
3876 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
3877 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
3878 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
3879 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
3880 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
3881 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
3882 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
3883 -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
3885 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
3886 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
3887 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
3888 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
3893 QMAKE_BUILD_ERROR=no
3894 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
3895 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
3896 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
3897 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
3900 #-------------------------------------------------------------------------------
3901 # tests that need qmake
3902 #-------------------------------------------------------------------------------
3904 #-------------------------------------------------------------------------------
3905 # determine the target and host architectures
3906 #-------------------------------------------------------------------------------
3908 # Use config.tests/arch/arch.pro to has the compiler tell us what the target architecture is
3909 CFG_ARCH=`"$outpath/bin/qmake" -spec "$XQMAKESPEC" -o /dev/null "$relpath/config.tests/arch/arch.pro" 2>&1 | sed -n -e 's,^Project MESSAGE:.*Architecture: \([a-zA-Z0-9_]*\).*,\1,p'`
3911 [ -z "$CFG_ARCH" ] && CFG_ARCH="unknown"
3912 if [ "$QMAKESPEC" != "$XQMAKESPEC" ]; then
3913 # Do the same test again, using the host compiler
3914 CFG_HOST_ARCH=`"$outpath/bin/qmake" -spec "$QMAKESPEC" -o /dev/null "$relpath/config.tests/arch/arch.pro" 2>&1 | sed -n -e 's,^Project MESSAGE:.*Architecture: \([a-zA-Z0-9]*\).*,\1,p'`
3915 [ -z "$CFG_HOST_ARCH" ] && CFG_HOST_ARCH="unknown"
3917 # not cross compiling, host == target
3918 CFG_HOST_ARCH="$CFG_ARCH"
3921 if [ "$OPT_VERBOSE" = "yes" ]; then
3922 echo "System architecture: '$CFG_ARCH'"
3923 if [ "$PLATFORM_QPA" = "yes" ]; then
3924 echo "Host architecture: '$CFG_HOST_ARCH'"
3928 #-------------------------------------------------------------------------------
3929 # functionality tests
3930 #-------------------------------------------------------------------------------
3932 # detect availability of float math.h functions
3933 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
3934 CFG_USE_FLOATMATH=yes
3936 CFG_USE_FLOATMATH=no
3939 # detect sse2 support
3940 if [ "${CFG_SSE2}" = "auto" ]; then
3941 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
3948 # detect sse3 support
3949 if [ "${CFG_SSE3}" = "auto" ]; then
3950 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse3 "sse3" $L_FLAGS $I_FLAGS $l_FLAGS "-msse3"; then
3957 # detect ssse3 support
3958 if [ "${CFG_SSSE3}" = "auto" ]; then
3959 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ssse3 "ssse3" $L_FLAGS $I_FLAGS $l_FLAGS "-mssse3"; then
3966 # detect sse4.1 support
3967 if [ "${CFG_SSE4_1}" = "auto" ]; then
3968 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
3975 # detect sse4.2 support
3976 if [ "${CFG_SSE4_2}" = "auto" ]; then
3977 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
3984 # detect avx support
3985 if [ "${CFG_AVX}" = "auto" ]; then
3986 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx "avx" $L_FLAGS $I_FLAGS $l_FLAGS "-mavx"; then
3993 # check iWMMXt support
3994 if [ "$CFG_IWMMXT" = "yes" ]; then
3995 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
3996 if [ $? != "0" ]; then
3997 echo "The iWMMXt functionality test failed!"
3998 echo " Please make sure your compiler supports iWMMXt intrinsics!"
4003 # detect neon support
4004 if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
4005 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
4010 elif [ "$CFG_ARCH" != "arm" ]; then
4014 # detect mips_dsp support
4015 if [ "${CFG_ARCH}" = "mips" ] && [ "${CFG_MIPS_DSP}" = "yes" ]; then
4021 # detect mips_dspr2 support
4022 if [ "${CFG_ARCH}" = "mips" ] && [ "${CFG_MIPS_DSPR2}" = "yes" ]; then
4028 [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
4031 if [ "$CFG_ZLIB" = "no" ]; then
4032 # Note: Qt no longer support builds without zlib
4033 # So we force a "no" to be "auto" here.
4034 # If you REALLY really need no zlib support, you can still disable
4035 # it by doing the following:
4036 # add "no-zlib" to mkspecs/qconfig.pri
4037 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
4039 # There's no guarantee that Qt will build under those conditions
4044 if [ "$CFG_ZLIB" = "auto" ]; then
4045 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
4052 if [ "$CFG_LARGEFILE" = "auto" ]; then
4053 #Large files should be enabled for all Linux systems
4057 if [ "$CFG_GUI" = "no" ]; then
4058 QPA_PLATFORM_GUARD=no
4061 # detect how jpeg should be built
4062 if [ "$CFG_JPEG" = "auto" ]; then
4063 if [ "$CFG_SHARED" = "yes" ]; then
4070 if [ "$CFG_LIBJPEG" = "auto" ]; then
4071 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
4078 # detect how gif should be built
4079 if [ "$CFG_GIF" = "auto" ]; then
4080 if [ "$CFG_SHARED" = "yes" ]; then
4088 if [ "$CFG_LIBPNG" = "auto" ]; then
4089 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
4096 # detect accessibility
4097 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4098 CFG_ACCESSIBILITY=yes
4101 if [ "$CFG_EGLFS" = "yes" ]; then
4102 if [ "$CFG_EGL" = "no" ]; then
4103 echo "The EGLFS plugin requires EGL support and cannot be built"
4109 # auto-detect SQL-modules support
4110 for _SQLDR in $CFG_SQL_AVAILABLE; do
4113 if [ "$CFG_SQL_mysql" != "no" ]; then
4114 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
4115 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4116 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4117 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4118 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4119 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4120 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4122 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4123 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4124 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4125 echo " You need MySql 4 or higher."
4126 echo " If you believe this message is in error you may use the continue"
4127 echo " switch (-continue) to $0 to continue."
4132 QT_LFLAGS_MYSQL_R=""
4136 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
4137 QMakeVar add CONFIG use_libmysqlclient_r
4138 if [ "$CFG_SQL_mysql" = "auto" ]; then
4139 CFG_SQL_mysql=plugin
4141 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
4142 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
4143 if [ "$CFG_SQL_mysql" = "auto" ]; then
4144 CFG_SQL_mysql=plugin
4147 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4148 echo "MySQL support cannot be enabled due to functionality tests!"
4149 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4150 echo " If you believe this message is in error you may use the continue"
4151 echo " switch (-continue) to $0 to continue."
4156 QT_LFLAGS_MYSQL_R=""
4164 if [ "$CFG_SQL_psql" != "no" ]; then
4165 # Be careful not to use native pg_config when cross building.
4166 if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
4167 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
4168 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
4170 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
4171 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
4172 # But, respect PSQL_LIBS if set
4173 [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
4174 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
4175 if [ "$CFG_SQL_psql" = "auto" ]; then
4179 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4180 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4181 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4182 echo " If you believe this message is in error you may use the continue"
4183 echo " switch (-continue) to $0 to continue."
4194 if [ "$CFG_SQL_odbc" != "no" ]; then
4195 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
4196 if [ "$CFG_SQL_odbc" = "auto" ]; then
4200 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
4201 QT_LFLAGS_ODBC="-liodbc"
4202 if [ "$CFG_SQL_odbc" = "auto" ]; then
4206 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4207 echo "ODBC support cannot be enabled due to functionality tests!"
4208 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4209 echo " If you believe this message is in error you may use the continue"
4210 echo " switch (-continue) to $0 to continue."
4220 if [ "$CFG_SQL_oci" != "no" ]; then
4221 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
4222 if [ "$CFG_SQL_oci" = "auto" ]; then
4226 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4227 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4228 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4229 echo " If you believe this message is in error you may use the continue"
4230 echo " switch (-continue) to $0 to continue."
4239 if [ "$CFG_SQL_tds" != "no" ]; then
4240 [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
4241 [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
4242 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
4243 if [ "$CFG_SQL_tds" = "auto" ]; then
4247 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4248 echo "TDS support cannot be enabled due to functionality tests!"
4249 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4250 echo " If you believe this message is in error you may use the continue"
4251 echo " switch (-continue) to $0 to continue."
4260 if [ "$CFG_SQL_db2" != "no" ]; then
4261 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
4262 if [ "$CFG_SQL_db2" = "auto" ]; then
4266 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4267 echo "ODBC support cannot be enabled due to functionality tests!"
4268 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4269 echo " If you believe this message is in error you may use the continue"
4270 echo " switch (-continue) to $0 to continue."
4279 if [ "$CFG_SQL_ibase" != "no" ]; then
4280 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
4281 if [ "$CFG_SQL_ibase" = "auto" ]; then
4282 CFG_SQL_ibase=plugin
4285 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4286 echo "InterBase support cannot be enabled due to functionality tests!"
4287 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4288 echo " If you believe this message is in error you may use the continue"
4289 echo " switch (-continue) to $0 to continue."
4298 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4299 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
4300 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4301 CFG_SQL_sqlite2=plugin
4304 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4305 echo "SQLite2 support cannot be enabled due to functionality tests!"
4306 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4307 echo " If you believe this message is in error you may use the continue"
4308 echo " switch (-continue) to $0 to continue."
4317 if [ "$CFG_SQL_sqlite" != "no" ]; then
4318 SQLITE_AUTODETECT_FAILED="no"
4319 if [ "$CFG_SQLITE" = "system" ]; then
4320 if [ -n "$PKG_CONFIG" ]; then
4321 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4322 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4324 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
4325 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4326 CFG_SQL_sqlite=plugin
4328 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4330 SQLITE_AUTODETECT_FAILED="yes"
4333 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4334 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4335 CFG_SQL_sqlite=plugin
4338 SQLITE_AUTODETECT_FAILED="yes"
4342 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4343 echo "SQLite support cannot be enabled due to functionality tests!"
4344 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4345 echo " If you believe this message is in error you may use the continue"
4346 echo " switch (-continue) to $0 to continue."
4352 if [ "$OPT_VERBOSE" = "yes" ]; then
4353 echo "unknown SQL driver: $_SQLDR"
4359 # auto-detect NIS support
4360 if [ "$CFG_NIS" != "no" ]; then
4361 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
4364 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4365 echo "NIS support cannot be enabled due to functionality tests!"
4366 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4367 echo " If you believe this message is in error you may use the continue"
4368 echo " switch (-continue) to $0 to continue."
4376 # auto-detect CUPS support
4377 if [ "$CFG_CUPS" != "no" ]; then
4378 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
4381 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4382 echo "Cups support cannot be enabled due to functionality tests!"
4383 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4384 echo " If you believe this message is in error you may use the continue"
4385 echo " switch (-continue) to $0 to continue."
4393 # auto-detect iconv(3) support
4394 if [ "$CFG_ICONV" != "no" ]; then
4395 if [ "$XPLATFORM_MINGW" = "yes" ]; then
4397 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
4399 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
4401 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
4404 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4405 echo "Iconv support cannot be enabled due to functionality tests!"
4406 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4407 echo " If you believe this message is in error you may use the continue"
4408 echo " switch (-continue) to $0 to continue."
4416 # auto-detect libdbus-1 support
4417 if [ "$CFG_DBUS" != "no" ]; then
4418 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
4419 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4420 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4422 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
4423 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
4424 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
4425 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
4427 if [ "$CFG_DBUS" = "auto" ]; then
4429 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4430 # CFG_DBUS is "yes" or "linked" here
4432 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4433 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4434 echo " If you believe this message is in error you may use the continue"
4435 echo " switch (-continue) to $0 to continue."
4442 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
4444 # auto-detect Glib support
4445 if [ "$CFG_GLIB" != "no" ]; then
4446 if [ -n "$PKG_CONFIG" ]; then
4447 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4448 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4450 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
4452 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
4453 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
4455 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4456 echo "Glib support cannot be enabled due to functionality tests!"
4457 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4458 echo " If you believe this message is in error you may use the continue"
4459 echo " switch (-continue) to $0 to continue."
4468 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4469 if [ -n "$PKG_CONFIG" ]; then
4470 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4471 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4473 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
4475 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
4476 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
4478 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4479 echo "Gstreamer support cannot be enabled due to functionality tests!"
4480 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4481 echo " If you believe this message is in error you may use the continue"
4482 echo " switch (-continue) to $0 to continue."
4488 elif [ "$CFG_GLIB" = "no" ]; then
4492 # auto-detect libicu support
4493 if [ "$CFG_ICU" != "no" ]; then
4494 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $l_FLAGS; then
4495 [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
4497 if [ "$CFG_ICU" = "auto" ]; then
4499 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4502 echo "The ICU library support cannot be enabled."
4503 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4504 echo " If you believe this message is in error you may use the continue"
4505 echo " switch (-continue) to $0 to continue."
4511 # Auto-detect PulseAudio support
4512 if [ "$CFG_PULSEAUDIO" != "no" ]; then
4513 if [ -n "$PKG_CONFIG" ]; then
4514 QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4515 QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
4517 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
4519 QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
4520 QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
4522 if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4523 echo "PulseAudio support cannot be enabled due to functionality tests!"
4524 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4525 echo " If you believe this message is in error you may use the continue"
4526 echo " switch (-continue) to $0 to continue."
4536 if [ "$PLATFORM_X11" = "yes" -a "$CFG_GUI" != "no" ]; then
4537 x11tests="$relpath/config.tests/x11"
4540 # work around broken X11 headers when using GCC 2.95 or later
4542 "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE=yes
4543 if [ $NOTYPE = "yes" ]; then
4544 QMakeVar add QMAKE_CXXFLAGS -fpermissive
4545 X11TESTS_FLAGS="$X11TESTS_FLAGS -fpermissive"
4548 # Check we actually have X11 :-)
4549 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4550 if [ $? != "0" ]; then
4551 echo "Basic XLib functionality test failed!"
4552 echo " You might need to modify the include and library search paths by editing"
4553 echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
4559 if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
4560 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4561 if [ "$CFG_GUI" = "no" ]; then
4562 if [ "$CFG_OPENGL" = "auto" ]; then
4565 if [ "$CFG_OPENGL" != "no" ]; then
4566 echo "OpenGL enabled, but GUI disabled."
4567 echo " You might need to either enable the GUI or disable OpenGL"
4571 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4572 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
4574 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
4577 if [ "$CFG_OPENGL" = "yes" ]; then
4578 echo "All the OpenGL functionality tests failed!"
4579 echo " You might need to modify the include and library search paths by editing"
4580 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4581 echo " ${XQMAKESPEC}."
4588 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4589 if [ "$CFG_OPENGL" = "desktop" ]; then
4590 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4591 if [ $? != "0" ]; then
4592 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4599 elif [ "$CFG_OPENGL" = "es2" ]; then
4601 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
4602 if [ $? != "0" ]; then
4603 echo "The OpenGL ES 2.0 functionality test failed!"
4604 echo " You might need to modify the include and library search paths by editing"
4605 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4606 echo " ${XQMAKESPEC}."
4609 elif [ "$CFG_OPENGL" = "desktop" ]; then
4610 # Desktop OpenGL support
4611 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4612 if [ $? != "0" ]; then
4613 echo "The OpenGL functionality test failed!"
4614 echo " You might need to modify the include and library search paths by editing"
4615 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4616 echo " ${XQMAKESPEC}."
4621 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4622 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4623 if [ $? != "0" ]; then
4624 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4631 fi # X11/MINGW OpenGL
4634 if [ "$PLATFORM_X11" = "yes" ]; then
4635 # auto-detect Xcursor support
4636 if [ "$CFG_XCURSOR" != "no" ]; then
4637 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
4638 if [ "$CFG_XCURSOR" != "runtime" ]; then
4642 if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4643 echo "Xcursor support cannot be enabled due to functionality tests!"
4644 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4645 echo " If you believe this message is in error you may use the continue"
4646 echo " switch (-continue) to $0 to continue."
4654 # auto-detect Xfixes support
4655 if [ "$CFG_XFIXES" != "no" ]; then
4656 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xfixes "Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
4657 if [ "$CFG_XFIXES" != "runtime" ]; then
4661 if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4662 echo "Xfixes support cannot be enabled due to functionality tests!"
4663 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4664 echo " If you believe this message is in error you may use the continue"
4665 echo " switch (-continue) to $0 to continue."
4673 # auto-detect Xrandr support (resize and rotate extension)
4674 if [ "$CFG_XRANDR" != "no" ]; then
4675 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
4676 if [ "$CFG_XRANDR" != "runtime" ]; then
4680 if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4681 echo "Xrandr support cannot be enabled due to functionality tests!"
4682 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4683 echo " If you believe this message is in error you may use the continue"
4684 echo " switch (-continue) to $0 to continue."
4692 # auto-detect Xrender support
4693 if [ "$CFG_XRENDER" != "no" ]; then
4694 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
4697 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4698 echo "Xrender support cannot be enabled due to functionality tests!"
4699 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4700 echo " If you believe this message is in error you may use the continue"
4701 echo " switch (-continue) to $0 to continue."
4709 # auto-detect MIT-SHM support
4710 if [ "$CFG_MITSHM" != "no" ]; then
4711 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
4714 if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4715 echo "MITSHM support cannot be enabled due to functionality tests!"
4716 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4717 echo " If you believe this message is in error you may use the continue"
4718 echo " switch (-continue) to $0 to continue."
4726 # auto-detect Session Management support
4727 if [ "$CFG_SM" = "auto" ]; then
4728 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
4731 if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4732 echo "Session Management support cannot be enabled due to functionality tests!"
4733 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4734 echo " If you believe this message is in error you may use the continue"
4735 echo " switch (-continue) to $0 to continue."
4743 # auto-detect SHAPE support
4744 if [ "$CFG_XSHAPE" != "no" ]; then
4745 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
4748 if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4749 echo "XShape support cannot be enabled due to functionality tests!"
4750 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4751 echo " If you believe this message is in error you may use the continue"
4752 echo " switch (-continue) to $0 to continue."
4760 # auto-detect XVideo support
4761 if [ "$CFG_XVIDEO" != "no" ]; then
4762 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
4765 if [ "$CFG_XVIDEO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4766 echo "XVideo support cannot be enabled due to functionality tests!"
4767 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4768 echo " If you believe this message is in error you may use the continue"
4769 echo " switch (-continue) to $0 to continue."
4777 # auto-detect XSync support
4778 if [ "$CFG_XSYNC" != "no" ]; then
4779 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
4782 if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4783 echo "XSync support cannot be enabled due to functionality tests!"
4784 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4785 echo " If you believe this message is in error you may use the continue"
4786 echo " switch (-continue) to $0 to continue."
4794 # auto-detect Xinerama support
4795 if [ "$CFG_XINERAMA" != "no" ]; then
4796 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
4797 if [ "$CFG_XINERAMA" != "runtime" ]; then
4801 if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4802 echo "Xinerama support cannot be enabled due to functionality tests!"
4803 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4804 echo " If you believe this message is in error you may use the continue"
4805 echo " switch (-continue) to $0 to continue."
4813 # auto-detect Xinput support
4814 if [ "$CFG_XINPUT" != "no" ]; then
4815 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
4816 if [ "$CFG_XINPUT" != "runtime" ]; then
4820 if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4821 echo "Tablet and Xinput support cannot be enabled due to functionality tests!"
4822 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4823 echo " If you believe this message is in error you may use the continue"
4824 echo " switch (-continue) to $0 to continue."
4832 # auto-detect XKB support
4833 if [ "$CFG_XKB" != "no" ]; then
4834 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
4837 if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4838 echo "XKB support cannot be enabled due to functionality tests!"
4839 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4840 echo " If you believe this message is in error you may use the continue"
4841 echo " switch (-continue) to $0 to continue."
4849 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
4850 if [ -n "$PKG_CONFIG" ]; then
4851 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
4852 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
4854 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
4856 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
4857 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
4859 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4860 echo "Gtk theme support cannot be enabled due to functionality tests!"
4861 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4862 echo " If you believe this message is in error you may use the continue"
4863 echo " switch (-continue) to $0 to continue."
4869 elif [ "$CFG_GLIB" = "no" ]; then
4874 # auto-detect FontConfig support
4875 if [ "$CFG_FONTCONFIG" != "no" ]; then
4876 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
4877 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
4878 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
4880 QT_CFLAGS_FONTCONFIG=
4881 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
4883 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
4885 QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
4886 QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
4887 CFG_LIBFREETYPE=system
4889 if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4890 echo "FontConfig 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 [ "$BUILD_ON_MAC" = "yes" ]; then
4903 if [ "$CFG_PHONON" != "no" ]; then
4904 # Always enable Phonon (unless it was explicitly disabled)
4908 if [ "$CFG_COREWLAN" = "auto" ]; then
4909 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
4917 if [ "$PLATFORM_QPA" = "yes" ]; then
4918 # auto-detect OpenGL support (es2 = OpenGL ES 2.x)
4919 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4920 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
4922 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
4925 if [ "$CFG_OPENGL" = "yes" ]; then
4926 echo "All the OpenGL functionality tests failed!"
4927 echo " You might need to modify the include and library search paths by editing"
4928 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4929 echo " ${XQMAKESPEC}."
4934 elif [ "$CFG_OPENGL" = "es2" ]; then
4936 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
4937 QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4938 QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
4939 QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
4940 QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
4941 QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
4942 QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2"
4943 QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2"
4946 "$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
4947 if [ $? != "0" ]; then
4948 echo "The OpenGL ES 2.0 functionality test failed!"
4949 echo " You might need to modify the include and library search paths by editing"
4950 echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
4951 echo " ${XQMAKESPEC}."
4954 elif [ "$CFG_OPENGL" = "desktop" ]; then
4955 # Desktop OpenGL support
4956 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4957 if [ $? != "0" ]; then
4958 echo "The OpenGL functionality test failed!"
4959 echo " You might need to modify the include and library search paths by editing"
4960 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4961 echo " ${XQMAKESPEC}."
4966 # auto-detect FontConfig support
4967 if [ "$CFG_FONTCONFIG" != "no" ]; then
4968 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
4969 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
4970 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
4972 QT_CFLAGS_FONTCONFIG=
4973 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
4975 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
4976 QT_CONFIG="$QT_CONFIG fontconfig"
4977 QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
4978 QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
4979 CFG_LIBFREETYPE=system
4984 # Save these for a check later
4985 ORIG_CFG_XCB="$CFG_XCB"
4986 ORIG_CFG_EGLFS="$CFG_EGLFS"
4988 if [ "$CFG_LIBUDEV" != "no" ]; then
4989 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libudev 2>/dev/null; then
4990 QMAKE_INCDIR_LIBUDEV=`$PKG_CONFIG --cflags-only-I libudev 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
4991 QMAKE_LIBS_LIBUDEV=`$PKG_CONFIG --libs libudev 2>/dev/null`
4992 QMakeVar set QMAKE_INCDIR_LIBUDEV "$QMAKE_INCDIR_LIBUDEV"
4993 QMakeVar set QMAKE_LIBS_LIBUDEV "$QMAKE_LIBS_LIBUDEV"
4995 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libudev "libudev" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_INCDIR_LIBUDEV $QMAKE_LIBS_LIBUDEV; then
4997 QT_CONFIG="$QT_CONFIG libudev"
4998 elif [ "$CFG_LIBUDEV" = "yes" ]; then
4999 echo "The libudev functionality test failed!"
5003 QMakeVar add DEFINES QT_NO_LIBUDEV
5007 if [ "$CFG_EVDEV" != "no" ]; then
5008 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/evdev "evdev" $L_FLAGS $I_FLAGS $l_FLAGS; then
5010 QT_CONFIG="$QT_CONFIG evdev"
5011 elif [ "$CFG_EVDEV" = "yes" ]; then
5012 echo "The evdev functionality test failed!"
5016 QMakeVar add DEFINES QT_NO_EVDEV
5020 # Check we actually have X11 :-)
5021 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
5022 QT_CONFIG="$QT_CONFIG xlib"
5025 # auto-detect Xrender support
5026 if [ "$CFG_XRENDER" != "no" ]; then
5027 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
5029 QT_CONFIG="$QT_CONFIG xrender"
5031 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5032 echo "Xrender support cannot be enabled due to functionality tests!"
5033 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5034 echo " If you believe this message is in error you may use the continue"
5035 echo " switch (-continue) to $0 to continue."
5043 if [ "$CFG_XCB" != "no" ]; then
5044 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xcb >= 1.5" 2>/dev/null; then
5045 QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`"
5046 QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`"
5048 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
5050 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
5051 QT_CONFIG="$QT_CONFIG xcb-render"
5054 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
5056 QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
5059 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
5060 QT_CONFIG="$QT_CONFIG xcb-xlib"
5063 if [ "$XPLATFORM_MAEMO" = "yes" ]; then
5064 # auto-detect XInput2/Xinput support
5065 if [ "$CFG_XINPUT2" != "no" ]; then
5066 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
5070 if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5071 echo "XInput2 support cannot be enabled due to functionality tests!"
5072 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5073 echo " If you believe this message is in error you may use the continue"
5074 echo " switch (-continue) to $0 to continue."
5083 if [ "$CFG_XCB" = "yes" ]; then
5084 echo "The XCB test failed!"
5085 echo " You might need to install dependency packages."
5086 echo " See src/plugins/platforms/xcb/README."
5090 QMakeVar add DEFINES QT_NO_XCB
5094 # Detect libxkbcommon
5095 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
5096 QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
5097 QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
5098 QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
5099 QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
5101 QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
5105 if [ "$CFG_EGL" != "no" ]; then
5106 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then
5107 QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
5108 QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null`
5109 QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null`
5110 QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
5111 QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
5112 fi # detect EGL support
5113 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/qpa/egl" "EGL" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then
5115 elif [ "$CFG_EGL" = "yes" ]; then
5116 echo " The EGL functionality test failed; EGL is required by some QPA plugins to manage contexts & surfaces."
5117 echo " You might need to modify the include and library search paths by editing"
5118 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in ${XQMAKESPEC}."
5125 if [ "$CFG_EGLFS" != "no" ]; then
5126 CFG_EGLFS="$CFG_EGL"
5129 if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
5130 QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
5131 QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
5132 QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
5135 if [ "$BUILD_ON_MAC" = "yes" ]; then
5136 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
5137 QT_CONFIG="$QT_CONFIG coreservices"
5139 QMakeVar add DEFINES QT_NO_CORESERVICES
5143 if [ "$PLATFORM_QPA" = "yes" ] && [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ]; then
5144 if [ "$CFG_XCB" = "no" ] && [ "$CFG_EGLFS" = "no" ]; then
5145 if [ "$QPA_PLATFORM_GUARD" = "yes" ] &&
5146 ( [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_EGLFS" = "auto" ] ); then
5147 echo "No QPA platform plugin enabled!"
5148 echo " If you really want to build without a QPA platform plugin you must pass"
5149 echo " -no-xcb and -no-eglfs to configure. Doing this will"
5150 echo " produce a Qt that cannot run GUI applications."
5151 echo " The dependencies needed for xcb to build are listed in"
5152 echo " src/plugins/platforms/xcb/README"
5160 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
5163 [ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
5164 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
5165 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
5166 CFG_LIBFREETYPE=system
5173 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
5177 if [ "$CFG_STL" != "no" ]; then
5178 if [ "$HAVE_STL" = "yes" ]; then
5181 if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5182 echo "STL support cannot be enabled due to functionality tests!"
5183 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5184 echo " If you believe this message is in error you may use the continue"
5185 echo " switch (-continue) to $0 to continue."
5193 # detect POSIX clock_gettime()
5194 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
5195 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
5196 CFG_CLOCK_GETTIME=yes
5198 CFG_CLOCK_GETTIME=no
5202 # detect POSIX monotonic clocks
5203 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
5204 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
5205 CFG_CLOCK_MONOTONIC=yes
5207 CFG_CLOCK_MONOTONIC=no
5209 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
5210 CFG_CLOCK_MONOTONIC=no
5214 if [ "$CFG_MREMAP" = "auto" ]; then
5215 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
5222 # find if the platform provides getaddrinfo (ipv6 dns lookups)
5223 if [ "$CFG_GETADDRINFO" != "no" ]; then
5224 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
5227 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5228 echo "getaddrinfo support cannot be enabled due to functionality tests!"
5229 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5230 echo " If you believe this message is in error you may use the continue"
5231 echo " switch (-continue) to $0 to continue."
5239 # find if the platform provides inotify
5240 if [ "$CFG_INOTIFY" != "no" ]; then
5241 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
5244 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5245 echo "inotify support cannot be enabled due to functionality tests!"
5246 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5247 echo " If you believe this message is in error you may use the continue"
5248 echo " switch (-continue) to $0 to continue."
5256 # find if the platform provides if_nametoindex (ipv6 interface name support)
5257 if [ "$CFG_IPV6IFNAME" != "no" ]; then
5258 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
5261 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5262 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
5263 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5264 echo " If you believe this message is in error you may use the continue"
5265 echo " switch (-continue) to $0 to continue."
5273 # find if the platform provides getifaddrs (network interface enumeration)
5274 if [ "$CFG_GETIFADDRS" != "no" ]; then
5275 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
5278 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5279 echo "getifaddrs support cannot be enabled due to functionality tests!"
5280 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5281 echo " If you believe this message is in error you may use the continue"
5282 echo " switch (-continue) to $0 to continue."
5291 if [ "$CFG_OPENSSL" != "no" ]; then
5292 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
5293 if [ "$CFG_OPENSSL" = "auto" ]; then
5297 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5298 echo "OpenSSL support cannot be enabled due to functionality tests!"
5299 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5300 echo " If you believe this message is in error you may use the continue"
5301 echo " switch (-continue) to $0 to continue."
5310 if [ "$CFG_PCRE" != "qt" ]; then
5311 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pcre "PCRE" $L_FLAGS $I_FLAGS $l_FLAGS; then
5314 if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5315 echo "PCRE support cannot be enabled due to functionality tests!"
5316 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5317 echo " If you believe this message is in error you may use the continue"
5318 echo " switch (-continue) to $0 to continue."
5326 # detect OpenVG support
5327 if [ "$CFG_OPENVG" != "no" ]; then
5328 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
5329 if [ "$CFG_OPENVG" = "auto" ]; then
5332 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
5333 if [ "$CFG_OPENVG" = "auto" ]; then
5336 CFG_OPENVG_ON_OPENGL=yes
5337 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
5338 if [ "$CFG_OPENVG" = "auto" ]; then
5341 CFG_OPENVG_LC_INCLUDES=yes
5342 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
5343 if [ "$CFG_OPENVG" = "auto" ]; then
5346 CFG_OPENVG_LC_INCLUDES=yes
5347 CFG_OPENVG_ON_OPENGL=yes
5349 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5350 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
5351 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5352 echo " If you believe this message is in error you may use the continue"
5353 echo " switch (-continue) to $0 to continue."
5359 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
5360 CFG_OPENVG_SHIVA=yes
5364 if [ "$CFG_ALSA" = "auto" ]; then
5365 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
5372 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
5373 if [ "$CFG_ARCH" = "arm" ]; then
5374 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
5375 if [ $? != "0" ]; then
5376 CFG_JAVASCRIPTCORE_JIT=no
5379 case "$XPLATFORM" in
5381 CFG_JAVASCRIPTCORE_JIT=no
5387 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
5388 QMakeVar set JAVASCRIPTCORE_JIT yes
5389 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
5390 QMakeVar set JAVASCRIPTCORE_JIT no
5393 if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
5394 CFG_AUDIO_BACKEND=yes
5397 if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
5398 echo "Warning: largefile support cannot be disabled for win32."
5402 #-------------------------------------------------------------------------------
5403 # ask for all that hasn't been auto-detected or specified in the arguments
5404 #-------------------------------------------------------------------------------
5406 # enable dwarf2 support on Mac
5407 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
5408 QT_CONFIG="$QT_CONFIG dwarf2"
5411 # Detect the default arch (x86 or x86_64) on Mac OS X
5412 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$QT_CROSS_COMPILE" = "no" ]; then
5414 case `file "${outpath}/bin/qmake"` in
5422 # unsupported/unknown
5426 if [ -n "$DEFAULT_ARCH" ]; then
5427 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting default Mac OS X architechture to $DEFAULT_ARCH."
5428 QT_CONFIG="$QT_CONFIG $DEFAULT_ARCH"
5429 QMAKE_CONFIG="$QMAKE_CONFIG $DEFAULT_ARCH"
5430 # Make the application arch follow the Qt arch
5431 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $DEFAULT_ARCH"
5436 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
5437 QT_CONFIG="$QT_CONFIG phonon-backend"
5440 # disable accessibility
5441 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
5442 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
5444 QT_CONFIG="$QT_CONFIG accessibility"
5448 if [ "$CFG_EGL" = "yes" ]; then
5449 QT_CONFIG="$QT_CONFIG egl"
5451 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
5455 if [ "$CFG_EGLFS" = "yes" ]; then
5456 QT_CONFIG="$QT_CONFIG eglfs"
5458 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGLFS"
5462 if [ "$CFG_OPENVG" = "no" ]; then
5463 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
5465 QT_CONFIG="$QT_CONFIG openvg"
5466 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
5467 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
5469 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
5470 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
5472 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
5473 QT_CONFIG="$QT_CONFIG shivavg"
5474 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
5479 if [ "$CFG_OPENGL" = "no" ]; then
5480 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
5482 QT_CONFIG="$QT_CONFIG opengl"
5485 if [ "$CFG_OPENGL" = "es2" ]; then
5486 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
5489 if [ "$CFG_OPENGL" = "es2" ]; then
5490 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5491 QT_CONFIG="$QT_CONFIG opengles2"
5494 # safe execution environment
5495 if [ "$CFG_SXE" != "no" ]; then
5496 QT_CONFIG="$QT_CONFIG sxe"
5499 # build up the variables for output
5500 if [ "$CFG_DEBUG" = "yes" ]; then
5501 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
5502 QMAKE_CONFIG="$QMAKE_CONFIG debug"
5503 elif [ "$CFG_DEBUG" = "no" ]; then
5504 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
5505 QMAKE_CONFIG="$QMAKE_CONFIG release"
5507 if [ "$CFG_SHARED" = "yes" ]; then
5508 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
5509 QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
5510 elif [ "$CFG_SHARED" = "no" ]; then
5511 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
5512 QMAKE_CONFIG="$QMAKE_CONFIG static"
5514 if [ "$PLATFORM_QPA" = "yes" ]; then
5515 QMAKE_CONFIG="$QMAKE_CONFIG qpa"
5516 QT_CONFIG="$QT_CONFIG qpa"
5517 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
5518 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5521 if [ "$XPLATFORM_MINGW" != "yes" ]; then
5522 # Do not set this here for Windows. Let qmake do it so
5523 # debug and release precompiled headers are kept separate.
5524 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
5526 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
5527 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
5528 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
5529 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
5530 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5531 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
5533 if [ "$CFG_STL" = "no" ]; then
5534 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STL"
5536 QMAKE_CONFIG="$QMAKE_CONFIG stl"
5538 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
5539 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
5541 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
5542 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
5543 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
5544 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
5545 QMakeVar add QMAKE_CFLAGS -g
5546 QMakeVar add QMAKE_CXXFLAGS -g
5547 QT_CONFIG="$QT_CONFIG separate_debug_info"
5549 if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
5550 QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
5552 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
5553 [ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
5554 [ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
5555 [ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
5556 [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
5557 [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
5558 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
5559 [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
5560 if [ "$CFG_ARCH" = "mips" ]; then
5561 [ "$CFG_MIPS_DSP" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dsp"
5562 [ "$CFG_MIPS_DSPR2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dspr2"
5564 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
5565 QT_CONFIG="$QT_CONFIG clock-gettime"
5567 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
5568 QT_CONFIG="$QT_CONFIG clock-monotonic"
5570 if [ "$CFG_MREMAP" = "yes" ]; then
5571 QT_CONFIG="$QT_CONFIG mremap"
5573 if [ "$CFG_GETADDRINFO" = "yes" ]; then
5574 QT_CONFIG="$QT_CONFIG getaddrinfo"
5576 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
5577 QT_CONFIG="$QT_CONFIG ipv6ifname"
5579 if [ "$CFG_GETIFADDRS" = "yes" ]; then
5580 QT_CONFIG="$QT_CONFIG getifaddrs"
5582 if [ "$CFG_INOTIFY" = "yes" ]; then
5583 QT_CONFIG="$QT_CONFIG inotify"
5585 if [ "$CFG_LIBJPEG" = "no" ]; then
5587 elif [ "$CFG_LIBJPEG" = "system" ]; then
5588 QT_CONFIG="$QT_CONFIG system-jpeg"
5590 if [ "$CFG_JPEG" = "no" ]; then
5591 QT_CONFIG="$QT_CONFIG no-jpeg"
5592 elif [ "$CFG_JPEG" = "yes" ]; then
5593 QT_CONFIG="$QT_CONFIG jpeg"
5595 if [ "$CFG_LIBPNG" = "no" ]; then
5598 if [ "$CFG_LIBPNG" = "system" ]; then
5599 QT_CONFIG="$QT_CONFIG system-png"
5601 if [ "$CFG_PNG" = "no" ]; then
5602 QT_CONFIG="$QT_CONFIG no-png"
5603 elif [ "$CFG_PNG" = "yes" ]; then
5604 QT_CONFIG="$QT_CONFIG png"
5606 if [ "$CFG_GIF" = "no" ]; then
5607 QT_CONFIG="$QT_CONFIG no-gif"
5608 elif [ "$CFG_GIF" = "yes" ]; then
5609 QT_CONFIG="$QT_CONFIG gif"
5611 if [ "$CFG_LIBFREETYPE" = "no" ]; then
5612 QT_CONFIG="$QT_CONFIG no-freetype"
5613 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
5614 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
5615 QT_CONFIG="$QT_CONFIG system-freetype"
5617 QT_CONFIG="$QT_CONFIG freetype"
5619 if [ "$CFG_GUI" = "auto" ]; then
5622 if [ "$CFG_GUI" = "no" ]; then
5623 QT_CONFIG="$QT_CONFIG no-gui"
5626 if [ "$CFG_WIDGETS" = "no" ]; then
5627 QT_CONFIG="$QT_CONFIG no-widgets"
5628 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_WIDGETS"
5631 if [ "x$BUILD_ON_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
5632 #On Mac we implicitly link against libz, so we
5633 #never use the 3rdparty stuff.
5634 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
5636 if [ "$CFG_ZLIB" = "yes" ]; then
5637 QT_CONFIG="$QT_CONFIG zlib"
5638 elif [ "$CFG_ZLIB" = "system" ]; then
5639 QT_CONFIG="$QT_CONFIG system-zlib"
5642 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
5643 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
5644 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
5645 [ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
5646 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
5647 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
5648 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
5649 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
5650 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
5651 [ "$CFG_NAS" = "system" ] && QT_CONFIG="$QT_CONFIG nas"
5652 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
5653 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
5654 [ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
5655 [ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
5656 [ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
5658 if [ "$PLATFORM_X11" = "yes" ]; then
5659 [ "$CFG_SM" = "yes" ] && QT_CONFIG="$QT_CONFIG x11sm"
5661 # for some reason, the following libraries are not always built shared,
5662 # so *every* program/lib (including Qt) has to link against them
5663 if [ "$CFG_XSHAPE" = "yes" ]; then
5664 QT_CONFIG="$QT_CONFIG xshape"
5666 if [ "$CFG_XVIDEO" = "yes" ]; then
5667 QT_CONFIG="$QT_CONFIG xvideo"
5669 if [ "$CFG_XSYNC" = "yes" ]; then
5670 QT_CONFIG="$QT_CONFIG xsync"
5672 if [ "$CFG_XINERAMA" = "yes" ]; then
5673 QT_CONFIG="$QT_CONFIG xinerama"
5674 QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11'
5676 if [ "$CFG_XCURSOR" = "yes" ]; then
5677 QT_CONFIG="$QT_CONFIG xcursor"
5678 QMakeVar set QMAKE_LIBS_X11 '-lXcursor $$QMAKE_LIBS_X11'
5680 if [ "$CFG_XFIXES" = "yes" ]; then
5681 QT_CONFIG="$QT_CONFIG xfixes"
5682 QMakeVar set QMAKE_LIBS_X11 '-lXfixes $$QMAKE_LIBS_X11'
5684 if [ "$CFG_XRANDR" = "yes" ]; then
5685 QT_CONFIG="$QT_CONFIG xrandr"
5686 if [ "$CFG_XRENDER" != "yes" ]; then
5687 # libXrandr uses 1 function from libXrender, so we always have to have it :/
5688 QMakeVar set QMAKE_LIBS_X11 '-lXrandr -lXrender $$QMAKE_LIBS_X11'
5690 QMakeVar set QMAKE_LIBS_X11 '-lXrandr $$QMAKE_LIBS_X11'
5693 if [ "$CFG_XRENDER" = "yes" ]; then
5694 QT_CONFIG="$QT_CONFIG xrender"
5695 QMakeVar set QMAKE_LIBS_X11 '-lXrender $$QMAKE_LIBS_X11'
5697 if [ "$CFG_MITSHM" = "yes" ]; then
5698 QT_CONFIG="$QT_CONFIG mitshm"
5700 if [ "$CFG_FONTCONFIG" = "yes" ]; then
5701 QT_CONFIG="$QT_CONFIG fontconfig"
5703 if [ "$CFG_XINPUT" = "yes" ]; then
5704 QMakeVar set QMAKE_LIBS_X11 '-lXi $$QMAKE_LIBS_X11'
5706 if [ "$CFG_XINPUT" = "yes" ]; then
5707 QT_CONFIG="$QT_CONFIG xinput tablet"
5709 if [ "$CFG_XKB" = "yes" ]; then
5710 QT_CONFIG="$QT_CONFIG xkb"
5714 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS"
5715 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
5716 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
5718 if [ "$PLATFORM_MAC" = "yes" ] && [ "$QT_CROSS_COMPILE" = "no" ]; then
5719 if [ "$CFG_RPATH" = "yes" ]; then
5720 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
5721 # set the default rpath to the library installation directory
5722 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5724 elif [ -z "`getXQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
5725 if [ -n "$RPATH_FLAGS" ]; then
5727 echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
5731 elif [ "$CFG_RPATH" = "yes" ]; then
5732 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
5736 if [ "$CFG_RPATH" = "yes" ]; then
5737 # set the default rpath to the library installation directory
5738 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5740 if [ -n "$RPATH_FLAGS" ]; then
5741 # add the user defined rpaths
5742 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
5746 if [ '!' -z "$I_FLAGS" ]; then
5747 # add the user define include paths
5748 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
5749 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
5752 if [ '!' -z "$W_FLAGS" ]; then
5753 # add the user defined warning flags
5754 QMakeVar add QMAKE_CFLAGS_WARN_ON "$W_FLAGS"
5755 QMakeVar add QMAKE_CXXFLAGS_WARN_ON "$W_FLAGS"
5756 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS"
5759 # turn off exceptions for the compilers that support it
5760 if [ "$XPLATFORM" != "$PLATFORM" ]; then
5761 COMPILER=`echo $XPLATFORM | cut -f 2- -d-`
5763 COMPILER=`echo $PLATFORM | cut -f 2- -d-`
5766 if [ "$CFG_EXCEPTIONS" != "no" ]; then
5767 QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
5770 if [ "$XPLATFORM_MINGW" = "yes" ]; then
5771 # mkspecs/features/win32/default_pre.prf sets "no-rtti".
5772 # Follow default behavior of configure.exe by overriding with "rtti".
5773 QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
5776 if [ "$CFG_ALSA" = "yes" ]; then
5777 QT_CONFIG="$QT_CONFIG alsa"
5780 if [ "$CFG_PULSEAUDIO" = "yes" ]; then
5781 QT_CONFIG="$QT_CONFIG pulseaudio"
5784 if [ "$CFG_COREWLAN" = "yes" ]; then
5785 QT_CONFIG="$QT_CONFIG corewlan"
5788 if [ "$CFG_ICU" = "yes" ]; then
5789 QT_CONFIG="$QT_CONFIG icu"
5792 if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
5793 QT_CONFIG="$QT_CONFIG force_asserts"
5796 if [ "$CFG_PCRE" = "qt" ]; then
5797 QMAKE_CONFIG="$QMAKE_CONFIG pcre"
5801 # Some Qt modules are too advanced in C++ for some old compilers
5802 # Detect here the platforms where they are known to work.
5804 # See Qt documentation for more information on which features are
5805 # supported and on which compilers.
5807 canBuildQtConcurrent="yes"
5808 canUseV8Snapshot="yes"
5810 case "$XPLATFORM" in
5812 # PA-RISC's assembly is too limited
5813 # gcc 3.4 on that platform can't build QtXmlPatterns
5814 # the assembly it generates cannot be compiled
5816 # Check gcc's version
5817 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5821 canBuildQtXmlPatterns="no"
5825 canBuildQtXmlPatterns="no"
5829 unsupported/vxworks-*-g++*)
5832 unsupported/vxworks-*-dcc*)
5834 canBuildQtXmlPatterns="no"
5837 # Check gcc's version
5838 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5846 canBuildQtXmlPatterns="no"
5851 # Check the compiler version
5852 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
5855 canBuildQtXmlPatterns="no"
5856 canBuildQtConcurrent="no"
5860 canBuildQtConcurrent="no"
5866 canBuildQtXmlPatterns="no"
5867 canBuildQtConcurrent="no"
5873 # Get the xlC version
5874 cat > xlcver.c <<EOF
5878 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
5883 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
5884 xlcver=`./xlcver 2>/dev/null`
5887 if [ "$OPT_VERBOSE" = "yes" ]; then
5888 if [ -n "$xlcver" ]; then
5889 echo Found IBM xlC version: $xlcver.
5891 echo Could not determine IBM xlC version, assuming oldest supported.
5898 canBuildQtXmlPatterns="no"
5899 canBuildQtConcurrent="no"
5903 canBuildQtConcurrent="no"
5909 canBuildQtConcurrent="no"
5913 if [ "$CFG_GUI" = "no" ]; then
5914 # WebKit requires QtGui
5918 if [ "$CFG_SHARED" = "no" ]; then
5920 echo "WARNING: Using static linking will disable the WebKit module."
5925 CFG_CONCURRENT="yes"
5926 if [ "$canBuildQtConcurrent" = "no" ]; then
5927 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
5930 QT_CONFIG="$QT_CONFIG concurrent"
5934 if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
5935 QT_CONFIG="$QT_CONFIG audio-backend"
5939 if [ "$CFG_WEBKIT" = "debug" ]; then
5940 QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
5944 QT_CONFIG="$QT_CONFIG v8"
5945 # Detect snapshot support
5946 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
5947 case "$CFG_HOST_ARCH,$CFG_ARCH" in
5950 *) canUseV8Snapshot="no"
5954 if [ -n "$_SBOX_DIR" -a "$CFG_ARCH" = "arm" ]; then
5955 # QEMU crashes when building inside Scratchbox with an ARM target
5956 canUseV8Snapshot="no"
5959 if [ "$CFG_V8SNAPSHOT" = "auto" ]; then
5960 CFG_V8SNAPSHOT="$canUseV8Snapshot"
5962 if [ "$CFG_V8SNAPSHOT" = "yes" -a "$canUseV8Snapshot" = "no" ]; then
5963 echo "Error: V8 snapshot was requested, but is not supported on this platform."
5966 if [ "$CFG_V8SNAPSHOT" = "yes" ]; then
5967 QT_CONFIG="$QT_CONFIG v8snapshot"
5971 if [ "$CFG_DECLARATIVE_DEBUG" = "no" ]; then
5972 QCONFIG_FLAGS="$QCONFIG_FLAGS QDECLARATIVE_NO_DEBUG_PROTOCOL"
5975 if [ "$CFG_EXCEPTIONS" = "no" ]; then
5978 QMakeVar add QMAKE_CFLAGS -fno-exceptions
5979 QMakeVar add QMAKE_CXXFLAGS -fno-exceptions
5980 QMakeVar add QMAKE_LFLAGS -fno-exceptions
5985 QMakeVar add QMAKE_CFLAGS -LANG:exceptions=off
5986 QMakeVar add QMAKE_CXXFLAGS -LANG:exceptions=off
5987 QMakeVar add QMAKE_LFLAGS -LANG:exceptions=off
5994 QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off"
6000 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
6002 case "$COMPILER_VERSION" in
6004 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
6005 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
6006 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
6009 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
6010 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
6011 QT_GCC_PATCH_VERSION=0
6021 #-------------------------------------------------------------------------------
6022 # part of configuration information goes into qconfig.h
6023 #-------------------------------------------------------------------------------
6025 case "$CFG_QCONFIG" in
6027 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
6030 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
6031 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
6032 if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
6033 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
6034 elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
6035 cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
6037 echo "#endif" >>"$tmpconfig"
6041 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6045 # define QT_EDITION $QT_EDITION
6049 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
6050 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
6052 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
6053 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
6056 if [ "$CFG_FRAMEWORK" = "yes" ]; then
6057 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
6060 if [ "$BUILD_ON_MAC" = "yes" ]; then
6061 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6062 #if defined(__LP64__)
6063 # define QT_POINTER_SIZE 8
6065 # define QT_POINTER_SIZE 4
6069 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6070 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
6073 #REDUCE_RELOCATIONS is a elf/unix only thing, so not in windows configure.exe
6074 if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
6075 echo "#define QT_REDUCE_RELOCATIONS" >>"$outpath/src/corelib/global/qconfig.h.new"
6079 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6081 if [ "$CFG_DEV" = "yes" ]; then
6082 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
6085 if [ "$PLATFORM_QPA" = "yes" ]; then
6086 # Add QPA to config.h
6087 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
6090 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
6091 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
6094 # Add turned on SQL drivers
6095 for DRIVER in $CFG_SQL_AVAILABLE; do
6096 eval "VAL=\$CFG_SQL_$DRIVER"
6099 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6100 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
6101 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
6104 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
6110 QMakeVar set sql-drivers "$SQL_DRIVERS"
6111 QMakeVar set sql-plugins "$SQL_PLUGINS"
6113 # Add other configuration options to the qconfig.h file
6114 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
6115 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
6116 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
6117 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
6118 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
6119 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
6120 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
6122 # X11/Unix/Mac only configs
6123 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
6124 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
6125 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
6126 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
6127 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
6128 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
6129 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
6130 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
6131 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
6132 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
6133 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
6134 [ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NAS"
6135 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
6136 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
6137 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
6139 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
6140 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
6141 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
6142 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
6143 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
6144 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
6145 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
6146 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
6147 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
6148 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
6149 [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
6150 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
6151 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
6153 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
6154 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
6155 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
6156 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
6157 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
6158 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
6159 [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
6160 [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
6162 # sort QCONFIG_FLAGS for neatness if we can
6163 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
6164 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
6166 if [ -n "$QCONFIG_FLAGS" ]; then
6167 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6168 #ifndef QT_BOOTSTRAPPED
6171 for cfg in $QCONFIG_FLAGS; do
6172 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
6173 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
6174 # figure out define logic, so we can output the correct
6175 # ifdefs to override the global defines in a project
6177 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
6178 # QT_NO_option can be forcefully turned on by QT_option
6179 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
6180 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
6181 # QT_option can be forcefully turned off by QT_NO_option
6182 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
6185 if [ -z $cfgdNeg ]; then
6186 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6193 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6194 #if defined($cfgd) && defined($cfgdNeg)
6196 #elif !defined($cfgd) && !defined($cfgdNeg)
6203 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6204 #endif // QT_BOOTSTRAPPED
6209 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
6210 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6211 #define QT_VISIBILITY_AVAILABLE
6216 if [ -n "$QT_LIBINFIX" ]; then
6217 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6218 #define QT_LIBINFIX "$QT_LIBINFIX"
6223 # avoid unecessary rebuilds by copying only if qconfig.h has changed
6224 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
6225 rm -f "$outpath/src/corelib/global/qconfig.h.new"
6227 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
6228 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
6229 chmod -w "$outpath/src/corelib/global/qconfig.h"
6230 if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then
6231 ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h"
6235 #-------------------------------------------------------------------------------
6236 # save configuration into qconfig.pri
6237 #-------------------------------------------------------------------------------
6238 QTCONFIG="$outpath/mkspecs/qconfig.pri"
6239 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
6240 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
6241 if [ "$CFG_DEBUG" = "yes" ]; then
6242 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
6243 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6244 QT_CONFIG="$QT_CONFIG release"
6246 QT_CONFIG="$QT_CONFIG debug"
6247 elif [ "$CFG_DEBUG" = "no" ]; then
6248 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
6249 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6250 QT_CONFIG="$QT_CONFIG debug"
6252 QT_CONFIG="$QT_CONFIG release"
6254 if [ "$CFG_STL" = "yes" ]; then
6255 QTCONFIG_CONFIG="$QTCONFIG_CONFIG stl"
6257 if [ "$CFG_FRAMEWORK" = "no" ]; then
6258 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
6260 QT_CONFIG="$QT_CONFIG qt_framework"
6261 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
6263 if [ "$CFG_DEV" = "yes" ]; then
6264 QT_CONFIG="$QT_CONFIG private_tests"
6267 cat >>"$QTCONFIG.tmp" <<EOF
6269 CONFIG += $QTCONFIG_CONFIG
6271 QT_HOST_ARCH = $CFG_HOST_ARCH
6272 QT_EDITION = $Edition
6273 QT_CONFIG += $QT_CONFIG
6276 QT_VERSION = $QT_VERSION
6277 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
6278 QT_MINOR_VERSION = $QT_MINOR_VERSION
6279 QT_PATCH_VERSION = $QT_PATCH_VERSION
6282 QT_LIBINFIX = $QT_LIBINFIX
6283 QT_NAMESPACE = $QT_NAMESPACE
6286 if [ -n "$CFG_SYSROOT" ]; then
6287 echo "# sysroot" >>"$QTCONFIG.tmp"
6288 echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
6289 echo " QMAKE_CFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
6290 echo " QMAKE_CXXFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
6291 echo " QMAKE_LFLAGS += --sysroot=\$\$[QT_SYSROOT]" >>"$QTCONFIG.tmp"
6292 echo "}" >> "$QTCONFIG.tmp"
6293 echo >> "$QTCONFIG.tmp"
6295 if [ -n "$RPATH_FLAGS" ]; then
6296 echo "QMAKE_RPATHDIR += $RPATH_FLAGS" >> "$QTCONFIG.tmp"
6298 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
6299 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
6300 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
6301 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
6304 if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
6305 echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
6306 echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp"
6309 # replace qconfig.pri if it differs from the newly created temp file
6310 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
6311 rm -f "$QTCONFIG.tmp"
6313 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
6316 #-------------------------------------------------------------------------------
6317 # save configuration into qmodule.pri
6318 #-------------------------------------------------------------------------------
6319 QTMODULE="$outpath/mkspecs/qmodule.pri"
6321 echo "CONFIG += create_prl link_prl" >> "$QTMODULE.tmp"
6323 # Ensure we can link to uninistalled libraries
6324 if [ "$BUILD_ON_MAC" != "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
6325 echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
6327 if [ -n "$QT_CFLAGS_PSQL" ]; then
6328 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
6330 if [ -n "$QT_LFLAGS_PSQL" ]; then
6331 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
6333 if [ -n "$QT_CFLAGS_MYSQL" ]; then
6334 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
6336 if [ -n "$QT_LFLAGS_MYSQL" ]; then
6337 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
6339 if [ -n "$QT_CFLAGS_SQLITE" ]; then
6340 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
6342 if [ -n "$QT_LFLAGS_SQLITE" ]; then
6343 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
6345 if [ -n "$QT_LFLAGS_ODBC" ]; then
6346 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
6348 if [ -n "$QT_LFLAGS_TDS" ]; then
6349 echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
6352 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
6353 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
6356 #dump in the OPENSSL_LIBS info
6357 if [ '!' -z "$OPENSSL_LIBS" ]; then
6358 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
6359 elif [ "$CFG_OPENSSL" = "linked" ]; then
6360 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
6363 #dump in the SDK info
6364 if [ '!' -z "$CFG_SDK" ]; then
6365 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
6369 cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
6370 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
6372 # replace qmodule.pri if it differs from the newly created temp file
6373 if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
6374 rm -f "$QTMODULE.tmp"
6376 mv -f "$QTMODULE.tmp" "$QTMODULE"
6379 #-------------------------------------------------------------------------------
6380 # save configuration into .qmake.cache
6381 #-------------------------------------------------------------------------------
6383 CACHEFILE="$outpath/.qmake.cache"
6384 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
6385 cat >>"$CACHEFILE.tmp" <<EOF
6387 QT_SOURCE_TREE = \$\$quote($relpath)
6388 QT_BUILD_TREE = \$\$quote($outpath)
6389 QT_BUILD_PARTS = $CFG_BUILD_PARTS
6391 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
6392 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
6393 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
6395 include(\$\$PWD/mkspecs/qmodule.pri)
6396 CONFIG += $QMAKE_CONFIG dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
6400 #dump the qmake spec
6401 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
6402 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
6404 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
6407 # replace .qmake.cache if it differs from the newly created temp file
6408 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
6409 rm -f "$CACHEFILE.tmp"
6411 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
6414 #-------------------------------------------------------------------------------
6415 # give feedback on configuration
6416 #-------------------------------------------------------------------------------
6420 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6423 This target is using the GNU C++ compiler ($PLATFORM).
6425 Recent versions of this compiler automatically include code for
6426 exceptions, which increase both the size of the Qt libraries and
6427 the amount of memory taken by your applications.
6429 You may choose to re-run `basename $0` with the -no-exceptions
6430 option to compile Qt without exceptions. This is completely binary
6431 compatible, and existing applications will continue to work.
6439 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6442 This target is using the MIPSpro C++ compiler ($PLATFORM).
6444 You may choose to re-run `basename $0` with the -no-exceptions
6445 option to compile Qt without exceptions. This will make the
6446 size of the Qt library smaller and reduce the amount of memory
6447 taken by your applications.
6459 if [ "$XPLATFORM" = "$PLATFORM" ]; then
6460 echo "Build type: $PLATFORM"
6462 echo "Building on: $PLATFORM"
6463 echo "Building for: $XPLATFORM"
6466 echo "Architecture: $CFG_ARCH"
6467 if [ "$PLATFORM_QPA" = "yes" ]; then
6468 echo "Host architecture: $CFG_HOST_ARCH"
6471 if [ -n "$PLATFORM_NOTES" ]; then
6472 echo "Platform notes:"
6473 echo "$PLATFORM_NOTES"
6478 if [ "$OPT_VERBOSE" = "yes" ]; then
6479 echo $ECHO_N "qmake vars .......... $ECHO_C"
6480 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
6481 echo "qmake switches ......... $QMAKE_SWITCHES"
6484 echo "Build .................. $CFG_BUILD_PARTS"
6485 echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
6486 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6487 echo "Debug .................. yes (combined)"
6488 if [ "$CFG_DEBUG" = "yes" ]; then
6489 echo "Default Link ........... debug"
6491 echo "Default Link ........... release"
6494 echo "Debug .................. $CFG_DEBUG"
6496 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
6497 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
6498 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
6499 echo "QtConcurrent code ...... $CFG_CONCURRENT"
6500 echo "QtGui module ........... $CFG_GUI"
6501 echo "QtWidgets module ....... $CFG_WIDGETS"
6502 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
6503 echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
6505 echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
6507 echo "Declarative debugging ...$CFG_DECLARATIVE_DEBUG"
6508 echo "STL support ............ $CFG_STL"
6509 echo "PCH support ............ $CFG_PRECOMPILE"
6510 if [ "$CFG_ARCH" = "i386" -o "$CFG_ARCH" = "x86_64" ]; then
6511 echo "SSE2/SSE3/SSSE3......... ${CFG_SSE2}/${CFG_SSE3}/${CFG_SSSE3}"
6512 echo "SSE4.1/SSE4.2........... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
6513 echo "AVX..................... ${CFG_AVX}"
6514 elif [ "$CFG_ARCH" = "arm" ]; then
6515 echo "iWMMXt support ......... ${CFG_IWMMXT}"
6516 echo "NEON support ........... ${CFG_NEON}"
6518 if [ "$CFG_ARCH" = "mips" ]; then
6519 echo "MIPS_DSP/MIPS_DSPR2..... ${CFG_MIPS_DSP}/${CFG_MIPS_DSPR2}"
6521 echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
6522 echo "getaddrinfo support .... $CFG_GETADDRINFO"
6523 echo "getifaddrs support ..... $CFG_GETIFADDRS"
6524 echo "Accessibility .......... $CFG_ACCESSIBILITY"
6525 echo "NIS support ............ $CFG_NIS"
6526 echo "CUPS support ........... $CFG_CUPS"
6527 echo "Iconv support .......... $CFG_ICONV"
6528 echo "Glib support ........... $CFG_GLIB"
6529 echo "GStreamer support ...... $CFG_GSTREAMER"
6530 echo "PulseAudio support ..... $CFG_PULSEAUDIO"
6531 echo "Large File support ..... $CFG_LARGEFILE"
6532 echo "GIF support ............ $CFG_GIF"
6533 if [ "$CFG_JPEG" = "no" ]; then
6534 echo "JPEG support ........... $CFG_JPEG"
6536 echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
6538 if [ "$CFG_PNG" = "no" ]; then
6539 echo "PNG support ............ $CFG_PNG"
6541 echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
6543 echo "zlib support ........... $CFG_ZLIB"
6544 echo "Session management ..... $CFG_SM"
6545 echo "libudev support ........ $CFG_LIBUDEV"
6547 if [ "$CFG_OPENGL" = "desktop" ]; then
6548 echo "OpenGL support ......... yes (Desktop OpenGL)"
6549 elif [ "$CFG_OPENGL" = "es2" ]; then
6550 echo "OpenGL support ......... yes (OpenGL ES 2.x)"
6552 echo "OpenGL support ......... no"
6555 if [ "$CFG_OPENVG" ]; then
6556 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
6557 echo "OpenVG support ......... ShivaVG"
6559 echo "OpenVG support ......... $CFG_OPENVG"
6562 if [ "$PLATFORM_X11" = "yes" ]; then
6563 echo "NAS sound support ...... $CFG_NAS"
6564 echo "XShape support ......... $CFG_XSHAPE"
6565 echo "XVideo support ......... $CFG_XVIDEO"
6566 echo "XSync support .......... $CFG_XSYNC"
6567 echo "Xinerama support ....... $CFG_XINERAMA"
6568 echo "Xcursor support ........ $CFG_XCURSOR"
6569 echo "Xfixes support ......... $CFG_XFIXES"
6570 echo "Xrandr support ......... $CFG_XRANDR"
6571 echo "Xi support ............. $CFG_XINPUT"
6572 echo "MIT-SHM support ........ $CFG_MITSHM"
6573 echo "FontConfig support ..... $CFG_FONTCONFIG"
6574 echo "XKB Support ............ $CFG_XKB"
6575 echo "immodule support ....... $CFG_IM"
6576 echo "GTK theme support ...... $CFG_QGTKSTYLE"
6578 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
6579 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
6580 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
6581 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
6582 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
6583 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
6584 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
6585 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
6586 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
6589 if [ "$CFG_OPENSSL" = "yes" ]; then
6590 OPENSSL_LINKAGE="(run-time)"
6591 elif [ "$CFG_OPENSSL" = "linked" ]; then
6592 OPENSSL_LINKAGE="(linked)"
6594 echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
6595 echo "Alsa support ........... $CFG_ALSA"
6596 if [ "$BUILD_ON_MAC" = "yes" ]; then
6597 echo "CoreWlan support ....... $CFG_COREWLAN"
6599 echo "libICU support ......... $CFG_ICU"
6600 echo "PCRE support ........... $CFG_PCRE"
6601 if [ "$CFG_XCB_LIMITED" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6602 echo "Xcb support ............ limited (old version)"
6604 echo "Xcb support ............ $CFG_XCB"
6606 echo "Xrender support ........ $CFG_XRENDER"
6607 if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
6608 echo "XInput2 support ........ $CFG_XINPUT2"
6610 echo "EGLFS support .......... $CFG_EGLFS"
6613 # complain about not being able to use dynamic plugins if we are using a static build
6614 if [ "$CFG_SHARED" = "no" ]; then
6616 echo "WARNING: Using static linking will disable the use of dynamically"
6617 echo "loaded plugins. Make sure to import all needed static plugins,"
6618 echo "or compile needed modules into the library."
6621 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
6623 echo "NOTE: When linking against OpenSSL, you can override the default"
6624 echo "library names through OPENSSL_LIBS."
6626 echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
6629 if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
6631 echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
6632 echo "if you want a pure debug build."
6637 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
6642 #-------------------------------------------------------------------------------
6643 # build makefiles based on the configuration
6644 #-------------------------------------------------------------------------------
6646 echo "Finding project files. Please wait..."
6647 if [ "$CFG_NOPROCESS" != "yes" ]; then
6648 "$outpath/bin/qmake" -prl -r "${relpath}/qtbase.pro"
6649 if [ -f "${relpath}/qtbase.pro" ]; then
6650 mkfile="${outpath}/Makefile"
6651 [ -f "$mkfile" ] && chmod +w "$mkfile"
6652 QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/qtbase.pro" -o "$mkfile"
6656 # .projects -> projects to process
6657 # .projects.1 -> qt and moc
6658 # .projects.2 -> subdirs and libs
6659 # .projects.3 -> the rest
6660 rm -f .projects .projects.1 .projects.2 .projects.3
6662 QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
6663 if [ -z "$AWK" ]; then
6664 for p in `echo $QMAKE_PROJECTS`; do
6665 echo "$p" >> .projects
6668 cat >projects.awk <<EOF
6674 first = "./.projects.1.tmp"
6675 second = "./.projects.2.tmp"
6676 third = "./.projects.3.tmp"
6681 if ( ! target_file )
6683 print input_file >target_file
6688 input_file = FILENAME
6693 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
6696 } else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) {
6697 target_file = second
6702 matched_target == 0 && /^(TEMPLATE.*=)/ {
6703 if ( \$3 == "subdirs" )
6704 target_file = second
6705 else if ( \$3 == "lib" )
6711 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
6712 if ( \$0 ~ /plugin/ )
6715 target_file = second
6720 if ( ! target_file )
6722 print input_file >>target_file
6729 for p in `echo $QMAKE_PROJECTS`; do
6730 echo "$p" >> .projects.all
6733 # if you get errors about the length of the command line to awk, change the -l arg
6735 split -l 100 .projects.all .projects.all.
6736 for p in .projects.all.*; do
6737 "$AWK" -f projects.awk `cat $p`
6738 [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
6739 [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
6740 [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
6741 rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
6743 rm -f .projects.all* projects.awk
6745 [ -f .projects.1 ] && cat .projects.1 >>.projects
6746 [ -f .projects.2 ] && cat .projects.2 >>.projects
6747 rm -f .projects.1 .projects.2
6748 if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
6749 cat .projects.3 >>.projects
6753 # don't sort Qt and MOC in with the other project files
6754 # also work around a segfaulting uniq(1)
6755 if [ -f .sorted.projects.2 ]; then
6756 sort .sorted.projects.2 > .sorted.projects.2.new
6757 mv -f .sorted.projects.2.new .sorted.projects.2
6758 cat .sorted.projects.2 >> .sorted.projects.1
6760 [ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
6761 rm -f .sorted.projects.2 .sorted.projects.1
6765 if [ -f .projects ]; then
6766 uniq .projects >.tmp
6767 mv -f .tmp .projects
6768 NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
6770 if [ -f .projects.3 ]; then
6771 uniq .projects.3 >.tmp
6772 mv -f .tmp .projects.3
6773 FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
6775 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
6779 for part in $CFG_BUILD_PARTS; do
6781 tools) PART_ROOTS="$PART_ROOTS tools" ;;
6782 libs) PART_ROOTS="$PART_ROOTS src" ;;
6783 translations) PART_ROOTS="$PART_ROOTS translations" ;;
6784 examples) PART_ROOTS="$PART_ROOTS examples" ;;
6789 if [ "$CFG_DEV" = "yes" ]; then
6790 PART_ROOTS="$PART_ROOTS tests"
6793 echo "Creating makefiles. Please wait..."
6794 for file in .projects .projects.3; do
6795 [ '!' -f "$file" ] && continue
6796 for a in `cat $file`; do
6798 for r in $PART_ROOTS; do
6799 if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
6804 [ "$IN_ROOT" = "no" ] && continue
6807 *winmain/winmain.pro)
6808 if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_MINGW" != "yes" ]; then
6812 */qmake/qmake.pro) continue ;;
6813 *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*|*tools/qdoc*|*tools/qdbusxml2cpp*|*tools/qdbuscpp2xml*) SPEC=$QMAKESPEC ;;
6814 *) if [ "$CFG_NOPROCESS" = "yes" ]; then
6820 dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
6821 test -d "$dir" || mkdir -p "$dir"
6822 OUTDIR="$outpath/$dir"
6823 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
6824 # fast configure - the makefile exists, skip it
6825 # since the makefile exists, it was generated by qmake, which means we
6826 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
6828 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
6831 QMAKE_SPEC_ARGS="-spec $SPEC"
6832 echo $ECHO_N " for $a$ECHO_C"
6834 QMAKE="$outpath/bin/qmake"
6835 QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
6836 if [ "$file" = ".projects.3" ]; then
6839 cat >"${OUTDIR}/Makefile" <<EOF
6840 # ${OUTDIR}/Makefile: generated by configure
6842 # WARNING: This makefile will be replaced with a real makefile.
6843 # All changes made to this file will be lost.
6845 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
6847 cat >>"${OUTDIR}/Makefile" <<EOF
6849 all clean install qmake first Makefile: FORCE
6850 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
6858 if [ "$OPT_VERBOSE" = "yes" ]; then
6859 echo " (`basename $SPEC`)"
6860 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
6865 [ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
6866 QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
6870 rm -f .projects .projects.3
6872 #-------------------------------------------------------------------------------
6873 # check for platforms that we don't yet know about
6874 #-------------------------------------------------------------------------------
6875 if [ "$CFG_ARCH" = "unknown" ]; then
6878 NOTICE: configure was unable to determine the architecture
6879 for the $XQMAKESPEC target.
6881 Qt will not use a specialized implementation for any atomic
6882 operations. Instead a generic implemention based on either GCC
6883 intrinsics or C++11 std::atomic<T> will be used (when
6884 available). The generic implementations are generally as fast
6885 as and always as safe as a specialized implementation.
6887 If no generic implementation is available, Qt will use a
6888 fallback UNIX implementation which uses a single
6889 pthread_mutex_t to protect all atomic operations. This
6890 implementation is the slow (but safe) fallback implementation
6891 for architectures Qt does not yet support.
6895 #-------------------------------------------------------------------------------
6896 # check if the user passed the -no-zlib option, which is no longer supported
6897 #-------------------------------------------------------------------------------
6898 if [ -n "$ZLIB_FORCED" ]; then
6899 which_zlib="supplied"
6900 if [ "$CFG_ZLIB" = "system" ]; then
6906 NOTICE: The -no-zlib option was supplied but is no longer
6909 Qt now requires zlib support in all builds, so the -no-zlib
6910 option was ignored. Qt will be built using the $which_zlib
6915 #-------------------------------------------------------------------------------
6916 # check if the user passed the obsoleted -wayland or -no-wayland flag
6917 #-------------------------------------------------------------------------------
6918 if [ "$CFG_OBSOLETE_WAYLAND" = "yes" ]; then
6921 NOTICE: The -wayland and -no-wayland flags are now obsolete
6923 All configuring of QtWayland plugin and QtCompositor happens in the module
6927 #-------------------------------------------------------------------------------
6928 # check if the user passed the obsoleted -arch or -host-arch options
6929 #-------------------------------------------------------------------------------
6930 if [ "$OPT_OBSOLETE_HOST_ARG" = "yes" ]; then
6933 NOTICE: The -arch and -host-arch options are obsolete.
6935 Qt now detects the target and host architectures based on compiler
6936 output. Qt will be built using $CFG_ARCH for the target architecture
6937 and $CFG_HOST_ARCH for the host architecture (note that these two
6938 will be the same unless you are cross-compiling).
6942 #-------------------------------------------------------------------------------
6943 # finally save the executed command to another script
6944 #-------------------------------------------------------------------------------
6945 if [ `basename $0` != "config.status" ]; then
6946 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
6948 # add the system variables
6949 for varname in $SYSTEM_VARIABLES; do
6951 'if [ -n "\$'${varname}'" ]; then
6952 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
6957 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
6959 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
6960 echo "#!/bin/sh" > "$outpath/config.status"
6961 [ -n "$PKG_CONFIG_SYSROOT_DIR" ] && \
6962 echo "export PKG_CONFIG_SYSROOT_DIR=$PKG_CONFIG_SYSROOT_DIR" >> "$outpath/config.status"
6963 [ -n "$PKG_CONFIG_LIBDIR" ] && \
6964 echo "export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR" >> "$outpath/config.status"
6965 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
6966 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
6967 echo "else" >> "$outpath/config.status"
6968 echo " $CONFIG_STATUS" >> "$outpath/config.status"
6969 echo "fi" >> "$outpath/config.status"
6970 chmod +x "$outpath/config.status"
6973 if [ -n "$RPATH_MESSAGE" ]; then
6975 echo "$RPATH_MESSAGE"
6978 MAKE=`basename "$MAKE"`
6980 echo Qt is now configured for building. Just run \'$MAKE\'.
6981 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
6982 echo Once everything is built, Qt is installed.
6983 echo You should not run \'$MAKE install\'.
6985 echo Once everything is built, you must run \'$MAKE install\'.
6986 echo Qt will be installed into $QT_INSTALL_PREFIX
6989 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.