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 usb 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
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
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
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
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
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 VAR
=`echo $1 | sed "s,^-\(.*\),\1,"`
849 -prefix|
-docdir|
-headerdir|
-plugindir|
-datadir|
-libdir|
-bindir|
-translationdir|
-sysconfdir|
-examplesdir|
-demosdir|
-depths|
-make|
-nomake|
-platform|
-xplatform|
-buildkey|
-sdk|
-arch|
-host-arch|
-mysql_config)
850 VAR
=`echo $1 | sed "s,^-\(.*\),\1,"`
854 #Qt style complex options in one command
855 -enable-*|
-disable-*)
856 VAR
=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
857 VAL
=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
859 #Qt Builtin/System style options
860 -no-*|
-system-*|
-qt-*)
861 VAR
=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
862 VAL
=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
864 #Options that cannot be generalized
871 # this option may or may not be followed by an argument
872 if [ -z "$2" ] ||
echo "$2" |
grep '^-' >/dev
/null
2>&1; then
881 # this option may or may not be followed by an argument
882 if [ -z "$2" ] ||
echo "$2" |
grep '^-' >/dev
/null
2>&1; then
890 VAR
=`echo $1 | sed "s,^-\(.*\),\1,"`
891 # this option may or may not be followed by an argument
892 if [ -z "$2" ] ||
echo "$2" |
grep '^-' >/dev
/null
2>&1; then
901 VAL
=`echo $1 | sed "s,^-.*-\(.*\)-.*,\1,"`
905 VAL
=`echo $1 | sed "s,^-\(.*\)-.*,\1,"`
924 if [ "$1" = "-D" ]; then
928 VAL
=`echo $1 | sed 's,-D,,'`
933 if [ "$1" = "-I" ]; then
937 VAL
=`echo $1 | sed 's,-I,,'`
942 if [ "$1" = "-L" ]; then
946 VAL
=`echo $1 | sed 's,-L,,'`
951 if [ "$1" = "-R" ]; then
955 VAL
=`echo $1 | sed 's,-R,,'`
960 VAL
=`echo $1 | sed 's,-l,,'`
964 if [ "$1" = "-F" ]; then
968 VAL
=`echo $1 | sed 's,-F,,'`
973 if [ "$1" = "-fw" ]; then
977 VAL
=`echo $1 | sed 's,-fw,,'`
981 VAR
=`echo $1 | sed "s,^-\(.*\),\1,"`
988 if [ "$UNKNOWN_ARG" = "yes" ]; then
989 echo "$1: unknown argument"
1000 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1001 CFG_QT3SUPPORT
="$VAL"
1007 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1008 CFG_ACCESSIBILITY
="$VAL"
1017 CFG_USE_GNUMAKE
="$VAL"
1020 CFG_MYSQL_CONFIG
="$VAL"
1023 QT_INSTALL_PREFIX
="$VAL"
1026 QT_HOST_PREFIX
="$VAL"
1029 QT_FORCE_PKGCONFIG
=yes
1032 QT_INSTALL_DOCS
="$VAL"
1035 QT_INSTALL_HEADERS
="$VAL"
1038 QT_INSTALL_PLUGINS
="$VAL"
1041 QT_INSTALL_DATA
="$VAL"
1044 QT_INSTALL_LIBS
="$VAL"
1053 QT_INSTALL_TRANSLATIONS
="$VAL"
1055 sysconfdir|settingsdir
)
1056 QT_INSTALL_SETTINGS
="$VAL"
1059 QT_INSTALL_EXAMPLES
="$VAL"
1062 QT_INSTALL_DEMOS
="$VAL"
1068 QT_INSTALL_BINS
="$VAL"
1071 CFG_USER_BUILD_KEY
="$VAL"
1078 if [ "$PLATFORM_QWS" != "no" ]; then
1079 if [ "$PLATFORM_QWS" = "maybe" ]; then
1085 echo "No license exists to enable Qt for Embedded Linux. Disabling."
1090 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1097 if [ "$VAL" = "little" ]; then
1098 CFG_ENDIAN
="Q_LITTLE_ENDIAN"
1099 elif [ "$VAL" = "big" ]; then
1100 CFG_ENDIAN
="Q_BIG_ENDIAN"
1106 if [ "$VAL" = "little" ]; then
1107 CFG_HOST_ENDIAN
="Q_LITTLE_ENDIAN"
1108 elif [ "$VAL" = "big" ]; then
1109 CFG_HOST_ENDIAN
="Q_BIG_ENDIAN"
1115 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1122 CFG_QWS_DEPTHS
="$VAL"
1125 if [ "$VAL" = "auto" ] ||
[ "$VAL" = "desktop" ] ||
1126 [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
1127 [ "$VAL" = "es1cl" ] ||
[ "$VAL" = "es1" ] ||
[ "$VAL" = "es2" ]; then
1134 if [ "$PLATFORM_QWS" = "yes" ]; then
1135 echo "Error: Graphics System plugins are not supported on QWS."
1136 echo " On QWS, the graphics system API is part of the QScreen plugin architecture "
1137 echo " rather than existing as a separate plugin."
1141 if [ "$VAL" = "opengl" ]; then
1142 CFG_GRAPHICS_SYSTEM
="opengl"
1143 elif [ "$VAL" = "raster" ]; then
1144 CFG_GRAPHICS_SYSTEM
="raster"
1151 qvfb
) # left for commandline compatibility, not documented
1152 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1153 if [ "$VAL" = "yes" ]; then
1154 QMakeVar add gfx-drivers qvfb
1155 QMakeVar add kbd-drivers qvfb
1156 QMakeVar add mouse-drivers qvfb
1157 CFG_GFX_ON
="$CFG_GFX_ON qvfb"
1158 CFG_KBD_ON
="$CFG_KBD_ON qvfb"
1159 CFG_MOUSE_ON
="$CFG_MOUSE_ON qvfb"
1166 CFG_NOBUILD_PARTS
="$CFG_NOBUILD_PARTS $VAL"
1169 CFG_BUILD_PARTS
="$CFG_BUILD_PARTS $VAL"
1172 if [ "$PLATFORM_MAC" = "yes" ]; then
1174 elif [ "$PLATFORM_QWS" = "yes" ]; then
1177 if [ "$CFG_FRAMEWORK" = "auto" ]; then
1183 if [ "$PLATFORM_MAC" = "yes" ]; then
1190 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1191 CFG_MAC_DWARF2
="$VAL"
1197 if [ "$PLATFORM_MAC" = "yes" ]; then
1198 CFG_MAC_ARCHS
="$CFG_MAC_ARCHS $VAL"
1207 if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1208 CFG_MAC_ARCHS
="$CFG_MAC_ARCHS x86 ppc"
1214 if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1215 CFG_MAC_COCOA
="$VAL"
1216 COMMANDLINE_MAC_COCOA
="$VAL"
1222 if [ "$PLATFORM_MAC" = "yes" ]; then
1223 CFG_FRAMEWORK
="$VAL"
1229 if [ "$VAL" = "yes" ]; then
1231 QMakeVar add QMAKE_CFLAGS
-pg
1232 QMakeVar add QMAKE_CXXFLAGS
-pg
1233 QMakeVar add QMAKE_LFLAGS
-pg
1234 QMAKE_VARS
="$QMAKE_VARS CONFIG+=nostrip"
1239 exceptions|g
++-exceptions)
1240 if [ "$VAL" = "no" ]; then
1242 elif [ "$VAL" = "yes" ]; then
1250 # keep compatibility with old platform names
1256 PLATFORM
=hpux-acc-o64
1259 PLATFORM
=hpux-acc-64
1262 PLATFORM
=hpux-acc-64
1274 PLATFORM
=reliant-cds-64
1277 PLATFORM
=solaris-cc-64
1280 PLATFORM
=solaris-cc-64
1283 PLATFORM
=unixware-cc
1286 PLATFORM
=unixware-g
++
1289 PLATFORM
=unixware-cc
1292 PLATFORM
=unixware-g
++
1298 i386
) NATIVE_64_ARCH
="x86_64" ;;
1299 powerpc
) NATIVE_64_ARCH
="ppc64" ;;
1300 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1302 if [ ! -z "$NATIVE_64_ARCH" ]; then
1303 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1304 CFG_MAC_ARCHS
="$CFG_MAC_ARCHS $NATIVE_64_ARCH"
1313 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1314 CFG_DEBUG_RELEASE
="$VAL"
1320 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1321 CFG_RELEASE_QMAKE
="$VAL"
1327 if [ "$VAL" = "yes" ]; then
1329 elif [ "$VAL" = "no" ]; then
1336 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1337 CFG_PREFIX_INSTALL
="$VAL"
1345 developer-build|commercial|opensource|nokia-developer
)
1346 # These switches have been dealt with already
1349 if [ "$VAL" = "yes" ]; then
1351 elif [ "$VAL" = "no" ]; then
1358 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1359 CFG_INCREMENTAL
="$VAL"
1365 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1366 CFG_CONFIGURE_EXIT_ON_ERROR
="$VAL"
1372 if [ "$PLATFORM_QWS" = "yes" ]; then
1373 FEATURE
=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1374 if [ "$VAL" = "no" ]; then
1375 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_$FEATURE"
1376 elif [ "$VAL" = "yes" ] ||
[ "$VAL" = "unknown" ]; then
1377 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_$FEATURE"
1386 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1393 [ "$VAL" = "qt" ] && VAL
=yes
1394 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1401 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1409 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "runtime" ]; then
1416 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1423 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "runtime" ]; then
1430 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1437 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1438 CFG_PRECOMPILE
="$VAL"
1443 separate-debug-info
)
1444 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1445 CFG_SEPARATE_DEBUG_INFO
="$VAL"
1451 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1452 CFG_REDUCE_EXPORTS
="$VAL"
1458 if [ "$VAL" = "no" ]; then
1465 if [ "$VAL" = "no" ]; then
1472 if [ "$VAL" = "no" ]; then
1479 if [ "$VAL" = "no" ]; then
1489 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1490 CFG_REDUCE_RELOCATIONS
="$VAL"
1496 [ "$VAL" = "qt" ] && VAL
=yes
1497 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1498 CFG_QWS_FREETYPE
="$VAL"
1504 [ "$VAL" = "qt" ] && VAL
=yes
1505 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1510 # No longer supported:
1511 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1514 if [ "$VAL" = "system" ]; then
1521 [ "$VAL" = "yes" ] && VAL
=qt
1522 if [ "$VAL" = "qt" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1529 [ "$VAL" = "yes" ] && VAL
=qt
1530 if [ "$VAL" = "qt" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1537 [ "$VAL" = "yes" ] && VAL
=qt
1538 if [ "$VAL" = "qt" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1545 [ "$VAL" = "yes" ] && VAL
=qt
1546 if [ "$VAL" = "qt" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1553 if [ "$VAL" = "system" ] ||
[ "$VAL" = "no" ]; then
1560 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "runtime" ]; then
1567 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "runtime" ]; then
1574 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "runtime" ]; then
1581 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1588 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1595 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1596 CFG_FONTCONFIG
="$VAL"
1602 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1609 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1616 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1623 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1630 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1631 CFG_GSTREAMER
="$VAL"
1637 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1638 CFG_QGTKSTYLE
="$VAL"
1644 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "linked" ]; then
1646 elif [ "$VAL" = "runtime" ]; then
1653 if [ "$VAL" = "yes" ]; then
1660 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1667 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1668 CFG_LARGEFILE
="$VAL"
1674 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1681 if [ "$VAL" = "yes" ]; then
1682 CFG_OPENSSL
="linked"
1688 if [ "$VAL" = "yes" ]; then
1696 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "auto" ]; then
1697 CFG_XMLPATTERNS
="yes"
1699 if [ "$VAL" = "no" ]; then
1700 CFG_XMLPATTERNS
="no"
1707 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "auto" ]; then
1708 CFG_SCRIPTTOOLS
="yes"
1710 if [ "$VAL" = "no" ]; then
1711 CFG_SCRIPTTOOLS
="no"
1718 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "auto" ]; then
1721 if [ "$VAL" = "no" ]; then
1729 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "auto" ]; then
1732 if [ "$VAL" = "no" ]; then
1740 if [ "$VAL" = "yes" ]; then
1741 OPT_CONFIRM_LICENSE
="$VAL"
1747 if [ "$VAL" = "yes" ]; then
1753 sql-
*|gfx-
*|decoration-
*|kbd-
*|mouse-
*)
1754 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1755 # if autoconf style options were used, $VAL can be "yes" or "no"
1756 [ "$VAL" = "yes" ] && VAL
=qt
1757 # now $VAL should be "no", "qt", or "plugin"... double-check
1758 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1761 # now $VAL is "no", "qt", or "plugin"
1763 VAL
=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1764 VAR
=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1766 # Grab the available values
1769 avail
="$CFG_SQL_AVAILABLE"
1772 avail
="$CFG_GFX_AVAILABLE"
1773 if [ "$OPT" = "plugin" ]; then
1774 avail
="$CFG_GFX_PLUGIN_AVAILABLE"
1778 avail
="$CFG_DECORATION_AVAILABLE"
1779 if [ "$OPT" = "plugin" ]; then
1780 avail
="$CFG_DECORATION_PLUGIN_AVAILABLE"
1784 avail
="$CFG_KBD_AVAILABLE"
1785 if [ "$OPT" = "plugin" ]; then
1786 avail
="$CFG_KBD_PLUGIN_AVAILABLE"
1790 avail
="$CFG_MOUSE_AVAILABLE"
1791 if [ "$OPT" = "plugin" ]; then
1792 avail
="$CFG_MOUSE_PLUGIN_AVAILABLE"
1797 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1801 # Check that that user's value is available.
1804 if [ "$VAL" = "$d" ]; then
1809 [ "$found" = yes ] || ERROR
=yes
1811 if [ "$VAR" = "sql" ]; then
1812 # set the CFG_SQL_driver
1813 eval "CFG_SQL_$VAL=\$OPT"
1817 if [ "$OPT" = "plugin" ] ||
[ "$OPT" = "qt" ]; then
1818 if [ "$OPT" = "plugin" ]; then
1819 [ "$VAR" = "decoration" ] && QMakeVar del
"${VAR}s" "$VAL"
1820 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON
=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"` && CFG_DECORATION_PLUGIN="$CFG_DECORATION_PLUGIN ${VAL}"
1821 [ "$VAR" = "kbd" ] && QMakeVar del "${VAR}s" "$VAL"
1822 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_KBD_PLUGIN="$CFG_KBD_PLUGIN ${VAL}"
1823 [ "$VAR" = "mouse" ] && QMakeVar del
"${VAR}s" "$VAL"
1824 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON
=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_MOUSE_PLUGIN="$CFG_MOUSE_PLUGIN ${VAL}"
1825 [ "$VAR" = "gfx" ] && QMakeVar del "${VAR}s" "$VAL"
1826 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"` && CFG_GFX_PLUGIN="${CFG_GFX_PLUGIN} ${VAL}"
1829 if [ "$VAR" = "gfx" ] ||
[ "$VAR" = "kbd" ] ||
[ "$VAR" = "decoration" ] ||
[ "$VAR" = "mouse" ]; then
1830 [ "$VAR" = "gfx" ] && CFG_GFX_ON
="$CFG_GFX_ON $VAL"
1831 [ "$VAR" = "kbd" ] && CFG_KBD_ON
="$CFG_KBD_ON $VAL"
1832 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON
="$CFG_DECORATION_ON $VAL"
1833 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON
="$CFG_MOUSE_ON $VAL"
1837 QMakeVar add
"${VAR}s" "${VAL}"
1838 elif [ "$OPT" = "no" ]; then
1839 PLUG_VAR
="${VAR}-plugin"
1840 if [ "$VAR" = "gfx" ] ||
[ "$VAR" = "kbd" ] ||
[ "$VAR" = "mouse" ]; then
1841 IN_VAR
="${VAR}-driver"
1845 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON
=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"`
1846 [ "$VAR" = "gfx" ] && CFG_GFX_ON
=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"`
1847 [ "$VAR" = "kbd" ] && CFG_KBD_ON
=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"`
1848 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON
=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"`
1849 QMakeVar del
"${IN_VAR}s" "$VAL"
1850 QMakeVar del
"${PLUG_VAR}s" "$VAL"
1852 if [ "$ERROR" = "yes" ]; then
1853 echo "$CURRENT_OPT: unknown argument"
1858 if [ "$VAL" = "yes" ]; then
1859 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
1860 QMAKE_SWITCHES
="$QMAKE_SWITCHES -d"
1864 elif [ "$VAL" = "no" ]; then
1865 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" |
grep ' -d' >/dev
/null
2>&1; then
1866 QMAKE_SWITCHES
=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
1875 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1882 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1889 D_FLAGS
="$D_FLAGS \"$VAL\""
1892 I_FLAGS
="$I_FLAGS -I\"${VAL}\""
1895 L_FLAGS
="$L_FLAGS -L\"${VAL}\""
1898 RPATH_FLAGS
="$RPATH_FLAGS \"${VAL}\""
1901 l_FLAGS
="$l_FLAGS -l\"${VAL}\""
1904 if [ "$PLATFORM_MAC" = "yes" ]; then
1905 L_FLAGS
="$L_FLAGS -F\"${VAL}\""
1906 I_FLAGS
="$I_FLAGS -F\"${VAL}\""
1912 if [ "$PLATFORM_MAC" = "yes" ]; then
1913 l_FLAGS
="$l_FLAGS -framework \"${VAL}\""
1922 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1929 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1930 CFG_PHONON_BACKEND
="$VAL"
1939 if [ "$UNKNOWN_OPT" = "yes" ]; then
1940 echo "${CURRENT_OPT}: invalid command-line switch"
1946 if [ "$CFG_QCONFIG" != "full" ] && [ "$CFG_QT3SUPPORT" = "yes" ]; then
1947 echo "Warning: '-qconfig $CFG_QCONFIG' will disable the qt3support library."
1951 # update QT_CONFIG to show our current predefined configuration
1952 case "$CFG_QCONFIG" in
1953 minimal|small|medium|large|full
)
1954 # these are a sequence of increasing functionality
1955 for c
in minimal small medium large full
; do
1956 QT_CONFIG
="$QT_CONFIG $c-config"
1957 [ "$CFG_QCONFIG" = $c ] && break
1961 # not known to be sufficient for anything
1962 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ]; then
1963 echo >&2 "Error: configuration file not found:"
1964 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
1969 #-------------------------------------------------------------------------------
1970 # build tree initialization
1971 #-------------------------------------------------------------------------------
1973 # where to find which..
1974 unixtests
="$relpath/config.tests/unix"
1975 mactests
="$relpath/config.tests/mac"
1976 WHICH
="$unixtests/which.test"
1978 PERL
=`$WHICH perl 2>/dev/null`
1980 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
1982 for e
in gawk nawk
awk; do
1983 if "$WHICH" $e >/dev
/null
2>&1 && ( $e -f /dev
/null
/dev
/null
) >/dev
/null
2>&1; then
1989 ### skip this if the user just needs help...
1990 if [ "$OPT_HELP" != "yes" ]; then
1992 # is this a shadow build?
1993 if [ "$OPT_SHADOW" = "maybe" ]; then
1995 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
1996 if [ -h "$outpath" ]; then
1997 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW
=yes
2003 if [ "$OPT_SHADOW" = "yes" ]; then
2004 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" ]; then
2005 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2006 echo >&2 "Cannot proceed."
2009 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2012 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2014 echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
2015 echo "By default, Qt is built in release mode with separate debug information, so"
2016 echo "-debug-and-release is not necessary anymore"
2020 # detect build style
2021 if [ "$CFG_DEBUG" = "auto" ]; then
2022 if [ "$PLATFORM_MAC" = "yes" ]; then
2023 CFG_DEBUG_RELEASE
=yes
2025 elif [ "$CFG_DEV" = "yes" ]; then
2026 CFG_DEBUG_RELEASE
=no
2029 CFG_DEBUG_RELEASE
=no
2033 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2034 QMAKE_CONFIG
="$QMAKE_CONFIG build_all"
2037 if [ "$CFG_SILENT" = "yes" ]; then
2038 QMAKE_CONFIG
="$QMAKE_CONFIG silent"
2041 # if the source tree is different from the build tree,
2042 # symlink or copy part of the sources
2043 if [ "$OPT_SHADOW" = "yes" ]; then
2044 echo "Preparing build tree..."
2046 if [ -z "$PERL" ]; then
2048 echo "You need perl in your PATH to make a shadow build."
2049 echo "Cannot proceed."
2053 [ -d "$outpath/bin" ] || mkdir
-p "$outpath/bin"
2055 # symlink the qmake directory
2056 find "$relpath/qmake" |
while read a
; do
2057 my_a
=`echo "$a" | sed "s,^${relpath}/,${outpath}/,"`
2058 if [ '!' -f "$my_a" ]; then
2059 if [ -d "$a" ]; then
2060 # directories are created...
2063 a_dir
=`dirname "$my_a"`
2064 [ -d "$a_dir" ] || mkdir
-p "$a_dir"
2065 # ... and files are symlinked
2066 case `basename "$a"` in
2067 *.o|
*.d|GNUmakefile
*|qmake
)
2078 # make a syncqt script that can be used in the shadow
2079 rm -f "$outpath/bin/syncqt"
2080 if [ -x "$relpath/bin/syncqt" ]; then
2081 mkdir
-p "$outpath/bin"
2082 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2083 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/syncqt"
2084 echo "perl \"$relpath/bin/syncqt\" -outdir \"$outpath\" $*" >>"$outpath/bin/syncqt"
2085 chmod 755 "$outpath/bin/syncqt"
2088 # symlink the mkspecs directory
2089 mkdir
-p "$outpath/mkspecs"
2090 rm -f "$outpath"/mkspecs
/*
2091 ln -s "$relpath"/mkspecs
/* "$outpath/mkspecs"
2092 rm -f "$outpath/mkspecs/default"
2094 # symlink the doc directory
2095 rm -rf "$outpath/doc"
2096 ln -s "$relpath/doc" "$outpath/doc"
2098 # make sure q3porting.xml can be found
2099 mkdir
-p "$outpath/tools/porting/src"
2100 rm -f "$outpath/tools/porting/src/q3porting.xml"
2101 ln -s "$relpath/tools/porting/src/q3porting.xml" "$outpath/tools/porting/src"
2104 # symlink files from src/gui/embedded neccessary to build qvfb
2105 if [ "$CFG_DEV" = "yes" ]; then
2106 for f
in qvfbhdr.h qlock_p.h qlock.cpp qwssignalhandler_p.h qwssignalhandler.cpp
; do
2107 dest
="${relpath}/tools/qvfb/${f}"
2109 ln -s "${relpath}/src/gui/embedded/${f}" "${dest}"
2113 # symlink fonts to be able to run application from build directory
2114 if [ "$PLATFORM_QWS" = "yes" ] && [ ! -e "${outpath}/lib/fonts" ]; then
2115 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2116 mkdir
-p "${outpath}/lib"
2117 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2121 if [ "$OPT_FAST" = "auto" ]; then
2122 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2129 # find a make command
2130 if [ -z "$MAKE" ]; then
2132 for mk
in gmake
make; do
2133 if "$WHICH" $mk >/dev
/null
2>&1; then
2138 if [ -z "$MAKE" ]; then
2139 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2140 echo >&2 "Cannot proceed."
2147 #-------------------------------------------------------------------------------
2148 # auto-detect all that hasn't been specified in the arguments
2149 #-------------------------------------------------------------------------------
2151 [ "$PLATFORM_QWS" = "yes" -a "$CFG_EMBEDDED" = "no" ] && CFG_EMBEDDED
=auto
2152 if [ "$CFG_EMBEDDED" != "no" ]; then
2153 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2155 [ -z "$PLATFORM" ] && PLATFORM
=qws
/macx-generic-g
++
2156 if [ -z "$XPLATFORM" ]; then
2157 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED
=generic
2158 XPLATFORM
="qws/macx-$CFG_EMBEDDED-g++"
2162 [ -z "$PLATFORM" ] && PLATFORM
=qws
/freebsd-generic-g
++
2163 if [ -z "$XPLATFORM" ]; then
2164 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED
=generic
2165 XPLATFORM
="qws/freebsd-$CFG_EMBEDDED-g++"
2169 [ -z "$PLATFORM" ] && PLATFORM
=qws
/solaris-generic-g
++
2170 if [ -z "$XPLATFORM" ]; then
2171 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED
=generic
2172 XPLATFORM
="qws/solaris-$CFG_EMBEDDED-g++"
2176 if [ -z "$PLATFORM" ]; then
2177 case "$UNAME_MACHINE" in
2179 PLATFORM
=qws
/linux-x86-g
++
2182 PLATFORM
=qws
/linux-x86_64-g
++
2185 PLATFORM
=qws
/linux-ppc-g
++
2188 PLATFORM
=qws
/linux-generic-g
++
2192 if [ -z "$XPLATFORM" ]; then
2193 if [ "$CFG_EMBEDDED" = "auto" ]; then
2194 if [ -n "$CFG_ARCH" ]; then
2195 CFG_EMBEDDED
=$CFG_ARCH
2197 case "$UNAME_MACHINE" in
2208 CFG_EMBEDDED
=generic
2213 XPLATFORM
="qws/linux-$CFG_EMBEDDED-g++"
2220 echo "Qt for Embedded Linux is not supported on this platform. Disabling."
2226 if [ -z "$PLATFORM" ]; then
2228 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2230 if [ "$PLATFORM_MAC" = "yes" ]; then
2232 # PLATFORM=macx-xcode
2239 #PLATFORM=aix-g++-64
2241 #PLATFORM=aix-xlc-64
2243 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2253 # PLATFORM=dynix-g++
2259 PLATFORM
=freebsd-g
++
2261 - Also available for FreeBSD: freebsd-icc
2265 PLATFORM
=openbsd-g
++
2276 #PLATFORM=irix-cc-64
2278 - Also available for IRIX: irix-g++ irix-cc-64
2282 case "$UNAME_MACHINE" in
2284 #PLATFORM=hpuxi-acc-32
2285 PLATFORM
=hpuxi-acc-64
2287 - Also available for HP-UXi: hpuxi-acc-32
2293 #PLATFORM=hpux-acc-64
2295 #PLATFORM=hpux-acc-o64
2297 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2306 - Also available for Tru64: tru64-g++
2310 case "$UNAME_MACHINE" in
2312 PLATFORM
=linux-g
++-64
2319 - Also available for Linux: linux-kcc linux-icc linux-cxx
2323 #PLATFORM=solaris-g++
2325 #PLATFORM=solaris-cc64
2327 - Also available for Solaris: solaris-g++ solaris-cc-64
2330 ReliantUNIX-
*:*|SINIX-
*:*)
2331 PLATFORM
=reliant-cds
2332 #PLATFORM=reliant-cds-64
2334 - Also available for Reliant UNIX: reliant-cds-64
2344 #PLATFORM=unixware-g++
2345 PLATFORM
=unixware-cc
2347 - Also available for OpenUNIX: unixware-g++
2351 #PLATFORM=unixware-g++
2352 PLATFORM
=unixware-cc
2354 - Also available for UnixWare: unixware-g++
2361 - Also available for SCO OpenServer: sco-g++
2365 PLATFORM
=unixware-g
++
2368 if [ "$OPT_HELP" != "yes" ]; then
2370 for p
in $PLATFORMS; do
2371 echo " $relconf $* -platform $p"
2374 echo " The build script does not currently recognize all" >&2
2375 echo " platforms supported by Qt." >&2
2376 echo " Rerun this script with a -platform option listed to" >&2
2377 echo " set the system/compiler combination you use." >&2
2384 if [ "$PLATFORM_QWS" = "yes" ]; then
2386 PLATFORMS
=`find "$relpath/mkspecs/qws" | sed "s,$relpath/mkspecs/qws/,,"`
2388 PLATFORMS
=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2391 [ -z "$XPLATFORM" ] && XPLATFORM
="$PLATFORM"
2392 if [ -d "$PLATFORM" ]; then
2393 QMAKESPEC
="$PLATFORM"
2395 QMAKESPEC
="$relpath/mkspecs/${PLATFORM}"
2397 if [ -d "$XPLATFORM" ]; then
2398 XQMAKESPEC
="$XPLATFORM"
2400 XQMAKESPEC
="$relpath/mkspecs/${XPLATFORM}"
2402 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2403 QT_CROSS_COMPILE
=yes
2404 QMAKE_CONFIG
="$QMAKE_CONFIG cross_compile"
2407 if [ "$PLATFORM_MAC" = "yes" ]; then
2408 if [ `basename $QMAKESPEC` = "macx-xcode" ] ||
[ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2410 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2411 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2412 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2413 echo " built with 'macx-g++'" >&2
2419 # check specified platforms are supported
2420 if [ '!' -d "$QMAKESPEC" ]; then
2422 echo " The specified system/compiler is not supported:"
2426 echo " Please see the README file for a complete list."
2430 if [ '!' -d "$XQMAKESPEC" ]; then
2432 echo " The specified system/compiler is not supported:"
2436 echo " Please see the README file for a complete list."
2440 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2442 echo " The specified system/compiler port is not complete:"
2444 echo " $XQMAKESPEC/qplatformdefs.h"
2446 echo " Please contact qt-bugs@trolltech.com."
2451 # now look at the configs and figure out what platform we are config'd for
2452 [ "$CFG_EMBEDDED" = "no" ] \
2453 && [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ] \
2455 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2457 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2458 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2459 if echo $UNAME_RELEASE |
grep "^5\.[5|6]" >/dev
/null
2>&1; then
2460 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2461 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2465 #-------------------------------------------------------------------------------
2466 # determine the system architecture
2467 #-------------------------------------------------------------------------------
2468 if [ "$OPT_VERBOSE" = "yes" ]; then
2469 echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
2472 if [ "$CFG_EMBEDDED" != "no" -a "$CFG_EMBEDDED" != "auto" ] && [ -n "$CFG_ARCH" ]; then
2473 if [ "$CFG_ARCH" != "$CFG_EMBEDDED" ]; then
2475 echo "You have specified a target architecture with -embedded and -arch."
2476 echo "The two architectures you have specified are different, so we can"
2477 echo "not proceed. Either set both to be the same, or only use -embedded."
2483 if [ -z "${CFG_HOST_ARCH}" ]; then
2484 case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
2486 CFG_HOST_ARCH
=`uname -p`
2487 if [ "$OPT_VERBOSE" = "yes" ]; then
2488 echo " SGI ($CFG_HOST_ARCH)"
2492 case "$UNAME_MACHINE" in
2494 if [ "$OPT_VERBOSE" = "yes" ]; then
2495 echo " Sun SPARC (sparc)"
2502 if [ "$OPT_VERBOSE" = "yes" ]; then
2503 echo " 64-bit AMD 80x86 (x86_64)"
2505 CFG_HOST_ARCH
=x86_64
2508 if [ "$OPT_VERBOSE" = "yes" ]; then
2509 echo " 32-bit Intel 80x86 (i386)"
2517 case "$UNAME_MACHINE" in
2519 if [ "$OPT_VERBOSE" = "yes" ]; then
2520 echo " 32-bit Apple PowerPC (powerpc)"
2524 if [ "$OPT_VERBOSE" = "yes" ]; then
2525 echo " 32-bit Intel 80x86 (i386)"
2529 CFG_HOST_ARCH
=macosx
2532 if [ "$OPT_VERBOSE" = "yes" ]; then
2533 echo " 64-bit IBM PowerPC (powerpc)"
2535 CFG_HOST_ARCH
=powerpc
2538 if [ "$OPT_VERBOSE" = "yes" ]; then
2539 echo " HP PA-RISC (parisc)"
2541 CFG_HOST_ARCH
=parisc
2544 if [ "$OPT_VERBOSE" = "yes" ]; then
2545 echo " 32-bit Intel 80x86 (i386)"
2549 *:*:x86_64|
*:*:amd64
)
2550 if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
2551 if [ "$OPT_VERBOSE" = "yes" ]; then
2552 echo " 32 bit on 64-bit AMD 80x86 (i386)"
2556 if [ "$OPT_VERBOSE" = "yes" ]; then
2557 echo " 64-bit AMD 80x86 (x86_64)"
2559 CFG_HOST_ARCH
=x86_64
2563 if [ "$OPT_VERBOSE" = "yes" ]; then
2564 echo " 32-bit PowerPC (powerpc)"
2566 CFG_HOST_ARCH
=powerpc
2569 if [ "$OPT_VERBOSE" = "yes" ]; then
2570 echo " 64-bit PowerPC (powerpc)"
2572 CFG_HOST_ARCH
=powerpc
2575 if [ "$OPT_VERBOSE" = "yes" ]; then
2576 echo " IBM S/390 (s390)"
2581 if [ "$OPT_VERBOSE" = "yes" ]; then
2587 if [ "$OPT_VERBOSE" = "yes" ]; then
2588 echo " Linux on SPARC"
2593 if [ "$OPT_VERBOSE" = "yes" ]; then
2594 echo " Trying '$UNAME_MACHINE'..."
2596 CFG_HOST_ARCH
="$UNAME_MACHINE"
2601 if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
2602 if [ -n "$CFG_ARCH" ]; then
2603 CFG_EMBEDDED
=$CFG_ARCH
2606 case "$CFG_EMBEDDED" in
2626 CFG_ARCH
="$CFG_EMBEDDED"
2629 elif [ "$PLATFORM_MAC" = "yes" ] ||
[ -z "$CFG_ARCH" ]; then
2630 CFG_ARCH
=$CFG_HOST_ARCH
2633 if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
2634 if [ "$OPT_VERBOSE" = "yes" ]; then
2635 echo " '$CFG_ARCH' is supported"
2638 if [ "$OPT_VERBOSE" = "yes" ]; then
2639 echo " '$CFG_ARCH' is unsupported, using 'generic'"
2643 if [ "$CFG_HOST_ARCH" != "$CFG_ARCH" ]; then
2644 if [ -d "$relpath/src/corelib/arch/$CFG_HOST_ARCH" ]; then
2645 if [ "$OPT_VERBOSE" = "yes" ]; then
2646 echo " '$CFG_HOST_ARCH' is supported"
2649 if [ "$OPT_VERBOSE" = "yes" ]; then
2650 echo " '$CFG_HOST_ARCH' is unsupported, using 'generic'"
2652 CFG_HOST_ARCH
=generic
2656 if [ "$OPT_VERBOSE" = "yes" ]; then
2657 echo "System architecture: '$CFG_ARCH'"
2658 if [ "$PLATFORM_QWS" = "yes" ]; then
2659 echo "Host architecture: '$CFG_HOST_ARCH'"
2663 #-------------------------------------------------------------------------------
2664 # tests that don't need qmake (must be run before displaying help)
2665 #-------------------------------------------------------------------------------
2667 if [ -z "$PKG_CONFIG" ]; then
2668 # See if PKG_CONFIG is set in the mkspec:
2669 PKG_CONFIG
=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%PKG_CONFIG[^_].*=%%p' | tr '\n' ' '`
2671 if [ -z "$PKG_CONFIG" ]; then
2672 PKG_CONFIG
=`$WHICH pkg-config 2>/dev/null`
2675 # Work out if we can use pkg-config
2676 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
2677 if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
2679 echo >&2 "You have asked to use pkg-config and are cross-compiling."
2680 echo >&2 "Please make sure you have a correctly set-up pkg-config"
2681 echo >&2 "environment!"
2683 if [ -z "$PKG_CONFIG_PATH" ]; then
2685 echo >&2 "Warning: PKG_CONFIG_PATH has not been set. This could mean"
2686 echo >&2 "the host compiler's .pc files will be used. This is probably"
2687 echo >&2 "not what you want."
2689 elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
2691 echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
2692 echo >&2 "been set. This means your toolchain's .pc files must contain"
2693 echo >&2 "the paths to the toolchain's libraries & headers. If configure"
2694 echo >&2 "tests are failing, please check these files."
2702 # process CFG_MAC_ARCHS
2703 if [ "$PLATFORM_MAC" = "yes" ]; then
2704 # check -arch arguments for validity.
2705 ALLOWED
="x86 ppc x86_64 ppc64 i386"
2706 # Save the list so we can re-write it using only valid values
2707 CFG_MAC_ARCHS_IN
="$CFG_MAC_ARCHS"
2709 for i
in $CFG_MAC_ARCHS_IN
2711 if echo "$ALLOWED" |
grep -w -v "$i" > /dev
/null
2>&1; then
2712 echo "Unknown architecture: \"$i\". Supported architectures: x86[i386] ppc x86_64 ppc64";
2715 if [ "$i" = "i386" -o "$i" = "x86" ]; then
2716 # These are synonymous values
2717 # CFG_MAC_ARCHS requires x86 while GCC requires i386
2718 CFG_MAC_ARCHS
="$CFG_MAC_ARCHS x86"
2719 MAC_ARCHS_COMMANDLINE
="$MAC_ARCHS_COMMANDLINE -arch i386"
2721 CFG_MAC_ARCHS
="$CFG_MAC_ARCHS $i"
2722 MAC_ARCHS_COMMANDLINE
="$MAC_ARCHS_COMMANDLINE -arch $i"
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 # matches both x86 and x86_64
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 # matches both ppc and ppc64
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 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
4169 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
4170 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
4171 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
4172 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
4173 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
4174 -e "s,@QMAKESPEC@,$QMAKESPEC,g" "$in_mkfile" >>"$mkfile"
4176 if "$WHICH" makedepend
>/dev
/null
2>&1 && grep 'depend:' "$mkfile" >/dev
/null
2>&1; then
4177 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend
) >/dev
/null
2>&1
4178 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"${mkfile}.tmp"
4179 mv "${mkfile}.tmp" "${mkfile}"
4183 QMAKE_BUILD_ERROR
=no
4184 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR
=yes
4185 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
4186 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
4187 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
4190 #-------------------------------------------------------------------------------
4191 # tests that need qmake
4192 #-------------------------------------------------------------------------------
4194 # detect availability of float math.h functions
4195 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/floatmath
"floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
4196 CFG_USE_FLOATMATH
=yes
4198 CFG_USE_FLOATMATH
=no
4201 # detect mmx support
4202 if [ "${CFG_MMX}" = "auto" ]; then
4203 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/mmx
"mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
4210 # detect 3dnow support
4211 if [ "${CFG_3DNOW}" = "auto" ]; then
4212 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/3dnow
"3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
4219 # detect sse support
4220 if [ "${CFG_SSE}" = "auto" ]; then
4221 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/sse
"sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
4228 # detect sse2 support
4229 if [ "${CFG_SSE2}" = "auto" ]; then
4230 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/sse2
"sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
4237 # check iWMMXt support
4238 if [ "$CFG_IWMMXT" = "yes" ]; then
4239 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
4240 echo "The iWMMXt functionality test failed!"
4241 echo " Please make sure your compiler supports iWMMXt intrinsics!"
4247 if [ "$CFG_ZLIB" = "no" ]; then
4248 # Note: Qt no longer support builds without zlib
4249 # So we force a "no" to be "auto" here.
4250 # If you REALLY really need no zlib support, you can still disable
4251 # it by doing the following:
4252 # add "no-zlib" to mkspecs/qconfig.pri
4253 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
4255 # There's no guarantee that Qt will build under those conditions
4260 if [ "$CFG_ZLIB" = "auto" ]; then
4261 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
4268 # detect how jpeg should be built
4269 if [ "$CFG_JPEG" = "auto" ]; then
4270 if [ "$CFG_SHARED" = "yes" ]; then
4277 if [ "$CFG_LIBJPEG" = "auto" ]; then
4278 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
4285 # detect how gif should be built
4286 if [ "$CFG_GIF" = "auto" ]; then
4287 if [ "$CFG_SHARED" = "yes" ]; then
4294 # detect how tiff should be built
4295 if [ "$CFG_TIFF" = "auto" ]; then
4296 if [ "$CFG_SHARED" = "yes" ]; then
4304 if [ "$CFG_LIBTIFF" = "auto" ]; then
4305 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
4312 # detect how mng should be built
4313 if [ "$CFG_MNG" = "auto" ]; then
4314 if [ "$CFG_SHARED" = "yes" ]; then
4321 if [ "$CFG_LIBMNG" = "auto" ]; then
4322 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
4330 if [ "$CFG_LIBPNG" = "auto" ]; then
4331 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
4338 # detect accessibility
4339 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4340 CFG_ACCESSIBILITY
=yes
4343 # auto-detect SQL-modules support
4344 for _SQLDR
in $CFG_SQL_AVAILABLE; do
4347 if [ "$CFG_SQL_mysql" != "no" ]; then
4348 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG
=`$WHICH mysql_config`
4349 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4350 QT_CFLAGS_MYSQL
=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4351 QT_LFLAGS_MYSQL_R
=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4352 QT_LFLAGS_MYSQL
=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4353 QT_MYSQL_VERSION
=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4354 QT_MYSQL_VERSION_MAJOR
=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4356 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4357 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4358 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4359 echo " You need MySql 4 or higher."
4360 echo " If you believe this message is in error you may use the continue"
4361 echo " switch (-continue) to $0 to continue."
4366 QT_LFLAGS_MYSQL_R
=""
4370 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
4371 QMakeVar add CONFIG use_libmysqlclient_r
4372 if [ "$CFG_SQL_mysql" = "auto" ]; then
4373 CFG_SQL_mysql
=plugin
4375 QT_LFLAGS_MYSQL
="$QT_LFLAGS_MYSQL_R"
4376 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
4377 if [ "$CFG_SQL_mysql" = "auto" ]; then
4378 CFG_SQL_mysql
=plugin
4381 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4382 echo "MySQL support cannot be enabled due to functionality tests!"
4383 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4384 echo " If you believe this message is in error you may use the continue"
4385 echo " switch (-continue) to $0 to continue."
4390 QT_LFLAGS_MYSQL_R
=""
4398 if [ "$CFG_SQL_psql" != "no" ]; then
4399 if "$WHICH" pg_config
>/dev
/null
2>&1; then
4400 QT_CFLAGS_PSQL
=`pg_config --includedir 2>/dev/null`
4401 QT_LFLAGS_PSQL
=`pg_config --libdir 2>/dev/null`
4403 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL
="-I$QT_CFLAGS_PSQL"
4404 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL
="-L$QT_LFLAGS_PSQL"
4405 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
4406 if [ "$CFG_SQL_psql" = "auto" ]; then
4410 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4411 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4412 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4413 echo " If you believe this message is in error you may use the continue"
4414 echo " switch (-continue) to $0 to continue."
4425 if [ "$CFG_SQL_odbc" != "no" ]; then
4426 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
4427 if [ "$CFG_SQL_odbc" = "auto" ]; then
4431 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4432 echo "ODBC support cannot be enabled due to functionality tests!"
4433 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4434 echo " If you believe this message is in error you may use the continue"
4435 echo " switch (-continue) to $0 to continue."
4444 if [ "$CFG_SQL_oci" != "no" ]; then
4445 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
4446 if [ "$CFG_SQL_oci" = "auto" ]; then
4450 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4451 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4452 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4453 echo " If you believe this message is in error you may use the continue"
4454 echo " switch (-continue) to $0 to continue."
4463 if [ "$CFG_SQL_tds" != "no" ]; then
4464 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
4465 if [ "$CFG_SQL_tds" = "auto" ]; then
4469 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4470 echo "TDS support cannot be enabled due to functionality tests!"
4471 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4472 echo " If you believe this message is in error you may use the continue"
4473 echo " switch (-continue) to $0 to continue."
4482 if [ "$CFG_SQL_db2" != "no" ]; then
4483 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
4484 if [ "$CFG_SQL_db2" = "auto" ]; then
4488 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4489 echo "ODBC support cannot be enabled due to functionality tests!"
4490 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4491 echo " If you believe this message is in error you may use the continue"
4492 echo " switch (-continue) to $0 to continue."
4501 if [ "$CFG_SQL_ibase" != "no" ]; then
4502 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
4503 if [ "$CFG_SQL_ibase" = "auto" ]; then
4504 CFG_SQL_ibase
=plugin
4507 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4508 echo "InterBase support cannot be enabled due to functionality tests!"
4509 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4510 echo " If you believe this message is in error you may use the continue"
4511 echo " switch (-continue) to $0 to continue."
4520 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4521 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
4522 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4523 CFG_SQL_sqlite2
=plugin
4526 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4527 echo "SQLite2 support cannot be enabled due to functionality tests!"
4528 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4529 echo " If you believe this message is in error you may use the continue"
4530 echo " switch (-continue) to $0 to continue."
4539 if [ "$CFG_SQL_sqlite" != "no" ]; then
4540 SQLITE_AUTODETECT_FAILED
="no"
4541 if [ "$CFG_SQLITE" = "system" ]; then
4542 if [ -n "$PKG_CONFIG" ]; then
4543 QT_CFLAGS_SQLITE
=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4544 QT_LFLAGS_SQLITE
=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4546 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
4547 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4548 CFG_SQL_sqlite
=plugin
4550 QMAKE_CONFIG
="$QMAKE_CONFIG system-sqlite"
4552 SQLITE_AUTODETECT_FAILED
="yes"
4555 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4556 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4557 CFG_SQL_sqlite
=plugin
4560 SQLITE_AUTODETECT_FAILED
="yes"
4564 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4565 echo "SQLite support cannot be enabled due to functionality tests!"
4566 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4567 echo " If you believe this message is in error you may use the continue"
4568 echo " switch (-continue) to $0 to continue."
4574 if [ "$OPT_VERBOSE" = "yes" ]; then
4575 echo "unknown SQL driver: $_SQLDR"
4581 # auto-detect NIS support
4582 if [ "$CFG_NIS" != "no" ]; then
4583 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
4586 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4587 echo "NIS support cannot be enabled due to functionality tests!"
4588 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4589 echo " If you believe this message is in error you may use the continue"
4590 echo " switch (-continue) to $0 to continue."
4598 # auto-detect CUPS support
4599 if [ "$CFG_CUPS" != "no" ]; then
4600 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
4603 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4604 echo "Cups support cannot be enabled due to functionality tests!"
4605 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4606 echo " If you believe this message is in error you may use the continue"
4607 echo " switch (-continue) to $0 to continue."
4615 # auto-detect iconv(3) support
4616 if [ "$CFG_ICONV" != "no" ]; then
4617 if [ "$PLATFORM_QWS" = "yes" ]; then
4619 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
4621 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
4624 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4625 echo "Iconv support cannot be enabled due to functionality tests!"
4626 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4627 echo " If you believe this message is in error you may use the continue"
4628 echo " switch (-continue) to $0 to continue."
4636 # auto-detect libdbus-1 support
4637 if [ "$CFG_DBUS" != "no" ]; then
4638 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1
2>/dev
/null
; then
4639 QT_CFLAGS_DBUS
=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4640 QT_LIBS_DBUS
=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4642 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
4643 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS
=yes
4644 QMakeVar
set QT_CFLAGS_DBUS
"$QT_CFLAGS_DBUS"
4645 QMakeVar
set QT_LIBS_DBUS
"$QT_LIBS_DBUS"
4647 if [ "$CFG_DBUS" = "auto" ]; then
4649 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4650 # CFG_DBUS is "yes" or "linked" here
4652 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4653 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4654 echo " If you believe this message is in error you may use the continue"
4655 echo " switch (-continue) to $0 to continue."
4661 # Generate a CRC of the namespace for using in constants for the Carbon port.
4662 # This should mean that you really *can* load two Qt's and have our custom
4663 # Carbon events work.
4664 if [ "$PLATFORM_MAC" = "yes" -a ! -z "$QT_NAMESPACE" ]; then
4665 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`
4668 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
4669 # auto-detect Glib support
4670 if [ "$CFG_GLIB" != "no" ]; then
4671 if [ -n "$PKG_CONFIG" ]; then
4672 QT_CFLAGS_GLIB
=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4673 QT_LIBS_GLIB
=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4675 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
4677 QMakeVar
set QT_CFLAGS_GLIB
"$QT_CFLAGS_GLIB"
4678 QMakeVar
set QT_LIBS_GLIB
"$QT_LIBS_GLIB"
4680 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4681 echo "Glib support cannot be enabled due to functionality tests!"
4682 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4683 echo " If you believe this message is in error you may use the continue"
4684 echo " switch (-continue) to $0 to continue."
4692 if [ "$CFG_PHONON" != "no" ]; then
4693 if [ "$CFG_PHONON_BACKEND" != "no" ]; then
4694 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4695 if [ -n "$PKG_CONFIG" ]; then
4696 QT_CFLAGS_GSTREAMER
=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4697 QT_LIBS_GSTREAMER
=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4699 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
4701 QMakeVar
set QT_CFLAGS_GSTREAMER
"$QT_CFLAGS_GSTREAMER"
4702 QMakeVar
set QT_LIBS_GSTREAMER
"$QT_LIBS_GSTREAMER"
4704 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4705 echo "Gstreamer support cannot be enabled due to functionality tests!"
4706 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4707 echo " If you believe this message is in error you may use the continue"
4708 echo " switch (-continue) to $0 to continue."
4714 elif [ "$CFG_GLIB" = "no" ]; then
4718 if [ "$CFG_GSTREAMER" = "yes" ]; then
4721 if [ "$CFG_PHONON" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4722 echo "Phonon support cannot be enabled due to functionality tests!"
4723 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4724 echo " If you believe this message is in error you may use the continue"
4725 echo " switch (-continue) to $0 to continue."
4738 if [ "$PLATFORM_X11" = "yes" ]; then
4739 x11tests
="$relpath/config.tests/x11"
4742 # work around broken X11 headers when using GCC 2.95 or later
4744 "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE
=yes
4745 if [ $NOTYPE = "yes" ]; then
4746 QMakeVar add QMAKE_CXXFLAGS
-fpermissive
4747 X11TESTS_FLAGS
="$X11TESTS_FLAGS -fpermissive"
4750 # Check we actually have X11 :-)
4751 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
4752 echo "Basic XLib functionality test failed!"
4753 echo " You might need to modify the include and library search paths by editing"
4754 echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
4758 # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es1cl = ES 1.x common lite, es2 = OpenGL ES 2.x)
4759 if [ "$CFG_OPENGL" = "auto" ] ||
[ "$CFG_OPENGL" = "yes" ]; then
4760 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
4762 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
4764 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
4766 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
4769 if [ "$CFG_OPENGL" = "yes" ]; then
4770 echo "All the OpenGL functionality tests failed!"
4771 echo " You might need to modify the include and library search paths by editing"
4772 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4773 echo " ${XQMAKESPEC}."
4780 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4781 if [ "$CFG_OPENGL" = "desktop" ]; then
4782 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
4783 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4790 elif [ "$CFG_OPENGL" = "es1cl" ]; then
4791 # OpenGL ES 1.x common lite
4792 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
4793 echo "The OpenGL ES 1.x Common Lite Profile functionality test failed!"
4794 echo " You might need to modify the include and library search paths by editing"
4795 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4796 echo " ${XQMAKESPEC}."
4799 elif [ "$CFG_OPENGL" = "es1" ]; then
4801 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
4802 echo "The OpenGL ES 1.x functionality test failed!"
4803 echo " You might need to modify the include and library search paths by editing"
4804 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4805 echo " ${XQMAKESPEC}."
4808 elif [ "$CFG_OPENGL" = "es2" ]; then
4810 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
4811 echo "The OpenGL ES 2.0 functionality test failed!"
4812 echo " You might need to modify the include and library search paths by editing"
4813 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4814 echo " ${XQMAKESPEC}."
4817 elif [ "$CFG_OPENGL" = "desktop" ]; then
4818 # Desktop OpenGL support
4819 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
4820 echo "The OpenGL functionality test failed!"
4821 echo " You might need to modify the include and library search paths by editing"
4822 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4823 echo " ${XQMAKESPEC}."
4828 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4829 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
4830 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4838 # if opengl is disabled and the user specified graphicssystem gl, disable it...
4839 if [ "$CFG_GRAPHICS_SYSTEM" = "opengl" ] && [ "$CFG_OPENGL" = "no" ]; then
4840 echo "OpenGL Graphics System is disabled due to missing OpenGL support..."
4841 CFG_GRAPHICS_SYSTEM
=default
4844 # auto-detect Xcursor support
4845 if [ "$CFG_XCURSOR" != "no" ]; then
4846 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
4847 if [ "$CFG_XCURSOR" != "runtime" ]; then
4851 if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4852 echo "Xcursor support cannot be enabled due to functionality tests!"
4853 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4854 echo " If you believe this message is in error you may use the continue"
4855 echo " switch (-continue) to $0 to continue."
4863 # auto-detect Xfixes support
4864 if [ "$CFG_XFIXES" != "no" ]; then
4865 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/x11
/xfixes
"Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
4866 if [ "$CFG_XFIXES" != "runtime" ]; then
4870 if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4871 echo "Xfixes support cannot be enabled due to functionality tests!"
4872 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4873 echo " If you believe this message is in error you may use the continue"
4874 echo " switch (-continue) to $0 to continue."
4882 # auto-detect Xrandr support (resize and rotate extension)
4883 if [ "$CFG_XRANDR" != "no" ]; then
4884 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
4885 if [ "$CFG_XRANDR" != "runtime" ]; then
4889 if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4890 echo "Xrandr support cannot be enabled due to functionality tests!"
4891 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4892 echo " If you believe this message is in error you may use the continue"
4893 echo " switch (-continue) to $0 to continue."
4901 # auto-detect Xrender support
4902 if [ "$CFG_XRENDER" != "no" ]; then
4903 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
4906 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4907 echo "Xrender support cannot be enabled due to functionality tests!"
4908 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4909 echo " If you believe this message is in error you may use the continue"
4910 echo " switch (-continue) to $0 to continue."
4918 # auto-detect MIT-SHM support
4919 if [ "$CFG_MITSHM" != "no" ]; then
4920 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
4923 if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4924 echo "MITSHM support cannot be enabled due to functionality tests!"
4925 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4926 echo " If you believe this message is in error you may use the continue"
4927 echo " switch (-continue) to $0 to continue."
4935 # auto-detect FontConfig support
4936 if [ "$CFG_FONTCONFIG" != "no" ]; then
4937 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig
2>/dev
/null
; then
4938 QT_CFLAGS_FONTCONFIG
=`$PKG_CONFIG --cflags fontconfig 2>/dev/null`
4939 QT_LIBS_FONTCONFIG
=`$PKG_CONFIG --libs fontconfig 2>/dev/null`
4941 QT_CFLAGS_FONTCONFIG
=
4942 QT_LIBS_FONTCONFIG
="-lfreetype -lfontconfig"
4944 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
4946 QMakeVar
set QMAKE_CFLAGS_X11
"$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
4947 QMakeVar
set QMAKE_LIBS_X11
"$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
4948 CFG_LIBFREETYPE
=system
4950 if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4951 echo "FontConfig support cannot be enabled due to functionality tests!"
4952 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4953 echo " If you believe this message is in error you may use the continue"
4954 echo " switch (-continue) to $0 to continue."
4962 # auto-detect Session Management support
4963 if [ "$CFG_SM" = "auto" ]; then
4964 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
4967 if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4968 echo "Session Management support cannot be enabled due to functionality tests!"
4969 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4970 echo " If you believe this message is in error you may use the continue"
4971 echo " switch (-continue) to $0 to continue."
4979 # auto-detect SHAPE support
4980 if [ "$CFG_XSHAPE" != "no" ]; then
4981 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
4984 if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4985 echo "XShape support cannot be enabled due to functionality tests!"
4986 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4987 echo " If you believe this message is in error you may use the continue"
4988 echo " switch (-continue) to $0 to continue."
4996 # auto-detect Xinerama support
4997 if [ "$CFG_XINERAMA" != "no" ]; then
4998 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
4999 if [ "$CFG_XINERAMA" != "runtime" ]; then
5003 if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5004 echo "Xinerama support cannot be enabled due to functionality tests!"
5005 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5006 echo " If you believe this message is in error you may use the continue"
5007 echo " switch (-continue) to $0 to continue."
5015 # auto-detect Xinput support
5016 if [ "$CFG_XINPUT" != "no" ]; then
5017 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
5018 if [ "$CFG_XINPUT" != "runtime" ]; then
5022 if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5023 echo "Tablet and Xinput support cannot be enabled due to functionality tests!"
5024 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5025 echo " If you believe this message is in error you may use the continue"
5026 echo " switch (-continue) to $0 to continue."
5034 # auto-detect XKB support
5035 if [ "$CFG_XKB" != "no" ]; then
5036 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
5039 if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5040 echo "XKB support cannot be enabled due to functionality tests!"
5041 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5042 echo " If you believe this message is in error you may use the continue"
5043 echo " switch (-continue) to $0 to continue."
5051 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
5052 if [ -n "$PKG_CONFIG" ]; then
5053 QT_CFLAGS_QGTKSTYLE
=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
5054 QT_LIBS_QGTKSTYLE
=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
5056 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
5058 QMakeVar
set QT_CFLAGS_QGTKSTYLE
"$QT_CFLAGS_QGTKSTYLE"
5059 QMakeVar
set QT_LIBS_QGTKSTYLE
"$QT_LIBS_QGTKSTYLE"
5061 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5062 echo "Gtk theme support cannot be enabled due to functionality tests!"
5063 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5064 echo " If you believe this message is in error you may use the continue"
5065 echo " switch (-continue) to $0 to continue."
5071 elif [ "$CFG_GLIB" = "no" ]; then
5077 if [ "$PLATFORM_MAC" = "yes" ]; then
5078 if [ "$CFG_PHONON" != "no" ]; then
5079 # Always enable Phonon (unless it was explicitly disabled)
5085 if [ "$PLATFORM_QWS" = "yes" ]; then
5087 # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es1cl = ES 1.x common lite, es2 = OpenGL ES 2.x)
5088 if [ "$CFG_OPENGL" = "yes" ]; then
5089 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
5091 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
5093 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
5096 echo "All the OpenGL ES functionality tests failed!"
5097 echo " You might need to modify the include and library search paths by editing"
5098 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5099 echo " ${XQMAKESPEC}."
5102 elif [ "$CFG_OPENGL" = "es1" ]; then
5104 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
5105 echo "The OpenGL ES 1.x functionality test failed!"
5106 echo " You might need to modify the include and library search paths by editing"
5107 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5108 echo " ${XQMAKESPEC}."
5111 elif [ "$CFG_OPENGL" = "es2" ]; then
5113 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
5114 echo "The OpenGL ES 2.0 functionality test failed!"
5115 echo " You might need to modify the include and library search paths by editing"
5116 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5117 echo " ${XQMAKESPEC}."
5120 elif [ "$CFG_OPENGL" = "desktop" ]; then
5121 # Desktop OpenGL support
5122 echo "Desktop OpenGL support is not avaliable on Qt for Embedded Linux"
5127 for screen
in ${CFG_GFX_ON} ${CFG_GFX_PLUGIN}; do
5128 if [ "${screen}" = "ahi" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5129 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/qws
/ahi
"Ahi" $L_FLAGS $I_FLAGS $l_FLAGS; then
5130 echo "The Ahi screen driver functionality test failed!"
5131 echo " You might need to modify the include and library search paths by editing"
5132 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5133 echo " ${XQMAKESPEC}."
5138 if [ "${screen}" = "svgalib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5139 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/qws
/svgalib
"SVGAlib" $L_FLAGS $I_FLAGS $l_FLAGS; then
5140 echo "The SVGAlib screen driver functionality test failed!"
5141 echo " You might need to modify the include and library search paths by editing"
5142 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5143 echo " ${XQMAKESPEC}."
5148 if [ "${screen}" = "directfb" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5149 if [ -n "$PKG_CONFIG" ]; then
5150 if $PKG_CONFIG --exists directfb
2>/dev
/null
; then
5151 QT_CFLAGS_DIRECTFB
=`$PKG_CONFIG --cflags directfb 2>/dev/null`
5152 QT_LIBS_DIRECTFB
=`$PKG_CONFIG --libs directfb 2>/dev/null`
5153 elif directfb-config
--version >/dev
/null
2>&1; then
5154 QT_CFLAGS_DIRECTFB
=`directfb-config --cflags 2>/dev/null`
5155 QT_LIBS_DIRECTFB
=`directfb-config --libs 2>/dev/null`
5159 # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
5160 if [ -n "$QT_CFLAGS_DIRECTFB" ] ||
[ -n "$QT_LIBS_DIRECTFB" ]; then
5161 QMakeVar
set QT_CFLAGS_DIRECTFB
"$QT_CFLAGS_DIRECTFB"
5162 QMakeVar
set QT_LIBS_DIRECTFB
"$QT_LIBS_DIRECTFB"
5164 if [ "$CFG_QT3SUPPORT" = "yes" ]; then
5165 QMakeVar
set QT_DEFINES_DIRECTFB
"QT3_SUPPORT"
5168 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
5169 echo "The DirectFB screen driver functionality test failed!"
5170 echo " You might need to modify the include and library search paths by editing"
5171 echo " QT_CFLAGS_DIRECTFB and QT_LIBS_DIRECTFB in"
5172 echo " ${XQMAKESPEC}."
5180 for mouse
in ${CFG_MOUSE_ON} ${CFG_MOUSE_PLUGIN}; do
5181 if [ "${mouse}" = "tslib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5182 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/tslib
"tslib" $L_FLAGS $I_FLAGS $l_FLAGS; then
5183 echo "The tslib functionality test failed!"
5184 echo " You might need to modify the include and library search paths by editing"
5185 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5186 echo " ${XQMAKESPEC}."
5195 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/qws
/sound
"sound" $L_FLAGS $I_FLAGS $l_FLAGS; then
5196 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SOUND"
5202 [ "x$CFG_EMBEDDED" != "xno" ] && CFG_LIBFREETYPE
="$CFG_QWS_FREETYPE"
5203 [ "x$PLATFORM_MAC" = "xyes" ] && CFG_LIBFREETYPE
=no
5204 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
5205 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
5206 CFG_LIBFREETYPE
=system
5212 if [ "$CFG_ENDIAN" = "auto" ]; then
5213 if [ "$PLATFORM_MAC" = "yes" ]; then
5216 "$unixtests/endian.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5218 if [ "$F" -eq 0 ]; then
5219 CFG_ENDIAN
="Q_LITTLE_ENDIAN"
5220 elif [ "$F" -eq 1 ]; then
5221 CFG_ENDIAN
="Q_BIG_ENDIAN"
5224 echo "The target system byte order could not be detected!"
5225 echo "Turn on verbose messaging (-v) to see the final report."
5226 echo "You can use the -little-endian or -big-endian switch to"
5227 echo "$0 to continue."
5233 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
5234 if [ "$PLATFORM_MAC" = "yes" ]; then
5237 "$unixtests/endian.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5239 if [ "$F" -eq 0 ]; then
5240 CFG_HOST_ENDIAN
="Q_LITTLE_ENDIAN"
5241 elif [ "$F" -eq 1 ]; then
5242 CFG_HOST_ENDIAN
="Q_BIG_ENDIAN"
5245 echo "The host system byte order could not be detected!"
5246 echo "Turn on verbose messaging (-v) to see the final report."
5247 echo "You can use the -host-little-endian or -host-big-endian switch to"
5248 echo "$0 to continue."
5254 if [ "$CFG_ARMFPA" != "auto" ]; then
5255 if [ "$CFG_ARMFPA" = "yes" ]; then
5256 if [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5257 CFG_DOUBLEFORMAT
="Q_DOUBLE_LITTLE_SWAPPED"
5259 CFG_DOUBLEFORMAT
="Q_DOUBLE_BIG_SWAPPED"
5262 CFG_DOUBLEFORMAT
="normal"
5267 if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then
5268 if [ "$PLATFORM_QWS" != "yes" ]; then
5269 CFG_DOUBLEFORMAT
=normal
5271 "$unixtests/doubleformat.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5273 if [ "$F" -eq 10 ] && [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5274 CFG_DOUBLEFORMAT
=normal
5275 elif [ "$F" -eq 11 ] && [ "$CFG_ENDIAN" = "Q_BIG_ENDIAN" ]; then
5276 CFG_DOUBLEFORMAT
=normal
5277 elif [ "$F" -eq 10 ]; then
5278 CFG_DOUBLEFORMAT
="Q_DOUBLE_LITTLE"
5279 elif [ "$F" -eq 11 ]; then
5280 CFG_DOUBLEFORMAT
="Q_DOUBLE_BIG"
5281 elif [ "$F" -eq 12 ]; then
5282 CFG_DOUBLEFORMAT
="Q_DOUBLE_LITTLE_SWAPPED"
5284 elif [ "$F" -eq 13 ]; then
5285 CFG_DOUBLEFORMAT
="Q_DOUBLE_BIG_SWAPPED"
5289 echo "The system floating point format could not be detected."
5290 echo "This may cause data to be generated in a wrong format"
5291 echo "Turn on verbose messaging (-v) to see the final report."
5292 # we do not fail on this since this is a new test, and if it fails,
5293 # the old behavior should be correct in most cases
5294 CFG_DOUBLEFORMAT
=normal
5300 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/stl
"STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
5304 if [ "$CFG_STL" != "no" ]; then
5305 if [ "$HAVE_STL" = "yes" ]; then
5308 if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5309 echo "STL support cannot be enabled due to functionality tests!"
5310 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5311 echo " If you believe this message is in error you may use the continue"
5312 echo " switch (-continue) to $0 to continue."
5320 # find if the platform supports IPv6
5321 if [ "$CFG_IPV6" != "no" ]; then
5322 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
5325 if [ "$CFG_IPV6" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5326 echo "IPv6 support cannot be enabled due to functionality tests!"
5327 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5328 echo " If you believe this message is in error you may use the continue"
5329 echo " switch (-continue) to $0 to continue."
5337 # detect POSIX clock_gettime()
5338 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
5339 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
5340 CFG_CLOCK_GETTIME
=yes
5342 CFG_CLOCK_GETTIME
=no
5346 # detect POSIX monotonic clocks
5347 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
5348 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
5349 CFG_CLOCK_MONOTONIC
=yes
5351 CFG_CLOCK_MONOTONIC
=no
5353 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
5354 CFG_CLOCK_MONOTONIC
=no
5358 if [ "$CFG_MREMAP" = "auto" ]; then
5359 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/mremap
"mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
5366 # find if the platform provides getaddrinfo (ipv6 dns lookups)
5367 if [ "$CFG_GETADDRINFO" != "no" ]; then
5368 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/getaddrinfo
"getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
5371 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5372 echo "getaddrinfo support cannot be enabled due to functionality tests!"
5373 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5374 echo " If you believe this message is in error you may use the continue"
5375 echo " switch (-continue) to $0 to continue."
5383 # find if the platform provides inotify
5384 if [ "$CFG_INOTIFY" != "no" ]; then
5385 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/inotify
"inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
5388 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5389 echo "inotify support cannot be enabled due to functionality tests!"
5390 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5391 echo " If you believe this message is in error you may use the continue"
5392 echo " switch (-continue) to $0 to continue."
5400 # find if the platform provides if_nametoindex (ipv6 interface name support)
5401 if [ "$CFG_IPV6IFNAME" != "no" ]; then
5402 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
5405 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5406 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
5407 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5408 echo " If you believe this message is in error you may use the continue"
5409 echo " switch (-continue) to $0 to continue."
5417 # find if the platform provides getifaddrs (network interface enumeration)
5418 if [ "$CFG_GETIFADDRS" != "no" ]; then
5419 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/getifaddrs
"getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
5422 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5423 echo "getifaddrs support cannot be enabled due to functionality tests!"
5424 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5425 echo " If you believe this message is in error you may use the continue"
5426 echo " switch (-continue) to $0 to continue."
5434 # find if the platform supports X/Open Large File compilation environment
5435 if [ "$CFG_LARGEFILE" != "no" ]; then
5436 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
5439 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5440 echo "X/Open Large File support cannot be enabled due to functionality tests!"
5441 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5442 echo " If you believe this message is in error you may use the continue"
5443 echo " switch (-continue) to $0 to continue."
5452 if [ "$CFG_OPENSSL" != "no" ]; then
5453 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
5454 if [ "$CFG_OPENSSL" = "auto" ]; then
5458 if ( [ "$CFG_OPENSSL" = "yes" ] ||
[ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5459 echo "OpenSSL support cannot be enabled due to functionality tests!"
5460 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5461 echo " If you believe this message is in error you may use the continue"
5462 echo " switch (-continue) to $0 to continue."
5470 if [ "$CFG_PTMALLOC" != "no" ]; then
5471 # build ptmalloc, copy .a file to lib/
5472 echo "Building ptmalloc. Please wait..."
5473 (cd "$relpath/src/3rdparty/ptmalloc/"; "$MAKE" "clean" ; "$MAKE" "posix"
5474 mkdir
"$outpath/lib/" ; cp "libptmalloc3.a" "$outpath/lib/")
5476 QMakeVar add QMAKE_LFLAGS
"$outpath/lib/libptmalloc3.a"
5479 #-------------------------------------------------------------------------------
5480 # ask for all that hasn't been auto-detected or specified in the arguments
5481 #-------------------------------------------------------------------------------
5483 ### fix this: user input should be validated in a loop
5484 if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PLATFORM_QWS" = "yes" ]; then
5486 echo "Choose pixel-depths to support:"
5488 echo " 1. 1bpp, black/white"
5489 echo " 4. 4bpp, grayscale"
5490 echo " 8. 8bpp, paletted"
5491 echo " 12. 12bpp, rgb 4-4-4"
5492 echo " 15. 15bpp, rgb 5-5-5"
5493 echo " 16. 16bpp, rgb 5-6-5"
5494 echo " 18. 18bpp, rgb 6-6-6"
5495 echo " 24. 24bpp, rgb 8-8-8"
5496 echo " 32. 32bpp, argb 8-8-8-8 and rgb 8-8-8"
5497 echo " all. All supported depths"
5499 echo "Your choices (default 8,16,32):"
5501 if [ -z "$CFG_QWS_DEPTHS" ] ||
[ "$CFG_QWS_DEPTHS" = "yes" ]; then
5502 CFG_QWS_DEPTHS
=8,16,32
5505 if [ -n "$CFG_QWS_DEPTHS" -a "$PLATFORM_QWS" = "yes" ]; then
5506 if [ "$CFG_QWS_DEPTHS" = "all" ]; then
5507 CFG_QWS_DEPTHS
="1 4 8 12 15 16 18 24 32 generic"
5509 for D
in `echo "$CFG_QWS_DEPTHS" | sed -e 's/,/ /g'`; do
5511 1|
4|
8|
12|
15|
16|
18|
24|
32) QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
5512 generic
) QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_QWS_DEPTH_GENERIC";;
5517 # enable dwarf2 support on Mac
5518 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
5519 QT_CONFIG
="$QT_CONFIG dwarf2"
5522 # Set the default arch. Select 32-bit/carbon if nothing else has
5523 # been specified on the configure line.
5524 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_ARCHS" == "" ]; then
5525 source "$mactests/defaultarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests"
5527 if [ "$QT_MAC_DEFUALT_ARCH" == "x86_64" ]; then
5528 CFG_MAC_ARCHS
=" x86"
5529 elif [ "$QT_MAC_DEFUALT_ARCH" == "ppc64" ]; then
5530 CFG_MAC_ARCHS
=" ppc"
5532 CFG_MAC_ARCHS
=" $QT_MAC_DEFUALT_ARCH"
5535 [ "$OPT_VERBOSE" == "yes" ] && echo "Setting Mac architechture to$CFG_MAC_ARCHS."
5538 # enable cocoa and/or carbon on Mac
5539 if [ "$CFG_MAC_COCOA" = "yes" ]; then
5540 # -cocoa on the command line disables carbon completely (i.e. use cocoa for 32-bit as well)
5543 # check which archs are in use, enable cocoa if we find a 64-bit one
5544 if echo "$CFG_MAC_ARCHS" |
grep 64 > /dev
/null
2>&1; then
5545 CFG_MAC_COCOA
="yes";
5546 CFG_MAC_CARBON
="no";
5547 if echo "$CFG_MAC_ARCHS" |
grep -w ppc
> /dev
/null
2>&1; then
5548 CFG_MAC_CARBON
="yes";
5550 if echo "$CFG_MAC_ARCHS" |
grep -w x86
> /dev
/null
2>&1; then
5551 CFG_MAC_CARBON
="yes";
5554 # no 64-bit archs found.
5559 # set the global Mac deployment target. This is overridden on an arch-by-arch basis
5560 # in some cases, see code further down
5561 case "$PLATFORM,$CFG_MAC_COCOA" in
5564 QMakeVar
set QMAKE_MACOSX_DEPLOYMENT_TARGET
10.5
5569 QMakeVar
set QMAKE_MACOSX_DEPLOYMENT_TARGET
10.4
5573 QMakeVar
set QMAKE_MACOSX_DEPLOYMENT_TARGET
10.3
5577 # enable Qt 3 support functionality
5578 if [ "$CFG_QT3SUPPORT" = "yes" ]; then
5579 QT_CONFIG
="$QT_CONFIG qt3support"
5583 if [ "$CFG_PHONON" = "yes" ]; then
5584 QT_CONFIG
="$QT_CONFIG phonon"
5585 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
5586 QT_CONFIG
="$QT_CONFIG phonon-backend"
5589 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_PHONON"
5592 # disable accessibility
5593 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
5594 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
5596 QT_CONFIG
="$QT_CONFIG accessibility"
5600 if [ "$CFG_OPENGL" = "no" ]; then
5601 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_OPENGL"
5603 QT_CONFIG
="$QT_CONFIG opengl"
5606 if [ "$CFG_OPENGL" = "es1" ] ||
[ "$CFG_OPENGL" = "es1cl" ] ||
[ "$CFG_OPENGL" = "es2" ]; then
5607 if [ "$PLATFORM_QWS" = "yes" ]; then
5608 QCONFIG_FLAGS
="$QCONFIG_FLAGS Q_BACKINGSTORE_SUBSURFACES"
5609 QCONFIG_FLAGS
="$QCONFIG_FLAGS Q_USE_EGLWINDOWSURFACE"
5611 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_OPENGL_ES"
5614 if [ "$CFG_OPENGL" = "es1" ]; then
5615 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_OPENGL_ES_1"
5616 QT_CONFIG
="$QT_CONFIG opengles1"
5619 if [ "$CFG_OPENGL" = "es1cl" ]; then
5620 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_OPENGL_ES_1_CL"
5621 QT_CONFIG
="$QT_CONFIG opengles1cl"
5624 if [ "$CFG_OPENGL" = "es2" ]; then
5625 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5626 QT_CONFIG
="$QT_CONFIG opengles2"
5629 # safe execution environment
5630 if [ "$CFG_SXE" != "no" ]; then
5631 QT_CONFIG
="$QT_CONFIG sxe"
5634 # build up the variables for output
5635 if [ "$CFG_DEBUG" = "yes" ]; then
5636 QMAKE_OUTDIR
="${QMAKE_OUTDIR}debug"
5637 QMAKE_CONFIG
="$QMAKE_CONFIG debug"
5638 elif [ "$CFG_DEBUG" = "no" ]; then
5639 QMAKE_OUTDIR
="${QMAKE_OUTDIR}release"
5640 QMAKE_CONFIG
="$QMAKE_CONFIG release"
5642 if [ "$CFG_SHARED" = "yes" ]; then
5643 QMAKE_OUTDIR
="${QMAKE_OUTDIR}-shared"
5644 QMAKE_CONFIG
="$QMAKE_CONFIG shared dll"
5645 elif [ "$CFG_SHARED" = "no" ]; then
5646 QMAKE_OUTDIR
="${QMAKE_OUTDIR}-static"
5647 QMAKE_CONFIG
="$QMAKE_CONFIG static"
5649 if [ "$PLATFORM_QWS" = "yes" ]; then
5650 QMAKE_OUTDIR
="${QMAKE_OUTDIR}-emb-$CFG_EMBEDDED"
5651 QMAKE_CONFIG
="$QMAKE_CONFIG embedded"
5652 QT_CONFIG
="$QT_CONFIG embedded"
5653 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5655 QMakeVar
set PRECOMPILED_DIR
".pch/$QMAKE_OUTDIR"
5656 QMakeVar
set OBJECTS_DIR
".obj/$QMAKE_OUTDIR"
5657 QMakeVar
set MOC_DIR
".moc/$QMAKE_OUTDIR"
5658 QMakeVar
set RCC_DIR
".rcc/$QMAKE_OUTDIR"
5659 QMakeVar
set UI_DIR
".uic/$QMAKE_OUTDIR"
5660 if [ "$CFG_LARGEFILE" = "yes" ]; then
5661 QMAKE_CONFIG
="$QMAKE_CONFIG largefile"
5663 if [ "$CFG_STL" = "no" ]; then
5664 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_STL"
5666 QMAKE_CONFIG
="$QMAKE_CONFIG stl"
5668 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
5669 QMAKE_CONFIG
="$QMAKE_CONFIG GNUmake"
5671 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG
="$QT_CONFIG reduce_exports"
5672 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG
="$QT_CONFIG reduce_relocations"
5673 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG precompile_header"
5674 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
5675 QMakeVar add QMAKE_CFLAGS
-g
5676 QMakeVar add QMAKE_CXXFLAGS
-g
5677 QMAKE_CONFIG
="$QMAKE_CONFIG separate_debug_info"
5679 [ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG mmx"
5680 [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG 3dnow"
5681 [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG sse"
5682 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG sse2"
5683 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG iwmmxt"
5684 [ "$PLATFORM_MAC" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG $CFG_MAC_ARCHS"
5685 if [ "$CFG_IPV6" = "yes" ]; then
5686 QT_CONFIG
="$QT_CONFIG ipv6"
5688 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
5689 QT_CONFIG
="$QT_CONFIG clock-gettime"
5691 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
5692 QT_CONFIG
="$QT_CONFIG clock-monotonic"
5694 if [ "$CFG_MREMAP" = "yes" ]; then
5695 QT_CONFIG
="$QT_CONFIG mremap"
5697 if [ "$CFG_GETADDRINFO" = "yes" ]; then
5698 QT_CONFIG
="$QT_CONFIG getaddrinfo"
5700 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
5701 QT_CONFIG
="$QT_CONFIG ipv6ifname"
5703 if [ "$CFG_GETIFADDRS" = "yes" ]; then
5704 QT_CONFIG
="$QT_CONFIG getifaddrs"
5706 if [ "$CFG_INOTIFY" = "yes" ]; then
5707 QT_CONFIG
="$QT_CONFIG inotify"
5709 if [ "$CFG_LIBJPEG" = "system" ]; then
5710 QT_CONFIG
="$QT_CONFIG system-jpeg"
5712 if [ "$CFG_JPEG" = "no" ]; then
5713 QT_CONFIG
="$QT_CONFIG no-jpeg"
5714 elif [ "$CFG_JPEG" = "yes" ]; then
5715 QT_CONFIG
="$QT_CONFIG jpeg"
5717 if [ "$CFG_LIBMNG" = "system" ]; then
5718 QT_CONFIG
="$QT_CONFIG system-mng"
5720 if [ "$CFG_MNG" = "no" ]; then
5721 QT_CONFIG
="$QT_CONFIG no-mng"
5722 elif [ "$CFG_MNG" = "yes" ]; then
5723 QT_CONFIG
="$QT_CONFIG mng"
5725 if [ "$CFG_LIBPNG" = "no" ]; then
5728 if [ "$CFG_LIBPNG" = "system" ]; then
5729 QT_CONFIG
="$QT_CONFIG system-png"
5731 if [ "$CFG_PNG" = "no" ]; then
5732 QT_CONFIG
="$QT_CONFIG no-png"
5733 elif [ "$CFG_PNG" = "yes" ]; then
5734 QT_CONFIG
="$QT_CONFIG png"
5736 if [ "$CFG_GIF" = "no" ]; then
5737 QT_CONFIG
="$QT_CONFIG no-gif"
5738 elif [ "$CFG_GIF" = "yes" ]; then
5739 QT_CONFIG
="$QT_CONFIG gif"
5741 if [ "$CFG_LIBTIFF" = "system" ]; then
5742 QT_CONFIG
="$QT_CONFIG system-tiff"
5744 if [ "$CFG_TIFF" = "no" ]; then
5745 QT_CONFIG
="$QT_CONFIG no-tiff"
5746 elif [ "$CFG_TIFF" = "yes" ]; then
5747 QT_CONFIG
="$QT_CONFIG tiff"
5749 if [ "$CFG_LIBFREETYPE" = "no" ]; then
5750 QT_CONFIG
="$QT_CONFIG no-freetype"
5751 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
5752 QT_CONFIG
="$QT_CONFIG system-freetype"
5754 QT_CONFIG
="$QT_CONFIG freetype"
5757 if [ "x$PLATFORM_MAC" = "xyes" ]; then
5758 #On Mac we implicitly link against libz, so we
5759 #never use the 3rdparty stuff.
5760 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB
="system"
5762 if [ "$CFG_ZLIB" = "yes" ]; then
5763 QT_CONFIG
="$QT_CONFIG zlib"
5764 elif [ "$CFG_ZLIB" = "system" ]; then
5765 QT_CONFIG
="$QT_CONFIG system-zlib"
5768 [ "$CFG_NIS" = "yes" ] && QT_CONFIG
="$QT_CONFIG nis"
5769 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG
="$QT_CONFIG cups"
5770 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG
="$QT_CONFIG iconv"
5771 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG
="$QT_CONFIG gnu-libiconv"
5772 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG
="$QT_CONFIG glib"
5773 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG
="$QT_CONFIG gstreamer"
5774 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG
="$QT_CONFIG dbus"
5775 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG
="$QT_CONFIG dbus dbus-linked"
5776 [ "$CFG_NAS" = "system" ] && QT_CONFIG
="$QT_CONFIG nas"
5777 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG
="$QT_CONFIG openssl"
5778 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG
="$QT_CONFIG openssl-linked"
5780 if [ "$PLATFORM_X11" = "yes" ]; then
5781 [ "$CFG_SM" = "yes" ] && QT_CONFIG
="$QT_CONFIG x11sm"
5783 # for some reason, the following libraries are not always built shared,
5784 # so *every* program/lib (including Qt) has to link against them
5785 if [ "$CFG_XSHAPE" = "yes" ]; then
5786 QT_CONFIG
="$QT_CONFIG xshape"
5788 if [ "$CFG_XINERAMA" = "yes" ]; then
5789 QT_CONFIG
="$QT_CONFIG xinerama"
5790 QMakeVar
set QMAKE_LIBS_X11
'-lXinerama $$QMAKE_LIBS_X11'
5792 if [ "$CFG_XCURSOR" = "yes" ]; then
5793 QT_CONFIG
="$QT_CONFIG xcursor"
5794 QMakeVar
set QMAKE_LIBS_X11
'-lXcursor $$QMAKE_LIBS_X11'
5796 if [ "$CFG_XFIXES" = "yes" ]; then
5797 QT_CONFIG
="$QT_CONFIG xfixes"
5798 QMakeVar
set QMAKE_LIBS_X11
'-lXfixes $$QMAKE_LIBS_X11'
5800 if [ "$CFG_XRANDR" = "yes" ]; then
5801 QT_CONFIG
="$QT_CONFIG xrandr"
5802 if [ "$CFG_XRENDER" != "yes" ]; then
5803 # libXrandr uses 1 function from libXrender, so we always have to have it :/
5804 QMakeVar
set QMAKE_LIBS_X11
'-lXrandr -lXrender $$QMAKE_LIBS_X11'
5806 QMakeVar
set QMAKE_LIBS_X11
'-lXrandr $$QMAKE_LIBS_X11'
5809 if [ "$CFG_XRENDER" = "yes" ]; then
5810 QT_CONFIG
="$QT_CONFIG xrender"
5811 QMakeVar
set QMAKE_LIBS_X11
'-lXrender $$QMAKE_LIBS_X11'
5813 if [ "$CFG_MITSHM" = "yes" ]; then
5814 QT_CONFIG
="$QT_CONFIG mitshm"
5816 if [ "$CFG_FONTCONFIG" = "yes" ]; then
5817 QT_CONFIG
="$QT_CONFIG fontconfig"
5819 if [ "$CFG_XINPUT" = "yes" ]; then
5820 QMakeVar
set QMAKE_LIBS_X11
'-lXi $$QMAKE_LIBS_X11'
5822 if [ "$CFG_XINPUT" = "yes" ]; then
5823 QT_CONFIG
="$QT_CONFIG xinput tablet"
5825 if [ "$CFG_XKB" = "yes" ]; then
5826 QT_CONFIG
="$QT_CONFIG xkb"
5830 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES
"$D_FLAGS"
5831 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS
"$L_FLAGS"
5832 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS
"$l_FLAGS"
5834 if [ "$PLATFORM_MAC" = "yes" ]; then
5835 if [ "$CFG_RPATH" = "yes" ]; then
5836 QMAKE_CONFIG
="$QMAKE_CONFIG absolute_library_soname"
5838 elif [ -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_RPATH | awk '{print $3;}'`" ]; then
5839 if [ -n "$RPATH_FLAGS" ]; then
5841 echo "ERROR: -R cannot be used on this platform as \$QMAKE_RPATH is"
5845 elif [ "$CFG_RPATH" = "yes" ]; then
5846 RPATH_MESSAGE
=" NOTE: This platform does not support runtime library paths, using -no-rpath."
5850 if [ "$CFG_RPATH" = "yes" ]; then
5851 # set the default rpath to the library installation directory
5852 RPATH_FLAGS
="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5854 if [ -n "$RPATH_FLAGS" ]; then
5855 # add the user defined rpaths
5856 QMakeVar add QMAKE_RPATHDIR
"$RPATH_FLAGS"
5860 if [ '!' -z "$I_FLAGS" ]; then
5861 # add the user define include paths
5862 QMakeVar add QMAKE_CFLAGS
"$I_FLAGS"
5863 QMakeVar add QMAKE_CXXFLAGS
"$I_FLAGS"
5866 # turn off exceptions for the compilers that support it
5867 if [ "$PLATFORM_QWS" = "yes" ]; then
5868 COMPILER
=`echo $XPLATFORM | cut -f 3- -d-`
5870 COMPILER
=`echo $PLATFORM | cut -f 2- -d-`
5872 if [ "$CFG_EXCEPTIONS" = "unspecified" -a "$PLATFORM_QWS" = "yes" ]; then
5876 if [ "$CFG_EXCEPTIONS" != "no" ]; then
5877 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG exceptions"
5881 # Some Qt modules are too advanced in C++ for some old compilers
5882 # Detect here the platforms where they are known to work.
5884 # See Qt documentation for more information on which features are
5885 # supported and on which compilers.
5887 canBuildQtXmlPatterns
="yes"
5888 canBuildWebKit
="$HAVE_STL"
5890 # WebKit requires stdint.h
5891 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/stdint
"Stdint" $L_FLAGS $I_FLAGS $l_FLAGS
5892 if [ $?
!= "0" ]; then
5896 case "$XPLATFORM" in
5898 # PA-RISC's assembly is too limited
5899 # gcc 3.4 on that platform can't build QtXmlPatterns
5900 # the assembly it generates cannot be compiled
5902 # Check gcc's version
5903 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5907 canBuildQtXmlPatterns
="no"
5911 canBuildQtXmlPatterns
="no"
5916 # Check gcc's version
5917 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5925 canBuildQtXmlPatterns
="no"
5930 # Check the compiler version
5931 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
5934 canBuildQtXmlPatterns
="no"
5940 canBuildQtXmlPatterns
="no"
5947 canBuildQtXmlPatterns
="no"
5954 if [ "$CFG_XMLPATTERNS" = "yes" -a "$CFG_EXCEPTIONS" = "no" ]; then
5955 echo "QtXmlPatterns was requested, but it can't be built due to exceptions being disabled."
5958 if [ "$CFG_XMLPATTERNS" = "auto" -a "$CFG_EXCEPTIONS" != "no" ]; then
5959 CFG_XMLPATTERNS
="$canBuildQtXmlPatterns"
5960 elif [ "$CFG_EXCEPTIONS" = "no" ]; then
5961 CFG_XMLPATTERNS
="no"
5963 if [ "$CFG_XMLPATTERNS" = "yes" ]; then
5964 QT_CONFIG
="$QT_CONFIG xmlpatterns"
5966 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XMLPATTERNS"
5969 if [ "$CFG_SVG" = "yes" ]; then
5970 QT_CONFIG
="$QT_CONFIG svg"
5972 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SVG"
5975 if [ "$CFG_WEBKIT" = "auto" ]; then
5976 CFG_WEBKIT
="$canBuildWebKit"
5979 if [ "$CFG_WEBKIT" = "yes" ]; then
5980 QT_CONFIG
="$QT_CONFIG webkit"
5981 # The reason we set CFG_WEBKIT, is such that the printed overview of what will be enabled, shows correctly.
5985 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_WEBKIT"
5988 if [ "$CFG_SCRIPTTOOLS" = "auto" ]; then
5989 CFG_SCRIPTTOOLS
="yes"
5992 if [ "$CFG_SCRIPTTOOLS" = "yes" ]; then
5993 QT_CONFIG
="$QT_CONFIG scripttools"
5994 CFG_SCRIPTTOOLS
="yes"
5996 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SCRIPTTOOLS"
5999 if [ "$CFG_EXCEPTIONS" = "no" ]; then
6002 QMakeVar add QMAKE_CFLAGS
-fno-exceptions
6003 QMakeVar add QMAKE_CXXFLAGS
-fno-exceptions
6004 QMakeVar add QMAKE_LFLAGS
-fno-exceptions
6009 QMakeVar add QMAKE_CFLAGS
-LANG:exceptions
=off
6010 QMakeVar add QMAKE_CXXFLAGS
-LANG:exceptions
=off
6011 QMakeVar add QMAKE_LFLAGS
-LANG:exceptions
=off
6018 QMAKE_CONFIG
="$QMAKE_CONFIG exceptions_off"
6021 # On Mac, set the minimum deployment target for the different architechtures
6022 # using the Xarch compiler option when supported (10.5 and up). On 10.4 the
6023 # deployment version is set to 10.3 globally using the QMAKE_MACOSX_DEPLOYMENT_TARGET
6024 # env. variable. "-cocoa" on the command line means Cocoa is used in 32-bit mode also,
6025 # in this case fall back on QMAKE_MACOSX_DEPLOYMENT_TARGET which will be set to 10.5.
6026 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_XARCH" != "no" ] && [ "$COMMANDLINE_MAC_COCOA" != "yes" ]; then
6027 if echo "$CFG_MAC_ARCHS" |
grep '\<x86\>' > /dev
/null
2>&1; then
6028 QMakeVar add QMAKE_CFLAGS
"-Xarch_i386 -mmacosx-version-min=10.4"
6029 QMakeVar add QMAKE_CXXFLAGS
"-Xarch_i386 -mmacosx-version-min=10.4"
6030 QMakeVar add QMAKE_LFLAGS
"-Xarch_i386 -mmacosx-version-min=10.4"
6031 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_X86
"-arch i386 -Xarch_i386 -mmacosx-version-min=10.4"
6033 if echo "$CFG_MAC_ARCHS" |
grep '\<ppc\>' > /dev
/null
2>&1; then
6034 QMakeVar add QMAKE_CFLAGS
"-Xarch_ppc -mmacosx-version-min=10.3"
6035 QMakeVar add QMAKE_CXXFLAGS
"-Xarch_ppc -mmacosx-version-min=10.3"
6036 QMakeVar add QMAKE_LFLAGS
"-Xarch_ppc -mmacosx-version-min=10.3"
6037 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_PPC
"-arch ppc -Xarch_ppc -mmacosx-version-min=10.3"
6039 if echo "$CFG_MAC_ARCHS" |
grep '\<x86_64\>' > /dev
/null
2>&1; then
6040 QMakeVar add QMAKE_CFLAGS
"-Xarch_x86_64 -mmacosx-version-min=10.5"
6041 QMakeVar add QMAKE_CXXFLAGS
"-Xarch_x86_64 -mmacosx-version-min=10.5"
6042 QMakeVar add QMAKE_LFLAGS
"-Xarch_x86_64 -mmacosx-version-min=10.5"
6043 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_X86_64
"-arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5"
6045 if echo "$CFG_MAC_ARCHS" |
grep '\<ppc64\>' > /dev
/null
2>&1; then
6046 QMakeVar add QMAKE_CFLAGS
"-Xarch_ppc64 -mmacosx-version-min=10.5"
6047 QMakeVar add QMAKE_CXXFLAGS
"-Xarch_ppc64 -mmacosx-version-min=10.5"
6048 QMakeVar add QMAKE_LFLAGS
"-Xarch_ppc64 -mmacosx-version-min=10.5"
6049 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_PPC_64
"-arch ppc64 -Xarch_ppc64 -mmacosx-version-min=10.5"
6053 #-------------------------------------------------------------------------------
6054 # generate QT_BUILD_KEY
6055 #-------------------------------------------------------------------------------
6057 # some compilers generate binary incompatible code between different versions,
6058 # so we need to generate a build key that is different between these compilers
6062 COMPILER_VERSION
=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
6064 case "$COMPILER_VERSION" in
6066 QT_GCC_MAJOR_VERSION
=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
6067 QT_GCC_MINOR_VERSION
=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
6068 QT_GCC_PATCH_VERSION
=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
6071 QT_GCC_MAJOR_VERSION
=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
6072 QT_GCC_MINOR_VERSION
=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
6073 QT_GCC_PATCH_VERSION
=0
6077 case "$COMPILER_VERSION" in
6079 COMPILER_VERSION
="2.95.*"
6082 COMPILER_VERSION
="3.*"
6085 COMPILER_VERSION
="4"
6090 [ '!' -z "$COMPILER_VERSION" ] && COMPILER
="g++-${COMPILER_VERSION}"
6097 # QT_CONFIG can contain the following:
6099 # Things that affect the Qt API/ABI:
6102 # minimal-config small-config medium-config large-config full-config
6104 # Different edition modules:
6105 # network canvas table xml opengl sql
6110 # Things that do not affect the Qt API/ABI:
6111 # system-jpeg no-jpeg jpeg
6112 # system-mng no-mng mng
6113 # system-png no-png png
6114 # system-zlib no-zlib zlib
6115 # system-libtiff no-libtiff
6129 # X11 : x11sm xinerama xcursor xfixes xrandr xrender mitshm fontconfig xkb
6130 # Embedded: embedded freetype
6136 # determine the build options
6137 for config_option
in $QMAKE_CONFIG $QT_CONFIG; do
6139 case "$config_option" in
6141 # take the last *-config setting. this is the highest config being used,
6142 # and is the one that we will use for tagging plugins
6143 BUILD_CONFIG
="$config_option"
6147 # these config options affect the Qt API/ABI. they should influence
6148 # the generation of the buildkey, so we don't skip them
6152 *) # skip all other options since they don't affect the Qt API/ABI.
6156 if [ "$SKIP" = "no" ]; then
6157 BUILD_OPTIONS
="$BUILD_OPTIONS $config_option"
6161 # put the options that we are missing into .options
6163 for opt
in `echo $ALL_OPTIONS`; do
6165 if echo $BUILD_OPTIONS |
grep $opt >/dev
/null
2>&1; then
6168 if [ "$SKIP" = "no" ]; then
6169 echo "$opt" >> .options
6173 # reconstruct BUILD_OPTIONS with a sorted negative feature list
6174 # (ie. only things that are missing are will be put into the build key)
6176 if [ -f .options
]; then
6177 for opt
in `sort -f .options | uniq`; do
6178 BUILD_OPTIONS
="$BUILD_OPTIONS no-$opt"
6183 # QT_NO* defines affect the Qt API (and binary compatibility). they need
6184 # to be included in the build key
6185 for build_option
in $D_FLAGS; do
6186 build_option
=`echo $build_option | cut -d \" -f 2 -`
6187 case "$build_option" in
6189 echo "$build_option" >> .options
6192 # skip all other compiler defines
6197 # sort the compile time defines (helps ensure that changes in this configure
6198 # script don't affect the QT_BUILD_KEY generation)
6199 if [ -f .options
]; then
6200 for opt
in `sort -f .options | uniq`; do
6201 BUILD_OPTIONS
="$BUILD_OPTIONS $opt"
6206 BUILD_OPTIONS
="$BUILD_CONFIG $BUILD_OPTIONS"
6207 # extract the operating system from the XPLATFORM
6208 TARGET_OPERATING_SYSTEM
=`echo $XPLATFORM | cut -f 2- -d/ | cut -f -1 -d-`
6210 # when cross-compiling, don't include build-host information (build key is target specific)
6211 QT_BUILD_KEY
="$CFG_USER_BUILD_KEY $CFG_ARCH $TARGET_OPERATING_SYSTEM $COMPILER $BUILD_OPTIONS"
6212 if [ -n "$QT_NAMESPACE" ]; then
6213 QT_BUILD_KEY
="$QT_BUILD_KEY $QT_NAMESPACE"
6215 MAC_NEED_TWO_BUILD_KEYS
="no"
6216 if [ "$PLATFORM_MAC" = "yes" -a "$CFG_MAC_COCOA" = "yes" ]; then
6217 QT_BUILD_KEY_CARBON
=$QT_BUILD_KEY
6218 TARGET_OPERATING_SYSTEM
="$TARGET_OPERATING_SYSTEM-cocoa"
6219 QT_BUILD_KEY_COCOA
="$CFG_USER_BUILD_KEY $CFG_ARCH $TARGET_OPERATING_SYSTEM $COMPILER $BUILD_OPTIONS"
6220 if [ "$CFG_MAC_CARBON" = "no" ]; then
6221 QT_BUILD_KEY
=$QT_BUILD_KEY_COCOA
6223 MAC_NEED_TWO_BUILD_KEYS
="yes"
6226 # don't break loading plugins build with an older version of Qt
6227 QT_BUILD_KEY_COMPAT
=
6228 if [ "$QT_CROSS_COMPILE" = "no" ]; then
6229 # previous versions of Qt used a build key built from the uname
6230 QT_BUILD_KEY_COMPAT
="$CFG_USER_BUILD_KEY $UNAME_MACHINE $UNAME_SYSTEM $COMPILER $BUILD_OPTIONS"
6231 if [ -n "$QT_NAMESPACE" ]; then
6232 QT_BUILD_KEY_COMPAT
="$QT_BUILD_KEY_COMPAT $QT_NAMESPACE"
6235 # strip out leading/trailing/extra whitespace
6236 QT_BUILD_KEY
=`echo $QT_BUILD_KEY | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
6237 QT_BUILD_KEY_COMPAT
=`echo $QT_BUILD_KEY_COMPAT | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
6239 #-------------------------------------------------------------------------------
6240 # part of configuration information goes into qconfig.h
6241 #-------------------------------------------------------------------------------
6243 case "$CFG_QCONFIG" in
6245 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
6248 tmpconfig
="$outpath/src/corelib/global/qconfig.h.new"
6249 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
6250 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
6251 echo "#endif" >>"$tmpconfig"
6255 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6259 # define QT_EDITION $QT_EDITION
6262 /* Machine byte-order */
6263 #define Q_BIG_ENDIAN 4321
6264 #define Q_LITTLE_ENDIAN 1234
6267 if [ "$MAC_NEED_TWO_BUILD_KEYS" = "no" ]; then
6268 echo "#define QT_BUILD_KEY \"$QT_BUILD_KEY\"" \
6269 >> "$outpath/src/corelib/global/qconfig.h.new"
6271 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6273 #define QT_BUILD_KEY_CARBON "$QT_BUILD_KEY_CARBON"
6274 #define QT_BUILD_KEY_COCOA "$QT_BUILD_KEY_COCOA"
6278 if [ -n "$QT_BUILD_KEY_COMPAT" ]; then
6279 echo "#define QT_BUILD_KEY_COMPAT \"$QT_BUILD_KEY_COMPAT\"" \
6280 >> "$outpath/src/corelib/global/qconfig.h.new"
6282 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6284 echo "#ifdef QT_BOOTSTRAPPED" >>"$outpath/src/corelib/global/qconfig.h.new"
6285 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
6286 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6287 #if defined(__BIG_ENDIAN__)
6288 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6289 #elif defined(__LITTLE_ENDIAN__)
6290 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6292 # error "Unable to determine byte order!"
6296 echo "#define Q_BYTE_ORDER $CFG_HOST_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6298 echo "#else" >>"$outpath/src/corelib/global/qconfig.h.new"
6299 if [ "$CFG_ENDIAN" = "auto" ]; then
6300 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6301 #if defined(__BIG_ENDIAN__)
6302 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6303 #elif defined(__LITTLE_ENDIAN__)
6304 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6306 # error "Unable to determine byte order!"
6310 echo "#define Q_BYTE_ORDER $CFG_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6312 echo "#endif" >>"$outpath/src/corelib/global/qconfig.h.new"
6314 if [ "$CFG_DOUBLEFORMAT" != "normal" ]; then
6315 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6316 /* Non-IEEE double format */
6317 #define Q_DOUBLE_LITTLE "01234567"
6318 #define Q_DOUBLE_BIG "76543210"
6319 #define Q_DOUBLE_LITTLE_SWAPPED "45670123"
6320 #define Q_DOUBLE_BIG_SWAPPED "32107654"
6321 #define Q_DOUBLE_FORMAT $CFG_DOUBLEFORMAT
6324 if [ "$CFG_ARMFPA" = "yes" ]; then
6325 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
6326 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6327 #ifndef QT_BOOTSTRAPPED
6332 echo "#define QT_ARMFPA" >>"$outpath/src/corelib/global/qconfig.h.new"
6336 CFG_ARCH_STR
=`echo $CFG_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6337 CFG_HOST_ARCH_STR
=`echo $CFG_HOST_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6338 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6339 /* Machine Architecture */
6340 #ifndef QT_BOOTSTRAPPED
6341 # define QT_ARCH_${CFG_ARCH_STR}
6343 # define QT_ARCH_${CFG_HOST_ARCH_STR}
6347 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
6348 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
6350 if [ "$CFG_LARGEFILE" = "yes" ]; then
6351 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
6354 # if both carbon and cocoa are specified, enable the autodetection code.
6355 if [ "$CFG_MAC_COCOA" = "yes" -a "$CFG_MAC_CARBON" = "yes" ]; then
6356 echo "#define AUTODETECT_COCOA 1" >>"$outpath/src/corelib/global/qconfig.h.new"
6357 elif [ "$CFG_MAC_COCOA" = "yes" ]; then
6358 echo "#define QT_MAC_USE_COCOA 1" >>"$outpath/src/corelib/global/qconfig.h.new"
6361 if [ "$CFG_FRAMEWORK" = "yes" ]; then
6362 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
6365 if [ "$PLATFORM_MAC" = "yes" ]; then
6366 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6367 #if defined(__LP64__)
6368 # define QT_POINTER_SIZE 8
6370 # define QT_POINTER_SIZE 4
6374 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6375 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
6379 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6381 if [ "$CFG_DEV" = "yes" ]; then
6382 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
6385 # Embedded compile time options
6386 if [ "$PLATFORM_QWS" = "yes" ]; then
6387 # Add QWS to config.h
6388 QCONFIG_FLAGS
="$QCONFIG_FLAGS Q_WS_QWS"
6390 # Add excluded decorations to $QCONFIG_FLAGS
6391 decors
=`grep '^decorations -= ' "$QMAKE_VARS_FILE" | ${AWK} '{print $3}'`
6392 for decor
in $decors; do
6393 NODECORATION
=`echo $decor | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6394 QCONFIG_FLAGS
="${QCONFIG_FLAGS} QT_NO_QWS_DECORATION_${NODECORATION}"
6397 # Figure which embedded drivers which are turned off
6398 CFG_GFX_OFF
="$CFG_GFX_AVAILABLE"
6399 for ADRIVER
in $CFG_GFX_ON; do
6400 CFG_GFX_OFF
=`echo "${CFG_GFX_OFF} " | sed "s,${ADRIVER} ,,g"`
6403 CFG_KBD_OFF
="$CFG_KBD_AVAILABLE"
6404 # the um driver is currently not in the available list for external builds
6405 if [ "$CFG_DEV" = "no" ]; then
6406 CFG_KBD_OFF
="$CFG_KBD_OFF um"
6408 for ADRIVER
in $CFG_KBD_ON; do
6409 CFG_KBD_OFF
=`echo "${CFG_KBD_OFF} " | sed "s,${ADRIVER} ,,g"`
6412 CFG_MOUSE_OFF
="$CFG_MOUSE_AVAILABLE"
6413 for ADRIVER
in $CFG_MOUSE_ON; do
6414 CFG_MOUSE_OFF
=`echo "${CFG_MOUSE_OFF} " | sed "s,${ADRIVER} ,,g"`
6417 for DRIVER
in $CFG_GFX_OFF; do
6418 NODRIVER
=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6419 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_QWS_$NODRIVER"
6422 for DRIVER
in $CFG_KBD_OFF; do
6423 NODRIVER
=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6424 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_QWS_KBD_$NODRIVER"
6427 for DRIVER
in $CFG_MOUSE_OFF; do
6428 NODRIVER
=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6429 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_QWS_MOUSE_$NODRIVER"
6433 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
6434 QCONFIG_FLAGS
="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
6437 # Add turned on SQL drivers
6438 for DRIVER
in $CFG_SQL_AVAILABLE; do
6439 eval "VAL=\$CFG_SQL_$DRIVER"
6442 ONDRIVER
=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6443 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
6444 SQL_DRIVERS
="$SQL_DRIVERS $DRIVER"
6447 SQL_PLUGINS
="$SQL_PLUGINS $DRIVER"
6453 QMakeVar
set sql-drivers
"$SQL_DRIVERS"
6454 QMakeVar
set sql-plugins
"$SQL_PLUGINS"
6456 # Add other configuration options to the qconfig.h file
6457 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
6458 [ "$CFG_TIFF" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_TIFF"
6459 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
6460 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
6461 [ "$CFG_MNG" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_MNG"
6462 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_ZLIB"
6463 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
6464 [ "$CFG_IPV6" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IPV6"
6465 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SXE"
6466 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_DBUS"
6468 if [ "$PLATFORM_QWS" != "yes" ]; then
6469 [ "$CFG_GRAPHICS_SYSTEM" = "raster" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_RASTER"
6470 [ "$CFG_GRAPHICS_SYSTEM" = "opengl" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_OPENGL"
6473 # X11/Unix/Mac only configs
6474 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_CUPS"
6475 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_ICONV"
6476 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_GLIB"
6477 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_GSTREAMER"
6478 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
6479 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
6480 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_MREMAP"
6481 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
6482 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
6483 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
6484 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_INOTIFY"
6485 [ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_NAS"
6486 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_NIS"
6487 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_OPENSSL"
6488 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
6490 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
6491 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XCURSOR"
6492 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XFIXES"
6493 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
6494 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XINERAMA"
6495 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XKB"
6496 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XRANDR"
6497 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XRENDER"
6498 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_MITSHM"
6499 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SHAPE"
6500 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
6502 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
6503 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
6504 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
6505 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
6506 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
6508 # sort QCONFIG_FLAGS for neatness if we can
6509 [ '!' -z "$AWK" ] && QCONFIG_FLAGS
=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
6510 QCONFIG_FLAGS
=`echo $QCONFIG_FLAGS`
6512 if [ -n "$QCONFIG_FLAGS" ]; then
6513 for cfg
in $QCONFIG_FLAGS; do
6514 cfgd
=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
6515 cfg
=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
6516 # figure out define logic, so we can output the correct
6517 # ifdefs to override the global defines in a project
6519 if [ true
] && echo "$cfgd" |
grep 'QT_NO_' >/dev
/null
2>&1; then
6520 # QT_NO_option can be forcefully turned on by QT_option
6521 cfgdNeg
=`echo $cfgd | sed "s,QT_NO_,QT_,"`
6522 elif [ true
] && echo "$cfgd" |
grep 'QT_' >/dev
/null
2>&1; then
6523 # QT_option can be forcefully turned off by QT_NO_option
6524 cfgdNeg
=`echo $cfgd | sed "s,QT_,QT_NO_,"`
6527 if [ -z $cfgdNeg ]; then
6528 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6535 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6536 #if defined($cfgd) && defined($cfgdNeg)
6538 #elif !defined($cfgd) && !defined($cfgdNeg)
6547 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
6548 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6549 #define QT_VISIBILITY_AVAILABLE
6554 # avoid unecessary rebuilds by copying only if qconfig.h has changed
6555 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
6556 rm -f "$outpath/src/corelib/global/qconfig.h.new"
6558 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w
"$outpath/src/corelib/global/qconfig.h"
6559 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
6560 chmod -w "$outpath/src/corelib/global/qconfig.h"
6561 for conf
in "$outpath/include/QtCore/qconfig.h" "$outpath/include/Qt/qconfig.h"; do
6562 if [ '!' -f "$conf" ]; then
6563 ln -s "$outpath/src/corelib/global/qconfig.h" "$conf"
6568 #-------------------------------------------------------------------------------
6569 # save configuration into qconfig.pri
6570 #-------------------------------------------------------------------------------
6572 QTCONFIG
="$outpath/mkspecs/qconfig.pri"
6573 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG no_mocdepend"
6574 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
6575 if [ "$CFG_DEBUG" = "yes" ]; then
6576 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG debug"
6577 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6578 QT_CONFIG
="$QT_CONFIG release"
6580 QT_CONFIG
="$QT_CONFIG debug"
6581 elif [ "$CFG_DEBUG" = "no" ]; then
6582 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG release"
6583 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6584 QT_CONFIG
="$QT_CONFIG debug"
6586 QT_CONFIG
="$QT_CONFIG release"
6588 if [ "$CFG_STL" = "yes" ]; then
6589 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG stl"
6591 if [ "$CFG_FRAMEWORK" = "no" ]; then
6592 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG qt_no_framework"
6594 QT_CONFIG
="$QT_CONFIG qt_framework"
6595 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG qt_framework"
6597 if [ "$PLATFORM_MAC" = "yes" ]; then
6598 QT_CONFIG
="$QT_CONFIG $CFG_MAC_ARCHS"
6601 # Make the application arch follow the Qt arch for single arch builds.
6602 # (for multiple-arch builds, set CONFIG manually in the application .pro file)
6603 if [ `echo "$CFG_MAC_ARCHS" | wc -w` -eq 1 ]; then
6604 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG $CFG_MAC_ARCHS"
6607 cat >>"$QTCONFIG.tmp" <<EOF
6609 CONFIG += $QTCONFIG_CONFIG
6611 QT_EDITION = $Edition
6612 QT_CONFIG += $QT_CONFIG
6615 QT_VERSION = $QT_VERSION
6616 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
6617 QT_MINOR_VERSION = $QT_MINOR_VERSION
6618 QT_PATCH_VERSION = $QT_PATCH_VERSION
6621 QT_LIBINFIX = $QT_LIBINFIX
6622 QT_NAMESPACE = $QT_NAMESPACE
6623 QT_NAMESPACE_MAC_CRC = $QT_NAMESPACE_MAC_CRC
6626 if [ "$CFG_RPATH" = "yes" ]; then
6627 echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
6629 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
6630 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
6631 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
6632 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
6634 # replace qconfig.pri if it differs from the newly created temp file
6635 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
6636 rm -f "$QTCONFIG.tmp"
6638 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
6641 #-------------------------------------------------------------------------------
6642 # save configuration into .qmake.cache
6643 #-------------------------------------------------------------------------------
6645 CACHEFILE
="$outpath/.qmake.cache"
6646 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
6647 cat >>"$CACHEFILE.tmp" <<EOF
6648 CONFIG += $QMAKE_CONFIG dylib create_prl link_prl depend_includepath fix_output_dirs QTDIR_build
6649 QT_SOURCE_TREE = \$\$quote($relpath)
6650 QT_BUILD_TREE = \$\$quote($outpath)
6651 QT_BUILD_PARTS = $CFG_BUILD_PARTS
6652 QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
6653 QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
6655 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
6656 QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
6657 QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
6658 QMAKE_UIC3 = \$\$QT_BUILD_TREE/bin/uic3
6659 QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
6660 QMAKE_QDBUSXML2CPP = \$\$QT_BUILD_TREE/bin/qdbusxml2cpp
6661 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
6662 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
6666 if [ -n "$QT_CFLAGS_PSQL" ]; then
6667 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$CACHEFILE.tmp"
6669 if [ -n "$QT_LFLAGS_PSQL" ]; then
6670 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$CACHEFILE.tmp"
6672 if [ -n "$QT_CFLAGS_MYSQL" ]; then
6673 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$CACHEFILE.tmp"
6675 if [ -n "$QT_LFLAGS_MYSQL" ]; then
6676 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$CACHEFILE.tmp"
6678 if [ -n "$QT_CFLAGS_SQLITE" ]; then
6679 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$CACHEFILE.tmp"
6681 if [ -n "$QT_LFLAGS_SQLITE" ]; then
6682 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$CACHEFILE.tmp"
6685 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
6686 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$CACHEFILE.tmp"
6689 #dump in the OPENSSL_LIBS info
6690 if [ '!' -z "$OPENSSL_LIBS" ]; then
6691 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$CACHEFILE.tmp"
6692 elif [ "$CFG_OPENSSL" = "linked" ]; then
6693 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$CACHEFILE.tmp"
6696 #dump in the SDK info
6697 if [ '!' -z "$CFG_SDK" ]; then
6698 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$CACHEFILE.tmp"
6701 # mac gcc -Xarch support
6702 if [ "$CFG_MAC_XARCH" = "no" ]; then
6703 echo "QMAKE_MAC_XARCH = no" >> "$CACHEFILE.tmp"
6706 #dump the qmake spec
6707 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
6708 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
6710 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
6714 cat "$QMAKE_VARS_FILE" >> "$CACHEFILE.tmp"
6715 rm -f "$QMAKE_VARS_FILE" 2>/dev
/null
6719 [ "$CFG_INCREMENTAL" = "auto" ] && "$WHICH" p4
>/dev
/null
2>&1 && [ "$CFG_DEV" = "yes" ] && CFG_INCREMENTAL
="yes"
6720 if [ "$CFG_INCREMENTAL" = "yes" ]; then
6721 find "$relpath" -perm u
+w
-mtime -3 |
grep 'cpp$' |
while read f
; do
6722 # don't need to worry about generated files
6723 [ -r `echo $f | sed "s,cpp$,ui,"` ] && continue
6724 basename "$f" |
grep '^moc_' >/dev
/null
2>&1 && continue
6726 INCREMENTAL
="$INCREMENTAL `basename \"$f\" | sed 's,.cpp,.o,'`"
6728 [ '!' -z "$INCREMENTAL" ] && echo "QMAKE_INCREMENTAL += $INCREMENTAL" >> "$CACHEFILE.tmp"
6729 [ -r "$outpath/.qmake.incremental" ] && echo "include($outpath/.qmake.incremental)" >> "$CACHEFILE.tmp"
6732 # replace .qmake.cache if it differs from the newly created temp file
6733 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
6734 rm -f "$CACHEFILE.tmp"
6736 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
6739 #-------------------------------------------------------------------------------
6740 # give feedback on configuration
6741 #-------------------------------------------------------------------------------
6745 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6748 This target is using the GNU C++ compiler ($PLATFORM).
6750 Recent versions of this compiler automatically include code for
6751 exceptions, which increase both the size of the Qt libraries and
6752 the amount of memory taken by your applications.
6754 You may choose to re-run `basename $0` with the -no-exceptions
6755 option to compile Qt without exceptions. This is completely binary
6756 compatible, and existing applications will continue to work.
6764 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6767 This target is using the MIPSpro C++ compiler ($PLATFORM).
6769 You may choose to re-run `basename $0` with the -no-exceptions
6770 option to compile Qt without exceptions. This will make the
6771 size of the Qt library smaller and reduce the amount of memory
6772 taken by your applications.
6783 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" == "no" ] && [ "$CFG_WEBKIT" = "yes" ] && [ "$CFG_DEBUG_RELEASE" == "yes" ]; then
6785 WARNING: DWARF2 debug symbols are not enabled. Linking webkit
6786 in debug mode will run out of memory on systems with 2GB or less.
6787 Install Xcode 2.4.1 or higher to enable DWARF2, or configure with
6788 -no-webkit or -release to skip webkit debug.
6793 if [ "$XPLATFORM" = "$PLATFORM" ]; then
6794 echo "Build type: $PLATFORM"
6796 echo "Building on: $PLATFORM"
6797 echo "Building for: $XPLATFORM"
6800 if [ "$PLATFORM_MAC" = "yes" ]; then
6801 echo "Architecture: $CFG_ARCH ($CFG_MAC_ARCHS )"
6803 echo "Architecture: $CFG_ARCH"
6806 if [ "$PLATFORM_QWS" = "yes" ]; then
6807 echo "Host architecture: $CFG_HOST_ARCH"
6810 if [ "$PLATFORM_MAC" = "yes" ]; then
6811 if [ "$CFG_MAC_COCOA" = "yes" ]; then
6812 if [ "$CFG_MAC_CARBON" = "yes" ]; then
6813 echo "Using framework: Carbon for 32-bit, Cocoa for 64-bit"
6815 echo "Using framework: Cocoa"
6818 echo "Using framework: Carbon"
6822 if [ -n "$PLATFORM_NOTES" ]; then
6823 echo "Platform notes:"
6824 echo "$PLATFORM_NOTES"
6829 if [ "$OPT_VERBOSE" = "yes" ]; then
6830 if echo '\c' |
grep '\c' >/dev
/null
; then
6831 echo -n "qmake vars .......... "
6833 echo "qmake vars .......... \c"
6835 cat "$QMAKE_VARS_FILE" |
tr '\n' ' '
6836 echo "qmake switches ...... $QMAKE_SWITCHES"
6839 [ "$CFG_INCREMENTAL" = "yes" ] && [ '!' -z "$INCREMENTAL" ] && echo "Incremental ......... $INCREMENTAL"
6840 echo "Build ............... $CFG_BUILD_PARTS"
6841 echo "Configuration ....... $QMAKE_CONFIG $QT_CONFIG"
6842 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6843 echo "Debug ............... yes (combined)"
6844 if [ "$CFG_DEBUG" = "yes" ]; then
6845 echo "Default Link ........ debug"
6847 echo "Default Link ........ release"
6850 echo "Debug ............... $CFG_DEBUG"
6852 echo "Qt 3 compatibility .. $CFG_QT3SUPPORT"
6853 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module ....... no"
6854 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module ....... yes (run-time)"
6855 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module ....... yes (linked)"
6856 echo "QtScriptTools module $CFG_SCRIPTTOOLS"
6857 echo "QtXmlPatterns module $CFG_XMLPATTERNS"
6858 echo "Phonon module ....... $CFG_PHONON"
6859 echo "SVG module .......... $CFG_SVG"
6860 echo "WebKit module ....... $CFG_WEBKIT"
6861 echo "STL support ......... $CFG_STL"
6862 echo "PCH support ......... $CFG_PRECOMPILE"
6863 echo "MMX/3DNOW/SSE/SSE2.. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}"
6864 if [ "${CFG_ARCH}" = "arm" ]; then
6865 echo "iWMMXt support ...... ${CFG_IWMMXT}"
6867 [ "${PLATFORM_QWS}" != "yes" ] && echo "Graphics System ..... $CFG_GRAPHICS_SYSTEM"
6868 echo "IPv6 support ........ $CFG_IPV6"
6869 echo "IPv6 ifname support . $CFG_IPV6IFNAME"
6870 echo "getaddrinfo support . $CFG_GETADDRINFO"
6871 echo "getifaddrs support .. $CFG_GETIFADDRS"
6872 echo "Accessibility ....... $CFG_ACCESSIBILITY"
6873 echo "NIS support ......... $CFG_NIS"
6874 echo "CUPS support ........ $CFG_CUPS"
6875 echo "Iconv support ....... $CFG_ICONV"
6876 echo "Glib support ........ $CFG_GLIB"
6877 echo "GStreamer support ... $CFG_GSTREAMER"
6878 echo "Large File support .. $CFG_LARGEFILE"
6879 echo "GIF support ......... $CFG_GIF"
6880 if [ "$CFG_TIFF" = "no" ]; then
6881 echo "TIFF support ........ $CFG_TIFF"
6883 echo "TIFF support ........ $CFG_TIFF ($CFG_LIBTIFF)"
6885 if [ "$CFG_JPEG" = "no" ]; then
6886 echo "JPEG support ........ $CFG_JPEG"
6888 echo "JPEG support ........ $CFG_JPEG ($CFG_LIBJPEG)"
6890 if [ "$CFG_PNG" = "no" ]; then
6891 echo "PNG support ......... $CFG_PNG"
6893 echo "PNG support ......... $CFG_PNG ($CFG_LIBPNG)"
6895 if [ "$CFG_MNG" = "no" ]; then
6896 echo "MNG support ......... $CFG_MNG"
6898 echo "MNG support ......... $CFG_MNG ($CFG_LIBMNG)"
6900 echo "zlib support ........ $CFG_ZLIB"
6901 echo "Session management .. $CFG_SM"
6902 if [ "$PLATFORM_QWS" = "yes" ]; then
6903 echo "Embedded support .... $CFG_EMBEDDED"
6904 if [ "$CFG_QWS_FREETYPE" = "auto" ]; then
6905 echo "Freetype2 support ... $CFG_QWS_FREETYPE ($CFG_LIBFREETYPE)"
6907 echo "Freetype2 support ... $CFG_QWS_FREETYPE"
6909 # Normalize the decoration output first
6910 CFG_GFX_ON
=`echo ${CFG_GFX_ON}`
6911 CFG_GFX_PLUGIN
=`echo ${CFG_GFX_PLUGIN}`
6912 echo "Graphics (qt) ....... ${CFG_GFX_ON}"
6913 echo "Graphics (plugin) ... ${CFG_GFX_PLUGIN}"
6914 CFG_DECORATION_ON
=`echo ${CFG_DECORATION_ON}`
6915 CFG_DECORATION_PLUGIN
=`echo ${CFG_DECORATION_PLUGIN}`
6916 echo "Decorations (qt) .... $CFG_DECORATION_ON"
6917 echo "Decorations (plugin) $CFG_DECORATION_PLUGIN"
6918 CFG_KBD_ON
=`echo ${CFG_KBD_ON}`
6919 CFG_KBD_PLUGIN
=`echo ${CFG_KBD_PLUGIN}`
6920 echo "Keyboard driver (qt). ${CFG_KBD_ON}"
6921 echo "Keyboard driver (plugin) ${CFG_KBD_PLUGIN}"
6922 CFG_MOUSE_ON
=`echo ${CFG_MOUSE_ON}`
6923 CFG_MOUSE_PLUGIN
=`echo ${CFG_MOUSE_PLUGIN}`
6924 echo "Mouse driver (qt) ... $CFG_MOUSE_ON"
6925 echo "Mouse driver (plugin) $CFG_MOUSE_PLUGIN"
6927 if [ "$CFG_OPENGL" = "desktop" ]; then
6928 echo "OpenGL support ...... yes (Desktop OpenGL)"
6929 elif [ "$CFG_OPENGL" = "es1" ]; then
6930 echo "OpenGL support ...... yes (OpenGL ES 1.x Common profile)"
6931 elif [ "$CFG_OPENGL" = "es1cl" ]; then
6932 echo "OpenGL support ...... yes (OpenGL ES 1.x Common Lite profile)"
6933 elif [ "$CFG_OPENGL" = "es2" ]; then
6934 echo "OpenGL support ...... yes (OpenGL ES 2.x)"
6936 echo "OpenGL support ...... no"
6938 if [ "$PLATFORM_X11" = "yes" ]; then
6939 echo "NAS sound support ... $CFG_NAS"
6940 echo "XShape support ...... $CFG_XSHAPE"
6941 echo "Xinerama support .... $CFG_XINERAMA"
6942 echo "Xcursor support ..... $CFG_XCURSOR"
6943 echo "Xfixes support ...... $CFG_XFIXES"
6944 echo "Xrandr support ...... $CFG_XRANDR"
6945 echo "Xrender support ..... $CFG_XRENDER"
6946 echo "Xi support .......... $CFG_XINPUT"
6947 echo "MIT-SHM support ..... $CFG_MITSHM"
6948 echo "FontConfig support .. $CFG_FONTCONFIG"
6949 echo "XKB Support ......... $CFG_XKB"
6950 echo "immodule support .... $CFG_IM"
6951 echo "GTK theme support ... $CFG_QGTKSTYLE"
6953 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support ....... $CFG_SQL_mysql"
6954 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support .. $CFG_SQL_psql"
6955 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........ $CFG_SQL_odbc"
6956 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ......... $CFG_SQL_oci"
6957 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ......... $CFG_SQL_tds"
6958 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ......... $CFG_SQL_db2"
6959 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ... $CFG_SQL_ibase"
6960 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support .... $CFG_SQL_sqlite2"
6961 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ...... $CFG_SQL_sqlite ($CFG_SQLITE)"
6964 if [ "$CFG_OPENSSL" = "yes" ]; then
6965 OPENSSL_LINKAGE
="(run-time)"
6966 elif [ "$CFG_OPENSSL" = "linked" ]; then
6967 OPENSSL_LINKAGE
="(linked)"
6969 echo "OpenSSL support ..... $CFG_OPENSSL $OPENSSL_LINKAGE"
6971 [ "$CFG_PTMALLOC" != "no" ] && echo "Use ptmalloc ........ $CFG_PTMALLOC"
6973 # complain about not being able to use dynamic plugins if we are using a static build
6974 if [ "$CFG_SHARED" = "no" ]; then
6976 echo "WARNING: Using static linking will disable the use of dynamically"
6977 echo "loaded plugins. Make sure to import all needed static plugins,"
6978 echo "or compile needed modules into the library."
6981 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
6983 echo "NOTE: When linking against OpenSSL, you can override the default"
6984 echo "library names through OPENSSL_LIBS."
6986 echo " ./configure -openssl-linked OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto'"
6989 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
6991 echo "NOTE: Mac OS X frameworks implicitly build debug and release Qt libraries."
6996 sepath
=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
7001 #-------------------------------------------------------------------------------
7002 # build makefiles based on the configuration
7003 #-------------------------------------------------------------------------------
7005 echo "Finding project files. Please wait..."
7006 "$outpath/bin/qmake" -prl -r "${relpath}/projects.pro"
7007 if [ -f "${relpath}/projects.pro" ]; then
7008 mkfile
="${outpath}/Makefile"
7009 [ -f "$mkfile" ] && chmod +w
"$mkfile"
7010 QTDIR
="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/projects.pro" -o "$mkfile"
7013 # .projects -> projects to process
7014 # .projects.1 -> qt and moc
7015 # .projects.2 -> subdirs and libs
7016 # .projects.3 -> the rest
7017 rm -f .projects .projects
.1 .projects
.2 .projects
.3
7019 QMAKE_PROJECTS
=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
7020 if [ -z "$AWK" ]; then
7021 for p
in `echo $QMAKE_PROJECTS`; do
7022 echo "$p" >> .projects
7025 cat >projects.
awk <<EOF
7031 first = "./.projects.1.tmp"
7032 second = "./.projects.2.tmp"
7033 third = "./.projects.3.tmp"
7038 if ( ! target_file )
7040 print input_file >target_file
7045 input_file = FILENAME
7050 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
7056 matched_target == 0 && /^(TEMPLATE.*=)/ {
7057 if ( \$3 == "subdirs" )
7058 target_file = second
7059 else if ( \$3 == "lib" )
7065 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
7066 if ( \$0 ~ /plugin/ )
7069 target_file = second
7074 if ( ! target_file )
7076 print input_file >>target_file
7083 for p
in `echo $QMAKE_PROJECTS`; do
7084 echo "$p" >> .projects.all
7087 # if you get errors about the length of the command line to awk, change the -l arg
7089 split -l 100 .projects.all .projects.all.
7090 for p
in .projects.all.
*; do
7091 "$AWK" -f projects.
awk `cat $p`
7092 [ -f .projects
.1.tmp
] && cat .projects
.1.tmp
>> .projects
.1
7093 [ -f .projects
.2.tmp
] && cat .projects
.2.tmp
>> .projects
.2
7094 [ -f .projects
.3.tmp
] && cat .projects
.3.tmp
>> .projects
.3
7095 rm -f .projects
.1.tmp .projects
.2.tmp .projects
.3.tmp
$p
7097 rm -f .projects.all
* projects.
awk
7099 [ -f .projects
.1 ] && cat .projects
.1 >>.projects
7100 [ -f .projects
.2 ] && cat .projects
.2 >>.projects
7101 rm -f .projects
.1 .projects
.2
7102 if [ -f .projects
.3 ] && [ "$OPT_FAST" = "no" ]; then
7103 cat .projects
.3 >>.projects
7107 # don't sort Qt and MOC in with the other project files
7108 # also work around a segfaulting uniq(1)
7109 if [ -f .sorted.projects
.2 ]; then
7110 sort .sorted.projects
.2 > .sorted.projects
.2.new
7111 mv -f .sorted.projects
.2.new .sorted.projects
.2
7112 cat .sorted.projects
.2 >> .sorted.projects
.1
7114 [ -f .sorted.projects
.1 ] && sort .sorted.projects
.1 >> .sorted.projects
7115 rm -f .sorted.projects
.2 .sorted.projects
.1
7119 if [ -f .projects
]; then
7120 uniq .projects
>.tmp
7121 mv -f .tmp .projects
7122 NORM_PROJECTS
=`cat .projects | wc -l | sed -e "s, ,,g"`
7124 if [ -f .projects
.3 ]; then
7125 uniq .projects
.3 >.tmp
7126 mv -f .tmp .projects
.3
7127 FAST_PROJECTS
=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
7129 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
7133 for part
in $CFG_BUILD_PARTS; do
7135 tools
) PART_ROOTS
="$PART_ROOTS tools" ;;
7136 libs
) PART_ROOTS
="$PART_ROOTS src" ;;
7137 examples
) PART_ROOTS
="$PART_ROOTS examples demos" ;;
7142 if [ "$CFG_DEV" = "yes" ]; then
7143 PART_ROOTS
="$PART_ROOTS tests"
7146 echo "Creating makefiles. Please wait..."
7147 for file in .projects .projects
.3; do
7148 [ '!' -f "$file" ] && continue
7149 for a
in `cat $file`; do
7151 for r
in $PART_ROOTS; do
7152 if echo "$a" |
grep "^$r" >/dev
/null
2>&1 ||
echo "$a" |
grep "^$relpath/$r" >/dev
/null
2>&1; then
7157 [ "$IN_ROOT" = "no" ] && continue
7160 *winmain
/winmain.pro
) continue ;;
7161 */qmake
/qmake.pro
) continue ;;
7162 *tools
/bootstrap
*|
*tools
/moc
*|
*tools
/rcc
*|
*tools
/uic
*) SPEC
=$QMAKESPEC ;;
7163 *) SPEC
=$XQMAKESPEC ;;
7165 dir
=`dirname $a | sed -e "s;$sepath;.;g"`
7166 test -d "$dir" || mkdir
-p "$dir"
7167 OUTDIR
="$outpath/$dir"
7168 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
7169 # fast configure - the makefile exists, skip it
7170 # since the makefile exists, it was generated by qmake, which means we
7171 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
7173 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
7176 QMAKE_SPEC_ARGS
="-spec $SPEC"
7177 if echo '\c' |
grep '\c' >/dev
/null
; then
7183 QMAKE
="$outpath/bin/qmake"
7184 QMAKE_ARGS
="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
7185 if [ "$file" = ".projects.3" ]; then
7186 if echo '\c' |
grep '\c' >/dev
/null
; then
7193 cat >"${OUTDIR}/Makefile" <<EOF
7194 # ${OUTDIR}/Makefile: generated by configure
7196 # WARNING: This makefile will be replaced with a real makefile.
7197 # All changes made to this file will be lost.
7199 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
7201 cat >>"${OUTDIR}/Makefile" <<EOF
7203 all clean install qmake first Makefile: FORCE
7204 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
7212 if [ "$OPT_VERBOSE" = "yes" ]; then
7213 echo " (`basename $SPEC`)"
7214 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7219 [ -f "${OUTDIR}/Makefile" ] && chmod +w
"${OUTDIR}/Makefile"
7220 QTDIR
="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7224 rm -f .projects .projects
.3
7226 #-------------------------------------------------------------------------------
7227 # XShape is important, DnD in the Designer doens't work without it
7228 #-------------------------------------------------------------------------------
7229 if [ "$PLATFORM_X11" = "yes" ] && [ "$CFG_XSHAPE" = "no" ]; then
7232 NOTICE: Qt will not be built with XShape support.
7234 As a result, drag-and-drop in the Qt Designer will NOT
7235 work. We recommend that you enable XShape support by passing
7236 the -xshape switch to $0.
7240 #-------------------------------------------------------------------------------
7241 # check for platforms that we don't yet know about
7242 #-------------------------------------------------------------------------------
7243 if [ "$CFG_ARCH" = "generic" ]; then
7246 NOTICE: Atomic operations are not yet supported for this
7249 Qt will use the 'generic' architecture instead, which uses a
7250 single pthread_mutex_t to protect all atomic operations. This
7251 implementation is the slow (but safe) fallback implementation
7252 for architectures Qt does not yet support.
7256 #-------------------------------------------------------------------------------
7257 # check if the user passed the -no-zlib option, which is no longer supported
7258 #-------------------------------------------------------------------------------
7259 if [ -n "$ZLIB_FORCED" ]; then
7260 which_zlib
="supplied"
7261 if [ "$CFG_ZLIB" = "system" ]; then
7267 NOTICE: The -no-zlib option was supplied but is no longer
7270 Qt now requires zlib support in all builds, so the -no-zlib
7271 option was ignored. Qt will be built using the $which_zlib
7276 #-------------------------------------------------------------------------------
7277 # finally save the executed command to another script
7278 #-------------------------------------------------------------------------------
7279 if [ `basename $0` != "config.status" ]; then
7280 CONFIG_STATUS
="$relpath/$relconf $OPT_CMDLINE"
7282 # add the system variables
7283 for varname
in $SYSTEM_VARIABLES; do
7285 'if [ -n "\$'${varname}'" ]; then
7286 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
7291 echo "$CONFIG_STATUS" |
grep '\-confirm\-license' >/dev
/null
2>&1 || CONFIG_STATUS
="$CONFIG_STATUS -confirm-license"
7293 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
7294 echo "#!/bin/sh" > "$outpath/config.status"
7295 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
7296 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
7297 echo "else" >> "$outpath/config.status"
7298 echo " $CONFIG_STATUS" >> "$outpath/config.status"
7299 echo "fi" >> "$outpath/config.status"
7300 chmod +x
"$outpath/config.status"
7303 if [ -n "$RPATH_MESSAGE" ]; then
7305 echo "$RPATH_MESSAGE"
7308 MAKE
=`basename $MAKE`
7310 echo Qt is now configured
for building. Just run
\'$MAKE\'.
7311 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
7312 echo Once everything is built
, Qt is installed.
7313 echo You should not run
\'$MAKE install\'.
7315 echo Once everything is built
, you must run
\'$MAKE install\'.
7316 echo Qt will be installed into
$QT_INSTALL_PREFIX
7319 echo To reconfigure
, run
\'$MAKE confclean
\' and
\'configure
\'.