3 # Configures to build the Qt library
5 # Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
6 # Contact: Qt Software Information (qt-info@nokia.com)
8 # This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
9 # WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
12 #-------------------------------------------------------------------------------
13 # script initialization
14 #-------------------------------------------------------------------------------
16 # the name of this script
18 # the directory of this script is the "source tree"
20 relpath
=`(cd "$relpath"; /bin/pwd)`
21 # the current directory is the "build tree" or "object tree"
24 #license file location
25 LICENSE_FILE
="$QT_LICENSE_FILE"
26 [ -z "$LICENSE_FILE" ] && LICENSE_FILE
="$HOME/.qt-license"
27 if [ -f "$LICENSE_FILE" ]; then
28 tr -d '\r' <"$LICENSE_FILE" >"${LICENSE_FILE}.tmp"
29 diff "${LICENSE_FILE}.tmp" "${LICENSE_FILE}" >/dev/null 2>&1 || LICENSE_FILE="${LICENSE_FILE}.tmp"
32 # later cache the command line in config.status
33 OPT_CMDLINE
=`echo $@ | sed "s,-v ,,g; s,-v$,,g"`
35 # initialize global variables
42 QMAKE_VARS_FILE
=.qmake.vars
46 #-------------------------------------------------------------------------------
48 #-------------------------------------------------------------------------------
50 # Adds a new qmake variable to the cache
51 # Usage: QMakeVar mode varname contents
52 # where mode is one of: set, add, del
66 echo >&2 "BUG: wrong command to QMakeVar: $1"
70 echo "$2" "$eq" "$3" >> "$QMAKE_VARS_FILE"
73 # relies on $QMAKESPEC being set correctly. parses include statements in
74 # qmake.conf and prints out the expanded file
81 $AWK -v "QMAKESPEC=$tmpSPEC" '
83 fname = QMAKESPEC "/" substr($0, 9, length($0) - 9)
84 while ((getline line < fname) > 0)
89 { print }' "$tmpSPEC/qmake.conf"
92 #-------------------------------------------------------------------------------
93 # operating system detection
94 #-------------------------------------------------------------------------------
96 # need that throughout the script
97 UNAME_MACHINE
=`(uname -m) 2>/dev/null` || UNAME_MACHINE
=unknown
98 UNAME_RELEASE
=`(uname -r) 2>/dev/null` || UNAME_RELEASE
=unknown
99 UNAME_SYSTEM
=`(uname -s) 2>/dev/null` || UNAME_SYSTEM
=unknown
100 UNAME_VERSION
=`(uname -v) 2>/dev/null` || UNAME_VERSION
=unknown
103 #-------------------------------------------------------------------------------
104 # window system detection
105 #-------------------------------------------------------------------------------
111 if [ -f "$relpath"/src
/gui
/kernel
/qapplication_mac.mm
] && [ -d /System
/Library
/Frameworks
/Carbon.framework
]; then
113 # ~ the Carbon SDK exists
114 # ~ src/gui/base/qapplication_mac.cpp is present
115 # ~ this is the internal edition and Qt/Mac sources exist
117 elif [ -f "$relpath"/src
/gui
/kernel
/qapplication_qws.cpp
]; then
119 # ~ src/gui/base/qapplication_qws.cpp is present
120 # ~ this is the free or commercial edition
121 # ~ this is the internal edition and Qt Embedded is explicitly enabled
122 if [ -f "$relpath"/src
/gui
/kernel
/qapplication_mac.mm
]; then
123 # This is a depot build, or an all-platforms package
126 # This must be the embedded package, since the Qt/Mac source files are not present
131 #-----------------------------------------------------------------------------
132 # Qt version detection
133 #-----------------------------------------------------------------------------
134 QT_VERSION
=`grep '^# *define *QT_VERSION_STR' "$relpath"/src/corelib/global/qglobal.h`
138 if [ -n "$QT_VERSION" ]; then
139 QT_VERSION
=`echo $QT_VERSION | sed 's,^# *define *QT_VERSION_STR *"*\([^ ]*\)"$,\1,'`
140 MAJOR
=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
141 if [ -n "$MAJOR" ]; then
142 MINOR
=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
143 PATCH
=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
144 QT_MAJOR_VERSION
="$MAJOR"
145 [ -z "$MINOR" ] || QT_MINOR_VERSION
="$MINOR"
146 [ -z "$PATCH" ] || QT_PATCH_VERSION
="$PATCH"
149 if [ -z "$QT_MAJOR_VERSION" ]; then
150 echo "Cannot process version from qglobal.h: $QT_VERSION"
151 echo "Cannot proceed."
155 QT_PACKAGEDATE
=`grep '^# *define *QT_PACKAGEDATE_STR' "$relpath"/src/corelib/global/qglobal.h | sed -e 's,^# *define *QT_PACKAGEDATE_STR *"\([^ ]*\)"$,\1,' -e s,-,,g`
156 if [ -z "$QT_PACKAGEDATE" ]; then
157 echo "Unable to determine package date from qglobal.h: '$QT_PACKAGEDATE'"
158 echo "Cannot proceed"
162 #-------------------------------------------------------------------------------
164 #-------------------------------------------------------------------------------
169 EditionString
=Commercial
173 # parse the arguments, setting things to "yes" or "no"
174 while [ "$#" -gt 0 ]; do
178 #Autoconf style options
180 VAR
=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
184 VAR
=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
188 VAR
=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
189 VAL
=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
192 VAR
=`echo $1 | sed "s,^--no-\(.*\),\1,"`
197 # this option may or may not be followed by an argument
198 if [ -z "$2" ] ||
echo "$2" |
grep '^-' >/dev
/null
2>&1; then
205 -h|
help|
--help|
-help)
206 if [ "$VAL" = "yes" ]; then
208 COMMERCIAL_USER
="no" #doesn't matter we will display the help
211 COMMERCIAL_USER
="no" #doesn't matter we will display the help
215 VAR
=`echo $1 | sed "s,^--\(.*\),\1,"`
219 VAR
=`echo $1 | sed "s,^-\(.*\),\1,"`
226 if [ "$UNKNOWN_ARG" = "yes" ]; then
236 if [ "$PLATFORM_QWS" != "no" ]; then
237 if [ "$PLATFORM_QWS" = "maybe" ]; then
243 echo "No license exists to enable Qt for Embedded Linux. Disabling."
256 COMMERCIAL_USER
="yes"
270 if [ "$COMMERCIAL_USER" = "ask" ]; then
272 echo "Which edition of Qt do you want to use ?"
274 echo "Type 'c' if you want to use the Commercial Edition."
275 echo "Type 'o' if you want to use the Open Source Edition."
279 if [ "$commercial" = "c" ]; then
280 COMMERCIAL_USER
="yes"
282 elif [ "$commercial" = "o" ]; then
289 if [ "$CFG_NOKIA" = "yes" ]; then
291 Edition
="NokiaInternalBuild"
292 EditionString
="Nokia Internal Build"
293 QT_EDITION
="QT_EDITION_OPENSOURCE"
294 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC
=yes
295 elif [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL
] && [ $COMMERCIAL_USER = "yes" ]; then
296 # Commercial preview release
297 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC
=yes
300 QT_EDITION
="QT_EDITION_DESKTOP"
301 LicenseType
="Technology Preview"
302 elif [ $COMMERCIAL_USER = "yes" ]; then
303 # one of commercial editions
304 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC
=yes
305 [ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS
=yes
307 # read in the license file
308 if [ -f "$LICENSE_FILE" ]; then
309 .
"$LICENSE_FILE" >/dev
/null
2>&1
310 if [ -z "$LicenseKeyExt" ]; then
312 echo "You are using an old license file."
314 echo "Please install the license file supplied by Qt Software,"
315 echo "or install the Qt Open Source Edition if you intend to"
316 echo "develop free software."
319 if [ -z "$Licensee" ]; then
321 echo "Invalid license key. Please check the license key."
325 if [ -z "$LicenseKeyExt" ]; then
327 if echo '\c' |
grep '\c' >/dev
/null
; then
328 echo -n "Please enter your license key: "
330 echo "Please enter your license key: \c"
333 Licensee
="Unknown user"
338 echo "$LicenseKeyExt" |
grep ".....*-....*-....*-....*-.....*-.....*-...." >/dev
/null
2>&1 \
339 && LicenseValid
="yes" \
341 if [ "$LicenseValid" != "yes" ]; then
343 echo "Invalid license key. Please check the license key."
346 ProductCode
=`echo $LicenseKeyExt | cut -f 1 -d - | cut -b 1`
347 PlatformCode
=`echo $LicenseKeyExt | cut -f 2 -d - | cut -b 1`
348 LicenseTypeCode
=`echo $LicenseKeyExt | cut -f 3 -d -`
349 LicenseFeatureCode
=`echo $LicenseKeyExt | cut -f 4 -d - | cut -b 1`
351 # determine which edition we are licensed to use
352 case "$LicenseTypeCode" in
354 LicenseType
="Commercial"
358 QT_EDITION
="QT_EDITION_UNIVERSAL"
361 Edition
="FullFramework"
362 EditionString
="Full Framework"
363 QT_EDITION
="QT_EDITION_DESKTOP"
366 Edition
="GUIFramework"
367 EditionString
="GUI Framework"
368 QT_EDITION
="QT_EDITION_DESKTOPLIGHT"
373 LicenseType
="Evaluation"
377 QT_EDITION
="QT_EDITION_EVALUATION"
382 if [ -z "$LicenseType" -o -z "$Edition" -o -z "$QT_EDITION" ]; then
384 echo "Invalid license key. Please check the license key."
388 # verify that we are licensed to use Qt on this platform
390 if [ "$PlatformCode" = "X" ]; then
392 LICENSE_EXTENSION
="-ALLOS"
393 elif [ "$PLATFORM_QWS" = "yes" ]; then
394 case $PlatformCode in
395 2|
4|
8|A|B|E|G|J|K|P|Q|S|U|V|W
)
396 # Qt for Embedded Linux
397 LICENSE_EXTENSION
="-EMBEDDED"
401 echo "You are not licensed for Qt for Embedded Linux."
403 echo "Please contact sales@trolltech.com to upgrade your license"
404 echo "to include Qt for Embedded Linux, or install the"
405 echo "Qt Open Source Edition if you intend to develop free software."
409 elif [ "$PLATFORM_MAC" = "yes" ]; then
410 case $PlatformCode in
411 2|
4|
5|
7|
9|B|C|E|F|G|L|M|U|W|Y
)
413 LICENSE_EXTENSION
="-DESKTOP"
415 3|
6|
8|A|D|H|J|K|P|Q|S|V
)
417 LICENSE_EXTENSION
="-EMBEDDED"
421 echo "You are not licensed for the Qt/Mac platform."
423 echo "Please contact sales@trolltech.com to upgrade your license"
424 echo "to include the Qt/Mac platform."
429 case $PlatformCode in
430 2|
3|
4|
5|
7|D|E|F|J|M|Q|S|T|V|Z
)
432 LICENSE_EXTENSION
="-DESKTOP"
434 6|
8|
9|A|B|C|G|H|K|P|U|W
)
436 LICENSE_EXTENSION
="-EMBEDDED"
440 echo "You are not licensed for the Qt/X11 platform."
442 echo "Please contact sales@trolltech.com to upgrade your license to"
443 echo "include the Qt/X11 platform, or install the Qt Open Source Edition"
444 echo "if you intend to develop free software."
450 if test -r "$relpath/.LICENSE"; then
451 # Generic, non-final license
453 line
=`sed 'y/a-z/A-Z/;q' "$relpath"/.LICENSE`
458 *TECHNOLOGY?PREVIEW
*)
465 echo >&2 "Invalid license files; cannot continue"
470 EditionString
="$Edition"
471 QT_EDITION
="QT_EDITION_DESKTOP"
474 case "$LicenseFeatureCode" in
477 case "$LicenseType" in
479 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}-US" "$outpath/LICENSE"
482 cp -f "$relpath/.LICENSE-EVALUATION-US" "$outpath/LICENSE"
488 case "$LicenseType" in
490 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}" "$outpath/LICENSE"
493 cp -f "$relpath/.LICENSE-EVALUATION" "$outpath/LICENSE"
499 echo "Invalid license key. Please check the license key."
503 if [ '!' -f "$outpath/LICENSE" ]; then
504 echo "The LICENSE, LICENSE.GPL3 LICENSE.LGPL file shipped with"
505 echo "this software has disappeared."
507 echo "Sorry, you are not licensed to use this software."
508 echo "Try re-installing."
512 elif [ $COMMERCIAL_USER = "no" ]; then
513 # Open Source edition - may only be used under the terms of the GPL or LGPL.
514 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC
=yes
515 Licensee
="Open Source"
517 EditionString
="Open Source"
518 QT_EDITION
="QT_EDITION_OPENSOURCE"
521 #-------------------------------------------------------------------------------
522 # initalize variables
523 #-------------------------------------------------------------------------------
525 SYSTEM_VARIABLES
="CC CXX CFLAGS CXXFLAGS LDFLAGS"
526 for varname
in $SYSTEM_VARIABLES; do
527 qmakevarname
="${varname}"
528 # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
529 if [ "${varname}" = "LDFLAGS" ]; then
530 qmakevarname
="LFLAGS"
533 'if [ -n "\$'${varname}'" ]; then
534 QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'"
538 # Use CC/CXX to run config.tests
539 mkdir
-p "$outpath/config.tests"
540 rm -f "$outpath/config.tests/.qmake.cache"
541 cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
543 QMakeVar add styles
"cde mac motif plastique cleanlooks windows"
544 QMakeVar add decorations
"default windows styled"
545 QMakeVar add gfx-drivers
"linuxfb"
546 QMakeVar add kbd-drivers
"tty"
547 QMakeVar add mouse-drivers
"pc linuxtp"
549 if [ "$CFG_DEV" = "yes" ]; then
550 QMakeVar add kbd-drivers
"um"
553 # QTDIR may be set and point to an old or system-wide Qt installation
556 # the minimum version of libdbus-1 that we require:
557 MIN_DBUS_1_VERSION
=0.62
559 # initalize internal variables
560 CFG_CONFIGURE_EXIT_ON_ERROR
=yes
562 CFG_EXCEPTIONS
=unspecified
563 CFG_SCRIPTTOOLS
=auto
# (yes|no|auto)
564 CFG_XMLPATTERNS
=auto
# (yes|no|auto)
593 CFG_QWS_FREETYPE
=auto
596 QT_DEFAULT_BUILD_PARTS
="libs tools examples demos docs translations"
601 CFG_PHONON_BACKEND
=yes
603 CFG_WEBKIT
=auto
# (yes|no|auto)
605 CFG_GFX_AVAILABLE
="linuxfb transformed qvfb vnc multiscreen"
606 CFG_GFX_ON
="linuxfb multiscreen"
607 CFG_GFX_PLUGIN_AVAILABLE
=
610 CFG_KBD_AVAILABLE
="tty linuxinput sl5000 yopy vr41xx qvfb"
611 CFG_KBD_ON
="tty" #default, see QMakeVar above
612 CFG_MOUSE_AVAILABLE
="pc bus linuxtp yopy vr41xx tslib qvfb"
613 CFG_MOUSE_ON
="pc linuxtp" #default, see QMakeVar above
617 CFG_KBD_PLUGIN_AVAILABLE
=
620 CFG_MOUSE_PLUGIN_AVAILABLE
=
625 CFG_DECORATION_AVAILABLE
="styled windows default"
626 CFG_DECORATION_ON
="${CFG_DECORATION_AVAILABLE}" # all on by default
627 CFG_DECORATION_PLUGIN_AVAILABLE
=
628 CFG_DECORATION_PLUGIN
=
643 CFG_SEPARATE_DEBUG_INFO
=auto
644 CFG_REDUCE_EXPORTS
=auto
649 CFG_REDUCE_RELOCATIONS
=no
654 CFG_ACCESSIBILITY
=auto
658 CFG_DOUBLEFORMAT
=auto
661 CFG_CLOCK_GETTIME
=auto
662 CFG_CLOCK_MONOTONIC
=auto
671 MAC_ARCHS_COMMANDLINE
=
676 COMMANDLINE_MAC_COCOA
=no
678 CFG_PREFIX_INSTALL
=yes
686 XPLATFORM
= # This seems to be the QMAKESPEC, like "linux-g++"
689 OPT_CONFIRM_LICENSE
=no
695 CFG_GRAPHICS_SYSTEM
=default
697 # initalize variables used for installation
705 QT_INSTALL_TRANSLATIONS
=
711 #flags for SQL drivers
720 # flags for libdbus-1
724 # flags for Glib (X11 only)
728 # flags for GStreamer (X11 only)
732 #-------------------------------------------------------------------------------
733 # check SQL drivers, mouse drivers and decorations available in this package
734 #-------------------------------------------------------------------------------
736 # opensource version removes some drivers, so force them to be off
742 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
743 for a
in "$relpath/src/plugins/sqldrivers/"*; do
745 base_a
=`basename "$a"`
746 CFG_SQL_AVAILABLE
="${CFG_SQL_AVAILABLE} ${base_a}"
747 eval "CFG_SQL_${base_a}=auto"
752 CFG_DECORATION_PLUGIN_AVAILABLE
=
753 if [ -d "$relpath/src/plugins/decorations" ]; then
754 for a
in "$relpath/src/plugins/decorations/"*; do
756 base_a
=`basename "$a"`
757 CFG_DECORATION_PLUGIN_AVAILABLE
="${CFG_DECORATION_PLUGIN_AVAILABLE} ${base_a}"
762 CFG_KBD_PLUGIN_AVAILABLE
=
763 if [ -d "$relpath/src/plugins/kbddrivers" ]; then
764 for a
in "$relpath/src/plugins/kbddrivers/"*; do
766 base_a
=`basename "$a"`
767 CFG_KBD_PLUGIN_AVAILABLE
="${CFG_KBD_PLUGIN_AVAILABLE} ${base_a}"
772 CFG_MOUSE_PLUGIN_AVAILABLE
=
773 if [ -d "$relpath/src/plugins/mousedrivers" ]; then
774 for a
in "$relpath/src/plugins/mousedrivers/"*; do
776 base_a
=`basename "$a"`
777 CFG_MOUSE_PLUGIN_AVAILABLE
="${CFG_MOUSE_PLUGIN_AVAILABLE} ${base_a}"
782 CFG_GFX_PLUGIN_AVAILABLE
=
783 if [ -d "$relpath/src/plugins/gfxdrivers" ]; then
784 for a
in "$relpath/src/plugins/gfxdrivers/"*; do
786 base_a
=`basename "$a"`
787 CFG_GFX_PLUGIN_AVAILABLE
="${CFG_GFX_PLUGIN_AVAILABLE} ${base_a}"
790 CFG_GFX_OFF
="$CFG_GFX_AVAILABLE" # assume all off
793 #-------------------------------------------------------------------------------
794 # parse command line arguments
795 #-------------------------------------------------------------------------------
797 # parse the arguments, setting things to "yes" or "no"
798 while [ "$#" -gt 0 ]; do
802 #Autoconf style options
804 VAR
=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
808 VAR
=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
812 VAR
=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
813 VAL
=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
816 VAR
=`echo $1 | sed "s,^--no-\(.*\),\1,"`
820 VAR
=`echo $1 | sed "s,^--\(.*\),\1,"`
824 -no-*-*|
-plugin-*-*|
-qt-*-*)
825 VAR
=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
826 VAL
=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
830 VAR
=`echo $1 | sed "s,^-no-\(.*\),\1,"`
833 #Qt style yes options
834 -incremental|
-qvfb|
-profile|
-shared|
-static|
-sm|
-xinerama|
-xshape|
-xinput|
-reduce-exports|
-pch|
-separate-debug-info|
-stl|
-freetype|
-xcursor|
-xfixes|
-xrandr|
-xrender|
-mitshm|
-fontconfig|
-xkb|
-nis|
-qdbus|
-dbus|
-dbus-linked|
-glib|
-gstreamer|
-gtkstyle|
-cups|
-iconv|
-largefile|
-h|
-help|
-v|
-verbose|
-debug|
-release|
-fast|
-accessibility|
-confirm-license|
-gnumake|
-framework|
-qt3support|
-debug-and-release|
-exceptions|
-cocoa|
-universal|
-prefix-install|
-silent|
-armfpa|
-optimized-qmake|
-dwarf2|
-reduce-relocations|
-sse|
-openssl|
-openssl-linked|
-ptmalloc|
-xmlpatterns|
-phonon|
-phonon-backend|
-svg|
-webkit|
-scripttools|
-rpath|
-force-pkg-config)
835 VAR
=`echo $1 | sed "s,^-\(.*\),\1,"`
838 #Qt style options that pass an argument
840 if [ "$PLATFORM_QWS" != "yes" ]; then
842 echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
846 VAR
=`echo $1 | sed "s,^-\(.*\),\1,"`
850 -prefix|
-docdir|
-headerdir|
-plugindir|
-datadir|
-libdir|
-bindir|
-translationdir|
-sysconfdir|
-examplesdir|
-demosdir|
-depths|
-make|
-nomake|
-platform|
-xplatform|
-buildkey|
-sdk|
-arch|
-host-arch|
-mysql_config)
851 VAR
=`echo $1 | sed "s,^-\(.*\),\1,"`
855 #Qt style complex options in one command
856 -enable-*|
-disable-*)
857 VAR
=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
858 VAL
=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
860 #Qt Builtin/System style options
861 -no-*|
-system-*|
-qt-*)
862 VAR
=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
863 VAL
=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
865 #Options that cannot be generalized
872 # this option may or may not be followed by an argument
873 if [ -z "$2" ] ||
echo "$2" |
grep '^-' >/dev
/null
2>&1; then
882 # this option may or may not be followed by an argument
883 if [ -z "$2" ] ||
echo "$2" |
grep '^-' >/dev
/null
2>&1; then
891 VAR
=`echo $1 | sed "s,^-\(.*\),\1,"`
892 # this option may or may not be followed by an argument
893 if [ -z "$2" ] ||
echo "$2" |
grep '^-' >/dev
/null
2>&1; then
902 VAL
=`echo $1 | sed "s,^-.*-\(.*\)-.*,\1,"`
906 VAL
=`echo $1 | sed "s,^-\(.*\)-.*,\1,"`
925 if [ "$1" = "-D" ]; then
929 VAL
=`echo $1 | sed 's,-D,,'`
934 if [ "$1" = "-I" ]; then
938 VAL
=`echo $1 | sed 's,-I,,'`
943 if [ "$1" = "-L" ]; then
947 VAL
=`echo $1 | sed 's,-L,,'`
952 if [ "$1" = "-R" ]; then
956 VAL
=`echo $1 | sed 's,-R,,'`
961 VAL
=`echo $1 | sed 's,-l,,'`
965 if [ "$1" = "-F" ]; then
969 VAL
=`echo $1 | sed 's,-F,,'`
974 if [ "$1" = "-fw" ]; then
978 VAL
=`echo $1 | sed 's,-fw,,'`
982 VAR
=`echo $1 | sed "s,^-\(.*\),\1,"`
989 if [ "$UNKNOWN_ARG" = "yes" ]; then
990 echo "$1: unknown argument"
1001 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1002 CFG_QT3SUPPORT
="$VAL"
1008 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1009 CFG_ACCESSIBILITY
="$VAL"
1018 CFG_USE_GNUMAKE
="$VAL"
1021 CFG_MYSQL_CONFIG
="$VAL"
1024 QT_INSTALL_PREFIX
="$VAL"
1027 QT_HOST_PREFIX
="$VAL"
1030 QT_FORCE_PKGCONFIG
=yes
1033 QT_INSTALL_DOCS
="$VAL"
1036 QT_INSTALL_HEADERS
="$VAL"
1039 QT_INSTALL_PLUGINS
="$VAL"
1042 QT_INSTALL_DATA
="$VAL"
1045 QT_INSTALL_LIBS
="$VAL"
1054 QT_INSTALL_TRANSLATIONS
="$VAL"
1056 sysconfdir|settingsdir
)
1057 QT_INSTALL_SETTINGS
="$VAL"
1060 QT_INSTALL_EXAMPLES
="$VAL"
1063 QT_INSTALL_DEMOS
="$VAL"
1069 QT_INSTALL_BINS
="$VAL"
1072 CFG_USER_BUILD_KEY
="$VAL"
1079 if [ "$PLATFORM_QWS" != "no" ]; then
1080 if [ "$PLATFORM_QWS" = "maybe" ]; then
1086 echo "No license exists to enable Qt for Embedded Linux. Disabling."
1091 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1098 if [ "$VAL" = "little" ]; then
1099 CFG_ENDIAN
="Q_LITTLE_ENDIAN"
1100 elif [ "$VAL" = "big" ]; then
1101 CFG_ENDIAN
="Q_BIG_ENDIAN"
1107 if [ "$VAL" = "little" ]; then
1108 CFG_HOST_ENDIAN
="Q_LITTLE_ENDIAN"
1109 elif [ "$VAL" = "big" ]; then
1110 CFG_HOST_ENDIAN
="Q_BIG_ENDIAN"
1116 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1123 CFG_QWS_DEPTHS
="$VAL"
1126 if [ "$VAL" = "auto" ] ||
[ "$VAL" = "desktop" ] ||
1127 [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
1128 [ "$VAL" = "es1cl" ] ||
[ "$VAL" = "es1" ] ||
[ "$VAL" = "es2" ]; then
1135 if [ "$PLATFORM_QWS" = "yes" ]; then
1136 echo "Error: Graphics System plugins are not supported on QWS."
1137 echo " On QWS, the graphics system API is part of the QScreen plugin architecture "
1138 echo " rather than existing as a separate plugin."
1142 if [ "$VAL" = "opengl" ]; then
1143 CFG_GRAPHICS_SYSTEM
="opengl"
1144 elif [ "$VAL" = "raster" ]; then
1145 CFG_GRAPHICS_SYSTEM
="raster"
1152 qvfb
) # left for commandline compatibility, not documented
1153 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1154 if [ "$VAL" = "yes" ]; then
1155 QMakeVar add gfx-drivers qvfb
1156 QMakeVar add kbd-drivers qvfb
1157 QMakeVar add mouse-drivers qvfb
1158 CFG_GFX_ON
="$CFG_GFX_ON qvfb"
1159 CFG_KBD_ON
="$CFG_KBD_ON qvfb"
1160 CFG_MOUSE_ON
="$CFG_MOUSE_ON qvfb"
1167 CFG_NOBUILD_PARTS
="$CFG_NOBUILD_PARTS $VAL"
1170 CFG_BUILD_PARTS
="$CFG_BUILD_PARTS $VAL"
1173 if [ "$PLATFORM_MAC" = "yes" ]; then
1175 elif [ "$PLATFORM_QWS" = "yes" ]; then
1178 if [ "$CFG_FRAMEWORK" = "auto" ]; then
1184 if [ "$PLATFORM_MAC" = "yes" ]; then
1191 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1192 CFG_MAC_DWARF2
="$VAL"
1198 if [ "$PLATFORM_MAC" = "yes" ]; then
1199 CFG_MAC_ARCHS
="$CFG_MAC_ARCHS $VAL"
1208 if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1209 CFG_MAC_ARCHS
="$CFG_MAC_ARCHS x86 ppc"
1215 if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1216 CFG_MAC_COCOA
="$VAL"
1217 COMMANDLINE_MAC_COCOA
="$VAL"
1223 if [ "$PLATFORM_MAC" = "yes" ]; then
1224 CFG_FRAMEWORK
="$VAL"
1230 if [ "$VAL" = "yes" ]; then
1232 QMakeVar add QMAKE_CFLAGS
-pg
1233 QMakeVar add QMAKE_CXXFLAGS
-pg
1234 QMakeVar add QMAKE_LFLAGS
-pg
1235 QMAKE_VARS
="$QMAKE_VARS CONFIG+=nostrip"
1240 exceptions|g
++-exceptions)
1241 if [ "$VAL" = "no" ]; then
1243 elif [ "$VAL" = "yes" ]; then
1251 # keep compatibility with old platform names
1257 PLATFORM
=hpux-acc-o64
1260 PLATFORM
=hpux-acc-64
1263 PLATFORM
=hpux-acc-64
1275 PLATFORM
=reliant-cds-64
1278 PLATFORM
=solaris-cc-64
1281 PLATFORM
=solaris-cc-64
1284 PLATFORM
=unixware-cc
1287 PLATFORM
=unixware-g
++
1290 PLATFORM
=unixware-cc
1293 PLATFORM
=unixware-g
++
1299 i386
) NATIVE_64_ARCH
="x86_64" ;;
1300 powerpc
) NATIVE_64_ARCH
="ppc64" ;;
1301 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1303 if [ ! -z "$NATIVE_64_ARCH" ]; then
1304 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1305 CFG_MAC_ARCHS
="$CFG_MAC_ARCHS $NATIVE_64_ARCH"
1314 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1315 CFG_DEBUG_RELEASE
="$VAL"
1321 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1322 CFG_RELEASE_QMAKE
="$VAL"
1328 if [ "$VAL" = "yes" ]; then
1330 elif [ "$VAL" = "no" ]; then
1337 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1338 CFG_PREFIX_INSTALL
="$VAL"
1346 developer-build|commercial|opensource|nokia-developer
)
1347 # These switches have been dealt with already
1350 if [ "$VAL" = "yes" ]; then
1352 elif [ "$VAL" = "no" ]; then
1359 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1360 CFG_INCREMENTAL
="$VAL"
1366 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1367 CFG_CONFIGURE_EXIT_ON_ERROR
="$VAL"
1373 if [ "$PLATFORM_QWS" = "yes" ]; then
1374 FEATURE
=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1375 if [ "$VAL" = "no" ]; then
1376 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_$FEATURE"
1377 elif [ "$VAL" = "yes" ] ||
[ "$VAL" = "unknown" ]; then
1378 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_$FEATURE"
1387 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1394 [ "$VAL" = "qt" ] && VAL
=yes
1395 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1402 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1410 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "runtime" ]; then
1417 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1424 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "runtime" ]; then
1431 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1438 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1439 CFG_PRECOMPILE
="$VAL"
1444 separate-debug-info
)
1445 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1446 CFG_SEPARATE_DEBUG_INFO
="$VAL"
1452 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1453 CFG_REDUCE_EXPORTS
="$VAL"
1459 if [ "$VAL" = "no" ]; then
1466 if [ "$VAL" = "no" ]; then
1473 if [ "$VAL" = "no" ]; then
1480 if [ "$VAL" = "no" ]; then
1490 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1491 CFG_REDUCE_RELOCATIONS
="$VAL"
1497 [ "$VAL" = "qt" ] && VAL
=yes
1498 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1499 CFG_QWS_FREETYPE
="$VAL"
1505 [ "$VAL" = "qt" ] && VAL
=yes
1506 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1511 # No longer supported:
1512 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1515 if [ "$VAL" = "system" ]; then
1522 [ "$VAL" = "yes" ] && VAL
=qt
1523 if [ "$VAL" = "qt" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1530 [ "$VAL" = "yes" ] && VAL
=qt
1531 if [ "$VAL" = "qt" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1538 [ "$VAL" = "yes" ] && VAL
=qt
1539 if [ "$VAL" = "qt" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1546 [ "$VAL" = "yes" ] && VAL
=qt
1547 if [ "$VAL" = "qt" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1554 if [ "$VAL" = "system" ] ||
[ "$VAL" = "no" ]; then
1561 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "runtime" ]; then
1568 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "runtime" ]; then
1575 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "runtime" ]; then
1582 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1589 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1596 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1597 CFG_FONTCONFIG
="$VAL"
1603 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1610 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1617 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1624 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1631 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1632 CFG_GSTREAMER
="$VAL"
1638 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1639 CFG_QGTKSTYLE
="$VAL"
1645 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "linked" ]; then
1647 elif [ "$VAL" = "runtime" ]; then
1654 if [ "$VAL" = "yes" ]; then
1661 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1668 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1669 CFG_LARGEFILE
="$VAL"
1675 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1682 if [ "$VAL" = "yes" ]; then
1683 CFG_OPENSSL
="linked"
1689 if [ "$VAL" = "yes" ]; then
1697 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "auto" ]; then
1698 CFG_XMLPATTERNS
="yes"
1700 if [ "$VAL" = "no" ]; then
1701 CFG_XMLPATTERNS
="no"
1708 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "auto" ]; then
1709 CFG_SCRIPTTOOLS
="yes"
1711 if [ "$VAL" = "no" ]; then
1712 CFG_SCRIPTTOOLS
="no"
1719 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "auto" ]; then
1722 if [ "$VAL" = "no" ]; then
1730 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "auto" ]; then
1733 if [ "$VAL" = "no" ]; then
1741 if [ "$VAL" = "yes" ]; then
1742 OPT_CONFIRM_LICENSE
="$VAL"
1748 if [ "$VAL" = "yes" ]; then
1754 sql-
*|gfx-
*|decoration-
*|kbd-
*|mouse-
*)
1755 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1756 # if autoconf style options were used, $VAL can be "yes" or "no"
1757 [ "$VAL" = "yes" ] && VAL
=qt
1758 # now $VAL should be "no", "qt", or "plugin"... double-check
1759 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1762 # now $VAL is "no", "qt", or "plugin"
1764 VAL
=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1765 VAR
=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1767 # Grab the available values
1770 avail
="$CFG_SQL_AVAILABLE"
1773 avail
="$CFG_GFX_AVAILABLE"
1774 if [ "$OPT" = "plugin" ]; then
1775 avail
="$CFG_GFX_PLUGIN_AVAILABLE"
1779 avail
="$CFG_DECORATION_AVAILABLE"
1780 if [ "$OPT" = "plugin" ]; then
1781 avail
="$CFG_DECORATION_PLUGIN_AVAILABLE"
1785 avail
="$CFG_KBD_AVAILABLE"
1786 if [ "$OPT" = "plugin" ]; then
1787 avail
="$CFG_KBD_PLUGIN_AVAILABLE"
1791 avail
="$CFG_MOUSE_AVAILABLE"
1792 if [ "$OPT" = "plugin" ]; then
1793 avail
="$CFG_MOUSE_PLUGIN_AVAILABLE"
1798 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1802 # Check that that user's value is available.
1805 if [ "$VAL" = "$d" ]; then
1810 [ "$found" = yes ] || ERROR
=yes
1812 if [ "$VAR" = "sql" ]; then
1813 # set the CFG_SQL_driver
1814 eval "CFG_SQL_$VAL=\$OPT"
1818 if [ "$OPT" = "plugin" ] ||
[ "$OPT" = "qt" ]; then
1819 if [ "$OPT" = "plugin" ]; then
1820 [ "$VAR" = "decoration" ] && QMakeVar del
"${VAR}s" "$VAL"
1821 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON
=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"` && CFG_DECORATION_PLUGIN="$CFG_DECORATION_PLUGIN ${VAL}"
1822 [ "$VAR" = "kbd" ] && QMakeVar del "${VAR}s" "$VAL"
1823 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_KBD_PLUGIN="$CFG_KBD_PLUGIN ${VAL}"
1824 [ "$VAR" = "mouse" ] && QMakeVar del
"${VAR}s" "$VAL"
1825 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON
=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_MOUSE_PLUGIN="$CFG_MOUSE_PLUGIN ${VAL}"
1826 [ "$VAR" = "gfx" ] && QMakeVar del "${VAR}s" "$VAL"
1827 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"` && CFG_GFX_PLUGIN="${CFG_GFX_PLUGIN} ${VAL}"
1830 if [ "$VAR" = "gfx" ] ||
[ "$VAR" = "kbd" ] ||
[ "$VAR" = "decoration" ] ||
[ "$VAR" = "mouse" ]; then
1831 [ "$VAR" = "gfx" ] && CFG_GFX_ON
="$CFG_GFX_ON $VAL"
1832 [ "$VAR" = "kbd" ] && CFG_KBD_ON
="$CFG_KBD_ON $VAL"
1833 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON
="$CFG_DECORATION_ON $VAL"
1834 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON
="$CFG_MOUSE_ON $VAL"
1838 QMakeVar add
"${VAR}s" "${VAL}"
1839 elif [ "$OPT" = "no" ]; then
1840 PLUG_VAR
="${VAR}-plugin"
1841 if [ "$VAR" = "gfx" ] ||
[ "$VAR" = "kbd" ] ||
[ "$VAR" = "mouse" ]; then
1842 IN_VAR
="${VAR}-driver"
1846 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON
=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"`
1847 [ "$VAR" = "gfx" ] && CFG_GFX_ON
=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"`
1848 [ "$VAR" = "kbd" ] && CFG_KBD_ON
=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"`
1849 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON
=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"`
1850 QMakeVar del
"${IN_VAR}s" "$VAL"
1851 QMakeVar del
"${PLUG_VAR}s" "$VAL"
1853 if [ "$ERROR" = "yes" ]; then
1854 echo "$CURRENT_OPT: unknown argument"
1859 if [ "$VAL" = "yes" ]; then
1860 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
1861 QMAKE_SWITCHES
="$QMAKE_SWITCHES -d"
1865 elif [ "$VAL" = "no" ]; then
1866 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" |
grep ' -d' >/dev
/null
2>&1; then
1867 QMAKE_SWITCHES
=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
1876 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1883 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1890 D_FLAGS
="$D_FLAGS \"$VAL\""
1893 I_FLAGS
="$I_FLAGS -I\"${VAL}\""
1896 L_FLAGS
="$L_FLAGS -L\"${VAL}\""
1899 RPATH_FLAGS
="$RPATH_FLAGS \"${VAL}\""
1902 l_FLAGS
="$l_FLAGS -l\"${VAL}\""
1905 if [ "$PLATFORM_MAC" = "yes" ]; then
1906 L_FLAGS
="$L_FLAGS -F\"${VAL}\""
1907 I_FLAGS
="$I_FLAGS -F\"${VAL}\""
1913 if [ "$PLATFORM_MAC" = "yes" ]; then
1914 l_FLAGS
="$l_FLAGS -framework \"${VAL}\""
1923 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1930 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1931 CFG_PHONON_BACKEND
="$VAL"
1940 if [ "$UNKNOWN_OPT" = "yes" ]; then
1941 echo "${CURRENT_OPT}: invalid command-line switch"
1947 if [ "$CFG_QCONFIG" != "full" ] && [ "$CFG_QT3SUPPORT" = "yes" ]; then
1948 echo "Warning: '-qconfig $CFG_QCONFIG' will disable the qt3support library."
1952 # update QT_CONFIG to show our current predefined configuration
1953 case "$CFG_QCONFIG" in
1954 minimal|small|medium|large|full
)
1955 # these are a sequence of increasing functionality
1956 for c
in minimal small medium large full
; do
1957 QT_CONFIG
="$QT_CONFIG $c-config"
1958 [ "$CFG_QCONFIG" = $c ] && break
1962 # not known to be sufficient for anything
1963 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ]; then
1964 echo >&2 "Error: configuration file not found:"
1965 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
1970 #-------------------------------------------------------------------------------
1971 # build tree initialization
1972 #-------------------------------------------------------------------------------
1974 # where to find which..
1975 unixtests
="$relpath/config.tests/unix"
1976 mactests
="$relpath/config.tests/mac"
1977 WHICH
="$unixtests/which.test"
1979 PERL
=`$WHICH perl 2>/dev/null`
1981 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
1983 for e
in gawk nawk
awk; do
1984 if "$WHICH" $e >/dev
/null
2>&1 && ( $e -f /dev
/null
/dev
/null
) >/dev
/null
2>&1; then
1990 ### skip this if the user just needs help...
1991 if [ "$OPT_HELP" != "yes" ]; then
1993 # is this a shadow build?
1994 if [ "$OPT_SHADOW" = "maybe" ]; then
1996 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
1997 if [ -h "$outpath" ]; then
1998 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW
=yes
2004 if [ "$OPT_SHADOW" = "yes" ]; then
2005 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" ]; then
2006 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2007 echo >&2 "Cannot proceed."
2010 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2013 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2015 echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
2016 echo "By default, Qt is built in release mode with separate debug information, so"
2017 echo "-debug-and-release is not necessary anymore"
2021 # detect build style
2022 if [ "$CFG_DEBUG" = "auto" ]; then
2023 if [ "$PLATFORM_MAC" = "yes" ]; then
2024 CFG_DEBUG_RELEASE
=yes
2026 elif [ "$CFG_DEV" = "yes" ]; then
2027 CFG_DEBUG_RELEASE
=no
2030 CFG_DEBUG_RELEASE
=no
2034 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2035 QMAKE_CONFIG
="$QMAKE_CONFIG build_all"
2038 if [ "$CFG_SILENT" = "yes" ]; then
2039 QMAKE_CONFIG
="$QMAKE_CONFIG silent"
2042 # if the source tree is different from the build tree,
2043 # symlink or copy part of the sources
2044 if [ "$OPT_SHADOW" = "yes" ]; then
2045 echo "Preparing build tree..."
2047 if [ -z "$PERL" ]; then
2049 echo "You need perl in your PATH to make a shadow build."
2050 echo "Cannot proceed."
2054 [ -d "$outpath/bin" ] || mkdir
-p "$outpath/bin"
2056 # symlink the qmake directory
2057 find "$relpath/qmake" |
while read a
; do
2058 my_a
=`echo "$a" | sed "s,^${relpath}/,${outpath}/,"`
2059 if [ '!' -f "$my_a" ]; then
2060 if [ -d "$a" ]; then
2061 # directories are created...
2064 a_dir
=`dirname "$my_a"`
2065 [ -d "$a_dir" ] || mkdir
-p "$a_dir"
2066 # ... and files are symlinked
2067 case `basename "$a"` in
2068 *.o|
*.d|GNUmakefile
*|qmake
)
2079 # make a syncqt script that can be used in the shadow
2080 rm -f "$outpath/bin/syncqt"
2081 if [ -x "$relpath/bin/syncqt" ]; then
2082 mkdir
-p "$outpath/bin"
2083 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2084 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/syncqt"
2085 echo "perl \"$relpath/bin/syncqt\" -outdir \"$outpath\" $*" >>"$outpath/bin/syncqt"
2086 chmod 755 "$outpath/bin/syncqt"
2089 # symlink the mkspecs directory
2090 mkdir
-p "$outpath/mkspecs"
2091 rm -f "$outpath"/mkspecs
/*
2092 ln -s "$relpath"/mkspecs
/* "$outpath/mkspecs"
2093 rm -f "$outpath/mkspecs/default"
2095 # symlink the doc directory
2096 rm -rf "$outpath/doc"
2097 ln -s "$relpath/doc" "$outpath/doc"
2099 # make sure q3porting.xml can be found
2100 mkdir
-p "$outpath/tools/porting/src"
2101 rm -f "$outpath/tools/porting/src/q3porting.xml"
2102 ln -s "$relpath/tools/porting/src/q3porting.xml" "$outpath/tools/porting/src"
2105 # symlink files from src/gui/embedded neccessary to build qvfb
2106 if [ "$CFG_DEV" = "yes" ]; then
2107 for f
in qvfbhdr.h qlock_p.h qlock.cpp qwssignalhandler_p.h qwssignalhandler.cpp
; do
2108 dest
="${relpath}/tools/qvfb/${f}"
2110 ln -s "${relpath}/src/gui/embedded/${f}" "${dest}"
2114 # symlink fonts to be able to run application from build directory
2115 if [ "$PLATFORM_QWS" = "yes" ] && [ ! -e "${outpath}/lib/fonts" ]; then
2116 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2117 mkdir
-p "${outpath}/lib"
2118 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2122 if [ "$OPT_FAST" = "auto" ]; then
2123 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2130 # find a make command
2131 if [ -z "$MAKE" ]; then
2133 for mk
in gmake
make; do
2134 if "$WHICH" $mk >/dev
/null
2>&1; then
2139 if [ -z "$MAKE" ]; then
2140 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2141 echo >&2 "Cannot proceed."
2148 #-------------------------------------------------------------------------------
2149 # auto-detect all that hasn't been specified in the arguments
2150 #-------------------------------------------------------------------------------
2152 [ "$PLATFORM_QWS" = "yes" -a "$CFG_EMBEDDED" = "no" ] && CFG_EMBEDDED
=auto
2153 if [ "$CFG_EMBEDDED" != "no" ]; then
2154 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2156 [ -z "$PLATFORM" ] && PLATFORM
=qws
/macx-generic-g
++
2157 if [ -z "$XPLATFORM" ]; then
2158 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED
=generic
2159 XPLATFORM
="qws/macx-$CFG_EMBEDDED-g++"
2163 [ -z "$PLATFORM" ] && PLATFORM
=qws
/freebsd-generic-g
++
2164 if [ -z "$XPLATFORM" ]; then
2165 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED
=generic
2166 XPLATFORM
="qws/freebsd-$CFG_EMBEDDED-g++"
2170 [ -z "$PLATFORM" ] && PLATFORM
=qws
/solaris-generic-g
++
2171 if [ -z "$XPLATFORM" ]; then
2172 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED
=generic
2173 XPLATFORM
="qws/solaris-$CFG_EMBEDDED-g++"
2177 if [ -z "$PLATFORM" ]; then
2178 case "$UNAME_MACHINE" in
2180 PLATFORM
=qws
/linux-x86-g
++
2183 PLATFORM
=qws
/linux-x86_64-g
++
2186 PLATFORM
=qws
/linux-ppc-g
++
2189 PLATFORM
=qws
/linux-generic-g
++
2193 if [ -z "$XPLATFORM" ]; then
2194 if [ "$CFG_EMBEDDED" = "auto" ]; then
2195 if [ -n "$CFG_ARCH" ]; then
2196 CFG_EMBEDDED
=$CFG_ARCH
2198 case "$UNAME_MACHINE" in
2209 CFG_EMBEDDED
=generic
2214 XPLATFORM
="qws/linux-$CFG_EMBEDDED-g++"
2221 echo "Qt for Embedded Linux is not supported on this platform. Disabling."
2227 if [ -z "$PLATFORM" ]; then
2229 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2231 if [ "$PLATFORM_MAC" = "yes" ]; then
2233 # PLATFORM=macx-xcode
2240 #PLATFORM=aix-g++-64
2242 #PLATFORM=aix-xlc-64
2244 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2254 # PLATFORM=dynix-g++
2260 PLATFORM
=freebsd-g
++
2262 - Also available for FreeBSD: freebsd-icc
2266 PLATFORM
=openbsd-g
++
2277 #PLATFORM=irix-cc-64
2279 - Also available for IRIX: irix-g++ irix-cc-64
2283 case "$UNAME_MACHINE" in
2285 #PLATFORM=hpuxi-acc-32
2286 PLATFORM
=hpuxi-acc-64
2288 - Also available for HP-UXi: hpuxi-acc-32
2294 #PLATFORM=hpux-acc-64
2296 #PLATFORM=hpux-acc-o64
2298 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2307 - Also available for Tru64: tru64-g++
2311 case "$UNAME_MACHINE" in
2313 PLATFORM
=linux-g
++-64
2320 - Also available for Linux: linux-kcc linux-icc linux-cxx
2324 #PLATFORM=solaris-g++
2326 #PLATFORM=solaris-cc64
2328 - Also available for Solaris: solaris-g++ solaris-cc-64
2331 ReliantUNIX-
*:*|SINIX-
*:*)
2332 PLATFORM
=reliant-cds
2333 #PLATFORM=reliant-cds-64
2335 - Also available for Reliant UNIX: reliant-cds-64
2345 #PLATFORM=unixware-g++
2346 PLATFORM
=unixware-cc
2348 - Also available for OpenUNIX: unixware-g++
2352 #PLATFORM=unixware-g++
2353 PLATFORM
=unixware-cc
2355 - Also available for UnixWare: unixware-g++
2362 - Also available for SCO OpenServer: sco-g++
2366 PLATFORM
=unixware-g
++
2369 if [ "$OPT_HELP" != "yes" ]; then
2371 for p
in $PLATFORMS; do
2372 echo " $relconf $* -platform $p"
2375 echo " The build script does not currently recognize all" >&2
2376 echo " platforms supported by Qt." >&2
2377 echo " Rerun this script with a -platform option listed to" >&2
2378 echo " set the system/compiler combination you use." >&2
2385 if [ "$PLATFORM_QWS" = "yes" ]; then
2387 PLATFORMS
=`find "$relpath/mkspecs/qws" | sed "s,$relpath/mkspecs/qws/,,"`
2389 PLATFORMS
=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2392 [ -z "$XPLATFORM" ] && XPLATFORM
="$PLATFORM"
2393 if [ -d "$PLATFORM" ]; then
2394 QMAKESPEC
="$PLATFORM"
2396 QMAKESPEC
="$relpath/mkspecs/${PLATFORM}"
2398 if [ -d "$XPLATFORM" ]; then
2399 XQMAKESPEC
="$XPLATFORM"
2401 XQMAKESPEC
="$relpath/mkspecs/${XPLATFORM}"
2403 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2404 QT_CROSS_COMPILE
=yes
2405 QMAKE_CONFIG
="$QMAKE_CONFIG cross_compile"
2408 if [ "$PLATFORM_MAC" = "yes" ]; then
2409 if [ `basename $QMAKESPEC` = "macx-xcode" ] ||
[ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2411 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2412 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2413 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2414 echo " built with 'macx-g++'" >&2
2420 # check specified platforms are supported
2421 if [ '!' -d "$QMAKESPEC" ]; then
2423 echo " The specified system/compiler is not supported:"
2427 echo " Please see the README file for a complete list."
2431 if [ '!' -d "$XQMAKESPEC" ]; then
2433 echo " The specified system/compiler is not supported:"
2437 echo " Please see the README file for a complete list."
2441 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2443 echo " The specified system/compiler port is not complete:"
2445 echo " $XQMAKESPEC/qplatformdefs.h"
2447 echo " Please contact qt-bugs@trolltech.com."
2452 # now look at the configs and figure out what platform we are config'd for
2453 [ "$CFG_EMBEDDED" = "no" ] \
2454 && [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ] \
2456 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2458 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2459 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2460 if echo $UNAME_RELEASE |
grep "^5\.[5|6]" >/dev
/null
2>&1; then
2461 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2462 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2466 #-------------------------------------------------------------------------------
2467 # determine the system architecture
2468 #-------------------------------------------------------------------------------
2469 if [ "$OPT_VERBOSE" = "yes" ]; then
2470 echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
2473 if [ "$CFG_EMBEDDED" != "no" -a "$CFG_EMBEDDED" != "auto" ] && [ -n "$CFG_ARCH" ]; then
2474 if [ "$CFG_ARCH" != "$CFG_EMBEDDED" ]; then
2476 echo "You have specified a target architecture with -embedded and -arch."
2477 echo "The two architectures you have specified are different, so we can"
2478 echo "not proceed. Either set both to be the same, or only use -embedded."
2484 if [ -z "${CFG_HOST_ARCH}" ]; then
2485 case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
2487 CFG_HOST_ARCH
=`uname -p`
2488 if [ "$OPT_VERBOSE" = "yes" ]; then
2489 echo " SGI ($CFG_HOST_ARCH)"
2493 case "$UNAME_MACHINE" in
2495 if [ "$OPT_VERBOSE" = "yes" ]; then
2496 echo " Sun SPARC (sparc)"
2503 if [ "$OPT_VERBOSE" = "yes" ]; then
2504 echo " 64-bit AMD 80x86 (x86_64)"
2506 CFG_HOST_ARCH
=x86_64
2509 if [ "$OPT_VERBOSE" = "yes" ]; then
2510 echo " 32-bit Intel 80x86 (i386)"
2518 case "$UNAME_MACHINE" in
2520 if [ "$OPT_VERBOSE" = "yes" ]; then
2521 echo " 32-bit Apple PowerPC (powerpc)"
2525 if [ "$OPT_VERBOSE" = "yes" ]; then
2526 echo " 32-bit Intel 80x86 (i386)"
2530 CFG_HOST_ARCH
=macosx
2533 if [ "$OPT_VERBOSE" = "yes" ]; then
2534 echo " 64-bit IBM PowerPC (powerpc)"
2536 CFG_HOST_ARCH
=powerpc
2539 if [ "$OPT_VERBOSE" = "yes" ]; then
2540 echo " HP PA-RISC (parisc)"
2542 CFG_HOST_ARCH
=parisc
2545 if [ "$OPT_VERBOSE" = "yes" ]; then
2546 echo " 32-bit Intel 80x86 (i386)"
2550 *:*:x86_64|
*:*:amd64
)
2551 if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
2552 if [ "$OPT_VERBOSE" = "yes" ]; then
2553 echo " 32 bit on 64-bit AMD 80x86 (i386)"
2557 if [ "$OPT_VERBOSE" = "yes" ]; then
2558 echo " 64-bit AMD 80x86 (x86_64)"
2560 CFG_HOST_ARCH
=x86_64
2564 if [ "$OPT_VERBOSE" = "yes" ]; then
2565 echo " 32-bit PowerPC (powerpc)"
2567 CFG_HOST_ARCH
=powerpc
2570 if [ "$OPT_VERBOSE" = "yes" ]; then
2571 echo " 64-bit PowerPC (powerpc)"
2573 CFG_HOST_ARCH
=powerpc
2576 if [ "$OPT_VERBOSE" = "yes" ]; then
2577 echo " IBM S/390 (s390)"
2582 if [ "$OPT_VERBOSE" = "yes" ]; then
2588 if [ "$OPT_VERBOSE" = "yes" ]; then
2589 echo " Linux on SPARC"
2594 if [ "$OPT_VERBOSE" = "yes" ]; then
2595 echo " Trying '$UNAME_MACHINE'..."
2597 CFG_HOST_ARCH
="$UNAME_MACHINE"
2602 if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
2603 if [ -n "$CFG_ARCH" ]; then
2604 CFG_EMBEDDED
=$CFG_ARCH
2607 case "$CFG_EMBEDDED" in
2627 CFG_ARCH
="$CFG_EMBEDDED"
2630 elif [ "$PLATFORM_MAC" = "yes" ] ||
[ -z "$CFG_ARCH" ]; then
2631 CFG_ARCH
=$CFG_HOST_ARCH
2634 if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
2635 if [ "$OPT_VERBOSE" = "yes" ]; then
2636 echo " '$CFG_ARCH' is supported"
2639 if [ "$OPT_VERBOSE" = "yes" ]; then
2640 echo " '$CFG_ARCH' is unsupported, using 'generic'"
2644 if [ "$CFG_HOST_ARCH" != "$CFG_ARCH" ]; then
2645 if [ -d "$relpath/src/corelib/arch/$CFG_HOST_ARCH" ]; then
2646 if [ "$OPT_VERBOSE" = "yes" ]; then
2647 echo " '$CFG_HOST_ARCH' is supported"
2650 if [ "$OPT_VERBOSE" = "yes" ]; then
2651 echo " '$CFG_HOST_ARCH' is unsupported, using 'generic'"
2653 CFG_HOST_ARCH
=generic
2657 if [ "$OPT_VERBOSE" = "yes" ]; then
2658 echo "System architecture: '$CFG_ARCH'"
2659 if [ "$PLATFORM_QWS" = "yes" ]; then
2660 echo "Host architecture: '$CFG_HOST_ARCH'"
2664 #-------------------------------------------------------------------------------
2665 # tests that don't need qmake (must be run before displaying help)
2666 #-------------------------------------------------------------------------------
2668 if [ -z "$PKG_CONFIG" ]; then
2669 # See if PKG_CONFIG is set in the mkspec:
2670 PKG_CONFIG
=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%PKG_CONFIG[^_].*=%%p' | tr '\n' ' '`
2672 if [ -z "$PKG_CONFIG" ]; then
2673 PKG_CONFIG
=`"$WHICH" pkg-config 2>/dev/null`
2676 # Work out if we can use pkg-config
2677 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
2678 if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
2680 echo >&2 "You have asked to use pkg-config and are cross-compiling."
2681 echo >&2 "Please make sure you have a correctly set-up pkg-config"
2682 echo >&2 "environment!"
2684 if [ -z "$PKG_CONFIG_PATH" ]; then
2686 echo >&2 "Warning: PKG_CONFIG_PATH has not been set. This could mean"
2687 echo >&2 "the host compiler's .pc files will be used. This is probably"
2688 echo >&2 "not what you want."
2690 elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
2692 echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
2693 echo >&2 "been set. This means your toolchain's .pc files must contain"
2694 echo >&2 "the paths to the toolchain's libraries & headers. If configure"
2695 echo >&2 "tests are failing, please check these files."
2703 # process CFG_MAC_ARCHS
2704 if [ "$PLATFORM_MAC" = "yes" ]; then
2705 # check -arch arguments for validity.
2706 ALLOWED
="x86 ppc x86_64 ppc64 i386"
2707 for i
in $CFG_MAC_ARCHS
2709 if echo "$ALLOWED" |
grep -w -v "$i" > /dev
/null
2>&1; then
2710 echo "Unknown architecture: \"$i\". Supported architectures: x86[i386] ppc x86_64 ppc64";
2715 # replace "i386" with "x86" to support configuring with -arch i386 as an alias for x86.
2716 CFG_MAC_ARCHS
="${CFG_MAC_ARCHS/i386/x86}"
2718 # Build commmand line arguments we can pass to the compiler during configure tests
2719 # by prefixing each arch with "-arch".
2720 CFG_MAC_ARCHS_GCC_FORMAT
="${CFG_MAC_ARCHS/x86/i386}"
2721 CFG_MAC_ARCHS_GCC_FORMAT
="${CFG_MAC_ARCHS_GCC_FORMAT/i386_64/x86_64}"
2722 for ARCH
in $CFG_MAC_ARCHS_GCC_FORMAT; do
2723 MAC_ARCHS_COMMANDLINE
="$MAC_ARCHS_COMMANDLINE -arch $ARCH"
2727 # find the default framework value
2728 if [ "$PLATFORM_MAC" = "yes" ] && [ "$PLATFORM" != "macx-xlc" ]; then
2729 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2730 CFG_FRAMEWORK
="$CFG_SHARED"
2731 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2733 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2741 QMAKE_CONF_COMPILER
=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | tail -1`
2743 [ -z "$TEST_COMPILER" ] && TEST_COMPILER
=$QMAKE_CONF_COMPILER
2745 # auto-detect precompiled header support
2746 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2747 if [ `echo "$CFG_MAC_ARCHS" | wc -w` -gt 1 ]; then
2749 elif "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2754 elif [ "$CFG_PRECOMPILE" = "yes" ] && [ `echo "$CFG_MAC_ARCHS" | wc -w` -gt 1 ]; then
2756 echo "WARNING: Using universal binaries disables precompiled headers."
2761 #auto-detect DWARF2 on the mac
2762 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" == "auto" ]; then
2763 if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
2770 # auto-detect support for -Xarch on the mac
2771 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_XARCH" == "auto" ]; then
2772 if "$mactests/xarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
2779 # don't autodetect support for separate debug info on objcopy when
2780 # cross-compiling as lots of toolchains seems to have problems with this
2781 if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
2782 CFG_SEPARATE_DEBUG_INFO
="no"
2785 # auto-detect support for separate debug info in objcopy
2786 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
2787 TEST_COMPILER_CFLAGS
=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CFLAGS[^_].*=%%p' | tr '\n' ' '`
2788 TEST_COMPILER_CXXFLAGS
=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CXXFLAGS[^_].*=%%p' | tr '\n' ' '`
2789 TEST_OBJCOPY
=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_OBJCOPY" | sed "s%.* *= *\(.*\)$%\1%" | tail -1`
2790 COMPILER_WITH_FLAGS
="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
2791 COMPILER_WITH_FLAGS
=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
2792 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
2793 CFG_SEPARATE_DEBUG_INFO
=no
2797 # binutils on HP-UX is buggy; default to no.
2798 CFG_SEPARATE_DEBUG_INFO
=no
2801 CFG_SEPARATE_DEBUG_INFO
=yes
2807 # auto-detect -fvisibility support
2808 if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then
2809 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2810 CFG_REDUCE_EXPORTS
=no
2812 CFG_REDUCE_EXPORTS
=yes
2816 # detect the availability of the -Bsymbolic-functions linker optimization
2817 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
2818 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2819 CFG_REDUCE_RELOCATIONS
=no
2821 CFG_REDUCE_RELOCATIONS
=yes
2825 # auto-detect GNU make support
2826 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v |
grep "GNU Make" >/dev
/null
2>&1; then
2830 # If -opengl wasn't specified, don't try to auto-detect
2831 if [ "$PLATFORM_QWS" = "yes" ] && [ "$CFG_OPENGL" = "auto" ]; then
2836 if [ "$PLATFORM_MAC" = "yes" ]; then
2837 if [ "$CFG_OPENGL" = "auto" ] ||
[ "$CFG_OPENGL" = "yes" ]; then
2842 # find the default framework value
2843 if [ "$PLATFORM_MAC" = "yes" ] && [ "$PLATFORM" != "macx-xlc" ]; then
2844 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2845 CFG_FRAMEWORK
="$CFG_SHARED"
2846 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2848 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2856 # x11 tests are done after qmake is built
2859 #setup the build parts
2860 if [ -z "$CFG_BUILD_PARTS" ]; then
2861 CFG_BUILD_PARTS
="$QT_DEFAULT_BUILD_PARTS"
2863 # don't build tools by default when cross-compiling
2864 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2865 CFG_BUILD_PARTS
=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
2868 for nobuild
in $CFG_NOBUILD_PARTS; do
2869 CFG_BUILD_PARTS
=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
2871 if echo $CFG_BUILD_PARTS |
grep -v libs
>/dev
/null
2>&1; then
2873 # echo "WARNING: libs is a required part of the build."
2875 CFG_BUILD_PARTS
="$CFG_BUILD_PARTS libs"
2878 #-------------------------------------------------------------------------------
2879 # post process QT_INSTALL_* variables
2880 #-------------------------------------------------------------------------------
2883 if [ -z "$QT_INSTALL_PREFIX" ]; then
2884 if [ "$CFG_DEV" = "yes" ]; then
2885 QT_INSTALL_PREFIX
="$outpath" # At Trolltech, we use sandboxed builds by default
2886 elif [ "$PLATFORM_QWS" = "yes" ]; then
2887 QT_INSTALL_PREFIX
="/usr/local/Trolltech/QtEmbedded-${QT_VERSION}"
2888 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2889 QT_INSTALL_PREFIX
="${QT_INSTALL_PREFIX}-${CFG_ARCH}"
2892 QT_INSTALL_PREFIX
="/usr/local/Trolltech/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Trolltech/Qt-$QT_VERSION
2895 QT_INSTALL_PREFIX
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
2898 if [ -z "$QT_INSTALL_DOCS" ]; then #default
2899 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2900 if [ "$PLATFORM_MAC" = "yes" ]; then
2901 QT_INSTALL_DOCS
="/Developer/Documentation/Qt"
2904 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS
="$QT_INSTALL_PREFIX/doc" #fallback
2907 QT_INSTALL_DOCS
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
2910 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
2911 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2912 if [ "$PLATFORM_MAC" = "yes" ]; then
2913 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2918 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS
="$QT_INSTALL_PREFIX/include"
2921 QT_INSTALL_HEADERS
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
2924 if [ -z "$QT_INSTALL_LIBS" ]; then #default
2925 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2926 if [ "$PLATFORM_MAC" = "yes" ]; then
2927 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2928 QT_INSTALL_LIBS
="/Libraries/Frameworks"
2932 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS
="$QT_INSTALL_PREFIX/lib" #fallback
2934 QT_INSTALL_LIBS
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
2937 if [ -z "$QT_INSTALL_BINS" ]; then #default
2938 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2939 if [ "$PLATFORM_MAC" = "yes" ]; then
2940 QT_INSTALL_BINS
="/Developer/Applications/Qt"
2943 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS
="$QT_INSTALL_PREFIX/bin" #fallback
2946 QT_INSTALL_BINS
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
2949 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
2950 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2951 if [ "$PLATFORM_MAC" = "yes" ]; then
2952 QT_INSTALL_PLUGINS
="/Developer/Applications/Qt/plugins"
2955 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS
="$QT_INSTALL_PREFIX/plugins" #fallback
2957 QT_INSTALL_PLUGINS
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
2960 if [ -z "$QT_INSTALL_DATA" ]; then #default
2961 QT_INSTALL_DATA
="$QT_INSTALL_PREFIX"
2963 QT_INSTALL_DATA
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
2966 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
2967 QT_INSTALL_TRANSLATIONS
="$QT_INSTALL_PREFIX/translations"
2969 QT_INSTALL_TRANSLATIONS
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
2972 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
2973 if [ "$PLATFORM_MAC" = "yes" ]; then
2974 QT_INSTALL_SETTINGS
=/Library
/Preferences
/Qt
2976 QT_INSTALL_SETTINGS
=/etc
/xdg
2979 QT_INSTALL_SETTINGS
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
2982 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
2983 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2984 if [ "$PLATFORM_MAC" = "yes" ]; then
2985 QT_INSTALL_EXAMPLES
="/Developer/Examples/Qt"
2988 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES
="$QT_INSTALL_PREFIX/examples" #fallback
2990 QT_INSTALL_EXAMPLES
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
2993 if [ -z "$QT_INSTALL_DEMOS" ]; then #default
2994 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2995 if [ "$PLATFORM_MAC" = "yes" ]; then
2996 QT_INSTALL_DEMOS
="/Developer/Examples/Qt/Demos"
2999 [ -z "$QT_INSTALL_DEMOS" ] && QT_INSTALL_DEMOS
="$QT_INSTALL_PREFIX/demos"
3001 QT_INSTALL_DEMOS
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DEMOS"`
3003 #-------------------------------------------------------------------------------
3004 # help - interactive parts of the script _after_ this section please
3005 #-------------------------------------------------------------------------------
3007 # next, emit a usage message if something failed.
3008 if [ "$OPT_HELP" = "yes" ]; then
3009 [ "x$ERROR" = "xyes" ] && echo
3010 if [ "$CFG_NIS" = "no" ]; then
3017 if [ "$CFG_CUPS" = "no" ]; then
3024 if [ "$CFG_ICONV" = "no" ]; then
3031 if [ "$CFG_LARGEFILE" = "no" ]; then
3038 if [ "$CFG_STL" = "auto" ] ||
[ "$CFG_STL" = "yes" ]; then
3045 if [ "$CFG_IPV6" = "auto" ]; then
3049 if [ "$CFG_PRECOMPILE" = "auto" ] ||
[ "$CFG_PRECOMPILE" = "no" ]; then
3058 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
3059 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-datadir <dir>]
3060 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>]
3061 [-demosdir <dir>] [-buildkey <key>] [-release] [-debug]
3062 [-debug-and-release] [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
3063 [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
3064 [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
3065 [-plugin-sql-<driver>] [-system-sqlite] [-no-qt3support] [-qt3support]
3066 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
3067 [-qt-zlib] [-system-zlib] [-no-gif] [-qt-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff]
3068 [-no-libpng] [-qt-libpng] [-system-libpng] [-no-libmng] [-qt-libmng]
3069 [-system-libmng] [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
3070 [-no-make <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
3071 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
3072 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked]
3073 [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
3074 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] [-armfpa]
3075 [-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns] [-xmlpatterns]
3076 [-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend]
3077 [-no-openssl] [-openssl] [-openssl-linked]
3078 [-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit]
3079 [-no-scripttools] [-scripttools]
3081 [additional platform specific options (see below)]
3084 Installation options:
3086 These are optional, but you may specify install directories.
3088 -prefix <dir> ...... This will install everything relative to <dir>
3089 (default $QT_INSTALL_PREFIX)
3091 if [ "$PLATFORM_QWS" = "yes" ]; then
3094 -hostprefix [dir] .. Tools and libraries needed when developing
3095 applications are installed in [dir]. If [dir] is
3096 not given, the current build directory will be used.
3101 * -prefix-install .... Force a sandboxed "local" installation of
3102 Qt. This will install into
3103 $QT_INSTALL_PREFIX, if this option is
3104 disabled then some platforms will attempt a
3105 "system" install by placing default values to
3106 be placed in a system location other than
3109 You may use these to separate different parts of the install:
3111 -bindir <dir> ......... Executables will be installed to <dir>
3112 (default PREFIX/bin)
3113 -libdir <dir> ......... Libraries will be installed to <dir>
3114 (default PREFIX/lib)
3115 -docdir <dir> ......... Documentation will be installed to <dir>
3116 (default PREFIX/doc)
3117 -headerdir <dir> ...... Headers will be installed to <dir>
3118 (default PREFIX/include)
3119 -plugindir <dir> ...... Plugins will be installed to <dir>
3120 (default PREFIX/plugins)
3121 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
3123 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
3124 (default PREFIX/translations)
3125 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
3126 (default PREFIX/etc/settings)
3127 -examplesdir <dir> .... Examples will be installed to <dir>
3128 (default PREFIX/examples)
3129 -demosdir <dir> ....... Demos will be installed to <dir>
3130 (default PREFIX/demos)
3132 You may use these options to turn on strict plugin loading.
3134 -buildkey <key> .... Build the Qt library and plugins using the specified
3135 <key>. When the library loads plugins, it will only
3136 load those that have a matching key.
3140 The defaults (*) are usually acceptable. A plus (+) denotes a default value
3141 that needs to be evaluated. If the evaluation succeeds, the feature is
3142 included. Here is a short explanation of each option:
3144 * -release ........... Compile and link Qt with debugging turned off.
3145 -debug ............. Compile and link Qt with debugging turned on.
3146 -debug-and-release . Compile and link two versions of Qt, with and without
3147 debugging turned on (Mac only).
3149 -developer-build.... Compile and link Qt with Qt developer options (including auto-tests exporting)
3151 -opensource......... Compile and link the Open-Source Edition of Qt.
3152 -commercial......... Compile and link the Commercial Edition of Qt.
3155 * -shared ............ Create and use shared Qt libraries.
3156 -static ............ Create and use static Qt libraries.
3158 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3160 -fast .............. Configure Qt quickly by generating Makefiles only for
3161 library and subdirectory targets. All other Makefiles
3162 are created as wrappers, which will in turn run qmake.
3164 -no-largefile ...... Disables large file support.
3165 + -largefile ......... Enables Qt to access files larger than 4 GB.
3168 if [ "$PLATFORM_QWS" = "yes" ]; then
3175 if [ "$CFG_DBUS" = "no" ]; then
3184 $EXCN -no-exceptions ..... Disable exceptions on compilers that support it.
3185 $EXCY -exceptions ........ Enable exceptions on compilers that support it.
3187 -no-accessibility .. Do not compile Accessibility support.
3188 * -accessibility ..... Compile Accessibility support.
3190 $SHN -no-stl ............ Do not compile STL support.
3191 $SHY -stl ............... Compile STL support.
3193 -no-sql-<driver> ... Disable SQL <driver> entirely.
3194 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3196 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3199 Possible values for <driver>:
3200 [ $CFG_SQL_AVAILABLE ]
3202 -system-sqlite ..... Use sqlite from the operating system.
3204 -no-qt3support ..... Disables the Qt 3 support functionality.
3205 * -qt3support ........ Enables the Qt 3 support functionality.
3207 -no-xmlpatterns .... Do not build the QtXmlPatterns module.
3208 + -xmlpatterns ....... Build the QtXmlPatterns module.
3209 QtXmlPatterns is built if a decent C++ compiler
3210 is used and exceptions are enabled.
3212 -no-phonon ......... Do not build the Phonon module.
3213 + -phonon ............ Build the Phonon module.
3214 Phonon is built if a decent C++ compiler is used.
3215 -no-phonon-backend.. Do not build the platform phonon plugin.
3216 + -phonon-backend..... Build the platform phonon plugin.
3218 -no-svg ............ Do not build the SVG module.
3219 + -svg ............... Build the SVG module.
3221 -no-webkit ......... Do not build the WebKit module.
3222 + -webkit ............ Build the WebKit module.
3223 WebKit is built if a decent C++ compiler is used.
3225 -no-scripttools .... Do not build the QtScriptTools module.
3226 + -scripttools ....... Build the QtScriptTools module.
3228 -platform target ... The operating system and compiler you are building
3231 See the README file for a list of supported
3232 operating systems and compilers.
3234 if [ "${PLATFORM_QWS}" != "yes" ]; then
3236 -graphicssystem <sys> Sets an alternate graphics system. Available options are:
3237 raster - Software rasterizer
3238 opengl - Rendering via OpenGL, Experimental!
3243 -no-mmx ............ Do not compile with use of MMX instructions.
3244 -no-3dnow .......... Do not compile with use of 3DNOW instructions.
3245 -no-sse ............ Do not compile with use of SSE instructions.
3246 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3248 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3249 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3251 -D <string> ........ Add an explicit define to the preprocessor.
3252 -I <string> ........ Add an explicit include path.
3253 -L <string> ........ Add an explicit library path.
3255 -help, -h .......... Display this information.
3257 Third Party Libraries:
3259 -qt-zlib ........... Use the zlib bundled with Qt.
3260 + -system-zlib ....... Use zlib from the operating system.
3261 See http://www.gzip.org/zlib
3263 -no-gif ............ Do not compile the plugin for GIF reading support.
3264 * -qt-gif ............ Compile the plugin for GIF reading support.
3265 See also src/plugins/imageformats/gif/qgifhandler.h
3267 -no-libtiff ........ Do not compile the plugin for TIFF support.
3268 -qt-libtiff ........ Use the libtiff bundled with Qt.
3269 + -system-libtiff .... Use libtiff from the operating system.
3270 See http://www.libtiff.org
3272 -no-libpng ......... Do not compile in PNG support.
3273 -qt-libpng ......... Use the libpng bundled with Qt.
3274 + -system-libpng ..... Use libpng from the operating system.
3275 See http://www.libpng.org/pub/png
3277 -no-libmng ......... Do not compile the plugin for MNG support.
3278 -qt-libmng ......... Use the libmng bundled with Qt.
3279 + -system-libmng ..... Use libmng from the operating system.
3280 See http://www.libmng.com
3282 -no-libjpeg ........ Do not compile the plugin for JPEG support.
3283 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3284 + -system-libjpeg .... Use libjpeg from the operating system.
3285 See http://www.ijg.org
3287 -no-openssl ........ Do not compile support for OpenSSL.
3288 + -openssl ........... Enable run-time OpenSSL support.
3289 -openssl-linked .... Enabled linked OpenSSL support.
3291 -ptmalloc .......... Override the system memory allocator with ptmalloc.
3296 -make <part> ....... Add part to the list of parts to be built at make time.
3297 ($QT_DEFAULT_BUILD_PARTS)
3298 -nomake <part> ..... Exclude part from the list of parts to be built.
3300 -R <string> ........ Add an explicit runtime library path to the Qt
3302 -l <string> ........ Add an explicit library.
3304 -no-rpath .......... Do not use the library install path as a runtime
3306 + -rpath ............. Link Qt libraries and executables using the library
3307 install path as a runtime library path. Equivalent
3308 to -R install_libpath
3310 -continue .......... Continue as far as possible if an error occurs.
3312 -verbose, -v ....... Print verbose information about each step of the
3315 -silent ............ Reduce the build output so that warnings and errors
3316 can be seen more easily.
3318 * -no-optimized-qmake ... Do not build qmake optimized.
3319 -optimized-qmake ...... Build qmake optimized.
3321 $NSN -no-nis ............ Do not compile NIS support.
3322 $NSY -nis ............... Compile NIS support.
3324 $CUN -no-cups ........... Do not compile CUPS support.
3325 $CUY -cups .............. Compile CUPS support.
3326 Requires cups/cups.h and libcups.so.2.
3328 $CIN -no-iconv .......... Do not compile support for iconv(3).
3329 $CIY -iconv ............. Compile support for iconv(3).
3331 $PHN -no-pch ............ Do not use precompiled header support.
3332 $PHY -pch ............... Use precompiled header support.
3334 $DBN -no-dbus ........... Do not compile the QtDBus module.
3335 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3336 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3338 -reduce-relocations ..... Reduce relocations in the libraries through extra
3339 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3340 experimental; needs GNU ld >= 2.18).
3343 if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3344 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3351 elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
3359 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
3363 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3364 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3370 if [ "$PLATFORM_X11" = "yes" ]; then
3371 if [ "$CFG_SM" = "no" ]; then
3378 if [ "$CFG_XSHAPE" = "no" ]; then
3385 if [ "$CFG_XINERAMA" = "no" ]; then
3392 if [ "$CFG_FONTCONFIG" = "no" ]; then
3399 if [ "$CFG_XCURSOR" = "no" ]; then
3406 if [ "$CFG_XFIXES" = "no" ]; then
3413 if [ "$CFG_XRANDR" = "no" ]; then
3420 if [ "$CFG_XRENDER" = "no" ]; then
3427 if [ "$CFG_MITSHM" = "no" ]; then
3434 if [ "$CFG_XINPUT" = "no" ]; then
3441 if [ "$CFG_XKB" = "no" ]; then
3448 if [ "$CFG_IM" = "no" ]; then
3459 -no-gtkstyle ....... Do not build the GTK theme integration.
3460 + -gtkstyle .......... Build the GTK theme integration.
3462 * -no-nas-sound ...... Do not compile in NAS sound support.
3463 -system-nas-sound .. Use NAS libaudio from the operating system.
3464 See http://radscan.com/nas.html
3466 -no-opengl ......... Do not support OpenGL.
3467 + -opengl <api> ...... Enable OpenGL support.
3468 With no parameter, this will auto-detect the "best"
3469 OpenGL API to use. If desktop OpenGL is avaliable, it
3470 will be used. Use desktop, es1, es1cl or es2 for <api>
3471 to force the use of the Desktop (OpenGL 1.x or 2.x),
3472 OpenGL ES 1.x Common profile, 1.x Common Lite profile
3473 or 2.x APIs instead. On X11, the EGL API will be used
3474 to manage GL contexts in the case of OpenGL ES.
3476 $SMN -no-sm ............. Do not support X Session Management.
3477 $SMY -sm ................ Support X Session Management, links in -lSM -lICE.
3479 $SHN -no-xshape ......... Do not compile XShape support.
3480 $SHY -xshape ............ Compile XShape support.
3481 Requires X11/extensions/shape.h.
3483 $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
3484 $XAY -xinerama .......... Compile Xinerama support.
3485 Requires X11/extensions/Xinerama.h and libXinerama.
3486 By default, Xinerama support will be compiled if
3487 available and the shared libraries are dynamically
3490 $XCN -no-xcursor ........ Do not compile Xcursor support.
3491 $XCY -xcursor ........... Compile Xcursor support.
3492 Requires X11/Xcursor/Xcursor.h and libXcursor.
3493 By default, Xcursor support will be compiled if
3494 available and the shared libraries are dynamically
3497 $XFN -no-xfixes ......... Do not compile Xfixes support.
3498 $XFY -xfixes ............ Compile Xfixes support.
3499 Requires X11/extensions/Xfixes.h and libXfixes.
3500 By default, Xfixes support will be compiled if
3501 available and the shared libraries are dynamically
3504 $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
3505 $XZY -xrandr ............ Compile Xrandr support.
3506 Requires X11/extensions/Xrandr.h and libXrandr.
3508 $XRN -no-xrender ........ Do not compile Xrender support.
3509 $XRY -xrender ........... Compile Xrender support.
3510 Requires X11/extensions/Xrender.h and libXrender.
3512 $XMN -no-mitshm ......... Do not compile MIT-SHM support.
3513 $XMY -mitshm ............ Compile MIT-SHM support.
3514 Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
3516 $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
3517 $FCGY -fontconfig ........ Compile FontConfig support.
3518 Requires fontconfig/fontconfig.h, libfontconfig,
3519 freetype.h and libfreetype.
3521 $XIN -no-xinput.......... Do not compile Xinput support.
3522 $XIY -xinput ............ Compile Xinput support. This also enabled tablet support
3523 which requires IRIX with wacom.h and libXi or
3524 XFree86 with X11/extensions/XInput.h and libXi.
3526 $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
3527 $XKY -xkb ............... Compile XKB support.
3532 if [ "$PLATFORM_MAC" = "yes" ]; then
3537 -Fstring ........... Add an explicit framework path.
3538 -fw string ......... Add an explicit framework.
3540 -cocoa ............. Build the Cocoa version of Qt. Note that -no-framework
3541 and -static is not supported with -cocoa. Specifying
3542 this option creates Qt binaries that requires Mac OS X
3545 * -framework ......... Build Qt as a series of frameworks and
3546 link tools against those frameworks.
3547 -no-framework ...... Do not build Qt as a series of frameworks.
3549 * -dwarf2 ............ Enable dwarf2 debugging symbols.
3550 -no-dwarf2 ......... Disable dwarf2 debugging symbols.
3552 -universal ......... Equivalent to -arch "ppc x86"
3554 -arch <arch> ....... Build Qt for <arch>
3555 Example values for <arch>: x86 ppc x86_64 ppc64
3556 Multiple -arch arguments can be specified, 64-bit archs
3557 will be built with the Cocoa framework.
3559 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3560 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3565 if [ "$PLATFORM_QWS" = "yes" ]; then
3568 Qt for Embedded Linux only:
3570 -xplatform target ... The target platform when cross-compiling.
3572 -no-feature-<feature> Do not compile in <feature>.
3573 -feature-<feature> .. Compile in <feature>. The available features
3574 are described in src/corelib/global/qfeatures.txt
3576 -embedded <arch> .... This will enable the embedded build, you must have a
3577 proper license for this switch to work.
3578 Example values for <arch>: arm mips x86 generic
3580 -armfpa ............. Target platform is uses the ARM-FPA floating point format.
3581 -no-armfpa .......... Target platform does not use the ARM-FPA floating point format.
3583 The floating point format is usually autodetected by configure. Use this
3584 to override the detected value.
3586 -little-endian ...... Target platform is little endian (LSB first).
3587 -big-endian ......... Target platform is big endian (MSB first).
3589 -host-little-endian . Host platform is little endian (LSB first).
3590 -host-big-endian .... Host platform is big endian (MSB first).
3592 You only need to specify the endianness when
3593 cross-compiling, otherwise the host
3594 endianness will be used.
3596 -no-freetype ........ Do not compile in Freetype2 support.
3597 -qt-freetype ........ Use the libfreetype bundled with Qt.
3598 * -system-freetype .... Use libfreetype from the operating system.
3599 See http://www.freetype.org/
3601 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3602 default ($CFG_QCONFIG).
3604 -depths <list> ...... Comma-separated list of supported bit-per-pixel
3605 depths, from: 1, 4, 8, 12, 15, 16, 18, 24, 32 and 'all'.
3607 -qt-decoration-<style> ....Enable a decoration <style> in the QtGui library,
3608 by default all available decorations are on.
3609 Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
3610 -plugin-decoration-<style> Enable decoration <style> as a plugin to be
3611 linked to at run time.
3612 Possible values for <style>: [ $CFG_DECORATION_PLUGIN_AVAILABLE ]
3613 -no-decoration-<style> ....Disable decoration <style> entirely.
3614 Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
3616 -no-opengl .......... Do not support OpenGL.
3617 -opengl <api> ....... Enable OpenGL ES support
3618 With no parameter, this will attempt to auto-detect OpenGL ES 1.x
3619 or 2.x. Use es1, es1cl or es2 for <api> to override auto-detection.
3621 NOTE: A QGLScreen driver for the hardware is required to support
3622 OpenGL ES on Qt for Embedded Linux.
3624 -qt-gfx-<driver> ... Enable a graphics <driver> in the QtGui library.
3625 Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
3626 -plugin-gfx-<driver> Enable graphics <driver> as a plugin to be
3627 linked to at run time.
3628 Possible values for <driver>: [ $CFG_GFX_PLUGIN_AVAILABLE ]
3629 -no-gfx-<driver> ... Disable graphics <driver> entirely.
3630 Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
3632 -qt-kbd-<driver> ... Enable a keyboard <driver> in the QtGui library.
3633 Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
3635 -plugin-kbd-<driver> Enable keyboard <driver> as a plugin to be linked to
3637 Possible values for <driver>: [ $CFG_KBD_PLUGIN_AVAILABLE ]
3639 -no-kbd-<driver> ... Disable keyboard <driver> entirely.
3640 Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
3642 -qt-mouse-<driver> ... Enable a mouse <driver> in the QtGui library.
3643 Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
3644 -plugin-mouse-<driver> Enable mouse <driver> as a plugin to be linked to
3646 Possible values for <driver>: [ $CFG_MOUSE_PLUGIN_AVAILABLE ]
3647 -no-mouse-<driver> ... Disable mouse <driver> entirely.
3648 Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
3650 -iwmmxt ............ Compile using the iWMMXt instruction set
3651 (available on some XScale CPUs).
3657 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
3658 if [ "$CFG_GLIB" = "no" ]; then
3666 $GBN -no-glib ........... Do not compile Glib support.
3667 $GBY -glib .............. Compile Glib support.
3672 [ "x$ERROR" = "xyes" ] && exit 1
3677 # -----------------------------------------------------------------------------
3678 # LICENSING, INTERACTIVE PART
3679 # -----------------------------------------------------------------------------
3681 if [ "$PLATFORM_QWS" = "yes" ]; then
3682 Platform
="Qt for Embedded Linux"
3683 elif [ "$PLATFORM_MAC" = "yes" ]; then
3691 echo "This is the $Platform ${EditionString} Edition."
3694 if [ "$Edition" = "NokiaInternalBuild" ]; then
3695 echo "Detected -nokia-developer option"
3696 echo "Nokia employees and agents are allowed to use this software under"
3697 echo "the authority of Nokia Corporation and/or its subsidiary(-ies)"
3698 elif [ "$Edition" = "OpenSource" ]; then
3700 echo "You are licensed to use this software under the terms of"
3701 echo "the GNU General Public License (GPL) versions 3."
3702 echo "You are also licensed to use this software under the terms of"
3703 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
3706 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3707 echo "You have already accepted the terms of the $LicenseType license."
3710 echo "Type '3' to view the GNU General Public License version 3."
3711 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
3712 echo "Type 'yes' to accept this license offer."
3713 echo "Type 'no' to decline this license offer."
3715 if echo '\c' |
grep '\c' >/dev
/null
; then
3716 echo -n "Do you accept the terms of $affix license? "
3718 echo "Do you accept the terms of $affix license? \c"
3723 if [ "$acceptance" = "yes" ]; then
3725 elif [ "$acceptance" = "no" ]; then
3726 echo "You are not licensed to use this software."
3729 elif [ "$acceptance" = "3" ]; then
3730 more "$relpath/LICENSE.GPL3"
3731 elif [ "$acceptance" = "L" ]; then
3732 more "$relpath/LICENSE.LGPL"
3735 elif [ "$Edition" = "Preview" ]; then
3736 TheLicense
=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
3739 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3740 echo "You have already accepted the terms of the $LicenseType license."
3743 echo "You are licensed to use this software under the terms of"
3744 echo "the $TheLicense"
3746 echo "Type '?' to read the Preview License."
3747 echo "Type 'yes' to accept this license offer."
3748 echo "Type 'no' to decline this license offer."
3750 if echo '\c' |
grep '\c' >/dev
/null
; then
3751 echo -n "Do you accept the terms of the license? "
3753 echo "Do you accept the terms of the license? \c"
3758 if [ "$acceptance" = "yes" ]; then
3760 elif [ "$acceptance" = "no" ] ;then
3761 echo "You are not licensed to use this software."
3764 elif [ "$acceptance" = "?" ]; then
3765 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
3768 elif [ "$Edition" != "OpenSource" ]; then
3769 if [ -n "$ExpiryDate" ]; then
3770 ExpiryDate
=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
3771 [ -z "$ExpiryDate" ] && ExpiryDate
="0"
3772 Today
=`date +%Y%m%d`
3773 if [ "$Today" -gt "$ExpiryDate" ]; then
3774 case "$LicenseType" in
3775 Commercial|Academic|Educational
)
3776 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
3778 echo "NOTICE NOTICE NOTICE NOTICE"
3780 echo " Your support and upgrade period has expired."
3782 echo " You are no longer licensed to use this version of Qt."
3783 echo " Please contact sales@trolltech.com to renew your support"
3784 echo " and upgrades for this license."
3786 echo "NOTICE NOTICE NOTICE NOTICE"
3791 echo "WARNING WARNING WARNING WARNING"
3793 echo " Your support and upgrade period has expired."
3795 echo " You may continue to use your last licensed release"
3796 echo " of Qt under the terms of your existing license"
3797 echo " agreement. But you are not entitled to technical"
3798 echo " support, nor are you entitled to use any more recent"
3799 echo " Qt releases."
3801 echo " Please contact sales@trolltech.com to renew your"
3802 echo " support and upgrades for this license."
3804 echo "WARNING WARNING WARNING WARNING"
3811 echo "NOTICE NOTICE NOTICE NOTICE"
3813 echo " Your Evaluation license has expired."
3815 echo " You are no longer licensed to use this software. Please"
3816 echo " contact sales@trolltech.com to purchase license, or install"
3817 echo " the Qt Open Source Edition if you intend to develop free"
3820 echo "NOTICE NOTICE NOTICE NOTICE"
3827 TheLicense
=`head -n 1 "$outpath/LICENSE"`
3829 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3830 echo "You have already accepted the terms of the $TheLicense."
3833 echo "You are licensed to use this software under the terms of"
3834 echo "the $TheLicense."
3836 echo "Type '?' to view the $TheLicense."
3837 echo "Type 'yes' to accept this license offer."
3838 echo "Type 'no' to decline this license offer."
3840 if echo '\c' |
grep '\c' >/dev
/null
; then
3841 echo -n "Do you accept the terms of the $TheLicense? "
3843 echo "Do you accept the terms of the $TheLicense? \c"
3848 if [ "$acceptance" = "yes" ]; then
3850 elif [ "$acceptance" = "no" ]; then
3851 echo "You are not licensed to use this software."
3854 else [ "$acceptance" = "?" ]
3855 more "$outpath/LICENSE"
3860 # this should be moved somewhere else
3863 AIX_VERSION
=`uname -v`
3864 if [ "$AIX_VERSION" -lt "5" ]; then
3865 QMakeVar add QMAKE_LIBS_X11
-lbind
3872 #-------------------------------------------------------------------------------
3873 # generate qconfig.cpp
3874 #-------------------------------------------------------------------------------
3875 [ -d "$outpath/src/corelib/global" ] || mkdir
-p "$outpath/src/corelib/global"
3877 LICENSE_USER_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsuser=$Licensee"`
3878 LICENSE_PRODUCTS_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsprod=$Edition"`
3879 PREFIX_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_INSTALL_PREFIX"`
3880 DOCUMENTATION_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_INSTALL_DOCS"`
3881 HEADERS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_INSTALL_HEADERS"`
3882 LIBRARIES_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_INSTALL_LIBS"`
3883 BINARIES_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_INSTALL_BINS"`
3884 PLUGINS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_INSTALL_PLUGINS"`
3885 DATA_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_INSTALL_DATA"`
3886 TRANSLATIONS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_INSTALL_TRANSLATIONS"`
3887 SETTINGS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
3888 EXAMPLES_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
3889 DEMOS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"`
3891 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3893 static const char qt_configure_licensee_str [256 + 12] = "$LICENSE_USER_STR";
3894 static const char qt_configure_licensed_products_str [256 + 12] = "$LICENSE_PRODUCTS_STR";
3897 if [ ! -z "$QT_HOST_PREFIX" ]; then
3898 HOSTPREFIX_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
3899 HOSTDOCUMENTATION_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
3900 HOSTHEADERS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"`
3901 HOSTLIBRARIES_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"`
3902 HOSTBINARIES_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"`
3903 HOSTPLUGINS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"`
3904 HOSTDATA_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"`
3905 HOSTTRANSLATIONS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
3906 HOSTSETTINGS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
3907 HOSTEXAMPLES_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
3908 HOSTDEMOS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"`
3910 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3912 #if defined(QT_BOOTSTRAPPED) || defined(QT_BUILD_QMAKE)
3913 /* Installation Info */
3914 static const char qt_configure_prefix_path_str [256 + 12] = "$HOSTPREFIX_PATH_STR";
3915 static const char qt_configure_documentation_path_str[256 + 12] = "$HOSTDOCUMENTATION_PATH_STR";
3916 static const char qt_configure_headers_path_str [256 + 12] = "$HOSTHEADERS_PATH_STR";
3917 static const char qt_configure_libraries_path_str [256 + 12] = "$HOSTLIBRARIES_PATH_STR";
3918 static const char qt_configure_binaries_path_str [256 + 12] = "$HOSTBINARIES_PATH_STR";
3919 static const char qt_configure_plugins_path_str [256 + 12] = "$HOSTPLUGINS_PATH_STR";
3920 static const char qt_configure_data_path_str [256 + 12] = "$HOSTDATA_PATH_STR";
3921 static const char qt_configure_translations_path_str [256 + 12] = "$HOSTTRANSLATIONS_PATH_STR";
3922 static const char qt_configure_settings_path_str [256 + 12] = "$HOSTSETTINGS_PATH_STR";
3923 static const char qt_configure_examples_path_str [256 + 12] = "$HOSTEXAMPLES_PATH_STR";
3924 static const char qt_configure_demos_path_str [256 + 12] = "$HOSTDEMOS_PATH_STR";
3925 #else // QT_BOOTSTRAPPED
3929 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3930 /* Installation Info */
3931 static const char qt_configure_prefix_path_str [256 + 12] = "$PREFIX_PATH_STR";
3932 static const char qt_configure_documentation_path_str[256 + 12] = "$DOCUMENTATION_PATH_STR";
3933 static const char qt_configure_headers_path_str [256 + 12] = "$HEADERS_PATH_STR";
3934 static const char qt_configure_libraries_path_str [256 + 12] = "$LIBRARIES_PATH_STR";
3935 static const char qt_configure_binaries_path_str [256 + 12] = "$BINARIES_PATH_STR";
3936 static const char qt_configure_plugins_path_str [256 + 12] = "$PLUGINS_PATH_STR";
3937 static const char qt_configure_data_path_str [256 + 12] = "$DATA_PATH_STR";
3938 static const char qt_configure_translations_path_str [256 + 12] = "$TRANSLATIONS_PATH_STR";
3939 static const char qt_configure_settings_path_str [256 + 12] = "$SETTINGS_PATH_STR";
3940 static const char qt_configure_examples_path_str [256 + 12] = "$EXAMPLES_PATH_STR";
3941 static const char qt_configure_demos_path_str [256 + 12] = "$DEMOS_PATH_STR";
3944 if [ ! -z "$QT_HOST_PREFIX" ]; then
3945 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3946 #endif // QT_BOOTSTRAPPED
3951 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3952 /* strlen( "qt_lcnsxxxx" ) == 12 */
3953 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
3954 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
3955 #define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12;
3956 #define QT_CONFIGURE_DOCUMENTATION_PATH qt_configure_documentation_path_str + 12;
3957 #define QT_CONFIGURE_HEADERS_PATH qt_configure_headers_path_str + 12;
3958 #define QT_CONFIGURE_LIBRARIES_PATH qt_configure_libraries_path_str + 12;
3959 #define QT_CONFIGURE_BINARIES_PATH qt_configure_binaries_path_str + 12;
3960 #define QT_CONFIGURE_PLUGINS_PATH qt_configure_plugins_path_str + 12;
3961 #define QT_CONFIGURE_DATA_PATH qt_configure_data_path_str + 12;
3962 #define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12;
3963 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
3964 #define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;
3965 #define QT_CONFIGURE_DEMOS_PATH qt_configure_demos_path_str + 12;
3968 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
3969 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
3970 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
3972 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w
"$outpath/src/corelib/global/qconfig.cpp"
3973 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
3974 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
3977 # -----------------------------------------------------------------------------
3979 # -----------------------------------------------------------------------------
3982 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
3984 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS
="$SYNCQT_OPTS -check-includes"
3985 if [ "$OPT_SHADOW" = "yes" ]; then
3986 "$outpath/bin/syncqt" $SYNCQT_OPTS
3987 elif [ "$CFG_DEV" = "yes" ] ||
[ ! -d $relpath/include
]; then
3988 QTDIR
="$relpath" perl
"$outpath/bin/syncqt" $SYNCQT_OPTS
3993 # $2: optional transformation
3994 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
3995 # is where the resulting variable is written to
3996 setBootstrapVariable
()
3998 variableRegExp
="^$1[^_A-Z0-9]"
3999 getQMakeConf |
grep "$variableRegExp" |
( [ -n "$2" ] && sed "$2" ; [ -z "$2" ] && cat ) |
$AWK '
4001 varLength = index($0, "=") - 1
4002 valStart = varLength + 2
4003 if (substr($0, varLength, 1) == "+") {
4004 varLength = varLength - 1
4005 valStart = valStart + 1
4007 var = substr($0, 0, varLength)
4008 gsub("[ \t]+", "", var)
4009 val = substr($0, valStart)
4010 printf "%s_%s = %s\n", var, NR, val
4013 if (length(var) > 0) {
4015 for (i = 1; i <= NR; ++i)
4016 printf " $(%s_%s)", var, i
4023 if true
; then ###[ '!' -f "$outpath/bin/qmake" ];
4024 echo "Creating qmake. Please wait..."
4027 QCONFIG_H
="$outpath/src/corelib/global/qconfig.h"
4028 QMAKE_QCONFIG_H
="${QCONFIG_H}.qmake"
4029 if [ -f "$QCONFIG_H" ]; then
4030 OLD_QCONFIG_H
=$QCONFIG_H
4031 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
4034 # create temporary qconfig.h for compiling qmake, if it doesn't exist
4035 # when building qmake, we use #defines for the install paths,
4036 # however they are real functions in the library
4037 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
4038 mkdir
-p "$outpath/src/corelib/global"
4039 [ -f "$QCONFIG_H" ] && chmod +w
"$QCONFIG_H"
4040 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
4043 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
4044 for conf
in "$outpath/include/QtCore/qconfig.h" "$outpath/include/Qt/qconfig.h"; do
4045 if [ '!' -f "$conf" ]; then
4046 ln -s "$QCONFIG_H" "$conf"
4050 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
4051 rm -f mkspecs
/default
4052 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs
/default
4054 for mkfile
in GNUmakefile Makefile
; do
4057 in_mkfile
="${mkfile}.in"
4058 if [ "$mkfile" = "Makefile" ]; then
4059 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
4060 # (cd qmake && qmake) >/dev/null 2>&1 && continue
4062 in_mkfile
="${mkfile}.unix"
4064 in_mkfile
="$relpath/qmake/$in_mkfile"
4065 mkfile
="$outpath/qmake/$mkfile"
4066 if [ -f "$mkfile" ]; then
4067 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags
>/dev
/null
2>&1 && chflags nouchg
"$mkfile"
4070 [ -f "$in_mkfile" ] ||
continue
4072 echo "########################################################################" > "$mkfile"
4073 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
4074 echo "########################################################################" >> "$mkfile"
4077 EXTRA_CFLAGS
="\$(QMAKE_CFLAGS)"
4078 EXTRA_CXXFLAGS
="\$(QMAKE_CXXFLAGS)"
4079 EXTRA_LFLAGS
="\$(QMAKE_LFLAGS)"
4081 if [ "$PLATFORM" = "irix-cc" ] ||
[ "$PLATFORM" = "irix-cc-64" ]; then
4082 EXTRA_LFLAGS
="$EXTRA_LFLAGS -lm"
4085 [ -n "$CC" ] && echo "CC = $CC" >> "$mkfile"
4086 [ -n "$CXX" ] && echo "CXX = $CXX" >> "$mkfile"
4087 if [ "$CFG_SILENT" = "yes" ]; then
4088 [ -z "$CC" ] && setBootstrapVariable QMAKE_CC
's,QMAKE_CC.*=,CC=\@,'
4089 [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX
's,QMAKE_CXX.*=,CXX=\@,'
4091 [ -z "$CC" ] && setBootstrapVariable QMAKE_CC
's,QMAKE_CC,CC,'
4092 [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX
's,QMAKE_CXX,CXX,'
4094 setBootstrapVariable QMAKE_CFLAGS
4095 setBootstrapVariable QMAKE_CXXFLAGS
's,\$\$QMAKE_CFLAGS,\$(QMAKE_CFLAGS),'
4096 setBootstrapVariable QMAKE_LFLAGS
4098 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
4099 EXTRA_CFLAGS
="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
4100 EXTRA_CXXFLAGS
="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
4102 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
4103 setBootstrapVariable QMAKE_CFLAGS_RELEASE
4104 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
's,\$\$QMAKE_CFLAGS_RELEASE,\$(QMAKE_CFLAGS_RELEASE),'
4105 EXTRA_CFLAGS
="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
4106 EXTRA_CXXFLAGS
="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
4107 elif [ "$CFG_DEBUG" = "yes" ]; then
4108 setBootstrapVariable QMAKE_CFLAGS_DEBUG
4109 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
's,\$\$QMAKE_CFLAGS_DEBUG,\$(QMAKE_CFLAGS_DEBUG),'
4110 EXTRA_CFLAGS
="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
4111 EXTRA_CXXFLAGS
="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
4114 if [ '!' -z "$RPATH_FLAGS" ] && [ '!' -z "`getQMakeConf \"$QMAKESPEC\" | grep QMAKE_RPATH | awk '{print $3;}'`" ]; then
4115 setBootstrapVariable QMAKE_RPATH
's,\$\$LITERAL_WHITESPACE, ,'
4116 for rpath
in $RPATH_FLAGS; do
4117 EXTRA_LFLAGS
="\$(QMAKE_RPATH)\"$rpath\" $EXTRA_LFLAGS"
4120 if [ "$PLATFORM_MAC" = "yes" ]; then
4121 if [ "$PLATFORM" = "macx-icc" ]; then
4122 echo "export MACOSX_DEPLOYMENT_TARGET = 10.4" >> "$mkfile"
4124 echo "export MACOSX_DEPLOYMENT_TARGET = 10.3" >> "$mkfile"
4126 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
4127 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
4128 EXTRA_LFLAGS
="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
4129 EXTRA_CFLAGS
="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
4130 EXTRA_CXXFLAGS
="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
4131 EXTRA_OBJS
="qsettings_mac.o qcore_mac.o"
4132 EXTRA_SRCS
="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
4133 if echo "$CFG_MAC_ARCHS" |
grep x86
> /dev
/null
2>&1; then
4134 X86_CFLAGS
="-arch i386"
4135 X86_LFLAGS
="-arch i386"
4136 EXTRA_CFLAGS
="$X86_CFLAGS $EXTRA_CFLAGS"
4137 EXTRA_CXXFLAGS
="$X86_CFLAGS $EXTRA_CXXFLAGS"
4138 EXTRA_LFLAGS
="$EXTRA_LFLAGS $X86_LFLAGS"
4140 if echo "$CFG_MAC_ARCHS" |
grep ppc
> /dev
/null
2>&1; then
4141 PPC_CFLAGS
="-arch ppc"
4142 PPC_LFLAGS
="-arch ppc"
4143 EXTRA_CFLAGS
="$PPC_CFLAGS $EXTRA_CFLAGS"
4144 EXTRA_CXXFLAGS
="$PPC_CFLAGS $EXTRA_CXXFLAGS"
4145 EXTRA_LFLAGS
="$EXTRA_LFLAGS $PPC_LFLAGS"
4147 if [ '!' -z "$CFG_SDK" ]; then
4148 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
4149 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
4150 EXTRA_CFLAGS
="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
4151 EXTRA_CXXFLAGS
="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
4152 EXTRA_LFLAGS
="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
4155 [ "$CFG_EMBEDDED" != "no" ] && EXTRA_CFLAGS
="$EXTRA_CFLAGS -DQWS"
4156 if [ '!' -z "$D_FLAGS" ]; then
4157 for DEF
in $D_FLAGS; do
4158 EXTRA_CFLAGS
="$EXTRA_CFLAGS \"-D${DEF}\""
4161 QMAKE_BIN_DIR
="$QT_INSTALL_BINS"
4162 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR
="${QT_INSTALL_PREFIX}/bin"
4163 QMAKE_DATA_DIR
="$QT_INSTALL_DATA"
4164 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR
="${QT_INSTALL_PREFIX}"
4166 adjrelpath
=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
4167 adjoutpath
=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
4168 adjqmakespec
=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
4169 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
4170 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
4171 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
4172 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
4173 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
4174 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
4175 -e "s,@QMAKESPEC@,$adjqmakespec,g" "$in_mkfile" >>"$mkfile"
4177 if "$WHICH" makedepend
>/dev
/null
2>&1 && grep 'depend:' "$mkfile" >/dev
/null
2>&1; then
4178 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend
) >/dev
/null
2>&1
4179 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
4180 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
4185 QMAKE_BUILD_ERROR
=no
4186 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR
=yes
4187 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
4188 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
4189 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
4192 #-------------------------------------------------------------------------------
4193 # tests that need qmake
4194 #-------------------------------------------------------------------------------
4196 # detect availability of float math.h functions
4197 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/floatmath
"floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
4198 CFG_USE_FLOATMATH
=yes
4200 CFG_USE_FLOATMATH
=no
4203 # detect mmx support
4204 if [ "${CFG_MMX}" = "auto" ]; then
4205 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/mmx
"mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
4212 # detect 3dnow support
4213 if [ "${CFG_3DNOW}" = "auto" ]; then
4214 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/3dnow
"3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
4221 # detect sse support
4222 if [ "${CFG_SSE}" = "auto" ]; then
4223 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/sse
"sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
4230 # detect sse2 support
4231 if [ "${CFG_SSE2}" = "auto" ]; then
4232 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/sse2
"sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
4239 # check iWMMXt support
4240 if [ "$CFG_IWMMXT" = "yes" ]; then
4241 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/iwmmxt
"iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"; then
4242 echo "The iWMMXt functionality test failed!"
4243 echo " Please make sure your compiler supports iWMMXt intrinsics!"
4249 if [ "$CFG_ZLIB" = "no" ]; then
4250 # Note: Qt no longer support builds without zlib
4251 # So we force a "no" to be "auto" here.
4252 # If you REALLY really need no zlib support, you can still disable
4253 # it by doing the following:
4254 # add "no-zlib" to mkspecs/qconfig.pri
4255 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
4257 # There's no guarantee that Qt will build under those conditions
4262 if [ "$CFG_ZLIB" = "auto" ]; then
4263 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/zlib
"zlib" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
4270 # detect how jpeg should be built
4271 if [ "$CFG_JPEG" = "auto" ]; then
4272 if [ "$CFG_SHARED" = "yes" ]; then
4279 if [ "$CFG_LIBJPEG" = "auto" ]; then
4280 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/libjpeg
"libjpeg" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
4287 # detect how gif should be built
4288 if [ "$CFG_GIF" = "auto" ]; then
4289 if [ "$CFG_SHARED" = "yes" ]; then
4296 # detect how tiff should be built
4297 if [ "$CFG_TIFF" = "auto" ]; then
4298 if [ "$CFG_SHARED" = "yes" ]; then
4306 if [ "$CFG_LIBTIFF" = "auto" ]; then
4307 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/libtiff
"libtiff" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
4314 # detect how mng should be built
4315 if [ "$CFG_MNG" = "auto" ]; then
4316 if [ "$CFG_SHARED" = "yes" ]; then
4323 if [ "$CFG_LIBMNG" = "auto" ]; then
4324 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/libmng
"libmng" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
4332 if [ "$CFG_LIBPNG" = "auto" ]; then
4333 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/libpng
"libpng" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
4340 # detect accessibility
4341 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4342 CFG_ACCESSIBILITY
=yes
4345 # auto-detect SQL-modules support
4346 for _SQLDR
in $CFG_SQL_AVAILABLE; do
4349 if [ "$CFG_SQL_mysql" != "no" ]; then
4350 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG
=`"$WHICH" mysql_config`
4351 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4352 QT_CFLAGS_MYSQL
=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4353 QT_LFLAGS_MYSQL_R
=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4354 QT_LFLAGS_MYSQL
=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4355 QT_MYSQL_VERSION
=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4356 QT_MYSQL_VERSION_MAJOR
=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4358 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4359 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4360 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4361 echo " You need MySql 4 or higher."
4362 echo " If you believe this message is in error you may use the continue"
4363 echo " switch (-continue) to $0 to continue."
4368 QT_LFLAGS_MYSQL_R
=""
4372 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_ARCHS_COMMANDLINE; then
4373 QMakeVar add CONFIG use_libmysqlclient_r
4374 if [ "$CFG_SQL_mysql" = "auto" ]; then
4375 CFG_SQL_mysql
=plugin
4377 QT_LFLAGS_MYSQL
="$QT_LFLAGS_MYSQL_R"
4378 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_ARCHS_COMMANDLINE; then
4379 if [ "$CFG_SQL_mysql" = "auto" ]; then
4380 CFG_SQL_mysql
=plugin
4383 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4384 echo "MySQL support cannot be enabled due to functionality tests!"
4385 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4386 echo " If you believe this message is in error you may use the continue"
4387 echo " switch (-continue) to $0 to continue."
4392 QT_LFLAGS_MYSQL_R
=""
4400 if [ "$CFG_SQL_psql" != "no" ]; then
4401 if "$WHICH" pg_config
>/dev
/null
2>&1; then
4402 QT_CFLAGS_PSQL
=`pg_config --includedir 2>/dev/null`
4403 QT_LFLAGS_PSQL
=`pg_config --libdir 2>/dev/null`
4405 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL
="-I$QT_CFLAGS_PSQL"
4406 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL
="-L$QT_LFLAGS_PSQL"
4407 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_ARCHS_COMMANDLINE; then
4408 if [ "$CFG_SQL_psql" = "auto" ]; then
4412 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4413 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4414 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4415 echo " If you believe this message is in error you may use the continue"
4416 echo " switch (-continue) to $0 to continue."
4427 if [ "$CFG_SQL_odbc" != "no" ]; then
4428 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/odbc
"ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
4429 if [ "$CFG_SQL_odbc" = "auto" ]; then
4433 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4434 echo "ODBC support cannot be enabled due to functionality tests!"
4435 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4436 echo " If you believe this message is in error you may use the continue"
4437 echo " switch (-continue) to $0 to continue."
4446 if [ "$CFG_SQL_oci" != "no" ]; then
4447 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/oci
"OCI" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
4448 if [ "$CFG_SQL_oci" = "auto" ]; then
4452 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4453 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4454 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4455 echo " If you believe this message is in error you may use the continue"
4456 echo " switch (-continue) to $0 to continue."
4465 if [ "$CFG_SQL_tds" != "no" ]; then
4466 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/tds
"TDS" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
4467 if [ "$CFG_SQL_tds" = "auto" ]; then
4471 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4472 echo "TDS support cannot be enabled due to functionality tests!"
4473 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4474 echo " If you believe this message is in error you may use the continue"
4475 echo " switch (-continue) to $0 to continue."
4484 if [ "$CFG_SQL_db2" != "no" ]; then
4485 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/db2
"DB2" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
4486 if [ "$CFG_SQL_db2" = "auto" ]; then
4490 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4491 echo "ODBC support cannot be enabled due to functionality tests!"
4492 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4493 echo " If you believe this message is in error you may use the continue"
4494 echo " switch (-continue) to $0 to continue."
4503 if [ "$CFG_SQL_ibase" != "no" ]; then
4504 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/ibase
"InterBase" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
4505 if [ "$CFG_SQL_ibase" = "auto" ]; then
4506 CFG_SQL_ibase
=plugin
4509 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4510 echo "InterBase support cannot be enabled due to functionality tests!"
4511 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4512 echo " If you believe this message is in error you may use the continue"
4513 echo " switch (-continue) to $0 to continue."
4522 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4523 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/sqlite2
"SQLite2" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
4524 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4525 CFG_SQL_sqlite2
=plugin
4528 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4529 echo "SQLite2 support cannot be enabled due to functionality tests!"
4530 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4531 echo " If you believe this message is in error you may use the continue"
4532 echo " switch (-continue) to $0 to continue."
4541 if [ "$CFG_SQL_sqlite" != "no" ]; then
4542 SQLITE_AUTODETECT_FAILED
="no"
4543 if [ "$CFG_SQLITE" = "system" ]; then
4544 if [ -n "$PKG_CONFIG" ]; then
4545 QT_CFLAGS_SQLITE
=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4546 QT_LFLAGS_SQLITE
=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4548 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_ARCHS_COMMANDLINE; then
4549 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4550 CFG_SQL_sqlite
=plugin
4552 QMAKE_CONFIG
="$QMAKE_CONFIG system-sqlite"
4554 SQLITE_AUTODETECT_FAILED
="yes"
4557 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4558 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4559 CFG_SQL_sqlite
=plugin
4562 SQLITE_AUTODETECT_FAILED
="yes"
4566 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4567 echo "SQLite support cannot be enabled due to functionality tests!"
4568 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4569 echo " If you believe this message is in error you may use the continue"
4570 echo " switch (-continue) to $0 to continue."
4576 if [ "$OPT_VERBOSE" = "yes" ]; then
4577 echo "unknown SQL driver: $_SQLDR"
4583 # auto-detect NIS support
4584 if [ "$CFG_NIS" != "no" ]; then
4585 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/nis
"NIS" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
4588 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4589 echo "NIS support cannot be enabled due to functionality tests!"
4590 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4591 echo " If you believe this message is in error you may use the continue"
4592 echo " switch (-continue) to $0 to continue."
4600 # auto-detect CUPS support
4601 if [ "$CFG_CUPS" != "no" ]; then
4602 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/cups
"Cups" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
4605 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4606 echo "Cups support cannot be enabled due to functionality tests!"
4607 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4608 echo " If you believe this message is in error you may use the continue"
4609 echo " switch (-continue) to $0 to continue."
4617 # auto-detect iconv(3) support
4618 if [ "$CFG_ICONV" != "no" ]; then
4619 if [ "$PLATFORM_QWS" = "yes" ]; then
4621 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
4623 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_ARCHS_COMMANDLINE; then
4626 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4627 echo "Iconv support cannot be enabled due to functionality tests!"
4628 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4629 echo " If you believe this message is in error you may use the continue"
4630 echo " switch (-continue) to $0 to continue."
4638 # auto-detect libdbus-1 support
4639 if [ "$CFG_DBUS" != "no" ]; then
4640 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1
2>/dev
/null
; then
4641 QT_CFLAGS_DBUS
=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4642 QT_LIBS_DBUS
=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4644 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_ARCHS_COMMANDLINE; then
4645 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS
=yes
4646 QMakeVar
set QT_CFLAGS_DBUS
"$QT_CFLAGS_DBUS"
4647 QMakeVar
set QT_LIBS_DBUS
"$QT_LIBS_DBUS"
4649 if [ "$CFG_DBUS" = "auto" ]; then
4651 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4652 # CFG_DBUS is "yes" or "linked" here
4654 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4655 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4656 echo " If you believe this message is in error you may use the continue"
4657 echo " switch (-continue) to $0 to continue."
4663 # Generate a CRC of the namespace for using in constants for the Carbon port.
4664 # This should mean that you really *can* load two Qt's and have our custom
4665 # Carbon events work.
4666 if [ "$PLATFORM_MAC" = "yes" -a ! -z "$QT_NAMESPACE" ]; then
4667 QT_NAMESPACE_MAC_CRC
=`"$mactests/crc.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/crc $QT_NAMESPACE $L_FLAGS $I_FLAGS $l_FLAGS`
4670 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
4671 # auto-detect Glib support
4672 if [ "$CFG_GLIB" != "no" ]; then
4673 if [ -n "$PKG_CONFIG" ]; then
4674 QT_CFLAGS_GLIB
=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4675 QT_LIBS_GLIB
=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4677 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
4679 QMakeVar
set QT_CFLAGS_GLIB
"$QT_CFLAGS_GLIB"
4680 QMakeVar
set QT_LIBS_GLIB
"$QT_LIBS_GLIB"
4682 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4683 echo "Glib support cannot be enabled due to functionality tests!"
4684 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4685 echo " If you believe this message is in error you may use the continue"
4686 echo " switch (-continue) to $0 to continue."
4694 if [ "$CFG_PHONON" != "no" ]; then
4695 if [ "$CFG_PHONON_BACKEND" != "no" ]; then
4696 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4697 if [ -n "$PKG_CONFIG" ]; then
4698 QT_CFLAGS_GSTREAMER
=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4699 QT_LIBS_GSTREAMER
=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4701 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
4703 QMakeVar
set QT_CFLAGS_GSTREAMER
"$QT_CFLAGS_GSTREAMER"
4704 QMakeVar
set QT_LIBS_GSTREAMER
"$QT_LIBS_GSTREAMER"
4706 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4707 echo "Gstreamer support cannot be enabled due to functionality tests!"
4708 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4709 echo " If you believe this message is in error you may use the continue"
4710 echo " switch (-continue) to $0 to continue."
4716 elif [ "$CFG_GLIB" = "no" ]; then
4720 if [ "$CFG_GSTREAMER" = "yes" ]; then
4723 if [ "$CFG_PHONON" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4724 echo "Phonon support cannot be enabled due to functionality tests!"
4725 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4726 echo " If you believe this message is in error you may use the continue"
4727 echo " switch (-continue) to $0 to continue."
4740 if [ "$PLATFORM_X11" = "yes" ]; then
4741 x11tests
="$relpath/config.tests/x11"
4744 # work around broken X11 headers when using GCC 2.95 or later
4746 "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE
=yes
4747 if [ $NOTYPE = "yes" ]; then
4748 QMakeVar add QMAKE_CXXFLAGS
-fpermissive
4749 X11TESTS_FLAGS
="$X11TESTS_FLAGS -fpermissive"
4752 # Check we actually have X11 :-)
4753 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
4754 echo "Basic XLib functionality test failed!"
4755 echo " You might need to modify the include and library search paths by editing"
4756 echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
4760 # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es1cl = ES 1.x common lite, es2 = OpenGL ES 2.x)
4761 if [ "$CFG_OPENGL" = "auto" ] ||
[ "$CFG_OPENGL" = "yes" ]; then
4762 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
4764 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
4766 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/opengles1
"OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
4768 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/opengles1cl
"OpenGL ES 1.x Lite" $L_FLAGS $I_FLAGS $l_FLAGS; then
4771 if [ "$CFG_OPENGL" = "yes" ]; then
4772 echo "All the OpenGL functionality tests failed!"
4773 echo " You might need to modify the include and library search paths by editing"
4774 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4775 echo " ${XQMAKESPEC}."
4782 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4783 if [ "$CFG_OPENGL" = "desktop" ]; then
4784 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/x11
/glxfbconfig
"OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
4785 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4792 elif [ "$CFG_OPENGL" = "es1cl" ]; then
4793 # OpenGL ES 1.x common lite
4794 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/opengles1cl
"OpenGL ES 1.x Lite" $L_FLAGS $I_FLAGS $l_FLAGS; then
4795 echo "The OpenGL ES 1.x Common Lite Profile functionality test failed!"
4796 echo " You might need to modify the include and library search paths by editing"
4797 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4798 echo " ${XQMAKESPEC}."
4801 elif [ "$CFG_OPENGL" = "es1" ]; then
4803 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/opengles1
"OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
4804 echo "The OpenGL ES 1.x functionality test failed!"
4805 echo " You might need to modify the include and library search paths by editing"
4806 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4807 echo " ${XQMAKESPEC}."
4810 elif [ "$CFG_OPENGL" = "es2" ]; then
4812 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/opengles2
"OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
4813 echo "The OpenGL ES 2.0 functionality test failed!"
4814 echo " You might need to modify the include and library search paths by editing"
4815 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4816 echo " ${XQMAKESPEC}."
4819 elif [ "$CFG_OPENGL" = "desktop" ]; then
4820 # Desktop OpenGL support
4821 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
4822 echo "The OpenGL functionality test failed!"
4823 echo " You might need to modify the include and library search paths by editing"
4824 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4825 echo " ${XQMAKESPEC}."
4830 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4831 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/x11
/glxfbconfig
"OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
4832 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4840 # if opengl is disabled and the user specified graphicssystem gl, disable it...
4841 if [ "$CFG_GRAPHICS_SYSTEM" = "opengl" ] && [ "$CFG_OPENGL" = "no" ]; then
4842 echo "OpenGL Graphics System is disabled due to missing OpenGL support..."
4843 CFG_GRAPHICS_SYSTEM
=default
4846 # auto-detect Xcursor support
4847 if [ "$CFG_XCURSOR" != "no" ]; then
4848 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
4849 if [ "$CFG_XCURSOR" != "runtime" ]; then
4853 if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4854 echo "Xcursor support cannot be enabled due to functionality tests!"
4855 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4856 echo " If you believe this message is in error you may use the continue"
4857 echo " switch (-continue) to $0 to continue."
4865 # auto-detect Xfixes support
4866 if [ "$CFG_XFIXES" != "no" ]; then
4867 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/x11
/xfixes
"Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
4868 if [ "$CFG_XFIXES" != "runtime" ]; then
4872 if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4873 echo "Xfixes support cannot be enabled due to functionality tests!"
4874 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4875 echo " If you believe this message is in error you may use the continue"
4876 echo " switch (-continue) to $0 to continue."
4884 # auto-detect Xrandr support (resize and rotate extension)
4885 if [ "$CFG_XRANDR" != "no" ]; then
4886 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
4887 if [ "$CFG_XRANDR" != "runtime" ]; then
4891 if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4892 echo "Xrandr support cannot be enabled due to functionality tests!"
4893 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4894 echo " If you believe this message is in error you may use the continue"
4895 echo " switch (-continue) to $0 to continue."
4903 # auto-detect Xrender support
4904 if [ "$CFG_XRENDER" != "no" ]; then
4905 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
4908 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4909 echo "Xrender support cannot be enabled due to functionality tests!"
4910 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4911 echo " If you believe this message is in error you may use the continue"
4912 echo " switch (-continue) to $0 to continue."
4920 # auto-detect MIT-SHM support
4921 if [ "$CFG_MITSHM" != "no" ]; then
4922 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
4925 if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4926 echo "MITSHM support cannot be enabled due to functionality tests!"
4927 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4928 echo " If you believe this message is in error you may use the continue"
4929 echo " switch (-continue) to $0 to continue."
4937 # auto-detect FontConfig support
4938 if [ "$CFG_FONTCONFIG" != "no" ]; then
4939 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig
2>/dev
/null
; then
4940 QT_CFLAGS_FONTCONFIG
=`$PKG_CONFIG --cflags fontconfig 2>/dev/null`
4941 QT_LIBS_FONTCONFIG
=`$PKG_CONFIG --libs fontconfig 2>/dev/null`
4943 QT_CFLAGS_FONTCONFIG
=
4944 QT_LIBS_FONTCONFIG
="-lfreetype -lfontconfig"
4946 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
4948 QMakeVar
set QMAKE_CFLAGS_X11
"$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
4949 QMakeVar
set QMAKE_LIBS_X11
"$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
4950 CFG_LIBFREETYPE
=system
4952 if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4953 echo "FontConfig support cannot be enabled due to functionality tests!"
4954 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4955 echo " If you believe this message is in error you may use the continue"
4956 echo " switch (-continue) to $0 to continue."
4964 # auto-detect Session Management support
4965 if [ "$CFG_SM" = "auto" ]; then
4966 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
4969 if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4970 echo "Session Management support cannot be enabled due to functionality tests!"
4971 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4972 echo " If you believe this message is in error you may use the continue"
4973 echo " switch (-continue) to $0 to continue."
4981 # auto-detect SHAPE support
4982 if [ "$CFG_XSHAPE" != "no" ]; then
4983 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
4986 if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4987 echo "XShape support cannot be enabled due to functionality tests!"
4988 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4989 echo " If you believe this message is in error you may use the continue"
4990 echo " switch (-continue) to $0 to continue."
4998 # auto-detect Xinerama support
4999 if [ "$CFG_XINERAMA" != "no" ]; then
5000 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
5001 if [ "$CFG_XINERAMA" != "runtime" ]; then
5005 if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5006 echo "Xinerama support cannot be enabled due to functionality tests!"
5007 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5008 echo " If you believe this message is in error you may use the continue"
5009 echo " switch (-continue) to $0 to continue."
5017 # auto-detect Xinput support
5018 if [ "$CFG_XINPUT" != "no" ]; then
5019 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
5020 if [ "$CFG_XINPUT" != "runtime" ]; then
5024 if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5025 echo "Tablet and Xinput support cannot be enabled due to functionality tests!"
5026 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5027 echo " If you believe this message is in error you may use the continue"
5028 echo " switch (-continue) to $0 to continue."
5036 # auto-detect XKB support
5037 if [ "$CFG_XKB" != "no" ]; then
5038 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
5041 if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5042 echo "XKB support cannot be enabled due to functionality tests!"
5043 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5044 echo " If you believe this message is in error you may use the continue"
5045 echo " switch (-continue) to $0 to continue."
5053 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
5054 if [ -n "$PKG_CONFIG" ]; then
5055 QT_CFLAGS_QGTKSTYLE
=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
5056 QT_LIBS_QGTKSTYLE
=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
5058 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
5060 QMakeVar
set QT_CFLAGS_QGTKSTYLE
"$QT_CFLAGS_QGTKSTYLE"
5061 QMakeVar
set QT_LIBS_QGTKSTYLE
"$QT_LIBS_QGTKSTYLE"
5063 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5064 echo "Gtk theme support cannot be enabled due to functionality tests!"
5065 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5066 echo " If you believe this message is in error you may use the continue"
5067 echo " switch (-continue) to $0 to continue."
5073 elif [ "$CFG_GLIB" = "no" ]; then
5079 if [ "$PLATFORM_MAC" = "yes" ]; then
5080 if [ "$CFG_PHONON" != "no" ]; then
5081 # Always enable Phonon (unless it was explicitly disabled)
5087 if [ "$PLATFORM_QWS" = "yes" ]; then
5089 # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es1cl = ES 1.x common lite, es2 = OpenGL ES 2.x)
5090 if [ "$CFG_OPENGL" = "yes" ]; then
5091 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/opengles2
"OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
5093 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/opengles1
"OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
5095 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/opengles1cl
"OpenGL ES 1.x Lite" $L_FLAGS $I_FLAGS $l_FLAGS; then
5098 echo "All the OpenGL ES functionality tests failed!"
5099 echo " You might need to modify the include and library search paths by editing"
5100 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5101 echo " ${XQMAKESPEC}."
5104 elif [ "$CFG_OPENGL" = "es1" ]; then
5106 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/opengles1
"OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
5107 echo "The OpenGL ES 1.x functionality test failed!"
5108 echo " You might need to modify the include and library search paths by editing"
5109 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5110 echo " ${XQMAKESPEC}."
5113 elif [ "$CFG_OPENGL" = "es2" ]; then
5115 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/opengles2
"OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
5116 echo "The OpenGL ES 2.0 functionality test failed!"
5117 echo " You might need to modify the include and library search paths by editing"
5118 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5119 echo " ${XQMAKESPEC}."
5122 elif [ "$CFG_OPENGL" = "desktop" ]; then
5123 # Desktop OpenGL support
5124 echo "Desktop OpenGL support is not avaliable on Qt for Embedded Linux"
5129 for screen
in ${CFG_GFX_ON} ${CFG_GFX_PLUGIN}; do
5130 if [ "${screen}" = "ahi" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5131 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/qws
/ahi
"Ahi" $L_FLAGS $I_FLAGS $l_FLAGS; then
5132 echo "The Ahi screen driver functionality test failed!"
5133 echo " You might need to modify the include and library search paths by editing"
5134 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5135 echo " ${XQMAKESPEC}."
5140 if [ "${screen}" = "svgalib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5141 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/qws
/svgalib
"SVGAlib" $L_FLAGS $I_FLAGS $l_FLAGS; then
5142 echo "The SVGAlib screen driver functionality test failed!"
5143 echo " You might need to modify the include and library search paths by editing"
5144 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5145 echo " ${XQMAKESPEC}."
5150 if [ "${screen}" = "directfb" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5151 if [ -n "$PKG_CONFIG" ]; then
5152 if $PKG_CONFIG --exists directfb
2>/dev
/null
; then
5153 QT_CFLAGS_DIRECTFB
=`$PKG_CONFIG --cflags directfb 2>/dev/null`
5154 QT_LIBS_DIRECTFB
=`$PKG_CONFIG --libs directfb 2>/dev/null`
5155 elif directfb-config
--version >/dev
/null
2>&1; then
5156 QT_CFLAGS_DIRECTFB
=`directfb-config --cflags 2>/dev/null`
5157 QT_LIBS_DIRECTFB
=`directfb-config --libs 2>/dev/null`
5161 # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
5162 if [ -n "$QT_CFLAGS_DIRECTFB" ] ||
[ -n "$QT_LIBS_DIRECTFB" ]; then
5163 QMakeVar
set QT_CFLAGS_DIRECTFB
"$QT_CFLAGS_DIRECTFB"
5164 QMakeVar
set QT_LIBS_DIRECTFB
"$QT_LIBS_DIRECTFB"
5166 if [ "$CFG_QT3SUPPORT" = "yes" ]; then
5167 QMakeVar
set QT_DEFINES_DIRECTFB
"QT3_SUPPORT"
5170 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/qws
/directfb
"DirectFB" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_DIRECTFB $QT_LIBS_DIRECTFB; then
5171 echo "The DirectFB screen driver functionality test failed!"
5172 echo " You might need to modify the include and library search paths by editing"
5173 echo " QT_CFLAGS_DIRECTFB and QT_LIBS_DIRECTFB in"
5174 echo " ${XQMAKESPEC}."
5182 for mouse
in ${CFG_MOUSE_ON} ${CFG_MOUSE_PLUGIN}; do
5183 if [ "${mouse}" = "tslib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5184 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/tslib
"tslib" $L_FLAGS $I_FLAGS $l_FLAGS; then
5185 echo "The tslib functionality test failed!"
5186 echo " You might need to modify the include and library search paths by editing"
5187 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5188 echo " ${XQMAKESPEC}."
5197 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/qws
/sound
"sound" $L_FLAGS $I_FLAGS $l_FLAGS; then
5198 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SOUND"
5204 [ "x$CFG_EMBEDDED" != "xno" ] && CFG_LIBFREETYPE
="$CFG_QWS_FREETYPE"
5205 [ "x$PLATFORM_MAC" = "xyes" ] && CFG_LIBFREETYPE
=no
5206 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
5207 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/freetype
"FreeType" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
5208 CFG_LIBFREETYPE
=system
5214 if [ "$CFG_ENDIAN" = "auto" ]; then
5215 if [ "$PLATFORM_MAC" = "yes" ]; then
5218 "$unixtests/endian.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5220 if [ "$F" -eq 0 ]; then
5221 CFG_ENDIAN
="Q_LITTLE_ENDIAN"
5222 elif [ "$F" -eq 1 ]; then
5223 CFG_ENDIAN
="Q_BIG_ENDIAN"
5226 echo "The target system byte order could not be detected!"
5227 echo "Turn on verbose messaging (-v) to see the final report."
5228 echo "You can use the -little-endian or -big-endian switch to"
5229 echo "$0 to continue."
5235 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
5236 if [ "$PLATFORM_MAC" = "yes" ]; then
5239 "$unixtests/endian.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5241 if [ "$F" -eq 0 ]; then
5242 CFG_HOST_ENDIAN
="Q_LITTLE_ENDIAN"
5243 elif [ "$F" -eq 1 ]; then
5244 CFG_HOST_ENDIAN
="Q_BIG_ENDIAN"
5247 echo "The host system byte order could not be detected!"
5248 echo "Turn on verbose messaging (-v) to see the final report."
5249 echo "You can use the -host-little-endian or -host-big-endian switch to"
5250 echo "$0 to continue."
5256 if [ "$CFG_ARMFPA" != "auto" ]; then
5257 if [ "$CFG_ARMFPA" = "yes" ]; then
5258 if [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5259 CFG_DOUBLEFORMAT
="Q_DOUBLE_LITTLE_SWAPPED"
5261 CFG_DOUBLEFORMAT
="Q_DOUBLE_BIG_SWAPPED"
5264 CFG_DOUBLEFORMAT
="normal"
5269 if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then
5270 if [ "$PLATFORM_QWS" != "yes" ]; then
5271 CFG_DOUBLEFORMAT
=normal
5273 "$unixtests/doubleformat.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5275 if [ "$F" -eq 10 ] && [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5276 CFG_DOUBLEFORMAT
=normal
5277 elif [ "$F" -eq 11 ] && [ "$CFG_ENDIAN" = "Q_BIG_ENDIAN" ]; then
5278 CFG_DOUBLEFORMAT
=normal
5279 elif [ "$F" -eq 10 ]; then
5280 CFG_DOUBLEFORMAT
="Q_DOUBLE_LITTLE"
5281 elif [ "$F" -eq 11 ]; then
5282 CFG_DOUBLEFORMAT
="Q_DOUBLE_BIG"
5283 elif [ "$F" -eq 12 ]; then
5284 CFG_DOUBLEFORMAT
="Q_DOUBLE_LITTLE_SWAPPED"
5286 elif [ "$F" -eq 13 ]; then
5287 CFG_DOUBLEFORMAT
="Q_DOUBLE_BIG_SWAPPED"
5291 echo "The system floating point format could not be detected."
5292 echo "This may cause data to be generated in a wrong format"
5293 echo "Turn on verbose messaging (-v) to see the final report."
5294 # we do not fail on this since this is a new test, and if it fails,
5295 # the old behavior should be correct in most cases
5296 CFG_DOUBLEFORMAT
=normal
5302 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/stl
"STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
5306 if [ "$CFG_STL" != "no" ]; then
5307 if [ "$HAVE_STL" = "yes" ]; then
5310 if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5311 echo "STL support cannot be enabled due to functionality tests!"
5312 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5313 echo " If you believe this message is in error you may use the continue"
5314 echo " switch (-continue) to $0 to continue."
5322 # find if the platform supports IPv6
5323 if [ "$CFG_IPV6" != "no" ]; then
5324 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/ipv6
"IPv6" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
5327 if [ "$CFG_IPV6" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5328 echo "IPv6 support cannot be enabled due to functionality tests!"
5329 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5330 echo " If you believe this message is in error you may use the continue"
5331 echo " switch (-continue) to $0 to continue."
5339 # detect POSIX clock_gettime()
5340 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
5341 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
5342 CFG_CLOCK_GETTIME
=yes
5344 CFG_CLOCK_GETTIME
=no
5348 # detect POSIX monotonic clocks
5349 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
5350 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
5351 CFG_CLOCK_MONOTONIC
=yes
5353 CFG_CLOCK_MONOTONIC
=no
5355 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
5356 CFG_CLOCK_MONOTONIC
=no
5360 if [ "$CFG_MREMAP" = "auto" ]; then
5361 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/mremap
"mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
5368 # find if the platform provides getaddrinfo (ipv6 dns lookups)
5369 if [ "$CFG_GETADDRINFO" != "no" ]; then
5370 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/getaddrinfo
"getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
5373 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5374 echo "getaddrinfo support cannot be enabled due to functionality tests!"
5375 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5376 echo " If you believe this message is in error you may use the continue"
5377 echo " switch (-continue) to $0 to continue."
5385 # find if the platform provides inotify
5386 if [ "$CFG_INOTIFY" != "no" ]; then
5387 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/inotify
"inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
5390 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5391 echo "inotify support cannot be enabled due to functionality tests!"
5392 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5393 echo " If you believe this message is in error you may use the continue"
5394 echo " switch (-continue) to $0 to continue."
5402 # find if the platform provides if_nametoindex (ipv6 interface name support)
5403 if [ "$CFG_IPV6IFNAME" != "no" ]; then
5404 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
5407 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5408 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
5409 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5410 echo " If you believe this message is in error you may use the continue"
5411 echo " switch (-continue) to $0 to continue."
5419 # find if the platform provides getifaddrs (network interface enumeration)
5420 if [ "$CFG_GETIFADDRS" != "no" ]; then
5421 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/getifaddrs
"getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
5424 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5425 echo "getifaddrs support cannot be enabled due to functionality tests!"
5426 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5427 echo " If you believe this message is in error you may use the continue"
5428 echo " switch (-continue) to $0 to continue."
5436 # find if the platform supports X/Open Large File compilation environment
5437 if [ "$CFG_LARGEFILE" != "no" ]; then
5438 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/largefile
"X/Open Large File" $L_FLAGS $I_FLAGS $l_FLAGS; then
5441 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5442 echo "X/Open Large File support cannot be enabled due to functionality tests!"
5443 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5444 echo " If you believe this message is in error you may use the continue"
5445 echo " switch (-continue) to $0 to continue."
5454 if [ "$CFG_OPENSSL" != "no" ]; then
5455 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/openssl
"OpenSSL" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
5456 if [ "$CFG_OPENSSL" = "auto" ]; then
5460 if ( [ "$CFG_OPENSSL" = "yes" ] ||
[ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5461 echo "OpenSSL support cannot be enabled due to functionality tests!"
5462 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5463 echo " If you believe this message is in error you may use the continue"
5464 echo " switch (-continue) to $0 to continue."
5472 if [ "$CFG_PTMALLOC" != "no" ]; then
5473 # build ptmalloc, copy .a file to lib/
5474 echo "Building ptmalloc. Please wait..."
5475 (cd "$relpath/src/3rdparty/ptmalloc/"; "$MAKE" "clean" ; "$MAKE" "posix"
5476 mkdir
"$outpath/lib/" ; cp "libptmalloc3.a" "$outpath/lib/")
5478 QMakeVar add QMAKE_LFLAGS
"$outpath/lib/libptmalloc3.a"
5481 #-------------------------------------------------------------------------------
5482 # ask for all that hasn't been auto-detected or specified in the arguments
5483 #-------------------------------------------------------------------------------
5485 ### fix this: user input should be validated in a loop
5486 if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PLATFORM_QWS" = "yes" ]; then
5488 echo "Choose pixel-depths to support:"
5490 echo " 1. 1bpp, black/white"
5491 echo " 4. 4bpp, grayscale"
5492 echo " 8. 8bpp, paletted"
5493 echo " 12. 12bpp, rgb 4-4-4"
5494 echo " 15. 15bpp, rgb 5-5-5"
5495 echo " 16. 16bpp, rgb 5-6-5"
5496 echo " 18. 18bpp, rgb 6-6-6"
5497 echo " 24. 24bpp, rgb 8-8-8"
5498 echo " 32. 32bpp, argb 8-8-8-8 and rgb 8-8-8"
5499 echo " all. All supported depths"
5501 echo "Your choices (default 8,16,32):"
5503 if [ -z "$CFG_QWS_DEPTHS" ] ||
[ "$CFG_QWS_DEPTHS" = "yes" ]; then
5504 CFG_QWS_DEPTHS
=8,16,32
5507 if [ -n "$CFG_QWS_DEPTHS" -a "$PLATFORM_QWS" = "yes" ]; then
5508 if [ "$CFG_QWS_DEPTHS" = "all" ]; then
5509 CFG_QWS_DEPTHS
="1 4 8 12 15 16 18 24 32 generic"
5511 for D
in `echo "$CFG_QWS_DEPTHS" | sed -e 's/,/ /g'`; do
5513 1|
4|
8|
12|
15|
16|
18|
24|
32) QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
5514 generic
) QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_QWS_DEPTH_GENERIC";;
5519 # enable dwarf2 support on Mac
5520 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
5521 QT_CONFIG
="$QT_CONFIG dwarf2"
5524 # Set the default arch. Select 32-bit/carbon if nothing else has
5525 # been specified on the configure line.
5526 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_ARCHS" == "" ]; then
5527 source "$mactests/defaultarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests"
5529 if [ "$QT_MAC_DEFUALT_ARCH" == "x86_64" ]; then
5530 CFG_MAC_ARCHS
=" x86"
5531 elif [ "$QT_MAC_DEFUALT_ARCH" == "ppc64" ]; then
5532 CFG_MAC_ARCHS
=" ppc"
5534 CFG_MAC_ARCHS
=" $QT_MAC_DEFUALT_ARCH"
5537 [ "$OPT_VERBOSE" == "yes" ] && echo "Setting Mac architechture to$CFG_MAC_ARCHS."
5540 # enable cocoa and/or carbon on Mac
5541 if [ "$CFG_MAC_COCOA" = "yes" ]; then
5542 # -cocoa on the command line disables carbon completely (i.e. use cocoa for 32-bit as well)
5545 # check which archs are in use, enable cocoa if we find a 64-bit one
5546 if echo "$CFG_MAC_ARCHS" |
grep 64 > /dev
/null
2>&1; then
5547 CFG_MAC_COCOA
="yes";
5548 CFG_MAC_CARBON
="no";
5549 if echo "$CFG_MAC_ARCHS" |
grep -w ppc
> /dev
/null
2>&1; then
5550 CFG_MAC_CARBON
="yes";
5552 if echo "$CFG_MAC_ARCHS" |
grep -w x86
> /dev
/null
2>&1; then
5553 CFG_MAC_CARBON
="yes";
5556 # no 64-bit archs found.
5561 # set the global Mac deployment target. This is overridden on an arch-by-arch basis
5562 # in some cases, see code further down
5563 case "$PLATFORM,$CFG_MAC_COCOA" in
5566 QMakeVar
set QMAKE_MACOSX_DEPLOYMENT_TARGET
10.5
5571 QMakeVar
set QMAKE_MACOSX_DEPLOYMENT_TARGET
10.4
5575 QMakeVar
set QMAKE_MACOSX_DEPLOYMENT_TARGET
10.3
5579 # enable Qt 3 support functionality
5580 if [ "$CFG_QT3SUPPORT" = "yes" ]; then
5581 QT_CONFIG
="$QT_CONFIG qt3support"
5585 if [ "$CFG_PHONON" = "yes" ]; then
5586 QT_CONFIG
="$QT_CONFIG phonon"
5587 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
5588 QT_CONFIG
="$QT_CONFIG phonon-backend"
5591 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_PHONON"
5594 # disable accessibility
5595 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
5596 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
5598 QT_CONFIG
="$QT_CONFIG accessibility"
5602 if [ "$CFG_OPENGL" = "no" ]; then
5603 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_OPENGL"
5605 QT_CONFIG
="$QT_CONFIG opengl"
5608 if [ "$CFG_OPENGL" = "es1" ] ||
[ "$CFG_OPENGL" = "es1cl" ] ||
[ "$CFG_OPENGL" = "es2" ]; then
5609 if [ "$PLATFORM_QWS" = "yes" ]; then
5610 QCONFIG_FLAGS
="$QCONFIG_FLAGS Q_BACKINGSTORE_SUBSURFACES"
5611 QCONFIG_FLAGS
="$QCONFIG_FLAGS Q_USE_EGLWINDOWSURFACE"
5613 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_OPENGL_ES"
5616 if [ "$CFG_OPENGL" = "es1" ]; then
5617 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_OPENGL_ES_1"
5618 QT_CONFIG
="$QT_CONFIG opengles1"
5621 if [ "$CFG_OPENGL" = "es1cl" ]; then
5622 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_OPENGL_ES_1_CL"
5623 QT_CONFIG
="$QT_CONFIG opengles1cl"
5626 if [ "$CFG_OPENGL" = "es2" ]; then
5627 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5628 QT_CONFIG
="$QT_CONFIG opengles2"
5631 # safe execution environment
5632 if [ "$CFG_SXE" != "no" ]; then
5633 QT_CONFIG
="$QT_CONFIG sxe"
5636 # build up the variables for output
5637 if [ "$CFG_DEBUG" = "yes" ]; then
5638 QMAKE_OUTDIR
="${QMAKE_OUTDIR}debug"
5639 QMAKE_CONFIG
="$QMAKE_CONFIG debug"
5640 elif [ "$CFG_DEBUG" = "no" ]; then
5641 QMAKE_OUTDIR
="${QMAKE_OUTDIR}release"
5642 QMAKE_CONFIG
="$QMAKE_CONFIG release"
5644 if [ "$CFG_SHARED" = "yes" ]; then
5645 QMAKE_OUTDIR
="${QMAKE_OUTDIR}-shared"
5646 QMAKE_CONFIG
="$QMAKE_CONFIG shared dll"
5647 elif [ "$CFG_SHARED" = "no" ]; then
5648 QMAKE_OUTDIR
="${QMAKE_OUTDIR}-static"
5649 QMAKE_CONFIG
="$QMAKE_CONFIG static"
5651 if [ "$PLATFORM_QWS" = "yes" ]; then
5652 QMAKE_OUTDIR
="${QMAKE_OUTDIR}-emb-$CFG_EMBEDDED"
5653 QMAKE_CONFIG
="$QMAKE_CONFIG embedded"
5654 QT_CONFIG
="$QT_CONFIG embedded"
5655 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5657 QMakeVar
set PRECOMPILED_DIR
".pch/$QMAKE_OUTDIR"
5658 QMakeVar
set OBJECTS_DIR
".obj/$QMAKE_OUTDIR"
5659 QMakeVar
set MOC_DIR
".moc/$QMAKE_OUTDIR"
5660 QMakeVar
set RCC_DIR
".rcc/$QMAKE_OUTDIR"
5661 QMakeVar
set UI_DIR
".uic/$QMAKE_OUTDIR"
5662 if [ "$CFG_LARGEFILE" = "yes" ]; then
5663 QMAKE_CONFIG
="$QMAKE_CONFIG largefile"
5665 if [ "$CFG_STL" = "no" ]; then
5666 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_STL"
5668 QMAKE_CONFIG
="$QMAKE_CONFIG stl"
5670 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
5671 QMAKE_CONFIG
="$QMAKE_CONFIG GNUmake"
5673 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG
="$QT_CONFIG reduce_exports"
5674 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG
="$QT_CONFIG reduce_relocations"
5675 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG precompile_header"
5676 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
5677 QMakeVar add QMAKE_CFLAGS
-g
5678 QMakeVar add QMAKE_CXXFLAGS
-g
5679 QMAKE_CONFIG
="$QMAKE_CONFIG separate_debug_info"
5681 [ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG mmx"
5682 [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG 3dnow"
5683 [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG sse"
5684 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG sse2"
5685 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG iwmmxt"
5686 [ "$PLATFORM_MAC" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG $CFG_MAC_ARCHS"
5687 if [ "$CFG_IPV6" = "yes" ]; then
5688 QT_CONFIG
="$QT_CONFIG ipv6"
5690 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
5691 QT_CONFIG
="$QT_CONFIG clock-gettime"
5693 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
5694 QT_CONFIG
="$QT_CONFIG clock-monotonic"
5696 if [ "$CFG_MREMAP" = "yes" ]; then
5697 QT_CONFIG
="$QT_CONFIG mremap"
5699 if [ "$CFG_GETADDRINFO" = "yes" ]; then
5700 QT_CONFIG
="$QT_CONFIG getaddrinfo"
5702 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
5703 QT_CONFIG
="$QT_CONFIG ipv6ifname"
5705 if [ "$CFG_GETIFADDRS" = "yes" ]; then
5706 QT_CONFIG
="$QT_CONFIG getifaddrs"
5708 if [ "$CFG_INOTIFY" = "yes" ]; then
5709 QT_CONFIG
="$QT_CONFIG inotify"
5711 if [ "$CFG_LIBJPEG" = "system" ]; then
5712 QT_CONFIG
="$QT_CONFIG system-jpeg"
5714 if [ "$CFG_JPEG" = "no" ]; then
5715 QT_CONFIG
="$QT_CONFIG no-jpeg"
5716 elif [ "$CFG_JPEG" = "yes" ]; then
5717 QT_CONFIG
="$QT_CONFIG jpeg"
5719 if [ "$CFG_LIBMNG" = "system" ]; then
5720 QT_CONFIG
="$QT_CONFIG system-mng"
5722 if [ "$CFG_MNG" = "no" ]; then
5723 QT_CONFIG
="$QT_CONFIG no-mng"
5724 elif [ "$CFG_MNG" = "yes" ]; then
5725 QT_CONFIG
="$QT_CONFIG mng"
5727 if [ "$CFG_LIBPNG" = "no" ]; then
5730 if [ "$CFG_LIBPNG" = "system" ]; then
5731 QT_CONFIG
="$QT_CONFIG system-png"
5733 if [ "$CFG_PNG" = "no" ]; then
5734 QT_CONFIG
="$QT_CONFIG no-png"
5735 elif [ "$CFG_PNG" = "yes" ]; then
5736 QT_CONFIG
="$QT_CONFIG png"
5738 if [ "$CFG_GIF" = "no" ]; then
5739 QT_CONFIG
="$QT_CONFIG no-gif"
5740 elif [ "$CFG_GIF" = "yes" ]; then
5741 QT_CONFIG
="$QT_CONFIG gif"
5743 if [ "$CFG_LIBTIFF" = "system" ]; then
5744 QT_CONFIG
="$QT_CONFIG system-tiff"
5746 if [ "$CFG_TIFF" = "no" ]; then
5747 QT_CONFIG
="$QT_CONFIG no-tiff"
5748 elif [ "$CFG_TIFF" = "yes" ]; then
5749 QT_CONFIG
="$QT_CONFIG tiff"
5751 if [ "$CFG_LIBFREETYPE" = "no" ]; then
5752 QT_CONFIG
="$QT_CONFIG no-freetype"
5753 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
5754 QT_CONFIG
="$QT_CONFIG system-freetype"
5756 QT_CONFIG
="$QT_CONFIG freetype"
5759 if [ "x$PLATFORM_MAC" = "xyes" ]; then
5760 #On Mac we implicitly link against libz, so we
5761 #never use the 3rdparty stuff.
5762 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB
="system"
5764 if [ "$CFG_ZLIB" = "yes" ]; then
5765 QT_CONFIG
="$QT_CONFIG zlib"
5766 elif [ "$CFG_ZLIB" = "system" ]; then
5767 QT_CONFIG
="$QT_CONFIG system-zlib"
5770 [ "$CFG_NIS" = "yes" ] && QT_CONFIG
="$QT_CONFIG nis"
5771 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG
="$QT_CONFIG cups"
5772 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG
="$QT_CONFIG iconv"
5773 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG
="$QT_CONFIG gnu-libiconv"
5774 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG
="$QT_CONFIG glib"
5775 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG
="$QT_CONFIG gstreamer"
5776 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG
="$QT_CONFIG dbus"
5777 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG
="$QT_CONFIG dbus dbus-linked"
5778 [ "$CFG_NAS" = "system" ] && QT_CONFIG
="$QT_CONFIG nas"
5779 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG
="$QT_CONFIG openssl"
5780 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG
="$QT_CONFIG openssl-linked"
5782 if [ "$PLATFORM_X11" = "yes" ]; then
5783 [ "$CFG_SM" = "yes" ] && QT_CONFIG
="$QT_CONFIG x11sm"
5785 # for some reason, the following libraries are not always built shared,
5786 # so *every* program/lib (including Qt) has to link against them
5787 if [ "$CFG_XSHAPE" = "yes" ]; then
5788 QT_CONFIG
="$QT_CONFIG xshape"
5790 if [ "$CFG_XINERAMA" = "yes" ]; then
5791 QT_CONFIG
="$QT_CONFIG xinerama"
5792 QMakeVar
set QMAKE_LIBS_X11
'-lXinerama $$QMAKE_LIBS_X11'
5794 if [ "$CFG_XCURSOR" = "yes" ]; then
5795 QT_CONFIG
="$QT_CONFIG xcursor"
5796 QMakeVar
set QMAKE_LIBS_X11
'-lXcursor $$QMAKE_LIBS_X11'
5798 if [ "$CFG_XFIXES" = "yes" ]; then
5799 QT_CONFIG
="$QT_CONFIG xfixes"
5800 QMakeVar
set QMAKE_LIBS_X11
'-lXfixes $$QMAKE_LIBS_X11'
5802 if [ "$CFG_XRANDR" = "yes" ]; then
5803 QT_CONFIG
="$QT_CONFIG xrandr"
5804 if [ "$CFG_XRENDER" != "yes" ]; then
5805 # libXrandr uses 1 function from libXrender, so we always have to have it :/
5806 QMakeVar
set QMAKE_LIBS_X11
'-lXrandr -lXrender $$QMAKE_LIBS_X11'
5808 QMakeVar
set QMAKE_LIBS_X11
'-lXrandr $$QMAKE_LIBS_X11'
5811 if [ "$CFG_XRENDER" = "yes" ]; then
5812 QT_CONFIG
="$QT_CONFIG xrender"
5813 QMakeVar
set QMAKE_LIBS_X11
'-lXrender $$QMAKE_LIBS_X11'
5815 if [ "$CFG_MITSHM" = "yes" ]; then
5816 QT_CONFIG
="$QT_CONFIG mitshm"
5818 if [ "$CFG_FONTCONFIG" = "yes" ]; then
5819 QT_CONFIG
="$QT_CONFIG fontconfig"
5821 if [ "$CFG_XINPUT" = "yes" ]; then
5822 QMakeVar
set QMAKE_LIBS_X11
'-lXi $$QMAKE_LIBS_X11'
5824 if [ "$CFG_XINPUT" = "yes" ]; then
5825 QT_CONFIG
="$QT_CONFIG xinput tablet"
5827 if [ "$CFG_XKB" = "yes" ]; then
5828 QT_CONFIG
="$QT_CONFIG xkb"
5832 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES
"$D_FLAGS"
5833 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS
"$L_FLAGS"
5834 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS
"$l_FLAGS"
5836 if [ "$PLATFORM_MAC" = "yes" ]; then
5837 if [ "$CFG_RPATH" = "yes" ]; then
5838 QMAKE_CONFIG
="$QMAKE_CONFIG absolute_library_soname"
5840 elif [ -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_RPATH | awk '{print $3;}'`" ]; then
5841 if [ -n "$RPATH_FLAGS" ]; then
5843 echo "ERROR: -R cannot be used on this platform as \$QMAKE_RPATH is"
5847 elif [ "$CFG_RPATH" = "yes" ]; then
5848 RPATH_MESSAGE
=" NOTE: This platform does not support runtime library paths, using -no-rpath."
5852 if [ "$CFG_RPATH" = "yes" ]; then
5853 # set the default rpath to the library installation directory
5854 RPATH_FLAGS
="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5856 if [ -n "$RPATH_FLAGS" ]; then
5857 # add the user defined rpaths
5858 QMakeVar add QMAKE_RPATHDIR
"$RPATH_FLAGS"
5862 if [ '!' -z "$I_FLAGS" ]; then
5863 # add the user define include paths
5864 QMakeVar add QMAKE_CFLAGS
"$I_FLAGS"
5865 QMakeVar add QMAKE_CXXFLAGS
"$I_FLAGS"
5868 # turn off exceptions for the compilers that support it
5869 if [ "$PLATFORM_QWS" = "yes" ]; then
5870 COMPILER
=`echo $XPLATFORM | cut -f 3- -d-`
5872 COMPILER
=`echo $PLATFORM | cut -f 2- -d-`
5874 if [ "$CFG_EXCEPTIONS" = "unspecified" -a "$PLATFORM_QWS" = "yes" ]; then
5878 if [ "$CFG_EXCEPTIONS" != "no" ]; then
5879 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG exceptions"
5883 # Some Qt modules are too advanced in C++ for some old compilers
5884 # Detect here the platforms where they are known to work.
5886 # See Qt documentation for more information on which features are
5887 # supported and on which compilers.
5889 canBuildQtXmlPatterns
="yes"
5890 canBuildWebKit
="$HAVE_STL"
5892 # WebKit requires stdint.h
5893 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/stdint
"Stdint" $L_FLAGS $I_FLAGS $l_FLAGS
5894 if [ $?
!= "0" ]; then
5898 case "$XPLATFORM" in
5900 # PA-RISC's assembly is too limited
5901 # gcc 3.4 on that platform can't build QtXmlPatterns
5902 # the assembly it generates cannot be compiled
5904 # Check gcc's version
5905 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5909 canBuildQtXmlPatterns
="no"
5913 canBuildQtXmlPatterns
="no"
5918 # Check gcc's version
5919 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5927 canBuildQtXmlPatterns
="no"
5932 # Check the compiler version
5933 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
5936 canBuildQtXmlPatterns
="no"
5942 canBuildQtXmlPatterns
="no"
5949 canBuildQtXmlPatterns
="no"
5956 if [ "$CFG_XMLPATTERNS" = "yes" -a "$CFG_EXCEPTIONS" = "no" ]; then
5957 echo "QtXmlPatterns was requested, but it can't be built due to exceptions being disabled."
5960 if [ "$CFG_XMLPATTERNS" = "auto" -a "$CFG_EXCEPTIONS" != "no" ]; then
5961 CFG_XMLPATTERNS
="$canBuildQtXmlPatterns"
5962 elif [ "$CFG_EXCEPTIONS" = "no" ]; then
5963 CFG_XMLPATTERNS
="no"
5965 if [ "$CFG_XMLPATTERNS" = "yes" ]; then
5966 QT_CONFIG
="$QT_CONFIG xmlpatterns"
5968 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XMLPATTERNS"
5971 if [ "$CFG_SVG" = "yes" ]; then
5972 QT_CONFIG
="$QT_CONFIG svg"
5974 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SVG"
5977 if [ "$CFG_WEBKIT" = "auto" ]; then
5978 CFG_WEBKIT
="$canBuildWebKit"
5981 if [ "$CFG_WEBKIT" = "yes" ]; then
5982 QT_CONFIG
="$QT_CONFIG webkit"
5983 # The reason we set CFG_WEBKIT, is such that the printed overview of what will be enabled, shows correctly.
5987 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_WEBKIT"
5990 if [ "$CFG_SCRIPTTOOLS" = "auto" ]; then
5991 CFG_SCRIPTTOOLS
="yes"
5994 if [ "$CFG_SCRIPTTOOLS" = "yes" ]; then
5995 QT_CONFIG
="$QT_CONFIG scripttools"
5996 CFG_SCRIPTTOOLS
="yes"
5998 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SCRIPTTOOLS"
6001 if [ "$CFG_EXCEPTIONS" = "no" ]; then
6004 QMakeVar add QMAKE_CFLAGS
-fno-exceptions
6005 QMakeVar add QMAKE_CXXFLAGS
-fno-exceptions
6006 QMakeVar add QMAKE_LFLAGS
-fno-exceptions
6011 QMakeVar add QMAKE_CFLAGS
-LANG:exceptions
=off
6012 QMakeVar add QMAKE_CXXFLAGS
-LANG:exceptions
=off
6013 QMakeVar add QMAKE_LFLAGS
-LANG:exceptions
=off
6020 QMAKE_CONFIG
="$QMAKE_CONFIG exceptions_off"
6023 # On Mac, set the minimum deployment target for the different architechtures
6024 # using the Xarch compiler option when supported (10.5 and up). On 10.4 the
6025 # deployment version is set to 10.3 globally using the QMAKE_MACOSX_DEPLOYMENT_TARGET
6026 # env. variable. "-cocoa" on the command line means Cocoa is used in 32-bit mode also,
6027 # in this case fall back on QMAKE_MACOSX_DEPLOYMENT_TARGET which will be set to 10.5.
6028 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_XARCH" != "no" ] && [ "$COMMANDLINE_MAC_COCOA" != "yes" ]; then
6029 if echo "$CFG_MAC_ARCHS" |
grep '\<x86\>' > /dev
/null
2>&1; then
6030 QMakeVar add QMAKE_CFLAGS
"-Xarch_i386 -mmacosx-version-min=10.4"
6031 QMakeVar add QMAKE_CXXFLAGS
"-Xarch_i386 -mmacosx-version-min=10.4"
6032 QMakeVar add QMAKE_LFLAGS
"-Xarch_i386 -mmacosx-version-min=10.4"
6033 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_X86
"-arch i386 -Xarch_i386 -mmacosx-version-min=10.4"
6035 if echo "$CFG_MAC_ARCHS" |
grep '\<ppc\>' > /dev
/null
2>&1; then
6036 QMakeVar add QMAKE_CFLAGS
"-Xarch_ppc -mmacosx-version-min=10.3"
6037 QMakeVar add QMAKE_CXXFLAGS
"-Xarch_ppc -mmacosx-version-min=10.3"
6038 QMakeVar add QMAKE_LFLAGS
"-Xarch_ppc -mmacosx-version-min=10.3"
6039 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_PPC
"-arch ppc -Xarch_ppc -mmacosx-version-min=10.3"
6041 if echo "$CFG_MAC_ARCHS" |
grep '\<x86_64\>' > /dev
/null
2>&1; then
6042 QMakeVar add QMAKE_CFLAGS
"-Xarch_x86_64 -mmacosx-version-min=10.5"
6043 QMakeVar add QMAKE_CXXFLAGS
"-Xarch_x86_64 -mmacosx-version-min=10.5"
6044 QMakeVar add QMAKE_LFLAGS
"-Xarch_x86_64 -mmacosx-version-min=10.5"
6045 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_X86_64
"-arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5"
6047 if echo "$CFG_MAC_ARCHS" |
grep '\<ppc64\>' > /dev
/null
2>&1; then
6048 QMakeVar add QMAKE_CFLAGS
"-Xarch_ppc64 -mmacosx-version-min=10.5"
6049 QMakeVar add QMAKE_CXXFLAGS
"-Xarch_ppc64 -mmacosx-version-min=10.5"
6050 QMakeVar add QMAKE_LFLAGS
"-Xarch_ppc64 -mmacosx-version-min=10.5"
6051 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_PPC_64
"-arch ppc64 -Xarch_ppc64 -mmacosx-version-min=10.5"
6055 #-------------------------------------------------------------------------------
6056 # generate QT_BUILD_KEY
6057 #-------------------------------------------------------------------------------
6059 # some compilers generate binary incompatible code between different versions,
6060 # so we need to generate a build key that is different between these compilers
6064 COMPILER_VERSION
=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
6066 case "$COMPILER_VERSION" in
6068 QT_GCC_MAJOR_VERSION
=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
6069 QT_GCC_MINOR_VERSION
=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
6070 QT_GCC_PATCH_VERSION
=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
6073 QT_GCC_MAJOR_VERSION
=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
6074 QT_GCC_MINOR_VERSION
=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
6075 QT_GCC_PATCH_VERSION
=0
6079 case "$COMPILER_VERSION" in
6081 COMPILER_VERSION
="2.95.*"
6084 COMPILER_VERSION
="3.*"
6087 COMPILER_VERSION
="4"
6092 [ '!' -z "$COMPILER_VERSION" ] && COMPILER
="g++-${COMPILER_VERSION}"
6099 # QT_CONFIG can contain the following:
6101 # Things that affect the Qt API/ABI:
6104 # minimal-config small-config medium-config large-config full-config
6106 # Different edition modules:
6107 # network canvas table xml opengl sql
6112 # Things that do not affect the Qt API/ABI:
6113 # system-jpeg no-jpeg jpeg
6114 # system-mng no-mng mng
6115 # system-png no-png png
6116 # system-zlib no-zlib zlib
6117 # system-libtiff no-libtiff
6131 # X11 : x11sm xinerama xcursor xfixes xrandr xrender mitshm fontconfig xkb
6132 # Embedded: embedded freetype
6138 # determine the build options
6139 for config_option
in $QMAKE_CONFIG $QT_CONFIG; do
6141 case "$config_option" in
6143 # take the last *-config setting. this is the highest config being used,
6144 # and is the one that we will use for tagging plugins
6145 BUILD_CONFIG
="$config_option"
6149 # these config options affect the Qt API/ABI. they should influence
6150 # the generation of the buildkey, so we don't skip them
6154 *) # skip all other options since they don't affect the Qt API/ABI.
6158 if [ "$SKIP" = "no" ]; then
6159 BUILD_OPTIONS
="$BUILD_OPTIONS $config_option"
6163 # put the options that we are missing into .options
6165 for opt
in `echo $ALL_OPTIONS`; do
6167 if echo $BUILD_OPTIONS |
grep $opt >/dev
/null
2>&1; then
6170 if [ "$SKIP" = "no" ]; then
6171 echo "$opt" >> .options
6175 # reconstruct BUILD_OPTIONS with a sorted negative feature list
6176 # (ie. only things that are missing are will be put into the build key)
6178 if [ -f .options
]; then
6179 for opt
in `sort -f .options | uniq`; do
6180 BUILD_OPTIONS
="$BUILD_OPTIONS no-$opt"
6185 # QT_NO* defines affect the Qt API (and binary compatibility). they need
6186 # to be included in the build key
6187 for build_option
in $D_FLAGS; do
6188 build_option
=`echo $build_option | cut -d \" -f 2 -`
6189 case "$build_option" in
6191 echo "$build_option" >> .options
6194 # skip all other compiler defines
6199 # sort the compile time defines (helps ensure that changes in this configure
6200 # script don't affect the QT_BUILD_KEY generation)
6201 if [ -f .options
]; then
6202 for opt
in `sort -f .options | uniq`; do
6203 BUILD_OPTIONS
="$BUILD_OPTIONS $opt"
6208 BUILD_OPTIONS
="$BUILD_CONFIG $BUILD_OPTIONS"
6209 # extract the operating system from the XPLATFORM
6210 TARGET_OPERATING_SYSTEM
=`echo $XPLATFORM | cut -f 2- -d/ | cut -f -1 -d-`
6212 # when cross-compiling, don't include build-host information (build key is target specific)
6213 QT_BUILD_KEY
="$CFG_USER_BUILD_KEY $CFG_ARCH $TARGET_OPERATING_SYSTEM $COMPILER $BUILD_OPTIONS"
6214 if [ -n "$QT_NAMESPACE" ]; then
6215 QT_BUILD_KEY
="$QT_BUILD_KEY $QT_NAMESPACE"
6217 MAC_NEED_TWO_BUILD_KEYS
="no"
6218 if [ "$PLATFORM_MAC" = "yes" -a "$CFG_MAC_COCOA" = "yes" ]; then
6219 QT_BUILD_KEY_CARBON
=$QT_BUILD_KEY
6220 TARGET_OPERATING_SYSTEM
="$TARGET_OPERATING_SYSTEM-cocoa"
6221 QT_BUILD_KEY_COCOA
="$CFG_USER_BUILD_KEY $CFG_ARCH $TARGET_OPERATING_SYSTEM $COMPILER $BUILD_OPTIONS"
6222 if [ "$CFG_MAC_CARBON" = "no" ]; then
6223 QT_BUILD_KEY
=$QT_BUILD_KEY_COCOA
6225 MAC_NEED_TWO_BUILD_KEYS
="yes"
6228 # don't break loading plugins build with an older version of Qt
6229 QT_BUILD_KEY_COMPAT
=
6230 if [ "$QT_CROSS_COMPILE" = "no" ]; then
6231 # previous versions of Qt used a build key built from the uname
6232 QT_BUILD_KEY_COMPAT
="$CFG_USER_BUILD_KEY $UNAME_MACHINE $UNAME_SYSTEM $COMPILER $BUILD_OPTIONS"
6233 if [ -n "$QT_NAMESPACE" ]; then
6234 QT_BUILD_KEY_COMPAT
="$QT_BUILD_KEY_COMPAT $QT_NAMESPACE"
6237 # strip out leading/trailing/extra whitespace
6238 QT_BUILD_KEY
=`echo $QT_BUILD_KEY | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
6239 QT_BUILD_KEY_COMPAT
=`echo $QT_BUILD_KEY_COMPAT | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
6241 #-------------------------------------------------------------------------------
6242 # part of configuration information goes into qconfig.h
6243 #-------------------------------------------------------------------------------
6245 case "$CFG_QCONFIG" in
6247 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
6250 tmpconfig
="$outpath/src/corelib/global/qconfig.h.new"
6251 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
6252 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
6253 echo "#endif" >>"$tmpconfig"
6257 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6261 # define QT_EDITION $QT_EDITION
6264 /* Machine byte-order */
6265 #define Q_BIG_ENDIAN 4321
6266 #define Q_LITTLE_ENDIAN 1234
6269 if [ "$MAC_NEED_TWO_BUILD_KEYS" = "no" ]; then
6270 echo "#define QT_BUILD_KEY \"$QT_BUILD_KEY\"" \
6271 >> "$outpath/src/corelib/global/qconfig.h.new"
6273 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6275 #define QT_BUILD_KEY_CARBON "$QT_BUILD_KEY_CARBON"
6276 #define QT_BUILD_KEY_COCOA "$QT_BUILD_KEY_COCOA"
6280 if [ -n "$QT_BUILD_KEY_COMPAT" ]; then
6281 echo "#define QT_BUILD_KEY_COMPAT \"$QT_BUILD_KEY_COMPAT\"" \
6282 >> "$outpath/src/corelib/global/qconfig.h.new"
6284 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6286 echo "#ifdef QT_BOOTSTRAPPED" >>"$outpath/src/corelib/global/qconfig.h.new"
6287 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
6288 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6289 #if defined(__BIG_ENDIAN__)
6290 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6291 #elif defined(__LITTLE_ENDIAN__)
6292 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6294 # error "Unable to determine byte order!"
6298 echo "#define Q_BYTE_ORDER $CFG_HOST_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6300 echo "#else" >>"$outpath/src/corelib/global/qconfig.h.new"
6301 if [ "$CFG_ENDIAN" = "auto" ]; then
6302 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6303 #if defined(__BIG_ENDIAN__)
6304 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6305 #elif defined(__LITTLE_ENDIAN__)
6306 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6308 # error "Unable to determine byte order!"
6312 echo "#define Q_BYTE_ORDER $CFG_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6314 echo "#endif" >>"$outpath/src/corelib/global/qconfig.h.new"
6316 if [ "$CFG_DOUBLEFORMAT" != "normal" ]; then
6317 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6318 /* Non-IEEE double format */
6319 #define Q_DOUBLE_LITTLE "01234567"
6320 #define Q_DOUBLE_BIG "76543210"
6321 #define Q_DOUBLE_LITTLE_SWAPPED "45670123"
6322 #define Q_DOUBLE_BIG_SWAPPED "32107654"
6323 #define Q_DOUBLE_FORMAT $CFG_DOUBLEFORMAT
6326 if [ "$CFG_ARMFPA" = "yes" ]; then
6327 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
6328 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6329 #ifndef QT_BOOTSTRAPPED
6334 echo "#define QT_ARMFPA" >>"$outpath/src/corelib/global/qconfig.h.new"
6338 CFG_ARCH_STR
=`echo $CFG_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6339 CFG_HOST_ARCH_STR
=`echo $CFG_HOST_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6340 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6341 /* Machine Architecture */
6342 #ifndef QT_BOOTSTRAPPED
6343 # define QT_ARCH_${CFG_ARCH_STR}
6345 # define QT_ARCH_${CFG_HOST_ARCH_STR}
6349 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
6350 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
6352 if [ "$CFG_LARGEFILE" = "yes" ]; then
6353 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
6356 # if both carbon and cocoa are specified, enable the autodetection code.
6357 if [ "$CFG_MAC_COCOA" = "yes" -a "$CFG_MAC_CARBON" = "yes" ]; then
6358 echo "#define AUTODETECT_COCOA 1" >>"$outpath/src/corelib/global/qconfig.h.new"
6359 elif [ "$CFG_MAC_COCOA" = "yes" ]; then
6360 echo "#define QT_MAC_USE_COCOA 1" >>"$outpath/src/corelib/global/qconfig.h.new"
6363 if [ "$CFG_FRAMEWORK" = "yes" ]; then
6364 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
6367 if [ "$PLATFORM_MAC" = "yes" ]; then
6368 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6369 #if defined(__LP64__)
6370 # define QT_POINTER_SIZE 8
6372 # define QT_POINTER_SIZE 4
6376 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6377 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
6381 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6383 if [ "$CFG_DEV" = "yes" ]; then
6384 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
6387 # Embedded compile time options
6388 if [ "$PLATFORM_QWS" = "yes" ]; then
6389 # Add QWS to config.h
6390 QCONFIG_FLAGS
="$QCONFIG_FLAGS Q_WS_QWS"
6392 # Add excluded decorations to $QCONFIG_FLAGS
6393 decors
=`grep '^decorations -= ' "$QMAKE_VARS_FILE" | ${AWK} '{print $3}'`
6394 for decor
in $decors; do
6395 NODECORATION
=`echo $decor | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6396 QCONFIG_FLAGS
="${QCONFIG_FLAGS} QT_NO_QWS_DECORATION_${NODECORATION}"
6399 # Figure which embedded drivers which are turned off
6400 CFG_GFX_OFF
="$CFG_GFX_AVAILABLE"
6401 for ADRIVER
in $CFG_GFX_ON; do
6402 CFG_GFX_OFF
=`echo "${CFG_GFX_OFF} " | sed "s,${ADRIVER} ,,g"`
6405 CFG_KBD_OFF
="$CFG_KBD_AVAILABLE"
6406 # the um driver is currently not in the available list for external builds
6407 if [ "$CFG_DEV" = "no" ]; then
6408 CFG_KBD_OFF
="$CFG_KBD_OFF um"
6410 for ADRIVER
in $CFG_KBD_ON; do
6411 CFG_KBD_OFF
=`echo "${CFG_KBD_OFF} " | sed "s,${ADRIVER} ,,g"`
6414 CFG_MOUSE_OFF
="$CFG_MOUSE_AVAILABLE"
6415 for ADRIVER
in $CFG_MOUSE_ON; do
6416 CFG_MOUSE_OFF
=`echo "${CFG_MOUSE_OFF} " | sed "s,${ADRIVER} ,,g"`
6419 for DRIVER
in $CFG_GFX_OFF; do
6420 NODRIVER
=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6421 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_QWS_$NODRIVER"
6424 for DRIVER
in $CFG_KBD_OFF; do
6425 NODRIVER
=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6426 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_QWS_KBD_$NODRIVER"
6429 for DRIVER
in $CFG_MOUSE_OFF; do
6430 NODRIVER
=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6431 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_QWS_MOUSE_$NODRIVER"
6435 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
6436 QCONFIG_FLAGS
="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
6439 # Add turned on SQL drivers
6440 for DRIVER
in $CFG_SQL_AVAILABLE; do
6441 eval "VAL=\$CFG_SQL_$DRIVER"
6444 ONDRIVER
=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6445 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
6446 SQL_DRIVERS
="$SQL_DRIVERS $DRIVER"
6449 SQL_PLUGINS
="$SQL_PLUGINS $DRIVER"
6455 QMakeVar
set sql-drivers
"$SQL_DRIVERS"
6456 QMakeVar
set sql-plugins
"$SQL_PLUGINS"
6458 # Add other configuration options to the qconfig.h file
6459 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
6460 [ "$CFG_TIFF" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_TIFF"
6461 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
6462 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
6463 [ "$CFG_MNG" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_MNG"
6464 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_ZLIB"
6465 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
6466 [ "$CFG_IPV6" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IPV6"
6467 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SXE"
6468 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_DBUS"
6470 if [ "$PLATFORM_QWS" != "yes" ]; then
6471 [ "$CFG_GRAPHICS_SYSTEM" = "raster" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_RASTER"
6472 [ "$CFG_GRAPHICS_SYSTEM" = "opengl" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_OPENGL"
6475 # X11/Unix/Mac only configs
6476 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_CUPS"
6477 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_ICONV"
6478 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_GLIB"
6479 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_GSTREAMER"
6480 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
6481 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
6482 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_MREMAP"
6483 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
6484 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
6485 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
6486 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_INOTIFY"
6487 [ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_NAS"
6488 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_NIS"
6489 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_OPENSSL"
6490 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
6492 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
6493 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XCURSOR"
6494 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XFIXES"
6495 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
6496 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XINERAMA"
6497 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XKB"
6498 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XRANDR"
6499 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XRENDER"
6500 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_MITSHM"
6501 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SHAPE"
6502 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
6504 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
6505 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
6506 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
6507 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
6508 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
6510 # sort QCONFIG_FLAGS for neatness if we can
6511 [ '!' -z "$AWK" ] && QCONFIG_FLAGS
=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
6512 QCONFIG_FLAGS
=`echo $QCONFIG_FLAGS`
6514 if [ -n "$QCONFIG_FLAGS" ]; then
6515 for cfg
in $QCONFIG_FLAGS; do
6516 cfgd
=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
6517 cfg
=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
6518 # figure out define logic, so we can output the correct
6519 # ifdefs to override the global defines in a project
6521 if [ true
] && echo "$cfgd" |
grep 'QT_NO_' >/dev
/null
2>&1; then
6522 # QT_NO_option can be forcefully turned on by QT_option
6523 cfgdNeg
=`echo $cfgd | sed "s,QT_NO_,QT_,"`
6524 elif [ true
] && echo "$cfgd" |
grep 'QT_' >/dev
/null
2>&1; then
6525 # QT_option can be forcefully turned off by QT_NO_option
6526 cfgdNeg
=`echo $cfgd | sed "s,QT_,QT_NO_,"`
6529 if [ -z $cfgdNeg ]; then
6530 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6537 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6538 #if defined($cfgd) && defined($cfgdNeg)
6540 #elif !defined($cfgd) && !defined($cfgdNeg)
6549 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
6550 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6551 #define QT_VISIBILITY_AVAILABLE
6556 # avoid unecessary rebuilds by copying only if qconfig.h has changed
6557 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
6558 rm -f "$outpath/src/corelib/global/qconfig.h.new"
6560 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w
"$outpath/src/corelib/global/qconfig.h"
6561 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
6562 chmod -w "$outpath/src/corelib/global/qconfig.h"
6563 for conf
in "$outpath/include/QtCore/qconfig.h" "$outpath/include/Qt/qconfig.h"; do
6564 if [ '!' -f "$conf" ]; then
6565 ln -s "$outpath/src/corelib/global/qconfig.h" "$conf"
6570 #-------------------------------------------------------------------------------
6571 # save configuration into qconfig.pri
6572 #-------------------------------------------------------------------------------
6574 QTCONFIG
="$outpath/mkspecs/qconfig.pri"
6575 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG no_mocdepend"
6576 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
6577 if [ "$CFG_DEBUG" = "yes" ]; then
6578 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG debug"
6579 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6580 QT_CONFIG
="$QT_CONFIG release"
6582 QT_CONFIG
="$QT_CONFIG debug"
6583 elif [ "$CFG_DEBUG" = "no" ]; then
6584 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG release"
6585 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6586 QT_CONFIG
="$QT_CONFIG debug"
6588 QT_CONFIG
="$QT_CONFIG release"
6590 if [ "$CFG_STL" = "yes" ]; then
6591 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG stl"
6593 if [ "$CFG_FRAMEWORK" = "no" ]; then
6594 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG qt_no_framework"
6596 QT_CONFIG
="$QT_CONFIG qt_framework"
6597 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG qt_framework"
6599 if [ "$PLATFORM_MAC" = "yes" ]; then
6600 QT_CONFIG
="$QT_CONFIG $CFG_MAC_ARCHS"
6603 # Make the application arch follow the Qt arch for single arch builds.
6604 # (for multiple-arch builds, set CONFIG manually in the application .pro file)
6605 if [ `echo "$CFG_MAC_ARCHS" | wc -w` -eq 1 ]; then
6606 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG $CFG_MAC_ARCHS"
6609 cat >>"$QTCONFIG.tmp" <<EOF
6611 CONFIG += $QTCONFIG_CONFIG
6613 QT_EDITION = $Edition
6614 QT_CONFIG += $QT_CONFIG
6617 QT_VERSION = $QT_VERSION
6618 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
6619 QT_MINOR_VERSION = $QT_MINOR_VERSION
6620 QT_PATCH_VERSION = $QT_PATCH_VERSION
6623 QT_LIBINFIX = $QT_LIBINFIX
6624 QT_NAMESPACE = $QT_NAMESPACE
6625 QT_NAMESPACE_MAC_CRC = $QT_NAMESPACE_MAC_CRC
6628 if [ "$CFG_RPATH" = "yes" ]; then
6629 echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
6631 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
6632 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
6633 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
6634 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
6636 # replace qconfig.pri if it differs from the newly created temp file
6637 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
6638 rm -f "$QTCONFIG.tmp"
6640 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
6643 #-------------------------------------------------------------------------------
6644 # save configuration into .qmake.cache
6645 #-------------------------------------------------------------------------------
6647 CACHEFILE
="$outpath/.qmake.cache"
6648 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
6649 cat >>"$CACHEFILE.tmp" <<EOF
6650 CONFIG += $QMAKE_CONFIG dylib create_prl link_prl depend_includepath fix_output_dirs QTDIR_build
6651 QT_SOURCE_TREE = \$\$quote($relpath)
6652 QT_BUILD_TREE = \$\$quote($outpath)
6653 QT_BUILD_PARTS = $CFG_BUILD_PARTS
6654 QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
6655 QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
6657 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
6658 QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
6659 QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
6660 QMAKE_UIC3 = \$\$QT_BUILD_TREE/bin/uic3
6661 QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
6662 QMAKE_QDBUSXML2CPP = \$\$QT_BUILD_TREE/bin/qdbusxml2cpp
6663 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
6664 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
6668 if [ -n "$QT_CFLAGS_PSQL" ]; then
6669 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$CACHEFILE.tmp"
6671 if [ -n "$QT_LFLAGS_PSQL" ]; then
6672 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$CACHEFILE.tmp"
6674 if [ -n "$QT_CFLAGS_MYSQL" ]; then
6675 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$CACHEFILE.tmp"
6677 if [ -n "$QT_LFLAGS_MYSQL" ]; then
6678 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$CACHEFILE.tmp"
6680 if [ -n "$QT_CFLAGS_SQLITE" ]; then
6681 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$CACHEFILE.tmp"
6683 if [ -n "$QT_LFLAGS_SQLITE" ]; then
6684 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$CACHEFILE.tmp"
6687 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
6688 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$CACHEFILE.tmp"
6691 #dump in the OPENSSL_LIBS info
6692 if [ '!' -z "$OPENSSL_LIBS" ]; then
6693 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$CACHEFILE.tmp"
6694 elif [ "$CFG_OPENSSL" = "linked" ]; then
6695 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$CACHEFILE.tmp"
6698 #dump in the SDK info
6699 if [ '!' -z "$CFG_SDK" ]; then
6700 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$CACHEFILE.tmp"
6703 # mac gcc -Xarch support
6704 if [ "$CFG_MAC_XARCH" = "no" ]; then
6705 echo "QMAKE_MAC_XARCH = no" >> "$CACHEFILE.tmp"
6708 #dump the qmake spec
6709 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
6710 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
6712 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
6716 cat "$QMAKE_VARS_FILE" >> "$CACHEFILE.tmp"
6717 rm -f "$QMAKE_VARS_FILE" 2>/dev
/null
6721 [ "$CFG_INCREMENTAL" = "auto" ] && "$WHICH" p4
>/dev
/null
2>&1 && [ "$CFG_DEV" = "yes" ] && CFG_INCREMENTAL
="yes"
6722 if [ "$CFG_INCREMENTAL" = "yes" ]; then
6723 find "$relpath" -perm u
+w
-mtime -3 |
grep 'cpp$' |
while read f
; do
6724 # don't need to worry about generated files
6725 [ -r `echo $f | sed "s,cpp$,ui,"` ] && continue
6726 basename "$f" |
grep '^moc_' >/dev
/null
2>&1 && continue
6728 INCREMENTAL
="$INCREMENTAL `basename \"$f\" | sed 's,.cpp,.o,'`"
6730 [ '!' -z "$INCREMENTAL" ] && echo "QMAKE_INCREMENTAL += $INCREMENTAL" >> "$CACHEFILE.tmp"
6731 [ -r "$outpath/.qmake.incremental" ] && echo "include($outpath/.qmake.incremental)" >> "$CACHEFILE.tmp"
6734 # replace .qmake.cache if it differs from the newly created temp file
6735 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
6736 rm -f "$CACHEFILE.tmp"
6738 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
6741 #-------------------------------------------------------------------------------
6742 # give feedback on configuration
6743 #-------------------------------------------------------------------------------
6747 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6750 This target is using the GNU C++ compiler ($PLATFORM).
6752 Recent versions of this compiler automatically include code for
6753 exceptions, which increase both the size of the Qt libraries and
6754 the amount of memory taken by your applications.
6756 You may choose to re-run `basename $0` with the -no-exceptions
6757 option to compile Qt without exceptions. This is completely binary
6758 compatible, and existing applications will continue to work.
6766 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6769 This target is using the MIPSpro C++ compiler ($PLATFORM).
6771 You may choose to re-run `basename $0` with the -no-exceptions
6772 option to compile Qt without exceptions. This will make the
6773 size of the Qt library smaller and reduce the amount of memory
6774 taken by your applications.
6785 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" == "no" ] && [ "$CFG_WEBKIT" = "yes" ] && [ "$CFG_DEBUG_RELEASE" == "yes" ]; then
6787 WARNING: DWARF2 debug symbols are not enabled. Linking webkit
6788 in debug mode will run out of memory on systems with 2GB or less.
6789 Install Xcode 2.4.1 or higher to enable DWARF2, or configure with
6790 -no-webkit or -release to skip webkit debug.
6795 if [ "$XPLATFORM" = "$PLATFORM" ]; then
6796 echo "Build type: $PLATFORM"
6798 echo "Building on: $PLATFORM"
6799 echo "Building for: $XPLATFORM"
6802 if [ "$PLATFORM_MAC" = "yes" ]; then
6803 echo "Architecture: $CFG_ARCH ($CFG_MAC_ARCHS )"
6805 echo "Architecture: $CFG_ARCH"
6808 if [ "$PLATFORM_QWS" = "yes" ]; then
6809 echo "Host architecture: $CFG_HOST_ARCH"
6812 if [ "$PLATFORM_MAC" = "yes" ]; then
6813 if [ "$CFG_MAC_COCOA" = "yes" ]; then
6814 if [ "$CFG_MAC_CARBON" = "yes" ]; then
6815 echo "Using framework: Carbon for 32-bit, Cocoa for 64-bit"
6817 echo "Using framework: Cocoa"
6820 echo "Using framework: Carbon"
6824 if [ -n "$PLATFORM_NOTES" ]; then
6825 echo "Platform notes:"
6826 echo "$PLATFORM_NOTES"
6831 if [ "$OPT_VERBOSE" = "yes" ]; then
6832 if echo '\c' |
grep '\c' >/dev
/null
; then
6833 echo -n "qmake vars .......... "
6835 echo "qmake vars .......... \c"
6837 cat "$QMAKE_VARS_FILE" |
tr '\n' ' '
6838 echo "qmake switches ...... $QMAKE_SWITCHES"
6841 [ "$CFG_INCREMENTAL" = "yes" ] && [ '!' -z "$INCREMENTAL" ] && echo "Incremental ......... $INCREMENTAL"
6842 echo "Build ............... $CFG_BUILD_PARTS"
6843 echo "Configuration ....... $QMAKE_CONFIG $QT_CONFIG"
6844 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6845 echo "Debug ............... yes (combined)"
6846 if [ "$CFG_DEBUG" = "yes" ]; then
6847 echo "Default Link ........ debug"
6849 echo "Default Link ........ release"
6852 echo "Debug ............... $CFG_DEBUG"
6854 echo "Qt 3 compatibility .. $CFG_QT3SUPPORT"
6855 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module ....... no"
6856 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module ....... yes (run-time)"
6857 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module ....... yes (linked)"
6858 echo "QtScriptTools module $CFG_SCRIPTTOOLS"
6859 echo "QtXmlPatterns module $CFG_XMLPATTERNS"
6860 echo "Phonon module ....... $CFG_PHONON"
6861 echo "SVG module .......... $CFG_SVG"
6862 echo "WebKit module ....... $CFG_WEBKIT"
6863 echo "STL support ......... $CFG_STL"
6864 echo "PCH support ......... $CFG_PRECOMPILE"
6865 echo "MMX/3DNOW/SSE/SSE2.. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}"
6866 if [ "${CFG_ARCH}" = "arm" ]; then
6867 echo "iWMMXt support ...... ${CFG_IWMMXT}"
6869 [ "${PLATFORM_QWS}" != "yes" ] && echo "Graphics System ..... $CFG_GRAPHICS_SYSTEM"
6870 echo "IPv6 support ........ $CFG_IPV6"
6871 echo "IPv6 ifname support . $CFG_IPV6IFNAME"
6872 echo "getaddrinfo support . $CFG_GETADDRINFO"
6873 echo "getifaddrs support .. $CFG_GETIFADDRS"
6874 echo "Accessibility ....... $CFG_ACCESSIBILITY"
6875 echo "NIS support ......... $CFG_NIS"
6876 echo "CUPS support ........ $CFG_CUPS"
6877 echo "Iconv support ....... $CFG_ICONV"
6878 echo "Glib support ........ $CFG_GLIB"
6879 echo "GStreamer support ... $CFG_GSTREAMER"
6880 echo "Large File support .. $CFG_LARGEFILE"
6881 echo "GIF support ......... $CFG_GIF"
6882 if [ "$CFG_TIFF" = "no" ]; then
6883 echo "TIFF support ........ $CFG_TIFF"
6885 echo "TIFF support ........ $CFG_TIFF ($CFG_LIBTIFF)"
6887 if [ "$CFG_JPEG" = "no" ]; then
6888 echo "JPEG support ........ $CFG_JPEG"
6890 echo "JPEG support ........ $CFG_JPEG ($CFG_LIBJPEG)"
6892 if [ "$CFG_PNG" = "no" ]; then
6893 echo "PNG support ......... $CFG_PNG"
6895 echo "PNG support ......... $CFG_PNG ($CFG_LIBPNG)"
6897 if [ "$CFG_MNG" = "no" ]; then
6898 echo "MNG support ......... $CFG_MNG"
6900 echo "MNG support ......... $CFG_MNG ($CFG_LIBMNG)"
6902 echo "zlib support ........ $CFG_ZLIB"
6903 echo "Session management .. $CFG_SM"
6904 if [ "$PLATFORM_QWS" = "yes" ]; then
6905 echo "Embedded support .... $CFG_EMBEDDED"
6906 if [ "$CFG_QWS_FREETYPE" = "auto" ]; then
6907 echo "Freetype2 support ... $CFG_QWS_FREETYPE ($CFG_LIBFREETYPE)"
6909 echo "Freetype2 support ... $CFG_QWS_FREETYPE"
6911 # Normalize the decoration output first
6912 CFG_GFX_ON
=`echo ${CFG_GFX_ON}`
6913 CFG_GFX_PLUGIN
=`echo ${CFG_GFX_PLUGIN}`
6914 echo "Graphics (qt) ....... ${CFG_GFX_ON}"
6915 echo "Graphics (plugin) ... ${CFG_GFX_PLUGIN}"
6916 CFG_DECORATION_ON
=`echo ${CFG_DECORATION_ON}`
6917 CFG_DECORATION_PLUGIN
=`echo ${CFG_DECORATION_PLUGIN}`
6918 echo "Decorations (qt) .... $CFG_DECORATION_ON"
6919 echo "Decorations (plugin) $CFG_DECORATION_PLUGIN"
6920 CFG_KBD_ON
=`echo ${CFG_KBD_ON}`
6921 CFG_KBD_PLUGIN
=`echo ${CFG_KBD_PLUGIN}`
6922 echo "Keyboard driver (qt). ${CFG_KBD_ON}"
6923 echo "Keyboard driver (plugin) ${CFG_KBD_PLUGIN}"
6924 CFG_MOUSE_ON
=`echo ${CFG_MOUSE_ON}`
6925 CFG_MOUSE_PLUGIN
=`echo ${CFG_MOUSE_PLUGIN}`
6926 echo "Mouse driver (qt) ... $CFG_MOUSE_ON"
6927 echo "Mouse driver (plugin) $CFG_MOUSE_PLUGIN"
6929 if [ "$CFG_OPENGL" = "desktop" ]; then
6930 echo "OpenGL support ...... yes (Desktop OpenGL)"
6931 elif [ "$CFG_OPENGL" = "es1" ]; then
6932 echo "OpenGL support ...... yes (OpenGL ES 1.x Common profile)"
6933 elif [ "$CFG_OPENGL" = "es1cl" ]; then
6934 echo "OpenGL support ...... yes (OpenGL ES 1.x Common Lite profile)"
6935 elif [ "$CFG_OPENGL" = "es2" ]; then
6936 echo "OpenGL support ...... yes (OpenGL ES 2.x)"
6938 echo "OpenGL support ...... no"
6940 if [ "$PLATFORM_X11" = "yes" ]; then
6941 echo "NAS sound support ... $CFG_NAS"
6942 echo "XShape support ...... $CFG_XSHAPE"
6943 echo "Xinerama support .... $CFG_XINERAMA"
6944 echo "Xcursor support ..... $CFG_XCURSOR"
6945 echo "Xfixes support ...... $CFG_XFIXES"
6946 echo "Xrandr support ...... $CFG_XRANDR"
6947 echo "Xrender support ..... $CFG_XRENDER"
6948 echo "Xi support .......... $CFG_XINPUT"
6949 echo "MIT-SHM support ..... $CFG_MITSHM"
6950 echo "FontConfig support .. $CFG_FONTCONFIG"
6951 echo "XKB Support ......... $CFG_XKB"
6952 echo "immodule support .... $CFG_IM"
6953 echo "GTK theme support ... $CFG_QGTKSTYLE"
6955 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support ....... $CFG_SQL_mysql"
6956 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support .. $CFG_SQL_psql"
6957 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........ $CFG_SQL_odbc"
6958 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ......... $CFG_SQL_oci"
6959 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ......... $CFG_SQL_tds"
6960 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ......... $CFG_SQL_db2"
6961 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ... $CFG_SQL_ibase"
6962 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support .... $CFG_SQL_sqlite2"
6963 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ...... $CFG_SQL_sqlite ($CFG_SQLITE)"
6966 if [ "$CFG_OPENSSL" = "yes" ]; then
6967 OPENSSL_LINKAGE
="(run-time)"
6968 elif [ "$CFG_OPENSSL" = "linked" ]; then
6969 OPENSSL_LINKAGE
="(linked)"
6971 echo "OpenSSL support ..... $CFG_OPENSSL $OPENSSL_LINKAGE"
6973 [ "$CFG_PTMALLOC" != "no" ] && echo "Use ptmalloc ........ $CFG_PTMALLOC"
6975 # complain about not being able to use dynamic plugins if we are using a static build
6976 if [ "$CFG_SHARED" = "no" ]; then
6978 echo "WARNING: Using static linking will disable the use of dynamically"
6979 echo "loaded plugins. Make sure to import all needed static plugins,"
6980 echo "or compile needed modules into the library."
6983 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
6985 echo "NOTE: When linking against OpenSSL, you can override the default"
6986 echo "library names through OPENSSL_LIBS."
6988 echo " ./configure -openssl-linked OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto'"
6991 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
6993 echo "NOTE: Mac OS X frameworks implicitly build debug and release Qt libraries."
6998 sepath
=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
7003 #-------------------------------------------------------------------------------
7004 # build makefiles based on the configuration
7005 #-------------------------------------------------------------------------------
7007 echo "Finding project files. Please wait..."
7008 "$outpath/bin/qmake" -prl -r "${relpath}/projects.pro"
7009 if [ -f "${relpath}/projects.pro" ]; then
7010 mkfile
="${outpath}/Makefile"
7011 [ -f "$mkfile" ] && chmod +w
"$mkfile"
7012 QTDIR
="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/projects.pro" -o "$mkfile"
7015 # .projects -> projects to process
7016 # .projects.1 -> qt and moc
7017 # .projects.2 -> subdirs and libs
7018 # .projects.3 -> the rest
7019 rm -f .projects .projects
.1 .projects
.2 .projects
.3
7021 QMAKE_PROJECTS
=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
7022 if [ -z "$AWK" ]; then
7023 for p
in `echo $QMAKE_PROJECTS`; do
7024 echo "$p" >> .projects
7027 cat >projects.
awk <<EOF
7033 first = "./.projects.1.tmp"
7034 second = "./.projects.2.tmp"
7035 third = "./.projects.3.tmp"
7040 if ( ! target_file )
7042 print input_file >target_file
7047 input_file = FILENAME
7052 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
7058 matched_target == 0 && /^(TEMPLATE.*=)/ {
7059 if ( \$3 == "subdirs" )
7060 target_file = second
7061 else if ( \$3 == "lib" )
7067 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
7068 if ( \$0 ~ /plugin/ )
7071 target_file = second
7076 if ( ! target_file )
7078 print input_file >>target_file
7085 for p
in `echo $QMAKE_PROJECTS`; do
7086 echo "$p" >> .projects.all
7089 # if you get errors about the length of the command line to awk, change the -l arg
7091 split -l 100 .projects.all .projects.all.
7092 for p
in .projects.all.
*; do
7093 "$AWK" -f projects.
awk `cat $p`
7094 [ -f .projects
.1.tmp
] && cat .projects
.1.tmp
>> .projects
.1
7095 [ -f .projects
.2.tmp
] && cat .projects
.2.tmp
>> .projects
.2
7096 [ -f .projects
.3.tmp
] && cat .projects
.3.tmp
>> .projects
.3
7097 rm -f .projects
.1.tmp .projects
.2.tmp .projects
.3.tmp
$p
7099 rm -f .projects.all
* projects.
awk
7101 [ -f .projects
.1 ] && cat .projects
.1 >>.projects
7102 [ -f .projects
.2 ] && cat .projects
.2 >>.projects
7103 rm -f .projects
.1 .projects
.2
7104 if [ -f .projects
.3 ] && [ "$OPT_FAST" = "no" ]; then
7105 cat .projects
.3 >>.projects
7109 # don't sort Qt and MOC in with the other project files
7110 # also work around a segfaulting uniq(1)
7111 if [ -f .sorted.projects
.2 ]; then
7112 sort .sorted.projects
.2 > .sorted.projects
.2.new
7113 mv -f .sorted.projects
.2.new .sorted.projects
.2
7114 cat .sorted.projects
.2 >> .sorted.projects
.1
7116 [ -f .sorted.projects
.1 ] && sort .sorted.projects
.1 >> .sorted.projects
7117 rm -f .sorted.projects
.2 .sorted.projects
.1
7121 if [ -f .projects
]; then
7122 uniq .projects
>.tmp
7123 mv -f .tmp .projects
7124 NORM_PROJECTS
=`cat .projects | wc -l | sed -e "s, ,,g"`
7126 if [ -f .projects
.3 ]; then
7127 uniq .projects
.3 >.tmp
7128 mv -f .tmp .projects
.3
7129 FAST_PROJECTS
=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
7131 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
7135 for part
in $CFG_BUILD_PARTS; do
7137 tools
) PART_ROOTS
="$PART_ROOTS tools" ;;
7138 libs
) PART_ROOTS
="$PART_ROOTS src" ;;
7139 examples
) PART_ROOTS
="$PART_ROOTS examples demos" ;;
7144 if [ "$CFG_DEV" = "yes" ]; then
7145 PART_ROOTS
="$PART_ROOTS tests"
7148 echo "Creating makefiles. Please wait..."
7149 for file in .projects .projects
.3; do
7150 [ '!' -f "$file" ] && continue
7151 for a
in `cat $file`; do
7153 for r
in $PART_ROOTS; do
7154 if echo "$a" |
grep "^$r" >/dev
/null
2>&1 ||
echo "$a" |
grep "^$relpath/$r" >/dev
/null
2>&1; then
7159 [ "$IN_ROOT" = "no" ] && continue
7162 *winmain
/winmain.pro
) continue ;;
7163 */qmake
/qmake.pro
) continue ;;
7164 *tools
/bootstrap
*|
*tools
/moc
*|
*tools
/rcc
*|
*tools
/uic
*) SPEC
=$QMAKESPEC ;;
7165 *) SPEC
=$XQMAKESPEC ;;
7167 dir
=`dirname "$a" | sed -e "s;$sepath;.;g"`
7168 test -d "$dir" || mkdir
-p "$dir"
7169 OUTDIR
="$outpath/$dir"
7170 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
7171 # fast configure - the makefile exists, skip it
7172 # since the makefile exists, it was generated by qmake, which means we
7173 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
7175 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
7178 QMAKE_SPEC_ARGS
="-spec $SPEC"
7179 if echo '\c' |
grep '\c' >/dev
/null
; then
7185 QMAKE
="$outpath/bin/qmake"
7186 QMAKE_ARGS
="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
7187 if [ "$file" = ".projects.3" ]; then
7188 if echo '\c' |
grep '\c' >/dev
/null
; then
7195 cat >"${OUTDIR}/Makefile" <<EOF
7196 # ${OUTDIR}/Makefile: generated by configure
7198 # WARNING: This makefile will be replaced with a real makefile.
7199 # All changes made to this file will be lost.
7201 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
7203 cat >>"${OUTDIR}/Makefile" <<EOF
7205 all clean install qmake first Makefile: FORCE
7206 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
7214 if [ "$OPT_VERBOSE" = "yes" ]; then
7215 echo " (`basename $SPEC`)"
7216 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7221 [ -f "${OUTDIR}/Makefile" ] && chmod +w
"${OUTDIR}/Makefile"
7222 QTDIR
="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7226 rm -f .projects .projects
.3
7228 #-------------------------------------------------------------------------------
7229 # XShape is important, DnD in the Designer doens't work without it
7230 #-------------------------------------------------------------------------------
7231 if [ "$PLATFORM_X11" = "yes" ] && [ "$CFG_XSHAPE" = "no" ]; then
7234 NOTICE: Qt will not be built with XShape support.
7236 As a result, drag-and-drop in the Qt Designer will NOT
7237 work. We recommend that you enable XShape support by passing
7238 the -xshape switch to $0.
7242 #-------------------------------------------------------------------------------
7243 # check for platforms that we don't yet know about
7244 #-------------------------------------------------------------------------------
7245 if [ "$CFG_ARCH" = "generic" ]; then
7248 NOTICE: Atomic operations are not yet supported for this
7251 Qt will use the 'generic' architecture instead, which uses a
7252 single pthread_mutex_t to protect all atomic operations. This
7253 implementation is the slow (but safe) fallback implementation
7254 for architectures Qt does not yet support.
7258 #-------------------------------------------------------------------------------
7259 # check if the user passed the -no-zlib option, which is no longer supported
7260 #-------------------------------------------------------------------------------
7261 if [ -n "$ZLIB_FORCED" ]; then
7262 which_zlib
="supplied"
7263 if [ "$CFG_ZLIB" = "system" ]; then
7269 NOTICE: The -no-zlib option was supplied but is no longer
7272 Qt now requires zlib support in all builds, so the -no-zlib
7273 option was ignored. Qt will be built using the $which_zlib
7278 #-------------------------------------------------------------------------------
7279 # finally save the executed command to another script
7280 #-------------------------------------------------------------------------------
7281 if [ `basename $0` != "config.status" ]; then
7282 CONFIG_STATUS
="$relpath/$relconf $OPT_CMDLINE"
7284 # add the system variables
7285 for varname
in $SYSTEM_VARIABLES; do
7287 'if [ -n "\$'${varname}'" ]; then
7288 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
7293 echo "$CONFIG_STATUS" |
grep '\-confirm\-license' >/dev
/null
2>&1 || CONFIG_STATUS
="$CONFIG_STATUS -confirm-license"
7295 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
7296 echo "#!/bin/sh" > "$outpath/config.status"
7297 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
7298 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
7299 echo "else" >> "$outpath/config.status"
7300 echo " $CONFIG_STATUS" >> "$outpath/config.status"
7301 echo "fi" >> "$outpath/config.status"
7302 chmod +x
"$outpath/config.status"
7305 if [ -n "$RPATH_MESSAGE" ]; then
7307 echo "$RPATH_MESSAGE"
7310 MAKE
=`basename "$MAKE"`
7312 echo Qt is now configured
for building. Just run
\'$MAKE\'.
7313 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
7314 echo Once everything is built
, Qt is installed.
7315 echo You should not run
\'$MAKE install\'.
7317 echo Once everything is built
, you must run
\'$MAKE install\'.
7318 echo Qt will be installed into
$QT_INSTALL_PREFIX
7321 echo To reconfigure
, run
\'$MAKE confclean
\' and
\'configure
\'.