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
206 if [ "$VAL" = "yes" ]; then
208 COMMERCIAL_USER
="yes" #doesn't matter we will display the help
211 COMMERCIAL_USER
="yes" #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 else [ "$commercial" = "o" ];
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
675 COMMANDLINE_MAC_COCOA
=no
677 CFG_PREFIX_INSTALL
=yes
685 XPLATFORM
= # This seems to be the QMAKESPEC, like "linux-g++"
688 OPT_CONFIRM_LICENSE
=no
694 CFG_GRAPHICS_SYSTEM
=default
696 # initalize variables used for installation
704 QT_INSTALL_TRANSLATIONS
=
710 #flags for SQL drivers
719 # flags for libdbus-1
723 # flags for Glib (X11 only)
727 # flags for GStreamer (X11 only)
731 #-------------------------------------------------------------------------------
732 # check SQL drivers, mouse drivers and decorations available in this package
733 #-------------------------------------------------------------------------------
735 # opensource version removes some drivers, so force them to be off
741 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
742 for a
in "$relpath/src/plugins/sqldrivers/"*; do
745 CFG_SQL_AVAILABLE
="${CFG_SQL_AVAILABLE} ${base_a}"
746 eval "CFG_SQL_${base_a}=auto"
751 CFG_DECORATION_PLUGIN_AVAILABLE
=
752 if [ -d "$relpath/src/plugins/decorations" ]; then
753 for a
in "$relpath/src/plugins/decorations/"*; do
756 CFG_DECORATION_PLUGIN_AVAILABLE
="${CFG_DECORATION_PLUGIN_AVAILABLE} ${base_a}"
761 CFG_KBD_PLUGIN_AVAILABLE
=
762 if [ -d "$relpath/src/plugins/kbddrivers" ]; then
763 for a
in "$relpath/src/plugins/kbddrivers/"*; do
766 CFG_KBD_PLUGIN_AVAILABLE
="${CFG_KBD_PLUGIN_AVAILABLE} ${base_a}"
771 CFG_MOUSE_PLUGIN_AVAILABLE
=
772 if [ -d "$relpath/src/plugins/mousedrivers" ]; then
773 for a
in "$relpath/src/plugins/mousedrivers/"*; do
776 CFG_MOUSE_PLUGIN_AVAILABLE
="${CFG_MOUSE_PLUGIN_AVAILABLE} ${base_a}"
781 CFG_GFX_PLUGIN_AVAILABLE
=
782 if [ -d "$relpath/src/plugins/gfxdrivers" ]; then
783 for a
in "$relpath/src/plugins/gfxdrivers/"*; do
786 CFG_GFX_PLUGIN_AVAILABLE
="${CFG_GFX_PLUGIN_AVAILABLE} ${base_a}"
789 CFG_GFX_OFF
="$CFG_GFX_AVAILABLE" # assume all off
792 #-------------------------------------------------------------------------------
793 # parse command line arguments
794 #-------------------------------------------------------------------------------
796 # parse the arguments, setting things to "yes" or "no"
797 while [ "$#" -gt 0 ]; do
801 #Autoconf style options
803 VAR
=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
807 VAR
=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
811 VAR
=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
812 VAL
=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
815 VAR
=`echo $1 | sed "s,^--no-\(.*\),\1,"`
819 VAR
=`echo $1 | sed "s,^--\(.*\),\1,"`
823 -no-*-*|
-plugin-*-*|
-qt-*-*)
824 VAR
=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
825 VAL
=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
829 VAR
=`echo $1 | sed "s,^-no-\(.*\),\1,"`
832 #Qt style yes options
833 -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)
834 VAR
=`echo $1 | sed "s,^-\(.*\),\1,"`
837 #Qt style options that pass an argument
839 if [ "$PLATFORM_QWS" = "yes" ]; then
841 VAR
=`echo $1 | sed "s,^-\(.*\),\1,"`
848 -prefix|
-docdir|
-headerdir|
-plugindir|
-datadir|
-libdir|
-bindir|
-translationdir|
-sysconfdir|
-examplesdir|
-demosdir|
-depths|
-make|
-nomake|
-platform|
-xplatform|
-buildkey|
-sdk|
-arch|
-host-arch|
-mysql_config)
849 VAR
=`echo $1 | sed "s,^-\(.*\),\1,"`
853 #Qt style complex options in one command
854 -enable-*|
-disable-*)
855 VAR
=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
856 VAL
=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
858 #Qt Builtin/System style options
859 -no-*|
-system-*|
-qt-*)
860 VAR
=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
861 VAL
=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
863 #Options that cannot be generalized
870 # this option may or may not be followed by an argument
871 if [ -z "$2" ] ||
echo "$2" |
grep '^-' >/dev
/null
2>&1; then
880 # this option may or may not be followed by an argument
881 if [ -z "$2" ] ||
echo "$2" |
grep '^-' >/dev
/null
2>&1; then
889 VAR
=`echo $1 | sed "s,^-\(.*\),\1,"`
890 # this option may or may not be followed by an argument
891 if [ -z "$2" ] ||
echo "$2" |
grep '^-' >/dev
/null
2>&1; then
900 VAL
=`echo $1 | sed "s,^-.*-\(.*\)-.*,\1,"`
904 VAL
=`echo $1 | sed "s,^-\(.*\)-.*,\1,"`
923 if [ "$1" = "-D" ]; then
927 VAL
=`echo $1 | sed 's,-D,,'`
932 if [ "$1" = "-I" ]; then
936 VAL
=`echo $1 | sed 's,-I,,'`
941 if [ "$1" = "-L" ]; then
945 VAL
=`echo $1 | sed 's,-L,,'`
950 if [ "$1" = "-R" ]; then
954 VAL
=`echo $1 | sed 's,-R,,'`
959 VAL
=`echo $1 | sed 's,-l,,'`
963 if [ "$1" = "-F" ]; then
967 VAL
=`echo $1 | sed 's,-F,,'`
972 if [ "$1" = "-fw" ]; then
976 VAL
=`echo $1 | sed 's,-fw,,'`
980 VAR
=`echo $1 | sed "s,^-\(.*\),\1,"`
987 if [ "$UNKNOWN_ARG" = "yes" ]; then
988 echo "$1: unknown argument"
999 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1000 CFG_QT3SUPPORT
="$VAL"
1006 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1007 CFG_ACCESSIBILITY
="$VAL"
1016 CFG_USE_GNUMAKE
="$VAL"
1019 CFG_MYSQL_CONFIG
="$VAL"
1022 QT_INSTALL_PREFIX
="$VAL"
1025 QT_HOST_PREFIX
="$VAL"
1028 QT_FORCE_PKGCONFIG
=yes
1031 QT_INSTALL_DOCS
="$VAL"
1034 QT_INSTALL_HEADERS
="$VAL"
1037 QT_INSTALL_PLUGINS
="$VAL"
1040 QT_INSTALL_DATA
="$VAL"
1043 QT_INSTALL_LIBS
="$VAL"
1052 QT_INSTALL_TRANSLATIONS
="$VAL"
1054 sysconfdir|settingsdir
)
1055 QT_INSTALL_SETTINGS
="$VAL"
1058 QT_INSTALL_EXAMPLES
="$VAL"
1061 QT_INSTALL_DEMOS
="$VAL"
1067 QT_INSTALL_BINS
="$VAL"
1070 CFG_USER_BUILD_KEY
="$VAL"
1077 if [ "$PLATFORM_QWS" != "no" ]; then
1078 if [ "$PLATFORM_QWS" = "maybe" ]; then
1084 echo "No license exists to enable Qt for Embedded Linux. Disabling."
1089 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1096 if [ "$VAL" = "little" ]; then
1097 CFG_ENDIAN
="Q_LITTLE_ENDIAN"
1098 elif [ "$VAL" = "big" ]; then
1099 CFG_ENDIAN
="Q_BIG_ENDIAN"
1105 if [ "$VAL" = "little" ]; then
1106 CFG_HOST_ENDIAN
="Q_LITTLE_ENDIAN"
1107 elif [ "$VAL" = "big" ]; then
1108 CFG_HOST_ENDIAN
="Q_BIG_ENDIAN"
1114 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1121 CFG_QWS_DEPTHS
="$VAL"
1124 if [ "$VAL" = "auto" ] ||
[ "$VAL" = "desktop" ] ||
1125 [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
1126 [ "$VAL" = "es1cl" ] ||
[ "$VAL" = "es1" ] ||
[ "$VAL" = "es2" ]; then
1133 if [ "$PLATFORM_QWS" = "yes" ]; then
1134 echo "Error: Graphics System plugins are not supported on QWS."
1135 echo " On QWS, the graphics system API is part of the QScreen plugin architecture "
1136 echo " rather than existing as a separate plugin."
1140 if [ "$VAL" = "opengl" ]; then
1141 CFG_GRAPHICS_SYSTEM
="opengl"
1142 elif [ "$VAL" = "raster" ]; then
1143 CFG_GRAPHICS_SYSTEM
="raster"
1150 qvfb
) # left for commandline compatibility, not documented
1151 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1152 if [ "$VAL" = "yes" ]; then
1153 QMakeVar add gfx-drivers qvfb
1154 QMakeVar add kbd-drivers qvfb
1155 QMakeVar add mouse-drivers qvfb
1156 CFG_GFX_ON
="$CFG_GFX_ON qvfb"
1157 CFG_KBD_ON
="$CFG_KBD_ON qvfb"
1158 CFG_MOUSE_ON
="$CFG_MOUSE_ON qvfb"
1165 CFG_NOBUILD_PARTS
="$CFG_NOBUILD_PARTS $VAL"
1168 CFG_BUILD_PARTS
="$CFG_BUILD_PARTS $VAL"
1171 if [ "$PLATFORM_MAC" = "yes" ]; then
1173 elif [ "$PLATFORM_QWS" = "yes" ]; then
1176 if [ "$CFG_FRAMEWORK" = "auto" ]; then
1182 if [ "$PLATFORM_MAC" = "yes" ]; then
1189 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1190 CFG_MAC_DWARF2
="$VAL"
1196 if [ "$PLATFORM_MAC" = "yes" ]; then
1197 CFG_MAC_ARCHS
="$CFG_MAC_ARCHS $VAL"
1206 if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1207 CFG_MAC_ARCHS
="$CFG_MAC_ARCHS x86 ppc"
1213 if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1214 CFG_MAC_COCOA
="$VAL"
1215 COMMANDLINE_MAC_COCOA
="$VAL"
1221 if [ "$PLATFORM_MAC" = "yes" ]; then
1222 CFG_FRAMEWORK
="$VAL"
1228 if [ "$VAL" = "yes" ]; then
1230 QMakeVar add QMAKE_CFLAGS
-pg
1231 QMakeVar add QMAKE_CXXFLAGS
-pg
1232 QMakeVar add QMAKE_LFLAGS
-pg
1233 QMAKE_VARS
="$QMAKE_VARS CONFIG+=nostrip"
1238 exceptions|g
++-exceptions)
1239 if [ "$VAL" = "no" ]; then
1241 elif [ "$VAL" = "yes" ]; then
1249 # keep compatibility with old platform names
1255 PLATFORM
=hpux-acc-o64
1258 PLATFORM
=hpux-acc-64
1261 PLATFORM
=hpux-acc-64
1273 PLATFORM
=reliant-cds-64
1276 PLATFORM
=solaris-cc-64
1279 PLATFORM
=solaris-cc-64
1282 PLATFORM
=unixware-cc
1285 PLATFORM
=unixware-g
++
1288 PLATFORM
=unixware-cc
1291 PLATFORM
=unixware-g
++
1297 i386
) NATIVE_64_ARCH
="x86_64" ;;
1298 powerpc
) NATIVE_64_ARCH
="ppc64" ;;
1299 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1301 if [ ! -z "$NATIVE_64_ARCH" ]; then
1302 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1303 CFG_MAC_ARCHS
="$CFG_MAC_ARCHS $NATIVE_64_ARCH"
1312 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1313 CFG_DEBUG_RELEASE
="$VAL"
1319 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1320 CFG_RELEASE_QMAKE
="$VAL"
1326 if [ "$VAL" = "yes" ]; then
1328 elif [ "$VAL" = "no" ]; then
1335 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1336 CFG_PREFIX_INSTALL
="$VAL"
1344 developer-build|commercial|opensource|nokia-developer
)
1345 # These switches have been dealt with already
1348 if [ "$VAL" = "yes" ]; then
1350 elif [ "$VAL" = "no" ]; then
1357 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1358 CFG_INCREMENTAL
="$VAL"
1364 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1365 CFG_CONFIGURE_EXIT_ON_ERROR
="$VAL"
1371 if [ "$PLATFORM_QWS" = "yes" ]; then
1372 FEATURE
=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1373 if [ "$VAL" = "no" ]; then
1374 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_$FEATURE"
1375 elif [ "$VAL" = "yes" ] ||
[ "$VAL" = "unknown" ]; then
1376 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_$FEATURE"
1385 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1392 [ "$VAL" = "qt" ] && VAL
=yes
1393 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1400 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1408 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "runtime" ]; then
1415 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1422 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "runtime" ]; then
1429 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1436 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1437 CFG_PRECOMPILE
="$VAL"
1442 separate-debug-info
)
1443 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1444 CFG_SEPARATE_DEBUG_INFO
="$VAL"
1450 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1451 CFG_REDUCE_EXPORTS
="$VAL"
1457 if [ "$VAL" = "no" ]; then
1464 if [ "$VAL" = "no" ]; then
1471 if [ "$VAL" = "no" ]; then
1478 if [ "$VAL" = "no" ]; then
1488 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1489 CFG_REDUCE_RELOCATIONS
="$VAL"
1495 [ "$VAL" = "qt" ] && VAL
=yes
1496 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1497 CFG_QWS_FREETYPE
="$VAL"
1503 [ "$VAL" = "qt" ] && VAL
=yes
1504 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1509 # No longer supported:
1510 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1513 if [ "$VAL" = "system" ]; then
1520 [ "$VAL" = "yes" ] && VAL
=qt
1521 if [ "$VAL" = "qt" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1528 [ "$VAL" = "yes" ] && VAL
=qt
1529 if [ "$VAL" = "qt" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1536 [ "$VAL" = "yes" ] && VAL
=qt
1537 if [ "$VAL" = "qt" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1544 [ "$VAL" = "yes" ] && VAL
=qt
1545 if [ "$VAL" = "qt" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "system" ]; then
1552 if [ "$VAL" = "system" ] ||
[ "$VAL" = "no" ]; then
1559 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "runtime" ]; then
1566 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "runtime" ]; then
1573 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "runtime" ]; then
1580 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1587 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1594 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1595 CFG_FONTCONFIG
="$VAL"
1601 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1608 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1615 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1622 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1629 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1630 CFG_GSTREAMER
="$VAL"
1636 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1637 CFG_QGTKSTYLE
="$VAL"
1643 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ] ||
[ "$VAL" = "linked" ]; then
1645 elif [ "$VAL" = "runtime" ]; then
1652 if [ "$VAL" = "yes" ]; then
1659 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1666 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1667 CFG_LARGEFILE
="$VAL"
1673 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1680 if [ "$VAL" = "yes" ]; then
1681 CFG_OPENSSL
="linked"
1687 if [ "$VAL" = "yes" ]; then
1695 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "auto" ]; then
1696 CFG_XMLPATTERNS
="yes"
1698 if [ "$VAL" = "no" ]; then
1699 CFG_XMLPATTERNS
="no"
1706 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "auto" ]; then
1707 CFG_SCRIPTTOOLS
="yes"
1709 if [ "$VAL" = "no" ]; then
1710 CFG_SCRIPTTOOLS
="no"
1717 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "auto" ]; then
1720 if [ "$VAL" = "no" ]; then
1728 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "auto" ]; then
1731 if [ "$VAL" = "no" ]; then
1739 if [ "$VAL" = "yes" ]; then
1740 OPT_CONFIRM_LICENSE
="$VAL"
1746 if [ "$VAL" = "yes" ]; then
1752 sql-
*|gfx-
*|decoration-
*|kbd-
*|mouse-
*)
1753 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1754 # if autoconf style options were used, $VAL can be "yes" or "no"
1755 [ "$VAL" = "yes" ] && VAL
=qt
1756 # now $VAL should be "no", "qt", or "plugin"... double-check
1757 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1760 # now $VAL is "no", "qt", or "plugin"
1762 VAL
=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1763 VAR
=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1765 # Grab the available values
1768 avail
="$CFG_SQL_AVAILABLE"
1771 avail
="$CFG_GFX_AVAILABLE"
1772 if [ "$OPT" = "plugin" ]; then
1773 avail
="$CFG_GFX_PLUGIN_AVAILABLE"
1777 avail
="$CFG_DECORATION_AVAILABLE"
1778 if [ "$OPT" = "plugin" ]; then
1779 avail
="$CFG_DECORATION_PLUGIN_AVAILABLE"
1783 avail
="$CFG_KBD_AVAILABLE"
1784 if [ "$OPT" = "plugin" ]; then
1785 avail
="$CFG_KBD_PLUGIN_AVAILABLE"
1789 avail
="$CFG_MOUSE_AVAILABLE"
1790 if [ "$OPT" = "plugin" ]; then
1791 avail
="$CFG_MOUSE_PLUGIN_AVAILABLE"
1796 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1800 # Check that that user's value is available.
1803 if [ "$VAL" = "$d" ]; then
1808 [ "$found" = yes ] || ERROR
=yes
1810 if [ "$VAR" = "sql" ]; then
1811 # set the CFG_SQL_driver
1812 eval "CFG_SQL_$VAL=\$OPT"
1816 if [ "$OPT" = "plugin" ] ||
[ "$OPT" = "qt" ]; then
1817 if [ "$OPT" = "plugin" ]; then
1818 [ "$VAR" = "decoration" ] && QMakeVar del
"${VAR}s" "$VAL"
1819 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON
=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"` && CFG_DECORATION_PLUGIN="$CFG_DECORATION_PLUGIN ${VAL}"
1820 [ "$VAR" = "kbd" ] && QMakeVar del "${VAR}s" "$VAL"
1821 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_KBD_PLUGIN="$CFG_KBD_PLUGIN ${VAL}"
1822 [ "$VAR" = "mouse" ] && QMakeVar del
"${VAR}s" "$VAL"
1823 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON
=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_MOUSE_PLUGIN="$CFG_MOUSE_PLUGIN ${VAL}"
1824 [ "$VAR" = "gfx" ] && QMakeVar del "${VAR}s" "$VAL"
1825 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"` && CFG_GFX_PLUGIN="${CFG_GFX_PLUGIN} ${VAL}"
1828 if [ "$VAR" = "gfx" ] ||
[ "$VAR" = "kbd" ] ||
[ "$VAR" = "decoration" ] ||
[ "$VAR" = "mouse" ]; then
1829 [ "$VAR" = "gfx" ] && CFG_GFX_ON
="$CFG_GFX_ON $VAL"
1830 [ "$VAR" = "kbd" ] && CFG_KBD_ON
="$CFG_KBD_ON $VAL"
1831 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON
="$CFG_DECORATION_ON $VAL"
1832 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON
="$CFG_MOUSE_ON $VAL"
1836 QMakeVar add
"${VAR}s" "${VAL}"
1837 elif [ "$OPT" = "no" ]; then
1838 PLUG_VAR
="${VAR}-plugin"
1839 if [ "$VAR" = "gfx" ] ||
[ "$VAR" = "kbd" ] ||
[ "$VAR" = "mouse" ]; then
1840 IN_VAR
="${VAR}-driver"
1844 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON
=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"`
1845 [ "$VAR" = "gfx" ] && CFG_GFX_ON
=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"`
1846 [ "$VAR" = "kbd" ] && CFG_KBD_ON
=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"`
1847 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON
=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"`
1848 QMakeVar del
"${IN_VAR}s" "$VAL"
1849 QMakeVar del
"${PLUG_VAR}s" "$VAL"
1851 if [ "$ERROR" = "yes" ]; then
1852 echo "$CURRENT_OPT: unknown argument"
1857 if [ "$VAL" = "yes" ]; then
1858 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
1859 QMAKE_SWITCHES
="$QMAKE_SWITCHES -d"
1863 elif [ "$VAL" = "no" ]; then
1864 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" |
grep ' -d' >/dev
/null
2>&1; then
1865 QMAKE_SWITCHES
=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
1874 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1881 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1888 D_FLAGS
="$D_FLAGS \"$VAL\""
1891 I_FLAGS
="$I_FLAGS -I\"${VAL}\""
1894 L_FLAGS
="$L_FLAGS -L\"${VAL}\""
1897 RPATH_FLAGS
="$RPATH_FLAGS \"${VAL}\""
1900 l_FLAGS
="$l_FLAGS -l\"${VAL}\""
1903 if [ "$PLATFORM_MAC" = "yes" ]; then
1904 L_FLAGS
="$L_FLAGS -F\"${VAL}\""
1905 I_FLAGS
="$I_FLAGS -F\"${VAL}\""
1911 if [ "$PLATFORM_MAC" = "yes" ]; then
1912 l_FLAGS
="$l_FLAGS -framework \"${VAL}\""
1921 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1928 if [ "$VAL" = "yes" ] ||
[ "$VAL" = "no" ]; then
1929 CFG_PHONON_BACKEND
="$VAL"
1938 if [ "$UNKNOWN_OPT" = "yes" ]; then
1939 echo "${CURRENT_OPT}: invalid command-line switch"
1945 if [ "$CFG_QCONFIG" != "full" ] && [ "$CFG_QT3SUPPORT" = "yes" ]; then
1946 echo "Warning: '-qconfig $CFG_QCONFIG' will disable the qt3support library."
1950 # update QT_CONFIG to show our current predefined configuration
1951 case "$CFG_QCONFIG" in
1952 minimal|small|medium|large|full
)
1953 # these are a sequence of increasing functionality
1954 for c
in minimal small medium large full
; do
1955 QT_CONFIG
="$QT_CONFIG $c-config"
1956 [ "$CFG_QCONFIG" = $c ] && break
1960 # not known to be sufficient for anything
1961 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ]; then
1962 echo >&2 "Error: configuration file not found:"
1963 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
1968 #-------------------------------------------------------------------------------
1969 # build tree initialization
1970 #-------------------------------------------------------------------------------
1972 # where to find which..
1973 unixtests
="$relpath/config.tests/unix"
1974 mactests
="$relpath/config.tests/mac"
1975 WHICH
="$unixtests/which.test"
1977 PERL
=`$WHICH perl 2>/dev/null`
1979 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
1981 for e
in gawk nawk
awk; do
1982 if "$WHICH" $e >/dev
/null
2>&1 && ( $e -f /dev
/null
/dev
/null
) >/dev
/null
2>&1; then
1988 ### skip this if the user just needs help...
1989 if [ "$OPT_HELP" != "yes" ]; then
1991 # is this a shadow build?
1992 if [ "$OPT_SHADOW" = "maybe" ]; then
1994 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
1995 if [ -h "$outpath" ]; then
1996 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW
=yes
2002 if [ "$OPT_SHADOW" = "yes" ]; then
2003 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" ]; then
2004 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2005 echo >&2 "Cannot proceed."
2008 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2011 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2013 echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
2014 echo "By default, Qt is built in release mode with separate debug information, so"
2015 echo "-debug-and-release is not necessary anymore"
2019 # detect build style
2020 if [ "$CFG_DEBUG" = "auto" ]; then
2021 if [ "$PLATFORM_MAC" = "yes" ]; then
2022 CFG_DEBUG_RELEASE
=yes
2024 elif [ "$CFG_DEV" = "yes" ]; then
2025 CFG_DEBUG_RELEASE
=no
2028 CFG_DEBUG_RELEASE
=no
2032 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2033 QMAKE_CONFIG
="$QMAKE_CONFIG build_all"
2036 if [ "$CFG_SILENT" = "yes" ]; then
2037 QMAKE_CONFIG
="$QMAKE_CONFIG silent"
2040 # if the source tree is different from the build tree,
2041 # symlink or copy part of the sources
2042 if [ "$OPT_SHADOW" = "yes" ]; then
2043 echo "Preparing build tree..."
2045 if [ -z "$PERL" ]; then
2047 echo "You need perl in your PATH to make a shadow build."
2048 echo "Cannot proceed."
2052 [ -d "$outpath/bin" ] || mkdir
-p "$outpath/bin"
2054 # symlink the qmake directory
2055 find "$relpath/qmake" |
while read a
; do
2056 my_a
=`echo "$a" | sed "s,^${relpath}/,${outpath}/,"`
2057 if [ '!' -f "$my_a" ]; then
2058 if [ -d "$a" ]; then
2059 # directories are created...
2062 a_dir
=`dirname "$my_a"`
2063 [ -d "$a_dir" ] || mkdir
-p "$a_dir"
2064 # ... and files are symlinked
2065 case `basename "$a"` in
2066 *.o|
*.d|GNUmakefile
*|qmake
)
2077 # make a syncqt script that can be used in the shadow
2078 rm -f "$outpath/bin/syncqt"
2079 if [ -x "$relpath/bin/syncqt" ]; then
2080 mkdir
-p "$outpath/bin"
2081 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2082 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/syncqt"
2083 echo "perl \"$relpath/bin/syncqt\" -outdir \"$outpath\" $*" >>"$outpath/bin/syncqt"
2084 chmod 755 "$outpath/bin/syncqt"
2087 # symlink the mkspecs directory
2088 mkdir
-p "$outpath/mkspecs"
2089 rm -f "$outpath"/mkspecs
/*
2090 ln -s "$relpath"/mkspecs
/* "$outpath/mkspecs"
2091 rm -f "$outpath/mkspecs/default"
2093 # symlink the doc directory
2094 rm -rf "$outpath/doc"
2095 ln -s "$relpath/doc" "$outpath/doc"
2097 # make sure q3porting.xml can be found
2098 mkdir
-p "$outpath/tools/porting/src"
2099 rm -f "$outpath/tools/porting/src/q3porting.xml"
2100 ln -s "$relpath/tools/porting/src/q3porting.xml" "$outpath/tools/porting/src"
2103 # symlink files from src/gui/embedded neccessary to build qvfb
2104 if [ "$CFG_DEV" = "yes" ]; then
2105 for f
in qvfbhdr.h qlock_p.h qlock.cpp qwssignalhandler_p.h qwssignalhandler.cpp
; do
2106 dest
="${relpath}/tools/qvfb/${f}"
2108 ln -s "${relpath}/src/gui/embedded/${f}" "${dest}"
2112 # symlink fonts to be able to run application from build directory
2113 if [ "$PLATFORM_QWS" = "yes" ] && [ ! -e "${outpath}/lib/fonts" ]; then
2114 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2115 mkdir
-p "${outpath}/lib"
2116 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2120 if [ "$OPT_FAST" = "auto" ]; then
2121 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2128 # find a make command
2129 if [ -z "$MAKE" ]; then
2131 for mk
in gmake
make; do
2132 if "$WHICH" $mk >/dev
/null
2>&1; then
2137 if [ -z "$MAKE" ]; then
2138 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2139 echo >&2 "Cannot proceed."
2146 #-------------------------------------------------------------------------------
2147 # auto-detect all that hasn't been specified in the arguments
2148 #-------------------------------------------------------------------------------
2150 [ "$PLATFORM_QWS" = "yes" -a "$CFG_EMBEDDED" = "no" ] && CFG_EMBEDDED
=auto
2151 if [ "$CFG_EMBEDDED" != "no" ]; then
2152 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2154 [ -z "$PLATFORM" ] && PLATFORM
=qws
/macx-generic-g
++
2155 if [ -z "$XPLATFORM" ]; then
2156 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED
=generic
2157 XPLATFORM
="qws/macx-$CFG_EMBEDDED-g++"
2161 [ -z "$PLATFORM" ] && PLATFORM
=qws
/freebsd-generic-g
++
2162 if [ -z "$XPLATFORM" ]; then
2163 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED
=generic
2164 XPLATFORM
="qws/freebsd-$CFG_EMBEDDED-g++"
2168 [ -z "$PLATFORM" ] && PLATFORM
=qws
/solaris-generic-g
++
2169 if [ -z "$XPLATFORM" ]; then
2170 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED
=generic
2171 XPLATFORM
="qws/solaris-$CFG_EMBEDDED-g++"
2175 if [ -z "$PLATFORM" ]; then
2176 case "$UNAME_MACHINE" in
2178 PLATFORM
=qws
/linux-x86-g
++
2181 PLATFORM
=qws
/linux-x86_64-g
++
2184 PLATFORM
=qws
/linux-ppc-g
++
2187 PLATFORM
=qws
/linux-generic-g
++
2191 if [ -z "$XPLATFORM" ]; then
2192 if [ "$CFG_EMBEDDED" = "auto" ]; then
2193 if [ -n "$CFG_ARCH" ]; then
2194 CFG_EMBEDDED
=$CFG_ARCH
2196 case "$UNAME_MACHINE" in
2207 CFG_EMBEDDED
=generic
2212 XPLATFORM
="qws/linux-$CFG_EMBEDDED-g++"
2219 echo "Qt for Embedded Linux is not supported on this platform. Disabling."
2225 if [ -z "$PLATFORM" ]; then
2227 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2229 if [ "$PLATFORM_MAC" = "yes" ]; then
2231 # PLATFORM=macx-xcode
2238 #PLATFORM=aix-g++-64
2240 #PLATFORM=aix-xlc-64
2242 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2252 # PLATFORM=dynix-g++
2258 PLATFORM
=freebsd-g
++
2260 - Also available for FreeBSD: freebsd-icc
2264 PLATFORM
=openbsd-g
++
2275 #PLATFORM=irix-cc-64
2277 - Also available for IRIX: irix-g++ irix-cc-64
2281 case "$UNAME_MACHINE" in
2283 #PLATFORM=hpuxi-acc-32
2284 PLATFORM
=hpuxi-acc-64
2286 - Also available for HP-UXi: hpuxi-acc-32
2292 #PLATFORM=hpux-acc-64
2294 #PLATFORM=hpux-acc-o64
2296 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2305 - Also available for Tru64: tru64-g++
2309 case "$UNAME_MACHINE" in
2311 PLATFORM
=linux-g
++-64
2318 - Also available for Linux: linux-kcc linux-icc linux-cxx
2322 #PLATFORM=solaris-g++
2324 #PLATFORM=solaris-cc64
2326 - Also available for Solaris: solaris-g++ solaris-cc-64
2329 ReliantUNIX-
*:*|SINIX-
*:*)
2330 PLATFORM
=reliant-cds
2331 #PLATFORM=reliant-cds-64
2333 - Also available for Reliant UNIX: reliant-cds-64
2343 #PLATFORM=unixware-g++
2344 PLATFORM
=unixware-cc
2346 - Also available for OpenUNIX: unixware-g++
2350 #PLATFORM=unixware-g++
2351 PLATFORM
=unixware-cc
2353 - Also available for UnixWare: unixware-g++
2360 - Also available for SCO OpenServer: sco-g++
2364 PLATFORM
=unixware-g
++
2367 if [ "$OPT_HELP" != "yes" ]; then
2369 for p
in $PLATFORMS; do
2370 echo " $relconf $* -platform $p"
2373 echo " The build script does not currently recognize all" >&2
2374 echo " platforms supported by Qt." >&2
2375 echo " Rerun this script with a -platform option listed to" >&2
2376 echo " set the system/compiler combination you use." >&2
2383 if [ "$PLATFORM_QWS" = "yes" ]; then
2385 PLATFORMS
=`find "$relpath/mkspecs/qws" | sed "s,$relpath/mkspecs/qws/,,"`
2387 PLATFORMS
=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2390 [ -z "$XPLATFORM" ] && XPLATFORM
="$PLATFORM"
2391 if [ -d "$PLATFORM" ]; then
2392 QMAKESPEC
="$PLATFORM"
2394 QMAKESPEC
="$relpath/mkspecs/${PLATFORM}"
2396 if [ -d "$XPLATFORM" ]; then
2397 XQMAKESPEC
="$XPLATFORM"
2399 XQMAKESPEC
="$relpath/mkspecs/${XPLATFORM}"
2401 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2402 QT_CROSS_COMPILE
=yes
2403 QMAKE_CONFIG
="$QMAKE_CONFIG cross_compile"
2406 if [ "$PLATFORM_MAC" = "yes" ]; then
2407 if [ `basename $QMAKESPEC` = "macx-xcode" ] ||
[ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2409 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2410 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2411 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2412 echo " built with 'macx-g++'" >&2
2418 # check specified platforms are supported
2419 if [ '!' -d "$QMAKESPEC" ]; then
2421 echo " The specified system/compiler is not supported:"
2425 echo " Please see the README file for a complete list."
2429 if [ '!' -d "$XQMAKESPEC" ]; then
2431 echo " The specified system/compiler is not supported:"
2435 echo " Please see the README file for a complete list."
2439 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2441 echo " The specified system/compiler port is not complete:"
2443 echo " $XQMAKESPEC/qplatformdefs.h"
2445 echo " Please contact qt-bugs@trolltech.com."
2450 # now look at the configs and figure out what platform we are config'd for
2451 [ "$CFG_EMBEDDED" = "no" ] \
2452 && [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ] \
2454 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2456 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2457 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2458 if echo $UNAME_RELEASE |
grep "^5\.[5|6]" >/dev
/null
2>&1; then
2459 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2460 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2464 #-------------------------------------------------------------------------------
2465 # determine the system architecture
2466 #-------------------------------------------------------------------------------
2467 if [ "$OPT_VERBOSE" = "yes" ]; then
2468 echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
2471 if [ "$CFG_EMBEDDED" != "no" -a "$CFG_EMBEDDED" != "auto" ] && [ -n "$CFG_ARCH" ]; then
2472 if [ "$CFG_ARCH" != "$CFG_EMBEDDED" ]; then
2474 echo "You have specified a target architecture with -embedded and -arch."
2475 echo "The two architectures you have specified are different, so we can"
2476 echo "not proceed. Either set both to be the same, or only use -embedded."
2482 if [ -z "${CFG_HOST_ARCH}" ]; then
2483 case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
2485 CFG_HOST_ARCH
=`uname -p`
2486 if [ "$OPT_VERBOSE" = "yes" ]; then
2487 echo " SGI ($CFG_HOST_ARCH)"
2491 case "$UNAME_MACHINE" in
2493 if [ "$OPT_VERBOSE" = "yes" ]; then
2494 echo " Sun SPARC (sparc)"
2501 if [ "$OPT_VERBOSE" = "yes" ]; then
2502 echo " 64-bit AMD 80x86 (x86_64)"
2504 CFG_HOST_ARCH
=x86_64
2507 if [ "$OPT_VERBOSE" = "yes" ]; then
2508 echo " 32-bit Intel 80x86 (i386)"
2516 case "$UNAME_MACHINE" in
2518 if [ "$OPT_VERBOSE" = "yes" ]; then
2519 echo " 32-bit Apple PowerPC (powerpc)"
2523 if [ "$OPT_VERBOSE" = "yes" ]; then
2524 echo " 32-bit Intel 80x86 (i386)"
2528 CFG_HOST_ARCH
=macosx
2531 if [ "$OPT_VERBOSE" = "yes" ]; then
2532 echo " 64-bit IBM PowerPC (powerpc)"
2534 CFG_HOST_ARCH
=powerpc
2537 if [ "$OPT_VERBOSE" = "yes" ]; then
2538 echo " HP PA-RISC (parisc)"
2540 CFG_HOST_ARCH
=parisc
2543 if [ "$OPT_VERBOSE" = "yes" ]; then
2544 echo " 32-bit Intel 80x86 (i386)"
2548 *:*:x86_64|
*:*:amd64
)
2549 if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
2550 if [ "$OPT_VERBOSE" = "yes" ]; then
2551 echo " 32 bit on 64-bit AMD 80x86 (i386)"
2555 if [ "$OPT_VERBOSE" = "yes" ]; then
2556 echo " 64-bit AMD 80x86 (x86_64)"
2558 CFG_HOST_ARCH
=x86_64
2562 if [ "$OPT_VERBOSE" = "yes" ]; then
2563 echo " 32-bit PowerPC (powerpc)"
2565 CFG_HOST_ARCH
=powerpc
2568 if [ "$OPT_VERBOSE" = "yes" ]; then
2569 echo " 64-bit PowerPC (powerpc)"
2571 CFG_HOST_ARCH
=powerpc
2574 if [ "$OPT_VERBOSE" = "yes" ]; then
2575 echo " IBM S/390 (s390)"
2580 if [ "$OPT_VERBOSE" = "yes" ]; then
2586 if [ "$OPT_VERBOSE" = "yes" ]; then
2587 echo " Linux on SPARC"
2592 if [ "$OPT_VERBOSE" = "yes" ]; then
2593 echo " Trying '$UNAME_MACHINE'..."
2595 CFG_HOST_ARCH
="$UNAME_MACHINE"
2600 if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
2601 if [ -n "$CFG_ARCH" ]; then
2602 CFG_EMBEDDED
=$CFG_ARCH
2605 case "$CFG_EMBEDDED" in
2625 CFG_ARCH
="$CFG_EMBEDDED"
2628 elif [ "$PLATFORM_MAC" = "yes" ] ||
[ -z "$CFG_ARCH" ]; then
2629 CFG_ARCH
=$CFG_HOST_ARCH
2632 if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
2633 if [ "$OPT_VERBOSE" = "yes" ]; then
2634 echo " '$CFG_ARCH' is supported"
2637 if [ "$OPT_VERBOSE" = "yes" ]; then
2638 echo " '$CFG_ARCH' is unsupported, using 'generic'"
2642 if [ "$CFG_HOST_ARCH" != "$CFG_ARCH" ]; then
2643 if [ -d "$relpath/src/corelib/arch/$CFG_HOST_ARCH" ]; then
2644 if [ "$OPT_VERBOSE" = "yes" ]; then
2645 echo " '$CFG_HOST_ARCH' is supported"
2648 if [ "$OPT_VERBOSE" = "yes" ]; then
2649 echo " '$CFG_HOST_ARCH' is unsupported, using 'generic'"
2651 CFG_HOST_ARCH
=generic
2655 if [ "$OPT_VERBOSE" = "yes" ]; then
2656 echo "System architecture: '$CFG_ARCH'"
2657 if [ "$PLATFORM_QWS" = "yes" ]; then
2658 echo "Host architecture: '$CFG_HOST_ARCH'"
2662 #-------------------------------------------------------------------------------
2663 # tests that don't need qmake (must be run before displaying help)
2664 #-------------------------------------------------------------------------------
2666 if [ -z "$PKG_CONFIG" ]; then
2667 # See if PKG_CONFIG is set in the mkspec:
2668 PKG_CONFIG
=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%PKG_CONFIG[^_].*=%%p' | tr '\n' ' '`
2670 if [ -z "$PKG_CONFIG" ]; then
2671 PKG_CONFIG
=`$WHICH pkg-config 2>/dev/null`
2674 # Work out if we can use pkg-config
2675 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
2676 if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
2678 echo >&2 "You have asked to use pkg-config and are cross-compiling."
2679 echo >&2 "Please make sure you have a correctly set-up pkg-config"
2680 echo >&2 "environment!"
2682 if [ -z "$PKG_CONFIG_PATH" ]; then
2684 echo >&2 "Warning: PKG_CONFIG_PATH has not been set. This could mean"
2685 echo >&2 "the host compiler's .pc files will be used. This is probably"
2686 echo >&2 "not what you want."
2688 elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
2690 echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
2691 echo >&2 "been set. This means your toolchain's .pc files must contain"
2692 echo >&2 "the paths to the toolchain's libraries & headers. If configure"
2693 echo >&2 "tests are failing, please check these files."
2701 # check -arch arguments for validity.
2702 if [ "$PLATFORM_MAC" = "yes" ]; then
2703 ALLOWED
="x86 ppc x86_64 ppc64 i386"
2704 for i
in $CFG_MAC_ARCHS
2706 if echo "$ALLOWED" |
grep -w -v "$i" > /dev
/null
2>&1; then
2707 echo "Unknown architecture: \"$i\". Supported architectures: x86[i386] ppc x86_64 ppc64";
2712 # replace "i386" with "x86" to support configuring with -arch i386 as an alias for x86.
2713 CFG_MAC_ARCHS
="${CFG_MAC_ARCHS/i386/x86}"
2716 # find the default framework value
2717 if [ "$PLATFORM_MAC" = "yes" ] && [ "$PLATFORM" != "macx-xlc" ]; then
2718 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2719 CFG_FRAMEWORK
="$CFG_SHARED"
2720 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2722 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2730 QMAKE_CONF_COMPILER
=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | tail -1`
2732 [ -z "$TEST_COMPILER" ] && TEST_COMPILER
=$QMAKE_CONF_COMPILER
2734 # auto-detect precompiled header support
2735 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2736 if [ `echo "$CFG_MAC_ARCHS" | wc -w` -gt 1 ]; then
2738 elif "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2743 elif [ "$CFG_PRECOMPILE" = "yes" ] && [ `echo "$CFG_MAC_ARCHS" | wc -w` -gt 1 ]; then
2745 echo "WARNING: Using universal binaries disables precompiled headers."
2750 #auto-detect DWARF2 on the mac
2751 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" == "auto" ]; then
2752 if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
2759 # auto-detect support for -Xarch on the mac
2760 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_XARCH" == "auto" ]; then
2761 if "$mactests/xarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
2768 # don't autodetect support for separate debug info on objcopy when
2769 # cross-compiling as lots of toolchains seems to have problems with this
2770 if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
2771 CFG_SEPARATE_DEBUG_INFO
="no"
2774 # auto-detect support for separate debug info in objcopy
2775 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
2776 TEST_COMPILER_CFLAGS
=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CFLAGS[^_].*=%%p' | tr '\n' ' '`
2777 TEST_COMPILER_CXXFLAGS
=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CXXFLAGS[^_].*=%%p' | tr '\n' ' '`
2778 TEST_OBJCOPY
=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_OBJCOPY" | sed "s%.* *= *\(.*\)$%\1%" | tail -1`
2779 COMPILER_WITH_FLAGS
="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
2780 COMPILER_WITH_FLAGS
=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
2781 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
2782 CFG_SEPARATE_DEBUG_INFO
=no
2786 # binutils on HP-UX is buggy; default to no.
2787 CFG_SEPARATE_DEBUG_INFO
=no
2790 CFG_SEPARATE_DEBUG_INFO
=yes
2796 # auto-detect -fvisibility support
2797 if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then
2798 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2799 CFG_REDUCE_EXPORTS
=no
2801 CFG_REDUCE_EXPORTS
=yes
2805 # detect the availability of the -Bsymbolic-functions linker optimization
2806 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
2807 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2808 CFG_REDUCE_RELOCATIONS
=no
2810 CFG_REDUCE_RELOCATIONS
=yes
2814 # auto-detect GNU make support
2815 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v |
grep "GNU Make" >/dev
/null
2>&1; then
2819 # If -opengl wasn't specified, don't try to auto-detect
2820 if [ "$PLATFORM_QWS" = "yes" ] && [ "$CFG_OPENGL" = "auto" ]; then
2825 if [ "$PLATFORM_MAC" = "yes" ]; then
2826 if [ "$CFG_OPENGL" = "auto" ] ||
[ "$CFG_OPENGL" = "yes" ]; then
2831 # find the default framework value
2832 if [ "$PLATFORM_MAC" = "yes" ] && [ "$PLATFORM" != "macx-xlc" ]; then
2833 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2834 CFG_FRAMEWORK
="$CFG_SHARED"
2835 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2837 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2845 # x11 tests are done after qmake is built
2848 #setup the build parts
2849 if [ -z "$CFG_BUILD_PARTS" ]; then
2850 CFG_BUILD_PARTS
="$QT_DEFAULT_BUILD_PARTS"
2852 # don't build tools by default when cross-compiling
2853 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2854 CFG_BUILD_PARTS
=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
2857 for nobuild
in $CFG_NOBUILD_PARTS; do
2858 CFG_BUILD_PARTS
=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
2860 if echo $CFG_BUILD_PARTS |
grep -v libs
>/dev
/null
2>&1; then
2862 # echo "WARNING: libs is a required part of the build."
2864 CFG_BUILD_PARTS
="$CFG_BUILD_PARTS libs"
2867 #-------------------------------------------------------------------------------
2868 # post process QT_INSTALL_* variables
2869 #-------------------------------------------------------------------------------
2872 if [ -z "$QT_INSTALL_PREFIX" ]; then
2873 if [ "$CFG_DEV" = "yes" ]; then
2874 QT_INSTALL_PREFIX
="$outpath" # At Trolltech, we use sandboxed builds by default
2875 elif [ "$PLATFORM_QWS" = "yes" ]; then
2876 QT_INSTALL_PREFIX
="/usr/local/Trolltech/QtEmbedded-${QT_VERSION}"
2877 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2878 QT_INSTALL_PREFIX
="${QT_INSTALL_PREFIX}-${CFG_ARCH}"
2881 QT_INSTALL_PREFIX
="/usr/local/Trolltech/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Trolltech/Qt-$QT_VERSION
2884 QT_INSTALL_PREFIX
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
2887 if [ -z "$QT_INSTALL_DOCS" ]; then #default
2888 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2889 if [ "$PLATFORM_MAC" = "yes" ]; then
2890 QT_INSTALL_DOCS
="/Developer/Documentation/Qt"
2893 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS
="$QT_INSTALL_PREFIX/doc" #fallback
2896 QT_INSTALL_DOCS
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
2899 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
2900 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2901 if [ "$PLATFORM_MAC" = "yes" ]; then
2902 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2907 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS
="$QT_INSTALL_PREFIX/include"
2910 QT_INSTALL_HEADERS
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
2913 if [ -z "$QT_INSTALL_LIBS" ]; then #default
2914 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2915 if [ "$PLATFORM_MAC" = "yes" ]; then
2916 if [ "$CFG_FRAMEWORK" = "yes" ]; then
2917 QT_INSTALL_LIBS
="/Libraries/Frameworks"
2921 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS
="$QT_INSTALL_PREFIX/lib" #fallback
2923 QT_INSTALL_LIBS
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
2926 if [ -z "$QT_INSTALL_BINS" ]; then #default
2927 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2928 if [ "$PLATFORM_MAC" = "yes" ]; then
2929 QT_INSTALL_BINS
="/Developer/Applications/Qt"
2932 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS
="$QT_INSTALL_PREFIX/bin" #fallback
2935 QT_INSTALL_BINS
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
2938 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
2939 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2940 if [ "$PLATFORM_MAC" = "yes" ]; then
2941 QT_INSTALL_PLUGINS
="/Developer/Applications/Qt/plugins"
2944 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS
="$QT_INSTALL_PREFIX/plugins" #fallback
2946 QT_INSTALL_PLUGINS
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
2949 if [ -z "$QT_INSTALL_DATA" ]; then #default
2950 QT_INSTALL_DATA
="$QT_INSTALL_PREFIX"
2952 QT_INSTALL_DATA
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
2955 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
2956 QT_INSTALL_TRANSLATIONS
="$QT_INSTALL_PREFIX/translations"
2958 QT_INSTALL_TRANSLATIONS
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
2961 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
2962 if [ "$PLATFORM_MAC" = "yes" ]; then
2963 QT_INSTALL_SETTINGS
=/Library
/Preferences
/Qt
2965 QT_INSTALL_SETTINGS
=/etc
/xdg
2968 QT_INSTALL_SETTINGS
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
2971 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
2972 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2973 if [ "$PLATFORM_MAC" = "yes" ]; then
2974 QT_INSTALL_EXAMPLES
="/Developer/Examples/Qt"
2977 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES
="$QT_INSTALL_PREFIX/examples" #fallback
2979 QT_INSTALL_EXAMPLES
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
2982 if [ -z "$QT_INSTALL_DEMOS" ]; then #default
2983 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
2984 if [ "$PLATFORM_MAC" = "yes" ]; then
2985 QT_INSTALL_DEMOS
="/Developer/Examples/Qt/Demos"
2988 [ -z "$QT_INSTALL_DEMOS" ] && QT_INSTALL_DEMOS
="$QT_INSTALL_PREFIX/demos"
2990 QT_INSTALL_DEMOS
=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DEMOS"`
2992 #-------------------------------------------------------------------------------
2993 # help - interactive parts of the script _after_ this section please
2994 #-------------------------------------------------------------------------------
2996 # next, emit a usage message if something failed.
2997 if [ "$OPT_HELP" = "yes" ]; then
2998 [ "x$ERROR" = "xyes" ] && echo
2999 if [ "$CFG_NIS" = "no" ]; then
3006 if [ "$CFG_CUPS" = "no" ]; then
3013 if [ "$CFG_ICONV" = "no" ]; then
3020 if [ "$CFG_LARGEFILE" = "no" ]; then
3027 if [ "$CFG_STL" = "auto" ] ||
[ "$CFG_STL" = "yes" ]; then
3034 if [ "$CFG_IPV6" = "auto" ]; then
3038 if [ "$CFG_PRECOMPILE" = "auto" ] ||
[ "$CFG_PRECOMPILE" = "no" ]; then
3047 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
3048 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-datadir <dir>]
3049 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>]
3050 [-demosdir <dir>] [-buildkey <key>] [-release] [-debug]
3051 [-debug-and-release] [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
3052 [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
3053 [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
3054 [-plugin-sql-<driver>] [-system-sqlite] [-no-qt3support] [-qt3support]
3055 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
3056 [-qt-zlib] [-system-zlib] [-no-gif] [-qt-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff]
3057 [-no-libpng] [-qt-libpng] [-system-libpng] [-no-libmng] [-qt-libmng]
3058 [-system-libmng] [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
3059 [-no-make <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
3060 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
3061 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked]
3062 [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
3063 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] [-armfpa]
3064 [-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns] [-xmlpatterns]
3065 [-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend]
3066 [-no-openssl] [-openssl] [-openssl-linked]
3067 [-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit]
3068 [-no-scripttools] [-scripttools]
3070 [additional platform specific options (see below)]
3073 Installation options:
3075 These are optional, but you may specify install directories.
3077 -prefix <dir> ...... This will install everything relative to <dir>
3078 (default $QT_INSTALL_PREFIX)
3080 if [ "$PLATFORM_QWS" = "yes" ]; then
3083 -hostprefix [dir] .. Tools and libraries needed when developing
3084 applications are installed in [dir]. If [dir] is
3085 not given, the current build directory will be used.
3090 * -prefix-install .... Force a sandboxed "local" installation of
3091 Qt. This will install into
3092 $QT_INSTALL_PREFIX, if this option is
3093 disabled then some platforms will attempt a
3094 "system" install by placing default values to
3095 be placed in a system location other than
3098 You may use these to separate different parts of the install:
3100 -bindir <dir> ......... Executables will be installed to <dir>
3101 (default PREFIX/bin)
3102 -libdir <dir> ......... Libraries will be installed to <dir>
3103 (default PREFIX/lib)
3104 -docdir <dir> ......... Documentation will be installed to <dir>
3105 (default PREFIX/doc)
3106 -headerdir <dir> ...... Headers will be installed to <dir>
3107 (default PREFIX/include)
3108 -plugindir <dir> ...... Plugins will be installed to <dir>
3109 (default PREFIX/plugins)
3110 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
3112 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
3113 (default PREFIX/translations)
3114 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
3115 (default PREFIX/etc/settings)
3116 -examplesdir <dir> .... Examples will be installed to <dir>
3117 (default PREFIX/examples)
3118 -demosdir <dir> ....... Demos will be installed to <dir>
3119 (default PREFIX/demos)
3121 You may use these options to turn on strict plugin loading.
3123 -buildkey <key> .... Build the Qt library and plugins using the specified
3124 <key>. When the library loads plugins, it will only
3125 load those that have a matching key.
3129 The defaults (*) are usually acceptable. A plus (+) denotes a default value
3130 that needs to be evaluated. If the evaluation succeeds, the feature is
3131 included. Here is a short explanation of each option:
3133 * -release ........... Compile and link Qt with debugging turned off.
3134 -debug ............. Compile and link Qt with debugging turned on.
3135 -debug-and-release . Compile and link two versions of Qt, with and without
3136 debugging turned on (Mac only).
3138 -developer-build.... Compile and link Qt with Qt developer options (including auto-tests exporting)
3140 -opensource......... Compile and link the Open-Source Edition of Qt.
3141 -commercial......... Compile and link the Commercial Edition of Qt.
3144 * -shared ............ Create and use shared Qt libraries.
3145 -static ............ Create and use static Qt libraries.
3147 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3149 -fast .............. Configure Qt quickly by generating Makefiles only for
3150 library and subdirectory targets. All other Makefiles
3151 are created as wrappers, which will in turn run qmake.
3153 -no-largefile ...... Disables large file support.
3154 + -largefile ......... Enables Qt to access files larger than 4 GB.
3157 if [ "$PLATFORM_QWS" = "yes" ]; then
3164 if [ "$CFG_DBUS" = "no" ]; then
3173 $EXCN -no-exceptions ..... Disable exceptions on compilers that support it.
3174 $EXCY -exceptions ........ Enable exceptions on compilers that support it.
3176 -no-accessibility .. Do not compile Accessibility support.
3177 * -accessibility ..... Compile Accessibility support.
3179 $SHN -no-stl ............ Do not compile STL support.
3180 $SHY -stl ............... Compile STL support.
3182 -no-sql-<driver> ... Disable SQL <driver> entirely.
3183 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3185 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3188 Possible values for <driver>:
3189 [ $CFG_SQL_AVAILABLE ]
3191 -system-sqlite ..... Use sqlite from the operating system.
3193 -no-qt3support ..... Disables the Qt 3 support functionality.
3194 * -qt3support ........ Enables the Qt 3 support functionality.
3196 -no-xmlpatterns .... Do not build the QtXmlPatterns module.
3197 + -xmlpatterns ....... Build the QtXmlPatterns module.
3198 QtXmlPatterns is built if a decent C++ compiler
3199 is used and exceptions are enabled.
3201 -no-phonon ......... Do not build the Phonon module.
3202 + -phonon ............ Build the Phonon module.
3203 Phonon is built if a decent C++ compiler is used.
3204 -no-phonon-backend.. Do not build the platform phonon plugin.
3205 + -phonon-backend..... Build the platform phonon plugin.
3207 -no-svg ............ Do not build the SVG module.
3208 + -svg ............... Build the SVG module.
3210 -no-webkit ......... Do not build the WebKit module.
3211 + -webkit ............ Build the WebKit module.
3212 WebKit is built if a decent C++ compiler is used.
3214 -no-scripttools .... Do not build the QtScriptTools module.
3215 + -scripttools ....... Build the QtScriptTools module.
3217 -platform target ... The operating system and compiler you are building
3220 See the README file for a list of supported
3221 operating systems and compilers.
3223 if [ "${PLATFORM_QWS}" != "yes" ]; then
3225 -graphicssystem <sys> Sets an alternate graphics system. Available options are:
3226 raster - Software rasterizer
3227 opengl - Rendering via OpenGL, Experimental!
3232 -no-mmx ............ Do not compile with use of MMX instructions.
3233 -no-3dnow .......... Do not compile with use of 3DNOW instructions.
3234 -no-sse ............ Do not compile with use of SSE instructions.
3235 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3237 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3238 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3240 -D <string> ........ Add an explicit define to the preprocessor.
3241 -I <string> ........ Add an explicit include path.
3242 -L <string> ........ Add an explicit library path.
3244 -help, -h .......... Display this information.
3246 Third Party Libraries:
3248 -qt-zlib ........... Use the zlib bundled with Qt.
3249 + -system-zlib ....... Use zlib from the operating system.
3250 See http://www.gzip.org/zlib
3252 -no-gif ............ Do not compile the plugin for GIF reading support.
3253 * -qt-gif ............ Compile the plugin for GIF reading support.
3254 See also src/plugins/imageformats/gif/qgifhandler.h
3256 -no-libtiff ........ Do not compile the plugin for TIFF support.
3257 -qt-libtiff ........ Use the libtiff bundled with Qt.
3258 + -system-libtiff .... Use libtiff from the operating system.
3259 See http://www.libtiff.org
3261 -no-libpng ......... Do not compile in PNG support.
3262 -qt-libpng ......... Use the libpng bundled with Qt.
3263 + -system-libpng ..... Use libpng from the operating system.
3264 See http://www.libpng.org/pub/png
3266 -no-libmng ......... Do not compile the plugin for MNG support.
3267 -qt-libmng ......... Use the libmng bundled with Qt.
3268 + -system-libmng ..... Use libmng from the operating system.
3269 See http://www.libmng.com
3271 -no-libjpeg ........ Do not compile the plugin for JPEG support.
3272 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3273 + -system-libjpeg .... Use libjpeg from the operating system.
3274 See http://www.ijg.org
3276 -no-openssl ........ Do not compile support for OpenSSL.
3277 + -openssl ........... Enable run-time OpenSSL support.
3278 -openssl-linked .... Enabled linked OpenSSL support.
3280 -ptmalloc .......... Override the system memory allocator with ptmalloc.
3285 -make <part> ....... Add part to the list of parts to be built at make time.
3286 ($QT_DEFAULT_BUILD_PARTS)
3287 -nomake <part> ..... Exclude part from the list of parts to be built.
3289 -R <string> ........ Add an explicit runtime library path to the Qt
3291 -l <string> ........ Add an explicit library.
3293 -no-rpath .......... Do not use the library install path as a runtime
3295 + -rpath ............. Link Qt libraries and executables using the library
3296 install path as a runtime library path. Equivalent
3297 to -R install_libpath
3299 -continue .......... Continue as far as possible if an error occurs.
3301 -verbose, -v ....... Print verbose information about each step of the
3304 -silent ............ Reduce the build output so that warnings and errors
3305 can be seen more easily.
3307 * -no-optimized-qmake ... Do not build qmake optimized.
3308 -optimized-qmake ...... Build qmake optimized.
3310 $NSN -no-nis ............ Do not compile NIS support.
3311 $NSY -nis ............... Compile NIS support.
3313 $CUN -no-cups ........... Do not compile CUPS support.
3314 $CUY -cups .............. Compile CUPS support.
3315 Requires cups/cups.h and libcups.so.2.
3317 $CIN -no-iconv .......... Do not compile support for iconv(3).
3318 $CIY -iconv ............. Compile support for iconv(3).
3320 $PHN -no-pch ............ Do not use precompiled header support.
3321 $PHY -pch ............... Use precompiled header support.
3323 $DBN -no-dbus ........... Do not compile the QtDBus module.
3324 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3325 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3327 -reduce-relocations ..... Reduce relocations in the libraries through extra
3328 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3329 experimental; needs GNU ld >= 2.18).
3332 if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3333 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3340 elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
3348 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
3352 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3353 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3359 if [ "$PLATFORM_X11" = "yes" ]; then
3360 if [ "$CFG_SM" = "no" ]; then
3367 if [ "$CFG_XSHAPE" = "no" ]; then
3374 if [ "$CFG_XINERAMA" = "no" ]; then
3381 if [ "$CFG_FONTCONFIG" = "no" ]; then
3388 if [ "$CFG_XCURSOR" = "no" ]; then
3395 if [ "$CFG_XFIXES" = "no" ]; then
3402 if [ "$CFG_XRANDR" = "no" ]; then
3409 if [ "$CFG_XRENDER" = "no" ]; then
3416 if [ "$CFG_MITSHM" = "no" ]; then
3423 if [ "$CFG_XINPUT" = "no" ]; then
3430 if [ "$CFG_XKB" = "no" ]; then
3437 if [ "$CFG_IM" = "no" ]; then
3448 -no-gtkstyle ....... Do not build the GTK theme integration.
3449 + -gtkstyle .......... Build the GTK theme integration.
3451 * -no-nas-sound ...... Do not compile in NAS sound support.
3452 -system-nas-sound .. Use NAS libaudio from the operating system.
3453 See http://radscan.com/nas.html
3455 -no-opengl ......... Do not support OpenGL.
3456 + -opengl <api> ...... Enable OpenGL support.
3457 With no parameter, this will auto-detect the "best"
3458 OpenGL API to use. If desktop OpenGL is avaliable, it
3459 will be used. Use desktop, es1, es1cl or es2 for <api>
3460 to force the use of the Desktop (OpenGL 1.x or 2.x),
3461 OpenGL ES 1.x Common profile, 1.x Common Lite profile
3462 or 2.x APIs instead. On X11, the EGL API will be used
3463 to manage GL contexts in the case of OpenGL ES.
3465 $SMN -no-sm ............. Do not support X Session Management.
3466 $SMY -sm ................ Support X Session Management, links in -lSM -lICE.
3468 $SHN -no-xshape ......... Do not compile XShape support.
3469 $SHY -xshape ............ Compile XShape support.
3470 Requires X11/extensions/shape.h.
3472 $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
3473 $XAY -xinerama .......... Compile Xinerama support.
3474 Requires X11/extensions/Xinerama.h and libXinerama.
3475 By default, Xinerama support will be compiled if
3476 available and the shared libraries are dynamically
3479 $XCN -no-xcursor ........ Do not compile Xcursor support.
3480 $XCY -xcursor ........... Compile Xcursor support.
3481 Requires X11/Xcursor/Xcursor.h and libXcursor.
3482 By default, Xcursor support will be compiled if
3483 available and the shared libraries are dynamically
3486 $XFN -no-xfixes ......... Do not compile Xfixes support.
3487 $XFY -xfixes ............ Compile Xfixes support.
3488 Requires X11/extensions/Xfixes.h and libXfixes.
3489 By default, Xfixes support will be compiled if
3490 available and the shared libraries are dynamically
3493 $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
3494 $XZY -xrandr ............ Compile Xrandr support.
3495 Requires X11/extensions/Xrandr.h and libXrandr.
3497 $XRN -no-xrender ........ Do not compile Xrender support.
3498 $XRY -xrender ........... Compile Xrender support.
3499 Requires X11/extensions/Xrender.h and libXrender.
3501 $XMN -no-mitshm ......... Do not compile MIT-SHM support.
3502 $XMY -mitshm ............ Compile MIT-SHM support.
3503 Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
3505 $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
3506 $FCGY -fontconfig ........ Compile FontConfig support.
3507 Requires fontconfig/fontconfig.h, libfontconfig,
3508 freetype.h and libfreetype.
3510 $XIN -no-xinput.......... Do not compile Xinput support.
3511 $XIY -xinput ............ Compile Xinput support. This also enabled tablet support
3512 which requires IRIX with wacom.h and libXi or
3513 XFree86 with X11/extensions/XInput.h and libXi.
3515 $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
3516 $XKY -xkb ............... Compile XKB support.
3521 if [ "$PLATFORM_MAC" = "yes" ]; then
3526 -Fstring ........... Add an explicit framework path.
3527 -fw string ......... Add an explicit framework.
3529 -cocoa ............. Build the Cocoa version of Qt. Note that -no-framework
3530 and -static is not supported with -cocoa. Specifying
3531 this option creates Qt binaries that requires Mac OS X
3534 * -framework ......... Build Qt as a series of frameworks and
3535 link tools against those frameworks.
3536 -no-framework ...... Do not build Qt as a series of frameworks.
3538 * -dwarf2 ............ Enable dwarf2 debugging symbols.
3539 -no-dwarf2 ......... Disable dwarf2 debugging symbols.
3541 -universal ......... Equivalent to -arch "ppc x86"
3543 -arch <arch> ....... Build Qt for <arch>
3544 Example values for <arch>: x86 ppc x86_64 ppc64
3545 Multiple -arch arguments can be specified, 64-bit archs
3546 will be built with the Cocoa framework.
3548 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3549 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3554 if [ "$PLATFORM_QWS" = "yes" ]; then
3557 Qt for Embedded Linux only:
3559 -xplatform target ... The target platform when cross-compiling.
3561 -no-feature-<feature> Do not compile in <feature>.
3562 -feature-<feature> .. Compile in <feature>. The available features
3563 are described in src/corelib/global/qfeatures.txt
3565 -embedded <arch> .... This will enable the embedded build, you must have a
3566 proper license for this switch to work.
3567 Example values for <arch>: arm mips x86 generic
3569 -armfpa ............. Target platform is uses the ARM-FPA floating point format.
3570 -no-armfpa .......... Target platform does not use the ARM-FPA floating point format.
3572 The floating point format is usually autodetected by configure. Use this
3573 to override the detected value.
3575 -little-endian ...... Target platform is little endian (LSB first).
3576 -big-endian ......... Target platform is big endian (MSB first).
3578 -host-little-endian . Host platform is little endian (LSB first).
3579 -host-big-endian .... Host platform is big endian (MSB first).
3581 You only need to specify the endianness when
3582 cross-compiling, otherwise the host
3583 endianness will be used.
3585 -no-freetype ........ Do not compile in Freetype2 support.
3586 -qt-freetype ........ Use the libfreetype bundled with Qt.
3587 * -system-freetype .... Use libfreetype from the operating system.
3588 See http://www.freetype.org/
3590 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3591 default ($CFG_QCONFIG).
3593 -depths <list> ...... Comma-separated list of supported bit-per-pixel
3594 depths, from: 1, 4, 8, 12, 15, 16, 18, 24, 32 and 'all'.
3596 -qt-decoration-<style> ....Enable a decoration <style> in the QtGui library,
3597 by default all available decorations are on.
3598 Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
3599 -plugin-decoration-<style> Enable decoration <style> as a plugin to be
3600 linked to at run time.
3601 Possible values for <style>: [ $CFG_DECORATION_PLUGIN_AVAILABLE ]
3602 -no-decoration-<style> ....Disable decoration <style> entirely.
3603 Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
3605 -no-opengl .......... Do not support OpenGL.
3606 -opengl <api> ....... Enable OpenGL ES support
3607 With no parameter, this will attempt to auto-detect OpenGL ES 1.x
3608 or 2.x. Use es1, es1cl or es2 for <api> to override auto-detection.
3610 NOTE: A QGLScreen driver for the hardware is required to support
3611 OpenGL ES on Qt for Embedded Linux.
3613 -qt-gfx-<driver> ... Enable a graphics <driver> in the QtGui library.
3614 Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
3615 -plugin-gfx-<driver> Enable graphics <driver> as a plugin to be
3616 linked to at run time.
3617 Possible values for <driver>: [ $CFG_GFX_PLUGIN_AVAILABLE ]
3618 -no-gfx-<driver> ... Disable graphics <driver> entirely.
3619 Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
3621 -qt-kbd-<driver> ... Enable a keyboard <driver> in the QtGui library.
3622 Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
3624 -plugin-kbd-<driver> Enable keyboard <driver> as a plugin to be linked to
3626 Possible values for <driver>: [ $CFG_KBD_PLUGIN_AVAILABLE ]
3628 -no-kbd-<driver> ... Disable keyboard <driver> entirely.
3629 Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
3631 -qt-mouse-<driver> ... Enable a mouse <driver> in the QtGui library.
3632 Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
3633 -plugin-mouse-<driver> Enable mouse <driver> as a plugin to be linked to
3635 Possible values for <driver>: [ $CFG_MOUSE_PLUGIN_AVAILABLE ]
3636 -no-mouse-<driver> ... Disable mouse <driver> entirely.
3637 Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
3639 -iwmmxt ............ Compile using the iWMMXt instruction set
3640 (available on some XScale CPUs).
3646 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
3647 if [ "$CFG_GLIB" = "no" ]; then
3655 $GBN -no-glib ........... Do not compile Glib support.
3656 $GBY -glib .............. Compile Glib support.
3661 [ "x$ERROR" = "xyes" ] && exit 1
3666 # -----------------------------------------------------------------------------
3667 # LICENSING, INTERACTIVE PART
3668 # -----------------------------------------------------------------------------
3670 if [ "$PLATFORM_QWS" = "yes" ]; then
3671 Platform
="Qt for Embedded Linux"
3672 elif [ "$PLATFORM_MAC" = "yes" ]; then
3680 echo "This is the $Platform ${EditionString} Edition."
3683 if [ "$Edition" = "NokiaInternalBuild" ]; then
3684 echo "Detected -nokia-developer option"
3685 echo "Nokia employees and agents are allowed to use this software under"
3686 echo "the authority of Nokia Corporation and/or its subsidiary(-ies)"
3687 elif [ "$Edition" = "OpenSource" ]; then
3689 echo "You are licensed to use this software under the terms of"
3690 echo "the GNU General Public License (GPL) versions 3."
3691 echo "You are also licensed to use this software under the terms of"
3692 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
3695 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3696 echo "You have already accepted the terms of the $LicenseType license."
3699 echo "Type '3' to view the GNU General Public License version 3."
3700 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
3701 echo "Type 'yes' to accept this license offer."
3702 echo "Type 'no' to decline this license offer."
3704 if echo '\c' |
grep '\c' >/dev
/null
; then
3705 echo -n "Do you accept the terms of $affix license? "
3707 echo "Do you accept the terms of $affix license? \c"
3712 if [ "$acceptance" = "yes" ]; then
3714 elif [ "$acceptance" = "no" ]; then
3715 echo "You are not licensed to use this software."
3718 elif [ "$acceptance" = "3" ]; then
3719 more "$relpath/LICENSE.GPL3"
3720 elif [ "$acceptance" = "L" ]; then
3721 more "$relpath/LICENSE.LGPL"
3724 elif [ "$Edition" = "Preview" ]; then
3725 TheLicense
=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
3728 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3729 echo "You have already accepted the terms of the $LicenseType license."
3732 echo "You are licensed to use this software under the terms of"
3733 echo "the $TheLicense"
3735 echo "Type '?' to read the Preview License."
3736 echo "Type 'yes' to accept this license offer."
3737 echo "Type 'no' to decline this license offer."
3739 if echo '\c' |
grep '\c' >/dev
/null
; then
3740 echo -n "Do you accept the terms of the license? "
3742 echo "Do you accept the terms of the license? \c"
3747 if [ "$acceptance" = "yes" ]; then
3749 elif [ "$acceptance" = "no" ] ;then
3750 echo "You are not licensed to use this software."
3753 elif [ "$acceptance" = "?" ]; then
3754 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
3757 elif [ "$Edition" != "OpenSource" ]; then
3758 if [ -n "$ExpiryDate" ]; then
3759 ExpiryDate
=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
3760 [ -z "$ExpiryDate" ] && ExpiryDate
="0"
3761 Today
=`date +%Y%m%d`
3762 if [ "$Today" -gt "$ExpiryDate" ]; then
3763 case "$LicenseType" in
3764 Commercial|Academic|Educational
)
3765 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
3767 echo "NOTICE NOTICE NOTICE NOTICE"
3769 echo " Your support and upgrade period has expired."
3771 echo " You are no longer licensed to use this version of Qt."
3772 echo " Please contact sales@trolltech.com to renew your support"
3773 echo " and upgrades for this license."
3775 echo "NOTICE NOTICE NOTICE NOTICE"
3780 echo "WARNING WARNING WARNING WARNING"
3782 echo " Your support and upgrade period has expired."
3784 echo " You may continue to use your last licensed release"
3785 echo " of Qt under the terms of your existing license"
3786 echo " agreement. But you are not entitled to technical"
3787 echo " support, nor are you entitled to use any more recent"
3788 echo " Qt releases."
3790 echo " Please contact sales@trolltech.com to renew your"
3791 echo " support and upgrades for this license."
3793 echo "WARNING WARNING WARNING WARNING"
3800 echo "NOTICE NOTICE NOTICE NOTICE"
3802 echo " Your Evaluation license has expired."
3804 echo " You are no longer licensed to use this software. Please"
3805 echo " contact sales@trolltech.com to purchase license, or install"
3806 echo " the Qt Open Source Edition if you intend to develop free"
3809 echo "NOTICE NOTICE NOTICE NOTICE"
3816 TheLicense
=`head -n 1 "$outpath/LICENSE"`
3818 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3819 echo "You have already accepted the terms of the $TheLicense."
3822 echo "You are licensed to use this software under the terms of"
3823 echo "the $TheLicense."
3825 echo "Type '?' to view the $TheLicense."
3826 echo "Type 'yes' to accept this license offer."
3827 echo "Type 'no' to decline this license offer."
3829 if echo '\c' |
grep '\c' >/dev
/null
; then
3830 echo -n "Do you accept the terms of the $TheLicense? "
3832 echo "Do you accept the terms of the $TheLicense? \c"
3837 if [ "$acceptance" = "yes" ]; then
3839 elif [ "$acceptance" = "no" ]; then
3840 echo "You are not licensed to use this software."
3843 else [ "$acceptance" = "?" ]
3844 more "$outpath/LICENSE"
3849 # this should be moved somewhere else
3852 AIX_VERSION
=`uname -v`
3853 if [ "$AIX_VERSION" -lt "5" ]; then
3854 QMakeVar add QMAKE_LIBS_X11
-lbind
3861 #-------------------------------------------------------------------------------
3862 # generate qconfig.cpp
3863 #-------------------------------------------------------------------------------
3864 [ -d "$outpath/src/corelib/global" ] || mkdir
-p "$outpath/src/corelib/global"
3866 LICENSE_USER_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsuser=$Licensee"`
3867 LICENSE_PRODUCTS_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsprod=$Edition"`
3868 PREFIX_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_INSTALL_PREFIX"`
3869 DOCUMENTATION_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_INSTALL_DOCS"`
3870 HEADERS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_INSTALL_HEADERS"`
3871 LIBRARIES_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_INSTALL_LIBS"`
3872 BINARIES_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_INSTALL_BINS"`
3873 PLUGINS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_INSTALL_PLUGINS"`
3874 DATA_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_INSTALL_DATA"`
3875 TRANSLATIONS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_INSTALL_TRANSLATIONS"`
3876 SETTINGS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
3877 EXAMPLES_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
3878 DEMOS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"`
3880 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3882 static const char qt_configure_licensee_str [256 + 12] = "$LICENSE_USER_STR";
3883 static const char qt_configure_licensed_products_str [256 + 12] = "$LICENSE_PRODUCTS_STR";
3886 if [ ! -z "$QT_HOST_PREFIX" ]; then
3887 HOSTPREFIX_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
3888 HOSTDOCUMENTATION_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
3889 HOSTHEADERS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"`
3890 HOSTLIBRARIES_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"`
3891 HOSTBINARIES_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"`
3892 HOSTPLUGINS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"`
3893 HOSTDATA_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"`
3894 HOSTTRANSLATIONS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
3895 HOSTSETTINGS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
3896 HOSTEXAMPLES_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
3897 HOSTDEMOS_PATH_STR
=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"`
3899 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3901 #if defined(QT_BOOTSTRAPPED) || defined(QT_BUILD_QMAKE)
3902 /* Installation Info */
3903 static const char qt_configure_prefix_path_str [256 + 12] = "$HOSTPREFIX_PATH_STR";
3904 static const char qt_configure_documentation_path_str[256 + 12] = "$HOSTDOCUMENTATION_PATH_STR";
3905 static const char qt_configure_headers_path_str [256 + 12] = "$HOSTHEADERS_PATH_STR";
3906 static const char qt_configure_libraries_path_str [256 + 12] = "$HOSTLIBRARIES_PATH_STR";
3907 static const char qt_configure_binaries_path_str [256 + 12] = "$HOSTBINARIES_PATH_STR";
3908 static const char qt_configure_plugins_path_str [256 + 12] = "$HOSTPLUGINS_PATH_STR";
3909 static const char qt_configure_data_path_str [256 + 12] = "$HOSTDATA_PATH_STR";
3910 static const char qt_configure_translations_path_str [256 + 12] = "$HOSTTRANSLATIONS_PATH_STR";
3911 static const char qt_configure_settings_path_str [256 + 12] = "$HOSTSETTINGS_PATH_STR";
3912 static const char qt_configure_examples_path_str [256 + 12] = "$HOSTEXAMPLES_PATH_STR";
3913 static const char qt_configure_demos_path_str [256 + 12] = "$HOSTDEMOS_PATH_STR";
3914 #else // QT_BOOTSTRAPPED
3918 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3919 /* Installation Info */
3920 static const char qt_configure_prefix_path_str [256 + 12] = "$PREFIX_PATH_STR";
3921 static const char qt_configure_documentation_path_str[256 + 12] = "$DOCUMENTATION_PATH_STR";
3922 static const char qt_configure_headers_path_str [256 + 12] = "$HEADERS_PATH_STR";
3923 static const char qt_configure_libraries_path_str [256 + 12] = "$LIBRARIES_PATH_STR";
3924 static const char qt_configure_binaries_path_str [256 + 12] = "$BINARIES_PATH_STR";
3925 static const char qt_configure_plugins_path_str [256 + 12] = "$PLUGINS_PATH_STR";
3926 static const char qt_configure_data_path_str [256 + 12] = "$DATA_PATH_STR";
3927 static const char qt_configure_translations_path_str [256 + 12] = "$TRANSLATIONS_PATH_STR";
3928 static const char qt_configure_settings_path_str [256 + 12] = "$SETTINGS_PATH_STR";
3929 static const char qt_configure_examples_path_str [256 + 12] = "$EXAMPLES_PATH_STR";
3930 static const char qt_configure_demos_path_str [256 + 12] = "$DEMOS_PATH_STR";
3933 if [ ! -z "$QT_HOST_PREFIX" ]; then
3934 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3935 #endif // QT_BOOTSTRAPPED
3940 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
3941 /* strlen( "qt_lcnsxxxx" ) == 12 */
3942 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
3943 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
3944 #define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12;
3945 #define QT_CONFIGURE_DOCUMENTATION_PATH qt_configure_documentation_path_str + 12;
3946 #define QT_CONFIGURE_HEADERS_PATH qt_configure_headers_path_str + 12;
3947 #define QT_CONFIGURE_LIBRARIES_PATH qt_configure_libraries_path_str + 12;
3948 #define QT_CONFIGURE_BINARIES_PATH qt_configure_binaries_path_str + 12;
3949 #define QT_CONFIGURE_PLUGINS_PATH qt_configure_plugins_path_str + 12;
3950 #define QT_CONFIGURE_DATA_PATH qt_configure_data_path_str + 12;
3951 #define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12;
3952 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
3953 #define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;
3954 #define QT_CONFIGURE_DEMOS_PATH qt_configure_demos_path_str + 12;
3957 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
3958 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
3959 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
3961 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w
"$outpath/src/corelib/global/qconfig.cpp"
3962 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
3963 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
3966 # -----------------------------------------------------------------------------
3968 # -----------------------------------------------------------------------------
3971 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
3973 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS
="$SYNCQT_OPTS -check-includes"
3974 if [ "$OPT_SHADOW" = "yes" ]; then
3975 "$outpath/bin/syncqt" $SYNCQT_OPTS
3976 elif [ "$CFG_DEV" = "yes" ]; then
3977 QTDIR
="$relpath" perl
"$outpath/bin/syncqt" $SYNCQT_OPTS
3982 # $2: optional transformation
3983 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
3984 # is where the resulting variable is written to
3985 setBootstrapVariable
()
3987 variableRegExp
="^$1[^_A-Z0-9]"
3988 getQMakeConf |
grep "$variableRegExp" |
( [ -n "$2" ] && sed "$2" ; [ -z "$2" ] && cat ) |
$AWK '
3990 varLength = index($0, "=") - 1
3991 valStart = varLength + 2
3992 if (substr($0, varLength, 1) == "+") {
3993 varLength = varLength - 1
3994 valStart = valStart + 1
3996 var = substr($0, 0, varLength)
3997 gsub("[ \t]+", "", var)
3998 val = substr($0, valStart)
3999 printf "%s_%s = %s\n", var, NR, val
4002 if (length(var) > 0) {
4004 for (i = 1; i <= NR; ++i)
4005 printf " $(%s_%s)", var, i
4012 if true
; then ###[ '!' -f "$outpath/bin/qmake" ];
4013 echo "Creating qmake. Please wait..."
4016 QCONFIG_H
="$outpath/src/corelib/global/qconfig.h"
4017 QMAKE_QCONFIG_H
="${QCONFIG_H}.qmake"
4018 if [ -f "$QCONFIG_H" ]; then
4019 OLD_QCONFIG_H
=$QCONFIG_H
4020 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
4023 # create temporary qconfig.h for compiling qmake, if it doesn't exist
4024 # when building qmake, we use #defines for the install paths,
4025 # however they are real functions in the library
4026 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
4027 mkdir
-p "$outpath/src/corelib/global"
4028 [ -f "$QCONFIG_H" ] && chmod +w
"$QCONFIG_H"
4029 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
4032 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
4033 for conf
in "$outpath/include/QtCore/qconfig.h" "$outpath/include/Qt/qconfig.h"; do
4034 if [ '!' -f "$conf" ]; then
4035 ln -s "$QCONFIG_H" "$conf"
4039 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
4040 rm -f mkspecs
/default
4041 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs
/default
4043 for mkfile
in GNUmakefile Makefile
; do
4046 in_mkfile
="${mkfile}.in"
4047 if [ "$mkfile" = "Makefile" ]; then
4048 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
4049 # (cd qmake && qmake) >/dev/null 2>&1 && continue
4051 in_mkfile
="${mkfile}.unix"
4053 in_mkfile
="$relpath/qmake/$in_mkfile"
4054 mkfile
="$outpath/qmake/$mkfile"
4055 if [ -f "$mkfile" ]; then
4056 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags
>/dev
/null
2>&1 && chflags nouchg
"$mkfile"
4059 [ -f "$in_mkfile" ] ||
continue
4061 echo "########################################################################" >$mkfile
4062 echo "## This file was autogenerated by configure, all changes will be lost ##" >>$mkfile
4063 echo "########################################################################" >>$mkfile
4066 EXTRA_CFLAGS
="\$(QMAKE_CFLAGS)"
4067 EXTRA_CXXFLAGS
="\$(QMAKE_CXXFLAGS)"
4068 EXTRA_LFLAGS
="\$(QMAKE_LFLAGS)"
4070 if [ "$PLATFORM" = "irix-cc" ] ||
[ "$PLATFORM" = "irix-cc-64" ]; then
4071 EXTRA_LFLAGS
="$EXTRA_LFLAGS -lm"
4074 [ -n "$CC" ] && echo "CC = $CC" >>$mkfile
4075 [ -n "$CXX" ] && echo "CXX = $CXX" >>$mkfile
4076 if [ "$CFG_SILENT" = "yes" ]; then
4077 [ -z "$CC" ] && setBootstrapVariable QMAKE_CC
's,QMAKE_CC.*=,CC=\@,'
4078 [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX
's,QMAKE_CXX.*=,CXX=\@,'
4080 [ -z "$CC" ] && setBootstrapVariable QMAKE_CC
's,QMAKE_CC,CC,'
4081 [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX
's,QMAKE_CXX,CXX,'
4083 setBootstrapVariable QMAKE_CFLAGS
4084 setBootstrapVariable QMAKE_CXXFLAGS
's,\$\$QMAKE_CFLAGS,\$(QMAKE_CFLAGS),'
4085 setBootstrapVariable QMAKE_LFLAGS
4087 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
4088 EXTRA_CFLAGS
="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
4089 EXTRA_CXXFLAGS
="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
4091 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
4092 setBootstrapVariable QMAKE_CFLAGS_RELEASE
4093 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
's,\$\$QMAKE_CFLAGS_RELEASE,\$(QMAKE_CFLAGS_RELEASE),'
4094 EXTRA_CFLAGS
="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
4095 EXTRA_CXXFLAGS
="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
4096 elif [ "$CFG_DEBUG" = "yes" ]; then
4097 setBootstrapVariable QMAKE_CFLAGS_DEBUG
4098 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
's,\$\$QMAKE_CFLAGS_DEBUG,\$(QMAKE_CFLAGS_DEBUG),'
4099 EXTRA_CFLAGS
="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
4100 EXTRA_CXXFLAGS
="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
4103 if [ '!' -z "$RPATH_FLAGS" ] && [ '!' -z "`getQMakeConf \"$QMAKESPEC\" | grep QMAKE_RPATH | awk '{print $3;}'`" ]; then
4104 setBootstrapVariable QMAKE_RPATH
's,\$\$LITERAL_WHITESPACE, ,'
4105 for rpath
in $RPATH_FLAGS; do
4106 EXTRA_LFLAGS
="\$(QMAKE_RPATH)\"$rpath\" $EXTRA_LFLAGS"
4109 if [ "$PLATFORM_MAC" = "yes" ]; then
4110 if [ "$PLATFORM" = "macx-icc" ]; then
4111 echo "export MACOSX_DEPLOYMENT_TARGET = 10.4" >>"$mkfile"
4113 echo "export MACOSX_DEPLOYMENT_TARGET = 10.3" >>"$mkfile"
4115 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
4116 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
4117 EXTRA_LFLAGS
="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
4118 EXTRA_CFLAGS
="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
4119 EXTRA_CXXFLAGS
="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
4120 EXTRA_OBJS
="qsettings_mac.o qcore_mac.o"
4121 EXTRA_SRCS
="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
4122 if echo "$CFG_MAC_ARCHS" |
grep x86
> /dev
/null
2>&1; then
4123 X86_CFLAGS
="-arch i386"
4124 X86_LFLAGS
="-arch i386"
4125 EXTRA_CFLAGS
="$X86_CFLAGS $EXTRA_CFLAGS"
4126 EXTRA_CXXFLAGS
="$X86_CFLAGS $EXTRA_CXXFLAGS"
4127 EXTRA_LFLAGS
="$EXTRA_LFLAGS $X86_LFLAGS"
4129 if echo "$CFG_MAC_ARCHS" |
grep ppc
> /dev
/null
2>&1; then
4130 PPC_CFLAGS
="-arch ppc"
4131 PPC_LFLAGS
="-arch ppc"
4132 EXTRA_CFLAGS
="$PPC_CFLAGS $EXTRA_CFLAGS"
4133 EXTRA_CXXFLAGS
="$PPC_CFLAGS $EXTRA_CXXFLAGS"
4134 EXTRA_LFLAGS
="$EXTRA_LFLAGS $PPC_LFLAGS"
4136 if [ '!' -z "$CFG_SDK" ]; then
4137 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
4138 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
4139 EXTRA_CFLAGS
="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
4140 EXTRA_CXXFLAGS
="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
4141 EXTRA_LFLAGS
="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
4144 [ "$CFG_EMBEDDED" != "no" ] && EXTRA_CFLAGS
="$EXTRA_CFLAGS -DQWS"
4145 if [ '!' -z "$D_FLAGS" ]; then
4146 for DEF
in $D_FLAGS; do
4147 EXTRA_CFLAGS
="$EXTRA_CFLAGS \"-D${DEF}\""
4150 QMAKE_BIN_DIR
="$QT_INSTALL_BINS"
4151 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR
="${QT_INSTALL_PREFIX}/bin"
4152 QMAKE_DATA_DIR
="$QT_INSTALL_DATA"
4153 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR
="${QT_INSTALL_PREFIX}"
4155 adjrelpath
=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
4156 adjoutpath
=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
4157 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
4158 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
4159 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
4160 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
4161 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
4162 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
4163 -e "s,@QMAKESPEC@,$QMAKESPEC,g" "$in_mkfile" >>"$mkfile"
4165 if "$WHICH" makedepend
>/dev
/null
2>&1 && grep 'depend:' "$mkfile" >/dev
/null
2>&1; then
4166 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend
) >/dev
/null
2>&1
4167 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"${mkfile}.tmp"
4168 mv "${mkfile}.tmp" "${mkfile}"
4172 QMAKE_BUILD_ERROR
=no
4173 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR
=yes
4174 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
4175 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
4176 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
4179 #-------------------------------------------------------------------------------
4180 # tests that need qmake
4181 #-------------------------------------------------------------------------------
4183 # detect availability of float math.h functions
4184 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/floatmath
"floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
4185 CFG_USE_FLOATMATH
=yes
4187 CFG_USE_FLOATMATH
=no
4190 # detect mmx support
4191 if [ "${CFG_MMX}" = "auto" ]; then
4192 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/mmx
"mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
4199 # detect 3dnow support
4200 if [ "${CFG_3DNOW}" = "auto" ]; then
4201 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/3dnow
"3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
4208 # detect sse support
4209 if [ "${CFG_SSE}" = "auto" ]; then
4210 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/sse
"sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
4217 # detect sse2 support
4218 if [ "${CFG_SSE2}" = "auto" ]; then
4219 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/sse2
"sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
4226 # check iWMMXt support
4227 if [ "$CFG_IWMMXT" = "yes" ]; then
4228 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
4229 echo "The iWMMXt functionality test failed!"
4230 echo " Please make sure your compiler supports iWMMXt intrinsics!"
4236 if [ "$CFG_ZLIB" = "no" ]; then
4237 # Note: Qt no longer support builds without zlib
4238 # So we force a "no" to be "auto" here.
4239 # If you REALLY really need no zlib support, you can still disable
4240 # it by doing the following:
4241 # add "no-zlib" to mkspecs/qconfig.pri
4242 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
4244 # There's no guarantee that Qt will build under those conditions
4249 if [ "$CFG_ZLIB" = "auto" ]; then
4250 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/zlib
"zlib" $L_FLAGS $I_FLAGS $l_FLAGS; then
4257 # detect how jpeg should be built
4258 if [ "$CFG_JPEG" = "auto" ]; then
4259 if [ "$CFG_SHARED" = "yes" ]; then
4266 if [ "$CFG_LIBJPEG" = "auto" ]; then
4267 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/libjpeg
"libjpeg" $L_FLAGS $I_FLAGS $l_FLAGS; then
4274 # detect how gif should be built
4275 if [ "$CFG_GIF" = "auto" ]; then
4276 if [ "$CFG_SHARED" = "yes" ]; then
4283 # detect how tiff should be built
4284 if [ "$CFG_TIFF" = "auto" ]; then
4285 if [ "$CFG_SHARED" = "yes" ]; then
4293 if [ "$CFG_LIBTIFF" = "auto" ]; then
4294 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/libtiff
"libtiff" $L_FLAGS $I_FLAGS $l_FLAGS; then
4301 # detect how mng should be built
4302 if [ "$CFG_MNG" = "auto" ]; then
4303 if [ "$CFG_SHARED" = "yes" ]; then
4310 if [ "$CFG_LIBMNG" = "auto" ]; then
4311 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/libmng
"libmng" $L_FLAGS $I_FLAGS $l_FLAGS; then
4319 if [ "$CFG_LIBPNG" = "auto" ]; then
4320 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/libpng
"libpng" $L_FLAGS $I_FLAGS $l_FLAGS; then
4327 # detect accessibility
4328 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4329 CFG_ACCESSIBILITY
=yes
4332 # auto-detect SQL-modules support
4333 for _SQLDR
in $CFG_SQL_AVAILABLE; do
4336 if [ "$CFG_SQL_mysql" != "no" ]; then
4337 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG
=`$WHICH mysql_config`
4338 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4339 QT_CFLAGS_MYSQL
=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4340 QT_LFLAGS_MYSQL_R
=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4341 QT_LFLAGS_MYSQL
=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4342 QT_MYSQL_VERSION
=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4343 QT_MYSQL_VERSION_MAJOR
=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4345 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4346 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4347 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4348 echo " You need MySql 4 or higher."
4349 echo " If you believe this message is in error you may use the continue"
4350 echo " switch (-continue) to $0 to continue."
4355 QT_LFLAGS_MYSQL_R
=""
4359 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; then
4360 QMakeVar add CONFIG use_libmysqlclient_r
4361 if [ "$CFG_SQL_mysql" = "auto" ]; then
4362 CFG_SQL_mysql
=plugin
4364 QT_LFLAGS_MYSQL
="$QT_LFLAGS_MYSQL_R"
4365 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; then
4366 if [ "$CFG_SQL_mysql" = "auto" ]; then
4367 CFG_SQL_mysql
=plugin
4370 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4371 echo "MySQL support cannot be enabled due to functionality tests!"
4372 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4373 echo " If you believe this message is in error you may use the continue"
4374 echo " switch (-continue) to $0 to continue."
4379 QT_LFLAGS_MYSQL_R
=""
4387 if [ "$CFG_SQL_psql" != "no" ]; then
4388 if "$WHICH" pg_config
>/dev
/null
2>&1; then
4389 QT_CFLAGS_PSQL
=`pg_config --includedir 2>/dev/null`
4390 QT_LFLAGS_PSQL
=`pg_config --libdir 2>/dev/null`
4392 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL
="-I$QT_CFLAGS_PSQL"
4393 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL
="-L$QT_LFLAGS_PSQL"
4394 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; then
4395 if [ "$CFG_SQL_psql" = "auto" ]; then
4399 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4400 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4401 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4402 echo " If you believe this message is in error you may use the continue"
4403 echo " switch (-continue) to $0 to continue."
4414 if [ "$CFG_SQL_odbc" != "no" ]; then
4415 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/odbc
"ODBC" $L_FLAGS $I_FLAGS $l_FLAGS; then
4416 if [ "$CFG_SQL_odbc" = "auto" ]; then
4420 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4421 echo "ODBC support cannot be enabled due to functionality tests!"
4422 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4423 echo " If you believe this message is in error you may use the continue"
4424 echo " switch (-continue) to $0 to continue."
4433 if [ "$CFG_SQL_oci" != "no" ]; then
4434 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/oci
"OCI" $L_FLAGS $I_FLAGS $l_FLAGS; then
4435 if [ "$CFG_SQL_oci" = "auto" ]; then
4439 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4440 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4441 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4442 echo " If you believe this message is in error you may use the continue"
4443 echo " switch (-continue) to $0 to continue."
4452 if [ "$CFG_SQL_tds" != "no" ]; then
4453 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/tds
"TDS" $L_FLAGS $I_FLAGS $l_FLAGS; then
4454 if [ "$CFG_SQL_tds" = "auto" ]; then
4458 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4459 echo "TDS support cannot be enabled due to functionality tests!"
4460 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4461 echo " If you believe this message is in error you may use the continue"
4462 echo " switch (-continue) to $0 to continue."
4471 if [ "$CFG_SQL_db2" != "no" ]; then
4472 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/db2
"DB2" $L_FLAGS $I_FLAGS $l_FLAGS; then
4473 if [ "$CFG_SQL_db2" = "auto" ]; then
4477 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4478 echo "ODBC support cannot be enabled due to functionality tests!"
4479 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4480 echo " If you believe this message is in error you may use the continue"
4481 echo " switch (-continue) to $0 to continue."
4490 if [ "$CFG_SQL_ibase" != "no" ]; then
4491 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/ibase
"InterBase" $L_FLAGS $I_FLAGS $l_FLAGS; then
4492 if [ "$CFG_SQL_ibase" = "auto" ]; then
4493 CFG_SQL_ibase
=plugin
4496 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4497 echo "InterBase support cannot be enabled due to functionality tests!"
4498 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4499 echo " If you believe this message is in error you may use the continue"
4500 echo " switch (-continue) to $0 to continue."
4509 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4510 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/sqlite2
"SQLite2" $L_FLAGS $I_FLAGS $l_FLAGS; then
4511 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4512 CFG_SQL_sqlite2
=plugin
4515 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4516 echo "SQLite2 support cannot be enabled due to functionality tests!"
4517 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4518 echo " If you believe this message is in error you may use the continue"
4519 echo " switch (-continue) to $0 to continue."
4528 if [ "$CFG_SQL_sqlite" != "no" ]; then
4529 SQLITE_AUTODETECT_FAILED
="no"
4530 if [ "$CFG_SQLITE" = "system" ]; then
4531 if [ -n "$PKG_CONFIG" ]; then
4532 QT_CFLAGS_SQLITE
=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4533 QT_LFLAGS_SQLITE
=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4535 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; then
4536 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4537 CFG_SQL_sqlite
=plugin
4539 QMAKE_CONFIG
="$QMAKE_CONFIG system-sqlite"
4541 SQLITE_AUTODETECT_FAILED
="yes"
4544 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4545 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4546 CFG_SQL_sqlite
=plugin
4549 SQLITE_AUTODETECT_FAILED
="yes"
4553 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4554 echo "SQLite support cannot be enabled due to functionality tests!"
4555 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4556 echo " If you believe this message is in error you may use the continue"
4557 echo " switch (-continue) to $0 to continue."
4563 if [ "$OPT_VERBOSE" = "yes" ]; then
4564 echo "unknown SQL driver: $_SQLDR"
4570 # auto-detect NIS support
4571 if [ "$CFG_NIS" != "no" ]; then
4572 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/nis
"NIS" $L_FLAGS $I_FLAGS $l_FLAGS; then
4575 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4576 echo "NIS support cannot be enabled due to functionality tests!"
4577 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4578 echo " If you believe this message is in error you may use the continue"
4579 echo " switch (-continue) to $0 to continue."
4587 # auto-detect CUPS support
4588 if [ "$CFG_CUPS" != "no" ]; then
4589 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/cups
"Cups" $L_FLAGS $I_FLAGS $l_FLAGS; then
4592 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4593 echo "Cups support cannot be enabled due to functionality tests!"
4594 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4595 echo " If you believe this message is in error you may use the continue"
4596 echo " switch (-continue) to $0 to continue."
4604 # auto-detect iconv(3) support
4605 if [ "$CFG_ICONV" != "no" ]; then
4606 if [ "$PLATFORM_QWS" = "yes" ]; then
4608 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS; then
4610 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/gnu-libiconv" "GNU libiconv" $L_FLAGS $I_FLAGS $l_FLAGS; then
4613 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4614 echo "Iconv support cannot be enabled due to functionality tests!"
4615 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4616 echo " If you believe this message is in error you may use the continue"
4617 echo " switch (-continue) to $0 to continue."
4625 # auto-detect libdbus-1 support
4626 if [ "$CFG_DBUS" != "no" ]; then
4627 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1
2>/dev
/null
; then
4628 QT_CFLAGS_DBUS
=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4629 QT_LIBS_DBUS
=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4631 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; then
4632 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS
=yes
4633 QMakeVar
set QT_CFLAGS_DBUS
"$QT_CFLAGS_DBUS"
4634 QMakeVar
set QT_LIBS_DBUS
"$QT_LIBS_DBUS"
4636 if [ "$CFG_DBUS" = "auto" ]; then
4638 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4639 # CFG_DBUS is "yes" or "linked" here
4641 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4642 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4643 echo " If you believe this message is in error you may use the continue"
4644 echo " switch (-continue) to $0 to continue."
4650 # Generate a CRC of the namespace for using in constants for the Carbon port.
4651 # This should mean that you really *can* load two Qt's and have our custom
4652 # Carbon events work.
4653 if [ "$PLATFORM_MAC" = "yes" -a ! -z "$QT_NAMESPACE" ]; then
4654 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`
4657 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
4658 # auto-detect Glib support
4659 if [ "$CFG_GLIB" != "no" ]; then
4660 if [ -n "$PKG_CONFIG" ]; then
4661 QT_CFLAGS_GLIB
=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4662 QT_LIBS_GLIB
=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4664 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
4666 QMakeVar
set QT_CFLAGS_GLIB
"$QT_CFLAGS_GLIB"
4667 QMakeVar
set QT_LIBS_GLIB
"$QT_LIBS_GLIB"
4669 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4670 echo "Glib support cannot be enabled due to functionality tests!"
4671 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4672 echo " If you believe this message is in error you may use the continue"
4673 echo " switch (-continue) to $0 to continue."
4681 if [ "$CFG_PHONON" != "no" ]; then
4682 if [ "$CFG_PHONON_BACKEND" != "no" ]; then
4683 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4684 if [ -n "$PKG_CONFIG" ]; then
4685 QT_CFLAGS_GSTREAMER
=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4686 QT_LIBS_GSTREAMER
=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4688 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
4690 QMakeVar
set QT_CFLAGS_GSTREAMER
"$QT_CFLAGS_GSTREAMER"
4691 QMakeVar
set QT_LIBS_GSTREAMER
"$QT_LIBS_GSTREAMER"
4693 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4694 echo "Gstreamer support cannot be enabled due to functionality tests!"
4695 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4696 echo " If you believe this message is in error you may use the continue"
4697 echo " switch (-continue) to $0 to continue."
4703 elif [ "$CFG_GLIB" = "no" ]; then
4707 if [ "$CFG_GSTREAMER" = "yes" ]; then
4710 if [ "$CFG_PHONON" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4711 echo "Phonon support cannot be enabled due to functionality tests!"
4712 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4713 echo " If you believe this message is in error you may use the continue"
4714 echo " switch (-continue) to $0 to continue."
4727 if [ "$PLATFORM_X11" = "yes" ]; then
4728 x11tests
="$relpath/config.tests/x11"
4731 # work around broken X11 headers when using GCC 2.95 or later
4733 "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE
=yes
4734 if [ $NOTYPE = "yes" ]; then
4735 QMakeVar add QMAKE_CXXFLAGS
-fpermissive
4736 X11TESTS_FLAGS
="$X11TESTS_FLAGS -fpermissive"
4739 # Check we actually have X11 :-)
4740 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
4741 echo "Basic XLib functionality test failed!"
4742 echo " You might need to modify the include and library search paths by editing"
4743 echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
4747 # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es1cl = ES 1.x common lite, es2 = OpenGL ES 2.x)
4748 if [ "$CFG_OPENGL" = "auto" ] ||
[ "$CFG_OPENGL" = "yes" ]; then
4749 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
4751 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
4753 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
4755 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
4758 if [ "$CFG_OPENGL" = "yes" ]; then
4759 echo "All the OpenGL functionality tests failed!"
4760 echo " You might need to modify the include and library search paths by editing"
4761 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4762 echo " ${XQMAKESPEC}."
4769 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4770 if [ "$CFG_OPENGL" = "desktop" ]; then
4771 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
4772 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4779 elif [ "$CFG_OPENGL" = "es1cl" ]; then
4780 # OpenGL ES 1.x common lite
4781 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
4782 echo "The OpenGL ES 1.x Common Lite Profile functionality test failed!"
4783 echo " You might need to modify the include and library search paths by editing"
4784 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4785 echo " ${XQMAKESPEC}."
4788 elif [ "$CFG_OPENGL" = "es1" ]; then
4790 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
4791 echo "The OpenGL ES 1.x functionality test failed!"
4792 echo " You might need to modify the include and library search paths by editing"
4793 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4794 echo " ${XQMAKESPEC}."
4797 elif [ "$CFG_OPENGL" = "es2" ]; then
4799 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
4800 echo "The OpenGL ES 2.0 functionality test failed!"
4801 echo " You might need to modify the include and library search paths by editing"
4802 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4803 echo " ${XQMAKESPEC}."
4806 elif [ "$CFG_OPENGL" = "desktop" ]; then
4807 # Desktop OpenGL support
4808 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
4809 echo "The OpenGL functionality test failed!"
4810 echo " You might need to modify the include and library search paths by editing"
4811 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4812 echo " ${XQMAKESPEC}."
4817 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4818 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
4819 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4827 # if opengl is disabled and the user specified graphicssystem gl, disable it...
4828 if [ "$CFG_GRAPHICS_SYSTEM" = "opengl" ] && [ "$CFG_OPENGL" = "no" ]; then
4829 echo "OpenGL Graphics System is disabled due to missing OpenGL support..."
4830 CFG_GRAPHICS_SYSTEM
=default
4833 # auto-detect Xcursor support
4834 if [ "$CFG_XCURSOR" != "no" ]; then
4835 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
4836 if [ "$CFG_XCURSOR" != "runtime" ]; then
4840 if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4841 echo "Xcursor support cannot be enabled due to functionality tests!"
4842 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4843 echo " If you believe this message is in error you may use the continue"
4844 echo " switch (-continue) to $0 to continue."
4852 # auto-detect Xfixes support
4853 if [ "$CFG_XFIXES" != "no" ]; then
4854 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/x11
/xfixes
"Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
4855 if [ "$CFG_XFIXES" != "runtime" ]; then
4859 if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4860 echo "Xfixes support cannot be enabled due to functionality tests!"
4861 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4862 echo " If you believe this message is in error you may use the continue"
4863 echo " switch (-continue) to $0 to continue."
4871 # auto-detect Xrandr support (resize and rotate extension)
4872 if [ "$CFG_XRANDR" != "no" ]; then
4873 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
4874 if [ "$CFG_XRANDR" != "runtime" ]; then
4878 if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4879 echo "Xrandr support cannot be enabled due to functionality tests!"
4880 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4881 echo " If you believe this message is in error you may use the continue"
4882 echo " switch (-continue) to $0 to continue."
4890 # auto-detect Xrender support
4891 if [ "$CFG_XRENDER" != "no" ]; then
4892 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
4895 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4896 echo "Xrender support cannot be enabled due to functionality tests!"
4897 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4898 echo " If you believe this message is in error you may use the continue"
4899 echo " switch (-continue) to $0 to continue."
4907 # auto-detect MIT-SHM support
4908 if [ "$CFG_MITSHM" != "no" ]; then
4909 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
4912 if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4913 echo "MITSHM support cannot be enabled due to functionality tests!"
4914 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4915 echo " If you believe this message is in error you may use the continue"
4916 echo " switch (-continue) to $0 to continue."
4924 # auto-detect FontConfig support
4925 if [ "$CFG_FONTCONFIG" != "no" ]; then
4926 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig
2>/dev
/null
; then
4927 QT_CFLAGS_FONTCONFIG
=`$PKG_CONFIG --cflags fontconfig 2>/dev/null`
4928 QT_LIBS_FONTCONFIG
=`$PKG_CONFIG --libs fontconfig 2>/dev/null`
4930 QT_CFLAGS_FONTCONFIG
=
4931 QT_LIBS_FONTCONFIG
="-lfreetype -lfontconfig"
4933 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
4935 QMakeVar
set QMAKE_CFLAGS_X11
"$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
4936 QMakeVar
set QMAKE_LIBS_X11
"$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
4937 CFG_LIBFREETYPE
=system
4939 if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4940 echo "FontConfig support cannot be enabled due to functionality tests!"
4941 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4942 echo " If you believe this message is in error you may use the continue"
4943 echo " switch (-continue) to $0 to continue."
4951 # auto-detect Session Management support
4952 if [ "$CFG_SM" = "auto" ]; then
4953 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
4956 if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4957 echo "Session Management support cannot be enabled due to functionality tests!"
4958 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4959 echo " If you believe this message is in error you may use the continue"
4960 echo " switch (-continue) to $0 to continue."
4968 # auto-detect SHAPE support
4969 if [ "$CFG_XSHAPE" != "no" ]; then
4970 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
4973 if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4974 echo "XShape support cannot be enabled due to functionality tests!"
4975 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4976 echo " If you believe this message is in error you may use the continue"
4977 echo " switch (-continue) to $0 to continue."
4985 # auto-detect Xinerama support
4986 if [ "$CFG_XINERAMA" != "no" ]; then
4987 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
4988 if [ "$CFG_XINERAMA" != "runtime" ]; then
4992 if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4993 echo "Xinerama support cannot be enabled due to functionality tests!"
4994 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4995 echo " If you believe this message is in error you may use the continue"
4996 echo " switch (-continue) to $0 to continue."
5004 # auto-detect Xinput support
5005 if [ "$CFG_XINPUT" != "no" ]; then
5006 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
5007 if [ "$CFG_XINPUT" != "runtime" ]; then
5011 if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5012 echo "Tablet and Xinput support cannot be enabled due to functionality tests!"
5013 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5014 echo " If you believe this message is in error you may use the continue"
5015 echo " switch (-continue) to $0 to continue."
5023 # auto-detect XKB support
5024 if [ "$CFG_XKB" != "no" ]; then
5025 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
5028 if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5029 echo "XKB support cannot be enabled due to functionality tests!"
5030 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5031 echo " If you believe this message is in error you may use the continue"
5032 echo " switch (-continue) to $0 to continue."
5040 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
5041 if [ -n "$PKG_CONFIG" ]; then
5042 QT_CFLAGS_QGTKSTYLE
=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
5043 QT_LIBS_QGTKSTYLE
=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
5045 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
5047 QMakeVar
set QT_CFLAGS_QGTKSTYLE
"$QT_CFLAGS_QGTKSTYLE"
5048 QMakeVar
set QT_LIBS_QGTKSTYLE
"$QT_LIBS_QGTKSTYLE"
5050 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5051 echo "Gtk theme support cannot be enabled due to functionality tests!"
5052 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5053 echo " If you believe this message is in error you may use the continue"
5054 echo " switch (-continue) to $0 to continue."
5060 elif [ "$CFG_GLIB" = "no" ]; then
5066 if [ "$PLATFORM_MAC" = "yes" ]; then
5067 if [ "$CFG_PHONON" != "no" ]; then
5068 # Always enable Phonon (unless it was explicitly disabled)
5074 if [ "$PLATFORM_QWS" = "yes" ]; then
5076 # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es1cl = ES 1.x common lite, es2 = OpenGL ES 2.x)
5077 if [ "$CFG_OPENGL" = "yes" ]; then
5078 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
5080 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
5082 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
5085 echo "All the OpenGL ES functionality tests failed!"
5086 echo " You might need to modify the include and library search paths by editing"
5087 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5088 echo " ${XQMAKESPEC}."
5091 elif [ "$CFG_OPENGL" = "es1" ]; then
5093 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
5094 echo "The OpenGL ES 1.x functionality test failed!"
5095 echo " You might need to modify the include and library search paths by editing"
5096 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5097 echo " ${XQMAKESPEC}."
5100 elif [ "$CFG_OPENGL" = "es2" ]; then
5102 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
5103 echo "The OpenGL ES 2.0 functionality test failed!"
5104 echo " You might need to modify the include and library search paths by editing"
5105 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5106 echo " ${XQMAKESPEC}."
5109 elif [ "$CFG_OPENGL" = "desktop" ]; then
5110 # Desktop OpenGL support
5111 echo "Desktop OpenGL support is not avaliable on Qt for Embedded Linux"
5116 for screen
in ${CFG_GFX_ON} ${CFG_GFX_PLUGIN}; do
5117 if [ "${screen}" = "ahi" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5118 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/qws
/ahi
"Ahi" $L_FLAGS $I_FLAGS $l_FLAGS; then
5119 echo "The Ahi screen driver functionality test failed!"
5120 echo " You might need to modify the include and library search paths by editing"
5121 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5122 echo " ${XQMAKESPEC}."
5127 if [ "${screen}" = "svgalib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5128 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/qws
/svgalib
"SVGAlib" $L_FLAGS $I_FLAGS $l_FLAGS; then
5129 echo "The SVGAlib screen driver functionality test failed!"
5130 echo " You might need to modify the include and library search paths by editing"
5131 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5132 echo " ${XQMAKESPEC}."
5137 if [ "${screen}" = "directfb" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5138 if [ -n "$PKG_CONFIG" ]; then
5139 if $PKG_CONFIG --exists directfb
2>/dev
/null
; then
5140 QT_CFLAGS_DIRECTFB
=`$PKG_CONFIG --cflags directfb 2>/dev/null`
5141 QT_LIBS_DIRECTFB
=`$PKG_CONFIG --libs directfb 2>/dev/null`
5142 elif directfb-config
--version >/dev
/null
2>&1; then
5143 QT_CFLAGS_DIRECTFB
=`directfb-config --cflags 2>/dev/null`
5144 QT_LIBS_DIRECTFB
=`directfb-config --libs 2>/dev/null`
5148 # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
5149 if [ -n "$QT_CFLAGS_DIRECTFB" ] ||
[ -n "$QT_LIBS_DIRECTFB" ]; then
5150 QMakeVar
set QT_CFLAGS_DIRECTFB
"$QT_CFLAGS_DIRECTFB"
5151 QMakeVar
set QT_LIBS_DIRECTFB
"$QT_LIBS_DIRECTFB"
5154 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
5155 echo "The DirectFB screen driver functionality test failed!"
5156 echo " You might need to modify the include and library search paths by editing"
5157 echo " QT_CFLAGS_DIRECTFB and QT_LIBS_DIRECTFB in"
5158 echo " ${XQMAKESPEC}."
5166 for mouse
in ${CFG_MOUSE_ON} ${CFG_MOUSE_PLUGIN}; do
5167 if [ "${mouse}" = "tslib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5168 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/tslib
"tslib" $L_FLAGS $I_FLAGS $l_FLAGS; then
5169 echo "The tslib functionality test failed!"
5170 echo " You might need to modify the include and library search paths by editing"
5171 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5172 echo " ${XQMAKESPEC}."
5181 if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/qws
/sound
"sound" $L_FLAGS $I_FLAGS $l_FLAGS; then
5182 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SOUND"
5188 [ "x$CFG_EMBEDDED" != "xno" ] && CFG_LIBFREETYPE
="$CFG_QWS_FREETYPE"
5189 [ "x$PLATFORM_MAC" = "xyes" ] && CFG_LIBFREETYPE
=no
5190 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
5191 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/freetype
"FreeType" $L_FLAGS $I_FLAGS $l_FLAGS ; then
5192 CFG_LIBFREETYPE
=system
5198 if [ "$CFG_ENDIAN" = "auto" ]; then
5199 if [ "$PLATFORM_MAC" = "yes" ]; then
5202 "$unixtests/endian.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5204 if [ "$F" -eq 0 ]; then
5205 CFG_ENDIAN
="Q_LITTLE_ENDIAN"
5206 elif [ "$F" -eq 1 ]; then
5207 CFG_ENDIAN
="Q_BIG_ENDIAN"
5210 echo "The target system byte order could not be detected!"
5211 echo "Turn on verbose messaging (-v) to see the final report."
5212 echo "You can use the -little-endian or -big-endian switch to"
5213 echo "$0 to continue."
5219 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
5220 if [ "$PLATFORM_MAC" = "yes" ]; then
5223 "$unixtests/endian.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5225 if [ "$F" -eq 0 ]; then
5226 CFG_HOST_ENDIAN
="Q_LITTLE_ENDIAN"
5227 elif [ "$F" -eq 1 ]; then
5228 CFG_HOST_ENDIAN
="Q_BIG_ENDIAN"
5231 echo "The host system byte order could not be detected!"
5232 echo "Turn on verbose messaging (-v) to see the final report."
5233 echo "You can use the -host-little-endian or -host-big-endian switch to"
5234 echo "$0 to continue."
5240 if [ "$CFG_ARMFPA" != "auto" ]; then
5241 if [ "$CFG_ARMFPA" = "yes" ]; then
5242 if [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5243 CFG_DOUBLEFORMAT
="Q_DOUBLE_LITTLE_SWAPPED"
5245 CFG_DOUBLEFORMAT
="Q_DOUBLE_BIG_SWAPPED"
5248 CFG_DOUBLEFORMAT
="normal"
5253 if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then
5254 if [ "$PLATFORM_QWS" != "yes" ]; then
5255 CFG_DOUBLEFORMAT
=normal
5257 "$unixtests/doubleformat.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5259 if [ "$F" -eq 10 ] && [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5260 CFG_DOUBLEFORMAT
=normal
5261 elif [ "$F" -eq 11 ] && [ "$CFG_ENDIAN" = "Q_BIG_ENDIAN" ]; then
5262 CFG_DOUBLEFORMAT
=normal
5263 elif [ "$F" -eq 10 ]; then
5264 CFG_DOUBLEFORMAT
="Q_DOUBLE_LITTLE"
5265 elif [ "$F" -eq 11 ]; then
5266 CFG_DOUBLEFORMAT
="Q_DOUBLE_BIG"
5267 elif [ "$F" -eq 12 ]; then
5268 CFG_DOUBLEFORMAT
="Q_DOUBLE_LITTLE_SWAPPED"
5270 elif [ "$F" -eq 13 ]; then
5271 CFG_DOUBLEFORMAT
="Q_DOUBLE_BIG_SWAPPED"
5275 echo "The system floating point format could not be detected."
5276 echo "This may cause data to be generated in a wrong format"
5277 echo "Turn on verbose messaging (-v) to see the final report."
5278 # we do not fail on this since this is a new test, and if it fails,
5279 # the old behavior should be correct in most cases
5280 CFG_DOUBLEFORMAT
=normal
5286 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/stl
"STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
5290 if [ "$CFG_STL" != "no" ]; then
5291 if [ "$HAVE_STL" = "yes" ]; then
5294 if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5295 echo "STL support cannot be enabled due to functionality tests!"
5296 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5297 echo " If you believe this message is in error you may use the continue"
5298 echo " switch (-continue) to $0 to continue."
5306 # find if the platform supports IPv6
5307 if [ "$CFG_IPV6" != "no" ]; then
5308 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/ipv6
"IPv6" $L_FLAGS $I_FLAGS $l_FLAGS; then
5311 if [ "$CFG_IPV6" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5312 echo "IPv6 support cannot be enabled due to functionality tests!"
5313 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5314 echo " If you believe this message is in error you may use the continue"
5315 echo " switch (-continue) to $0 to continue."
5323 # detect POSIX clock_gettime()
5324 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
5325 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
5326 CFG_CLOCK_GETTIME
=yes
5328 CFG_CLOCK_GETTIME
=no
5332 # detect POSIX monotonic clocks
5333 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
5334 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
5335 CFG_CLOCK_MONOTONIC
=yes
5337 CFG_CLOCK_MONOTONIC
=no
5339 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
5340 CFG_CLOCK_MONOTONIC
=no
5344 if [ "$CFG_MREMAP" = "auto" ]; then
5345 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/mremap
"mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
5352 # find if the platform provides getaddrinfo (ipv6 dns lookups)
5353 if [ "$CFG_GETADDRINFO" != "no" ]; then
5354 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/getaddrinfo
"getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
5357 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5358 echo "getaddrinfo support cannot be enabled due to functionality tests!"
5359 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5360 echo " If you believe this message is in error you may use the continue"
5361 echo " switch (-continue) to $0 to continue."
5369 # find if the platform provides inotify
5370 if [ "$CFG_INOTIFY" != "no" ]; then
5371 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/inotify
"inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
5374 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5375 echo "inotify support cannot be enabled due to functionality tests!"
5376 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5377 echo " If you believe this message is in error you may use the continue"
5378 echo " switch (-continue) to $0 to continue."
5386 # find if the platform provides if_nametoindex (ipv6 interface name support)
5387 if [ "$CFG_IPV6IFNAME" != "no" ]; then
5388 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
5391 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5392 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
5393 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5394 echo " If you believe this message is in error you may use the continue"
5395 echo " switch (-continue) to $0 to continue."
5403 # find if the platform provides getifaddrs (network interface enumeration)
5404 if [ "$CFG_GETIFADDRS" != "no" ]; then
5405 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/getifaddrs
"getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
5408 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5409 echo "getifaddrs support cannot be enabled due to functionality tests!"
5410 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5411 echo " If you believe this message is in error you may use the continue"
5412 echo " switch (-continue) to $0 to continue."
5420 # find if the platform supports X/Open Large File compilation environment
5421 if [ "$CFG_LARGEFILE" != "no" ]; then
5422 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
5425 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5426 echo "X/Open Large File support cannot be enabled due to functionality tests!"
5427 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5428 echo " If you believe this message is in error you may use the continue"
5429 echo " switch (-continue) to $0 to continue."
5438 if [ "$CFG_OPENSSL" != "no" ]; then
5439 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/openssl
"OpenSSL" $L_FLAGS $I_FLAGS $l_FLAGS; then
5440 if [ "$CFG_OPENSSL" = "auto" ]; then
5444 if ( [ "$CFG_OPENSSL" = "yes" ] ||
[ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5445 echo "OpenSSL support cannot be enabled due to functionality tests!"
5446 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5447 echo " If you believe this message is in error you may use the continue"
5448 echo " switch (-continue) to $0 to continue."
5456 if [ "$CFG_PTMALLOC" != "no" ]; then
5457 # build ptmalloc, copy .a file to lib/
5458 echo "Building ptmalloc. Please wait..."
5459 (cd "$relpath/src/3rdparty/ptmalloc/"; "$MAKE" "clean" ; "$MAKE" "posix"
5460 mkdir
"$outpath/lib/" ; cp "libptmalloc3.a" "$outpath/lib/")
5462 QMakeVar add QMAKE_LFLAGS
"$outpath/lib/libptmalloc3.a"
5465 #-------------------------------------------------------------------------------
5466 # ask for all that hasn't been auto-detected or specified in the arguments
5467 #-------------------------------------------------------------------------------
5469 ### fix this: user input should be validated in a loop
5470 if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PLATFORM_QWS" = "yes" ]; then
5472 echo "Choose pixel-depths to support:"
5474 echo " 1. 1bpp, black/white"
5475 echo " 4. 4bpp, grayscale"
5476 echo " 8. 8bpp, paletted"
5477 echo " 12. 12bpp, rgb 4-4-4"
5478 echo " 15. 15bpp, rgb 5-5-5"
5479 echo " 16. 16bpp, rgb 5-6-5"
5480 echo " 18. 18bpp, rgb 6-6-6"
5481 echo " 24. 24bpp, rgb 8-8-8"
5482 echo " 32. 32bpp, argb 8-8-8-8 and rgb 8-8-8"
5483 echo " all. All supported depths"
5485 echo "Your choices (default 8,16,32):"
5487 if [ -z "$CFG_QWS_DEPTHS" ] ||
[ "$CFG_QWS_DEPTHS" = "yes" ]; then
5488 CFG_QWS_DEPTHS
=8,16,32
5491 if [ -n "$CFG_QWS_DEPTHS" -a "$PLATFORM_QWS" = "yes" ]; then
5492 if [ "$CFG_QWS_DEPTHS" = "all" ]; then
5493 CFG_QWS_DEPTHS
="1 4 8 12 15 16 18 24 32 generic"
5495 for D
in `echo "$CFG_QWS_DEPTHS" | sed -e 's/,/ /g'`; do
5497 1|
4|
8|
12|
15|
16|
18|
24|
32) QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
5498 generic
) QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_QWS_DEPTH_GENERIC";;
5503 # enable dwarf2 support on Mac
5504 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
5505 QT_CONFIG
="$QT_CONFIG dwarf2"
5508 # Set the default arch. Select 32-bit/carbon if nothing else has
5509 # been specified on the configure line.
5510 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_ARCHS" == "" ]; then
5511 source "$mactests/defaultarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests"
5513 if [ "$QT_MAC_DEFUALT_ARCH" == "x86_64" ]; then
5514 CFG_MAC_ARCHS
=" x86"
5515 elif [ "$QT_MAC_DEFUALT_ARCH" == "ppc64" ]; then
5516 CFG_MAC_ARCHS
=" ppc"
5518 CFG_MAC_ARCHS
=" $QT_MAC_DEFUALT_ARCH"
5521 [ "$OPT_VERBOSE" == "yes" ] && echo "Setting Mac architechture to$CFG_MAC_ARCHS."
5524 # enable cocoa and/or carbon on Mac
5525 if [ "$CFG_MAC_COCOA" = "yes" ]; then
5526 # -cocoa on the command line disables carbon completely (i.e. use cocoa for 32-bit as well)
5529 # check which archs are in use, enable cocoa if we find a 64-bit one
5530 if echo "$CFG_MAC_ARCHS" |
grep 64 > /dev
/null
2>&1; then
5531 CFG_MAC_COCOA
="yes";
5532 CFG_MAC_CARBON
="no";
5533 if echo "$CFG_MAC_ARCHS" |
grep -w ppc
> /dev
/null
2>&1; then
5534 CFG_MAC_CARBON
="yes";
5536 if echo "$CFG_MAC_ARCHS" |
grep -w x86
> /dev
/null
2>&1; then
5537 CFG_MAC_CARBON
="yes";
5540 # no 64-bit archs found.
5545 # set the global Mac deployment target. This is overridden on an arch-by-arch basis
5546 # in some cases, see code further down
5547 case "$PLATFORM,$CFG_MAC_COCOA" in
5550 QMakeVar
set QMAKE_MACOSX_DEPLOYMENT_TARGET
10.5
5555 QMakeVar
set QMAKE_MACOSX_DEPLOYMENT_TARGET
10.4
5559 QMakeVar
set QMAKE_MACOSX_DEPLOYMENT_TARGET
10.3
5563 # enable Qt 3 support functionality
5564 if [ "$CFG_QT3SUPPORT" = "yes" ]; then
5565 QT_CONFIG
="$QT_CONFIG qt3support"
5569 if [ "$CFG_PHONON" = "yes" ]; then
5570 QT_CONFIG
="$QT_CONFIG phonon"
5571 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
5572 QT_CONFIG
="$QT_CONFIG phonon-backend"
5575 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_PHONON"
5578 # disable accessibility
5579 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
5580 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
5582 QT_CONFIG
="$QT_CONFIG accessibility"
5586 if [ "$CFG_OPENGL" = "no" ]; then
5587 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_OPENGL"
5589 QT_CONFIG
="$QT_CONFIG opengl"
5592 if [ "$CFG_OPENGL" = "es1" ] ||
[ "$CFG_OPENGL" = "es1cl" ] ||
[ "$CFG_OPENGL" = "es2" ]; then
5593 if [ "$PLATFORM_QWS" = "yes" ]; then
5594 QCONFIG_FLAGS
="$QCONFIG_FLAGS Q_BACKINGSTORE_SUBSURFACES"
5595 QCONFIG_FLAGS
="$QCONFIG_FLAGS Q_USE_EGLWINDOWSURFACE"
5597 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_OPENGL_ES"
5600 if [ "$CFG_OPENGL" = "es1" ]; then
5601 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_OPENGL_ES_1"
5602 QT_CONFIG
="$QT_CONFIG opengles1"
5605 if [ "$CFG_OPENGL" = "es1cl" ]; then
5606 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_OPENGL_ES_1_CL"
5607 QT_CONFIG
="$QT_CONFIG opengles1cl"
5610 if [ "$CFG_OPENGL" = "es2" ]; then
5611 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5612 QT_CONFIG
="$QT_CONFIG opengles2"
5615 # safe execution environment
5616 if [ "$CFG_SXE" != "no" ]; then
5617 QT_CONFIG
="$QT_CONFIG sxe"
5620 # build up the variables for output
5621 if [ "$CFG_DEBUG" = "yes" ]; then
5622 QMAKE_OUTDIR
="${QMAKE_OUTDIR}debug"
5623 QMAKE_CONFIG
="$QMAKE_CONFIG debug"
5624 elif [ "$CFG_DEBUG" = "no" ]; then
5625 QMAKE_OUTDIR
="${QMAKE_OUTDIR}release"
5626 QMAKE_CONFIG
="$QMAKE_CONFIG release"
5628 if [ "$CFG_SHARED" = "yes" ]; then
5629 QMAKE_OUTDIR
="${QMAKE_OUTDIR}-shared"
5630 QMAKE_CONFIG
="$QMAKE_CONFIG shared dll"
5631 elif [ "$CFG_SHARED" = "no" ]; then
5632 QMAKE_OUTDIR
="${QMAKE_OUTDIR}-static"
5633 QMAKE_CONFIG
="$QMAKE_CONFIG static"
5635 if [ "$PLATFORM_QWS" = "yes" ]; then
5636 QMAKE_OUTDIR
="${QMAKE_OUTDIR}-emb-$CFG_EMBEDDED"
5637 QMAKE_CONFIG
="$QMAKE_CONFIG embedded"
5638 QT_CONFIG
="$QT_CONFIG embedded"
5639 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5641 QMakeVar
set PRECOMPILED_DIR
".pch/$QMAKE_OUTDIR"
5642 QMakeVar
set OBJECTS_DIR
".obj/$QMAKE_OUTDIR"
5643 QMakeVar
set MOC_DIR
".moc/$QMAKE_OUTDIR"
5644 QMakeVar
set RCC_DIR
".rcc/$QMAKE_OUTDIR"
5645 QMakeVar
set UI_DIR
".uic/$QMAKE_OUTDIR"
5646 if [ "$CFG_LARGEFILE" = "yes" ]; then
5647 QMAKE_CONFIG
="$QMAKE_CONFIG largefile"
5649 if [ "$CFG_STL" = "no" ]; then
5650 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_STL"
5652 QMAKE_CONFIG
="$QMAKE_CONFIG stl"
5654 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
5655 QMAKE_CONFIG
="$QMAKE_CONFIG GNUmake"
5657 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG
="$QT_CONFIG reduce_exports"
5658 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG
="$QT_CONFIG reduce_relocations"
5659 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG precompile_header"
5660 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
5661 QMakeVar add QMAKE_CFLAGS
-g
5662 QMakeVar add QMAKE_CXXFLAGS
-g
5663 QMAKE_CONFIG
="$QMAKE_CONFIG separate_debug_info"
5665 [ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG mmx"
5666 [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG 3dnow"
5667 [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG sse"
5668 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG sse2"
5669 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG iwmmxt"
5670 [ "$PLATFORM_MAC" = "yes" ] && QMAKE_CONFIG
="$QMAKE_CONFIG $CFG_MAC_ARCHS"
5671 if [ "$CFG_IPV6" = "yes" ]; then
5672 QT_CONFIG
="$QT_CONFIG ipv6"
5674 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
5675 QT_CONFIG
="$QT_CONFIG clock-gettime"
5677 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
5678 QT_CONFIG
="$QT_CONFIG clock-monotonic"
5680 if [ "$CFG_MREMAP" = "yes" ]; then
5681 QT_CONFIG
="$QT_CONFIG mremap"
5683 if [ "$CFG_GETADDRINFO" = "yes" ]; then
5684 QT_CONFIG
="$QT_CONFIG getaddrinfo"
5686 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
5687 QT_CONFIG
="$QT_CONFIG ipv6ifname"
5689 if [ "$CFG_GETIFADDRS" = "yes" ]; then
5690 QT_CONFIG
="$QT_CONFIG getifaddrs"
5692 if [ "$CFG_INOTIFY" = "yes" ]; then
5693 QT_CONFIG
="$QT_CONFIG inotify"
5695 if [ "$CFG_LIBJPEG" = "system" ]; then
5696 QT_CONFIG
="$QT_CONFIG system-jpeg"
5698 if [ "$CFG_JPEG" = "no" ]; then
5699 QT_CONFIG
="$QT_CONFIG no-jpeg"
5700 elif [ "$CFG_JPEG" = "yes" ]; then
5701 QT_CONFIG
="$QT_CONFIG jpeg"
5703 if [ "$CFG_LIBMNG" = "system" ]; then
5704 QT_CONFIG
="$QT_CONFIG system-mng"
5706 if [ "$CFG_MNG" = "no" ]; then
5707 QT_CONFIG
="$QT_CONFIG no-mng"
5708 elif [ "$CFG_MNG" = "yes" ]; then
5709 QT_CONFIG
="$QT_CONFIG mng"
5711 if [ "$CFG_LIBPNG" = "no" ]; then
5714 if [ "$CFG_LIBPNG" = "system" ]; then
5715 QT_CONFIG
="$QT_CONFIG system-png"
5717 if [ "$CFG_PNG" = "no" ]; then
5718 QT_CONFIG
="$QT_CONFIG no-png"
5719 elif [ "$CFG_PNG" = "yes" ]; then
5720 QT_CONFIG
="$QT_CONFIG png"
5722 if [ "$CFG_GIF" = "no" ]; then
5723 QT_CONFIG
="$QT_CONFIG no-gif"
5724 elif [ "$CFG_GIF" = "yes" ]; then
5725 QT_CONFIG
="$QT_CONFIG gif"
5727 if [ "$CFG_LIBTIFF" = "system" ]; then
5728 QT_CONFIG
="$QT_CONFIG system-tiff"
5730 if [ "$CFG_TIFF" = "no" ]; then
5731 QT_CONFIG
="$QT_CONFIG no-tiff"
5732 elif [ "$CFG_TIFF" = "yes" ]; then
5733 QT_CONFIG
="$QT_CONFIG tiff"
5735 if [ "$CFG_LIBFREETYPE" = "no" ]; then
5736 QT_CONFIG
="$QT_CONFIG no-freetype"
5737 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
5738 QT_CONFIG
="$QT_CONFIG system-freetype"
5740 QT_CONFIG
="$QT_CONFIG freetype"
5743 if [ "x$PLATFORM_MAC" = "xyes" ]; then
5744 #On Mac we implicitly link against libz, so we
5745 #never use the 3rdparty stuff.
5746 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB
="system"
5748 if [ "$CFG_ZLIB" = "yes" ]; then
5749 QT_CONFIG
="$QT_CONFIG zlib"
5750 elif [ "$CFG_ZLIB" = "system" ]; then
5751 QT_CONFIG
="$QT_CONFIG system-zlib"
5754 [ "$CFG_NIS" = "yes" ] && QT_CONFIG
="$QT_CONFIG nis"
5755 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG
="$QT_CONFIG cups"
5756 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG
="$QT_CONFIG iconv"
5757 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG
="$QT_CONFIG gnu-libiconv"
5758 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG
="$QT_CONFIG glib"
5759 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG
="$QT_CONFIG gstreamer"
5760 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG
="$QT_CONFIG dbus"
5761 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG
="$QT_CONFIG dbus dbus-linked"
5762 [ "$CFG_NAS" = "system" ] && QT_CONFIG
="$QT_CONFIG nas"
5763 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG
="$QT_CONFIG openssl"
5764 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG
="$QT_CONFIG openssl-linked"
5766 if [ "$PLATFORM_X11" = "yes" ]; then
5767 [ "$CFG_SM" = "yes" ] && QT_CONFIG
="$QT_CONFIG x11sm"
5769 # for some reason, the following libraries are not always built shared,
5770 # so *every* program/lib (including Qt) has to link against them
5771 if [ "$CFG_XSHAPE" = "yes" ]; then
5772 QT_CONFIG
="$QT_CONFIG xshape"
5774 if [ "$CFG_XINERAMA" = "yes" ]; then
5775 QT_CONFIG
="$QT_CONFIG xinerama"
5776 QMakeVar
set QMAKE_LIBS_X11
'-lXinerama $$QMAKE_LIBS_X11'
5778 if [ "$CFG_XCURSOR" = "yes" ]; then
5779 QT_CONFIG
="$QT_CONFIG xcursor"
5780 QMakeVar
set QMAKE_LIBS_X11
'-lXcursor $$QMAKE_LIBS_X11'
5782 if [ "$CFG_XFIXES" = "yes" ]; then
5783 QT_CONFIG
="$QT_CONFIG xfixes"
5784 QMakeVar
set QMAKE_LIBS_X11
'-lXfixes $$QMAKE_LIBS_X11'
5786 if [ "$CFG_XRANDR" = "yes" ]; then
5787 QT_CONFIG
="$QT_CONFIG xrandr"
5788 if [ "$CFG_XRENDER" != "yes" ]; then
5789 # libXrandr uses 1 function from libXrender, so we always have to have it :/
5790 QMakeVar
set QMAKE_LIBS_X11
'-lXrandr -lXrender $$QMAKE_LIBS_X11'
5792 QMakeVar
set QMAKE_LIBS_X11
'-lXrandr $$QMAKE_LIBS_X11'
5795 if [ "$CFG_XRENDER" = "yes" ]; then
5796 QT_CONFIG
="$QT_CONFIG xrender"
5797 QMakeVar
set QMAKE_LIBS_X11
'-lXrender $$QMAKE_LIBS_X11'
5799 if [ "$CFG_MITSHM" = "yes" ]; then
5800 QT_CONFIG
="$QT_CONFIG mitshm"
5802 if [ "$CFG_FONTCONFIG" = "yes" ]; then
5803 QT_CONFIG
="$QT_CONFIG fontconfig"
5805 if [ "$CFG_XINPUT" = "yes" ]; then
5806 QMakeVar
set QMAKE_LIBS_X11
'-lXi $$QMAKE_LIBS_X11'
5808 if [ "$CFG_XINPUT" = "yes" ]; then
5809 QT_CONFIG
="$QT_CONFIG xinput tablet"
5811 if [ "$CFG_XKB" = "yes" ]; then
5812 QT_CONFIG
="$QT_CONFIG xkb"
5816 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES
"$D_FLAGS"
5817 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS
"$L_FLAGS"
5818 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS
"$l_FLAGS"
5820 if [ "$PLATFORM_MAC" = "yes" ]; then
5821 if [ "$CFG_RPATH" = "yes" ]; then
5822 QMAKE_CONFIG
="$QMAKE_CONFIG absolute_library_soname"
5824 elif [ -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_RPATH | awk '{print $3;}'`" ]; then
5825 if [ -n "$RPATH_FLAGS" ]; then
5827 echo "ERROR: -R cannot be used on this platform as \$QMAKE_RPATH is"
5831 elif [ "$CFG_RPATH" = "yes" ]; then
5832 RPATH_MESSAGE
=" NOTE: This platform does not support runtime library paths, using -no-rpath."
5836 if [ "$CFG_RPATH" = "yes" ]; then
5837 # set the default rpath to the library installation directory
5838 RPATH_FLAGS
="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
5840 if [ -n "$RPATH_FLAGS" ]; then
5841 # add the user defined rpaths
5842 QMakeVar add QMAKE_RPATHDIR
"$RPATH_FLAGS"
5846 if [ '!' -z "$I_FLAGS" ]; then
5847 # add the user define include paths
5848 QMakeVar add QMAKE_CFLAGS
"$I_FLAGS"
5849 QMakeVar add QMAKE_CXXFLAGS
"$I_FLAGS"
5852 # turn off exceptions for the compilers that support it
5853 if [ "$PLATFORM_QWS" = "yes" ]; then
5854 COMPILER
=`echo $XPLATFORM | cut -f 3- -d-`
5856 COMPILER
=`echo $PLATFORM | cut -f 2- -d-`
5858 if [ "$CFG_EXCEPTIONS" = "unspecified" -a "$PLATFORM_QWS" = "yes" ]; then
5862 if [ "$CFG_EXCEPTIONS" != "no" ]; then
5863 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG exceptions"
5867 # Some Qt modules are too advanced in C++ for some old compilers
5868 # Detect here the platforms where they are known to work.
5870 # See Qt documentation for more information on which features are
5871 # supported and on which compilers.
5873 canBuildQtXmlPatterns
="yes"
5874 canBuildWebKit
="$HAVE_STL"
5876 # WebKit requires stdint.h
5877 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.
tests
/unix
/stdint
"Stdint" $L_FLAGS $I_FLAGS $l_FLAGS
5878 if [ $?
!= "0" ]; then
5882 case "$XPLATFORM" in
5884 # PA-RISC's assembly is too limited
5885 # gcc 3.4 on that platform can't build QtXmlPatterns
5886 # the assembly it generates cannot be compiled
5888 # Check gcc's version
5889 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5893 canBuildQtXmlPatterns
="no"
5897 canBuildQtXmlPatterns
="no"
5902 # Check gcc's version
5903 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
5911 canBuildQtXmlPatterns
="no"
5916 # Check the compiler version
5917 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
5920 canBuildQtXmlPatterns
="no"
5926 canBuildQtXmlPatterns
="no"
5933 canBuildQtXmlPatterns
="no"
5940 if [ "$CFG_XMLPATTERNS" = "yes" -a "$CFG_EXCEPTIONS" = "no" ]; then
5941 echo "QtXmlPatterns was requested, but it can't be built due to exceptions being disabled."
5944 if [ "$CFG_XMLPATTERNS" = "auto" -a "$CFG_EXCEPTIONS" != "no" ]; then
5945 CFG_XMLPATTERNS
="$canBuildQtXmlPatterns"
5946 elif [ "$CFG_EXCEPTIONS" = "no" ]; then
5947 CFG_XMLPATTERNS
="no"
5949 if [ "$CFG_XMLPATTERNS" = "yes" ]; then
5950 QT_CONFIG
="$QT_CONFIG xmlpatterns"
5952 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XMLPATTERNS"
5955 if [ "$CFG_SVG" = "yes" ]; then
5956 QT_CONFIG
="$QT_CONFIG svg"
5958 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SVG"
5961 if [ "$CFG_WEBKIT" = "auto" ]; then
5962 CFG_WEBKIT
="$canBuildWebKit"
5965 if [ "$CFG_WEBKIT" = "yes" ]; then
5966 QT_CONFIG
="$QT_CONFIG webkit"
5967 # The reason we set CFG_WEBKIT, is such that the printed overview of what will be enabled, shows correctly.
5971 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_WEBKIT"
5974 if [ "$CFG_SCRIPTTOOLS" = "auto" ]; then
5975 CFG_SCRIPTTOOLS
="yes"
5978 if [ "$CFG_SCRIPTTOOLS" = "yes" ]; then
5979 QT_CONFIG
="$QT_CONFIG scripttools"
5980 CFG_SCRIPTTOOLS
="yes"
5982 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SCRIPTTOOLS"
5985 if [ "$CFG_EXCEPTIONS" = "no" ]; then
5988 QMakeVar add QMAKE_CFLAGS
-fno-exceptions
5989 QMakeVar add QMAKE_CXXFLAGS
-fno-exceptions
5990 QMakeVar add QMAKE_LFLAGS
-fno-exceptions
5995 QMakeVar add QMAKE_CFLAGS
-LANG:exceptions
=off
5996 QMakeVar add QMAKE_CXXFLAGS
-LANG:exceptions
=off
5997 QMakeVar add QMAKE_LFLAGS
-LANG:exceptions
=off
6004 QMAKE_CONFIG
="$QMAKE_CONFIG exceptions_off"
6007 # On Mac, set the minimum deployment target using Xarch when that is supported (10.5 and up).
6008 # On 10.4 the deployment version is set to 10.3 globally using the QMAKE_MACOSX_DEPLOYMENT_TARGET env. variable
6009 # "-cocoa" on the command line means Cocoa is used in 32-bit mode also, in this case fall back on
6010 # QMAKE_MACOSX_DEPLOYMENT_TARGET which will be set to 10.5.
6011 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_XARCH" != "no" ] && [ "$COMMANDLINE_MAC_COCOA" != "yes" ]; then
6012 if echo "$CFG_MAC_ARCHS" |
grep '\<x86\>' > /dev
/null
2>&1; then
6013 QMakeVar add QMAKE_CFLAGS
"-Xarch_i386 -mmacosx-version-min=10.4"
6014 QMakeVar add QMAKE_CXXFLAGS
"-Xarch_i386 -mmacosx-version-min=10.4"
6015 QMakeVar add QMAKE_LFLAGS
"-Xarch_i386 -mmacosx-version-min=10.4"
6016 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_X86
"-arch i386 -Xarch_i386 -mmacosx-version-min=10.4"
6018 if echo "$CFG_MAC_ARCHS" |
grep '\<ppc\>' > /dev
/null
2>&1; then
6019 QMakeVar add QMAKE_CFLAGS
"-Xarch_ppc -mmacosx-version-min=10.3"
6020 QMakeVar add QMAKE_CXXFLAGS
"-Xarch_ppc -mmacosx-version-min=10.3"
6021 QMakeVar add QMAKE_LFLAGS
"-Xarch_ppc -mmacosx-version-min=10.3"
6022 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_PPC
"-arch ppc -Xarch_ppc -mmacosx-version-min=10.3"
6024 if echo "$CFG_MAC_ARCHS" |
grep '\<x86_64\>' > /dev
/null
2>&1; then
6025 QMakeVar add QMAKE_CFLAGS
"-Xarch_x86_64 -mmacosx-version-min=10.5"
6026 QMakeVar add QMAKE_CXXFLAGS
"-Xarch_x86_64 -mmacosx-version-min=10.5"
6027 QMakeVar add QMAKE_LFLAGS
"-Xarch_x86_64 -mmacosx-version-min=10.5"
6028 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_X86_64
"-arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5"
6030 if echo "$CFG_MAC_ARCHS" |
grep '\<ppc64\>' > /dev
/null
2>&1; then
6031 QMakeVar add QMAKE_CFLAGS
"-Xarch_ppc64 -mmacosx-version-min=10.5"
6032 QMakeVar add QMAKE_CXXFLAGS
"-Xarch_ppc64 -mmacosx-version-min=10.5"
6033 QMakeVar add QMAKE_LFLAGS
"-Xarch_ppc64 -mmacosx-version-min=10.5"
6034 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_PPC_64
"-arch ppc64 -Xarch_ppc64 -mmacosx-version-min=10.5"
6038 #-------------------------------------------------------------------------------
6039 # generate QT_BUILD_KEY
6040 #-------------------------------------------------------------------------------
6042 # some compilers generate binary incompatible code between different versions,
6043 # so we need to generate a build key that is different between these compilers
6047 COMPILER_VERSION
=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
6049 case "$COMPILER_VERSION" in
6051 QT_GCC_MAJOR_VERSION
=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
6052 QT_GCC_MINOR_VERSION
=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
6053 QT_GCC_PATCH_VERSION
=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
6056 QT_GCC_MAJOR_VERSION
=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
6057 QT_GCC_MINOR_VERSION
=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
6058 QT_GCC_PATCH_VERSION
=0
6062 case "$COMPILER_VERSION" in
6064 COMPILER_VERSION
="2.95.*"
6067 COMPILER_VERSION
="3.*"
6070 COMPILER_VERSION
="4"
6075 [ '!' -z "$COMPILER_VERSION" ] && COMPILER
="g++-${COMPILER_VERSION}"
6082 # QT_CONFIG can contain the following:
6084 # Things that affect the Qt API/ABI:
6087 # minimal-config small-config medium-config large-config full-config
6089 # Different edition modules:
6090 # network canvas table xml opengl sql
6095 # Things that do not affect the Qt API/ABI:
6096 # system-jpeg no-jpeg jpeg
6097 # system-mng no-mng mng
6098 # system-png no-png png
6099 # system-zlib no-zlib zlib
6100 # system-libtiff no-libtiff
6114 # X11 : x11sm xinerama xcursor xfixes xrandr xrender mitshm fontconfig xkb
6115 # Embedded: embedded freetype
6121 # determine the build options
6122 for config_option
in $QMAKE_CONFIG $QT_CONFIG; do
6124 case "$config_option" in
6126 # take the last *-config setting. this is the highest config being used,
6127 # and is the one that we will use for tagging plugins
6128 BUILD_CONFIG
="$config_option"
6132 # these config options affect the Qt API/ABI. they should influence
6133 # the generation of the buildkey, so we don't skip them
6137 *) # skip all other options since they don't affect the Qt API/ABI.
6141 if [ "$SKIP" = "no" ]; then
6142 BUILD_OPTIONS
="$BUILD_OPTIONS $config_option"
6146 # put the options that we are missing into .options
6148 for opt
in `echo $ALL_OPTIONS`; do
6150 if echo $BUILD_OPTIONS |
grep $opt >/dev
/null
2>&1; then
6153 if [ "$SKIP" = "no" ]; then
6154 echo "$opt" >> .options
6158 # reconstruct BUILD_OPTIONS with a sorted negative feature list
6159 # (ie. only things that are missing are will be put into the build key)
6161 if [ -f .options
]; then
6162 for opt
in `sort -f .options | uniq`; do
6163 BUILD_OPTIONS
="$BUILD_OPTIONS no-$opt"
6168 # QT_NO* defines affect the Qt API (and binary compatibility). they need
6169 # to be included in the build key
6170 for build_option
in $D_FLAGS; do
6171 build_option
=`echo $build_option | cut -d \" -f 2 -`
6172 case "$build_option" in
6174 echo "$build_option" >> .options
6177 # skip all other compiler defines
6182 # sort the compile time defines (helps ensure that changes in this configure
6183 # script don't affect the QT_BUILD_KEY generation)
6184 if [ -f .options
]; then
6185 for opt
in `sort -f .options | uniq`; do
6186 BUILD_OPTIONS
="$BUILD_OPTIONS $opt"
6191 BUILD_OPTIONS
="$BUILD_CONFIG $BUILD_OPTIONS"
6192 # extract the operating system from the XPLATFORM
6193 TARGET_OPERATING_SYSTEM
=`echo $XPLATFORM | cut -f 2- -d/ | cut -f -1 -d-`
6195 # when cross-compiling, don't include build-host information (build key is target specific)
6196 QT_BUILD_KEY
="$CFG_USER_BUILD_KEY $CFG_ARCH $TARGET_OPERATING_SYSTEM $COMPILER $BUILD_OPTIONS"
6197 if [ -n "$QT_NAMESPACE" ]; then
6198 QT_BUILD_KEY
="$QT_BUILD_KEY $QT_NAMESPACE"
6200 MAC_NEED_TWO_BUILD_KEYS
="no"
6201 if [ "$PLATFORM_MAC" = "yes" -a "$CFG_MAC_COCOA" = "yes" ]; then
6202 QT_BUILD_KEY_CARBON
=$QT_BUILD_KEY
6203 TARGET_OPERATING_SYSTEM
="$TARGET_OPERATING_SYSTEM-cocoa"
6204 QT_BUILD_KEY_COCOA
="$CFG_USER_BUILD_KEY $CFG_ARCH $TARGET_OPERATING_SYSTEM $COMPILER $BUILD_OPTIONS"
6205 if [ "$CFG_MAC_CARBON" = "no" ]; then
6206 QT_BUILD_KEY
=$QT_BUILD_KEY_COCOA
6208 MAC_NEED_TWO_BUILD_KEYS
="yes"
6211 # don't break loading plugins build with an older version of Qt
6212 QT_BUILD_KEY_COMPAT
=
6213 if [ "$QT_CROSS_COMPILE" = "no" ]; then
6214 # previous versions of Qt used a build key built from the uname
6215 QT_BUILD_KEY_COMPAT
="$CFG_USER_BUILD_KEY $UNAME_MACHINE $UNAME_SYSTEM $COMPILER $BUILD_OPTIONS"
6217 # strip out leading/trailing/extra whitespace
6218 QT_BUILD_KEY
=`echo $QT_BUILD_KEY | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
6219 QT_BUILD_KEY_COMPAT
=`echo $QT_BUILD_KEY_COMPAT | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
6221 #-------------------------------------------------------------------------------
6222 # part of configuration information goes into qconfig.h
6223 #-------------------------------------------------------------------------------
6225 case "$CFG_QCONFIG" in
6227 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
6230 tmpconfig
="$outpath/src/corelib/global/qconfig.h.new"
6231 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
6232 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
6233 echo "#endif" >>"$tmpconfig"
6237 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6241 # define QT_EDITION $QT_EDITION
6244 /* Machine byte-order */
6245 #define Q_BIG_ENDIAN 4321
6246 #define Q_LITTLE_ENDIAN 1234
6249 if [ "$MAC_NEED_TWO_BUILD_KEYS" = "no" ]; then
6250 echo "#define QT_BUILD_KEY \"$QT_BUILD_KEY\"" \
6251 >> "$outpath/src/corelib/global/qconfig.h.new"
6253 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6255 #define QT_BUILD_KEY_CARBON "$QT_BUILD_KEY_CARBON"
6256 #define QT_BUILD_KEY_COCOA "$QT_BUILD_KEY_COCOA"
6260 if [ -n "$QT_BUILD_KEY_COMPAT" ]; then
6261 echo "#define QT_BUILD_KEY_COMPAT \"$QT_BUILD_KEY_COMPAT\"" \
6262 >> "$outpath/src/corelib/global/qconfig.h.new"
6264 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6266 echo "#ifdef QT_BOOTSTRAPPED" >>"$outpath/src/corelib/global/qconfig.h.new"
6267 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
6268 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6269 #if defined(__BIG_ENDIAN__)
6270 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6271 #elif defined(__LITTLE_ENDIAN__)
6272 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6274 # error "Unable to determine byte order!"
6278 echo "#define Q_BYTE_ORDER $CFG_HOST_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6280 echo "#else" >>"$outpath/src/corelib/global/qconfig.h.new"
6281 if [ "$CFG_ENDIAN" = "auto" ]; then
6282 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6283 #if defined(__BIG_ENDIAN__)
6284 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6285 #elif defined(__LITTLE_ENDIAN__)
6286 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6288 # error "Unable to determine byte order!"
6292 echo "#define Q_BYTE_ORDER $CFG_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6294 echo "#endif" >>"$outpath/src/corelib/global/qconfig.h.new"
6296 if [ "$CFG_DOUBLEFORMAT" != "normal" ]; then
6297 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6298 /* Non-IEEE double format */
6299 #define Q_DOUBLE_LITTLE "01234567"
6300 #define Q_DOUBLE_BIG "76543210"
6301 #define Q_DOUBLE_LITTLE_SWAPPED "45670123"
6302 #define Q_DOUBLE_BIG_SWAPPED "32107654"
6303 #define Q_DOUBLE_FORMAT $CFG_DOUBLEFORMAT
6306 if [ "$CFG_ARMFPA" = "yes" ]; then
6307 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
6308 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6309 #ifndef QT_BOOTSTRAPPED
6314 echo "#define QT_ARMFPA" >>"$outpath/src/corelib/global/qconfig.h.new"
6318 CFG_ARCH_STR
=`echo $CFG_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6319 CFG_HOST_ARCH_STR
=`echo $CFG_HOST_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6320 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6321 /* Machine Architecture */
6322 #ifndef QT_BOOTSTRAPPED
6323 # define QT_ARCH_${CFG_ARCH_STR}
6325 # define QT_ARCH_${CFG_HOST_ARCH_STR}
6329 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
6330 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
6332 if [ "$CFG_LARGEFILE" = "yes" ]; then
6333 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
6336 # if both carbon and cocoa are specified, enable the autodetection code.
6337 if [ "$CFG_MAC_COCOA" = "yes" -a "$CFG_MAC_CARBON" = "yes" ]; then
6338 echo "#define AUTODETECT_COCOA 1" >>"$outpath/src/corelib/global/qconfig.h.new"
6339 elif [ "$CFG_MAC_COCOA" = "yes" ]; then
6340 echo "#define QT_MAC_USE_COCOA 1" >>"$outpath/src/corelib/global/qconfig.h.new"
6343 if [ "$CFG_FRAMEWORK" = "yes" ]; then
6344 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
6347 if [ "$PLATFORM_MAC" = "yes" ]; then
6348 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6349 #if defined(__LP64__)
6350 # define QT_POINTER_SIZE 8
6352 # define QT_POINTER_SIZE 4
6356 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6357 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
6361 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6363 if [ "$CFG_DEV" = "yes" ]; then
6364 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
6367 # Embedded compile time options
6368 if [ "$PLATFORM_QWS" = "yes" ]; then
6369 # Add QWS to config.h
6370 QCONFIG_FLAGS
="$QCONFIG_FLAGS Q_WS_QWS"
6372 # Add excluded decorations to $QCONFIG_FLAGS
6373 decors
=`grep '^decorations -= ' "$QMAKE_VARS_FILE" | ${AWK} '{print $3}'`
6374 for decor
in $decors; do
6375 NODECORATION
=`echo $decor | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6376 QCONFIG_FLAGS
="${QCONFIG_FLAGS} QT_NO_QWS_DECORATION_${NODECORATION}"
6379 # Figure which embedded drivers which are turned off
6380 CFG_GFX_OFF
="$CFG_GFX_AVAILABLE"
6381 for ADRIVER
in $CFG_GFX_ON; do
6382 CFG_GFX_OFF
=`echo "${CFG_GFX_OFF} " | sed "s,${ADRIVER} ,,g"`
6385 CFG_KBD_OFF
="$CFG_KBD_AVAILABLE"
6386 # the um driver is currently not in the available list for external builds
6387 if [ "$CFG_DEV" = "no" ]; then
6388 CFG_KBD_OFF
="$CFG_KBD_OFF um"
6390 for ADRIVER
in $CFG_KBD_ON; do
6391 CFG_KBD_OFF
=`echo "${CFG_KBD_OFF} " | sed "s,${ADRIVER} ,,g"`
6394 CFG_MOUSE_OFF
="$CFG_MOUSE_AVAILABLE"
6395 for ADRIVER
in $CFG_MOUSE_ON; do
6396 CFG_MOUSE_OFF
=`echo "${CFG_MOUSE_OFF} " | sed "s,${ADRIVER} ,,g"`
6399 for DRIVER
in $CFG_GFX_OFF; do
6400 NODRIVER
=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6401 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_QWS_$NODRIVER"
6404 for DRIVER
in $CFG_KBD_OFF; do
6405 NODRIVER
=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6406 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_QWS_KBD_$NODRIVER"
6409 for DRIVER
in $CFG_MOUSE_OFF; do
6410 NODRIVER
=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6411 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_QWS_MOUSE_$NODRIVER"
6415 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
6416 QCONFIG_FLAGS
="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
6419 # Add turned on SQL drivers
6420 for DRIVER
in $CFG_SQL_AVAILABLE; do
6421 eval "VAL=\$CFG_SQL_$DRIVER"
6424 ONDRIVER
=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6425 QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
6426 SQL_DRIVERS
="$SQL_DRIVERS $DRIVER"
6429 SQL_PLUGINS
="$SQL_PLUGINS $DRIVER"
6435 QMakeVar
set sql-drivers
"$SQL_DRIVERS"
6436 QMakeVar
set sql-plugins
"$SQL_PLUGINS"
6438 # Add other configuration options to the qconfig.h file
6439 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
6440 [ "$CFG_TIFF" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_TIFF"
6441 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
6442 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
6443 [ "$CFG_MNG" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_MNG"
6444 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_ZLIB"
6445 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
6446 [ "$CFG_IPV6" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IPV6"
6447 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SXE"
6448 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_DBUS"
6450 if [ "$PLATFORM_QWS" != "yes" ]; then
6451 [ "$CFG_GRAPHICS_SYSTEM" = "raster" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_RASTER"
6452 [ "$CFG_GRAPHICS_SYSTEM" = "opengl" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_OPENGL"
6455 # X11/Unix/Mac only configs
6456 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_CUPS"
6457 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_ICONV"
6458 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_GLIB"
6459 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_GSTREAMER"
6460 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
6461 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
6462 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_MREMAP"
6463 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
6464 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
6465 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
6466 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_INOTIFY"
6467 [ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_NAS"
6468 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_NIS"
6469 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_OPENSSL"
6470 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
6472 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
6473 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XCURSOR"
6474 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XFIXES"
6475 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
6476 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XINERAMA"
6477 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XKB"
6478 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XRANDR"
6479 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XRENDER"
6480 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_MITSHM"
6481 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_SHAPE"
6482 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
6484 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
6485 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
6486 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
6487 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
6488 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS
="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
6490 # sort QCONFIG_FLAGS for neatness if we can
6491 [ '!' -z "$AWK" ] && QCONFIG_FLAGS
=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
6492 QCONFIG_FLAGS
=`echo $QCONFIG_FLAGS`
6494 if [ -n "$QCONFIG_FLAGS" ]; then
6495 for cfg
in $QCONFIG_FLAGS; do
6496 cfgd
=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
6497 cfg
=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
6498 # figure out define logic, so we can output the correct
6499 # ifdefs to override the global defines in a project
6501 if [ true
] && echo "$cfgd" |
grep 'QT_NO_' >/dev
/null
2>&1; then
6502 # QT_NO_option can be forcefully turned on by QT_option
6503 cfgdNeg
=`echo $cfgd | sed "s,QT_NO_,QT_,"`
6504 elif [ true
] && echo "$cfgd" |
grep 'QT_' >/dev
/null
2>&1; then
6505 # QT_option can be forcefully turned off by QT_NO_option
6506 cfgdNeg
=`echo $cfgd | sed "s,QT_,QT_NO_,"`
6509 if [ -z $cfgdNeg ]; then
6510 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6517 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6518 #if defined($cfgd) && defined($cfgdNeg)
6520 #elif !defined($cfgd) && !defined($cfgdNeg)
6529 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
6530 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6531 #define QT_VISIBILITY_AVAILABLE
6536 # avoid unecessary rebuilds by copying only if qconfig.h has changed
6537 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
6538 rm -f "$outpath/src/corelib/global/qconfig.h.new"
6540 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w
"$outpath/src/corelib/global/qconfig.h"
6541 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
6542 chmod -w "$outpath/src/corelib/global/qconfig.h"
6543 for conf
in "$outpath/include/QtCore/qconfig.h" "$outpath/include/Qt/qconfig.h"; do
6544 if [ '!' -f "$conf" ]; then
6545 ln -s "$outpath/src/corelib/global/qconfig.h" "$conf"
6550 #-------------------------------------------------------------------------------
6551 # save configuration into qconfig.pri
6552 #-------------------------------------------------------------------------------
6554 QTCONFIG
="$outpath/mkspecs/qconfig.pri"
6555 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG no_mocdepend"
6556 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
6557 if [ "$CFG_DEBUG" = "yes" ]; then
6558 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG debug"
6559 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6560 QT_CONFIG
="$QT_CONFIG release"
6562 QT_CONFIG
="$QT_CONFIG debug"
6563 elif [ "$CFG_DEBUG" = "no" ]; then
6564 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG release"
6565 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6566 QT_CONFIG
="$QT_CONFIG debug"
6568 QT_CONFIG
="$QT_CONFIG release"
6570 if [ "$CFG_STL" = "yes" ]; then
6571 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG stl"
6573 if [ "$CFG_FRAMEWORK" = "no" ]; then
6574 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG qt_no_framework"
6576 QT_CONFIG
="$QT_CONFIG qt_framework"
6577 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG qt_framework"
6579 if [ "$PLATFORM_MAC" = "yes" ]; then
6580 QT_CONFIG
="$QT_CONFIG $CFG_MAC_ARCHS"
6583 # Make the application arch follow the Qt arch for single arch builds.
6584 # (for multiple-arch builds, set CONFIG manually in the application .pro file)
6585 if [ `echo "$CFG_MAC_ARCHS" | wc -w` -eq 1 ]; then
6586 QTCONFIG_CONFIG
="$QTCONFIG_CONFIG $CFG_MAC_ARCHS"
6589 cat >>"$QTCONFIG.tmp" <<EOF
6591 CONFIG += $QTCONFIG_CONFIG
6593 QT_EDITION = $Edition
6594 QT_CONFIG += $QT_CONFIG
6597 QT_VERSION = $QT_VERSION
6598 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
6599 QT_MINOR_VERSION = $QT_MINOR_VERSION
6600 QT_PATCH_VERSION = $QT_PATCH_VERSION
6603 QT_LIBINFIX = $QT_LIBINFIX
6604 QT_NAMESPACE = $QT_NAMESPACE
6605 QT_NAMESPACE_MAC_CRC = $QT_NAMESPACE_MAC_CRC
6608 if [ "$CFG_RPATH" = "yes" ]; then
6609 echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
6611 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
6612 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
6613 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
6614 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
6616 # replace qconfig.pri if it differs from the newly created temp file
6617 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
6618 rm -f "$QTCONFIG.tmp"
6620 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
6623 #-------------------------------------------------------------------------------
6624 # save configuration into .qmake.cache
6625 #-------------------------------------------------------------------------------
6627 CACHEFILE
="$outpath/.qmake.cache"
6628 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
6629 cat >>"$CACHEFILE.tmp" <<EOF
6630 CONFIG += $QMAKE_CONFIG dylib create_prl link_prl depend_includepath fix_output_dirs QTDIR_build
6631 QT_SOURCE_TREE = \$\$quote($relpath)
6632 QT_BUILD_TREE = \$\$quote($outpath)
6633 QT_BUILD_PARTS = $CFG_BUILD_PARTS
6634 QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
6635 QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
6637 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
6638 QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
6639 QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
6640 QMAKE_UIC3 = \$\$QT_BUILD_TREE/bin/uic3
6641 QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
6642 QMAKE_QDBUSXML2CPP = \$\$QT_BUILD_TREE/bin/qdbusxml2cpp
6643 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
6644 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
6648 if [ -n "$QT_CFLAGS_PSQL" ]; then
6649 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$CACHEFILE.tmp"
6651 if [ -n "$QT_LFLAGS_PSQL" ]; then
6652 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$CACHEFILE.tmp"
6654 if [ -n "$QT_CFLAGS_MYSQL" ]; then
6655 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$CACHEFILE.tmp"
6657 if [ -n "$QT_LFLAGS_MYSQL" ]; then
6658 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$CACHEFILE.tmp"
6660 if [ -n "$QT_CFLAGS_SQLITE" ]; then
6661 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$CACHEFILE.tmp"
6663 if [ -n "$QT_LFLAGS_SQLITE" ]; then
6664 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$CACHEFILE.tmp"
6667 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
6668 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$CACHEFILE.tmp"
6671 #dump in the OPENSSL_LIBS info
6672 if [ '!' -z "$OPENSSL_LIBS" ]; then
6673 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$CACHEFILE.tmp"
6674 elif [ "$CFG_OPENSSL" = "linked" ]; then
6675 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$CACHEFILE.tmp"
6678 #dump in the SDK info
6679 if [ '!' -z "$CFG_SDK" ]; then
6680 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$CACHEFILE.tmp"
6683 # mac gcc -Xarch support
6684 if [ "$CFG_MAC_XARCH" = "no" ]; then
6685 echo "QMAKE_MAC_XARCH = no" >> "$CACHEFILE.tmp"
6688 #dump the qmake spec
6689 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
6690 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
6692 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
6696 cat "$QMAKE_VARS_FILE" >> "$CACHEFILE.tmp"
6697 rm -f "$QMAKE_VARS_FILE" 2>/dev
/null
6701 [ "$CFG_INCREMENTAL" = "auto" ] && "$WHICH" p4
>/dev
/null
2>&1 && [ "$CFG_DEV" = "yes" ] && CFG_INCREMENTAL
="yes"
6702 if [ "$CFG_INCREMENTAL" = "yes" ]; then
6703 find "$relpath" -perm u
+w
-mtime -3 |
grep 'cpp$' |
while read f
; do
6704 # don't need to worry about generated files
6705 [ -r `echo $f | sed "s,cpp$,ui,"` ] && continue
6706 basename "$f" |
grep '^moc_' >/dev
/null
2>&1 && continue
6708 INCREMENTAL
="$INCREMENTAL `basename \"$f\" | sed 's,.cpp,.o,'`"
6710 [ '!' -z "$INCREMENTAL" ] && echo "QMAKE_INCREMENTAL += $INCREMENTAL" >> "$CACHEFILE.tmp"
6711 [ -r "$outpath/.qmake.incremental" ] && echo "include($outpath/.qmake.incremental)" >> "$CACHEFILE.tmp"
6714 # replace .qmake.cache if it differs from the newly created temp file
6715 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
6716 rm -f "$CACHEFILE.tmp"
6718 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
6721 #-------------------------------------------------------------------------------
6722 # give feedback on configuration
6723 #-------------------------------------------------------------------------------
6727 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6730 This target is using the GNU C++ compiler ($PLATFORM).
6732 Recent versions of this compiler automatically include code for
6733 exceptions, which increase both the size of the Qt libraries and
6734 the amount of memory taken by your applications.
6736 You may choose to re-run `basename $0` with the -no-exceptions
6737 option to compile Qt without exceptions. This is completely binary
6738 compatible, and existing applications will continue to work.
6746 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6749 This target is using the MIPSpro C++ compiler ($PLATFORM).
6751 You may choose to re-run `basename $0` with the -no-exceptions
6752 option to compile Qt without exceptions. This will make the
6753 size of the Qt library smaller and reduce the amount of memory
6754 taken by your applications.
6765 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" == "no" ] && [ "$CFG_WEBKIT" = "yes" ] && [ "$CFG_DEBUG_RELEASE" == "yes" ]; then
6767 WARNING: DWARF2 debug symbols are not enabled. Linking webkit
6768 in debug mode will run out of memory on systems with 2GB or less.
6769 Install Xcode 2.4.1 or higher to enable DWARF2, or configure with
6770 -no-webkit or -release to skip webkit debug.
6775 if [ "$XPLATFORM" = "$PLATFORM" ]; then
6776 echo "Build type: $PLATFORM"
6778 echo "Building on: $PLATFORM"
6779 echo "Building for: $XPLATFORM"
6782 if [ "$PLATFORM_MAC" = "yes" ]; then
6783 echo "Architecture: $CFG_ARCH ($CFG_MAC_ARCHS )"
6785 echo "Architecture: $CFG_ARCH"
6788 if [ "$PLATFORM_QWS" = "yes" ]; then
6789 echo "Host architecture: $CFG_HOST_ARCH"
6792 if [ "$PLATFORM_MAC" = "yes" ]; then
6793 if [ "$CFG_MAC_COCOA" = "yes" ]; then
6794 if [ "$CFG_MAC_CARBON" = "yes" ]; then
6795 echo "Using framework: Carbon for 32-bit, Cocoa for 64-bit"
6797 echo "Using framework: Cocoa"
6800 echo "Using framework: Carbon"
6804 if [ -n "$PLATFORM_NOTES" ]; then
6805 echo "Platform notes:"
6806 echo "$PLATFORM_NOTES"
6811 if [ "$OPT_VERBOSE" = "yes" ]; then
6812 if echo '\c' |
grep '\c' >/dev
/null
; then
6813 echo -n "qmake vars .......... "
6815 echo "qmake vars .......... \c"
6817 cat "$QMAKE_VARS_FILE" |
tr '\n' ' '
6818 echo "qmake switches ...... $QMAKE_SWITCHES"
6821 [ "$CFG_INCREMENTAL" = "yes" ] && [ '!' -z "$INCREMENTAL" ] && echo "Incremental ......... $INCREMENTAL"
6822 echo "Build ............... $CFG_BUILD_PARTS"
6823 echo "Configuration ....... $QMAKE_CONFIG $QT_CONFIG"
6824 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6825 echo "Debug ............... yes (combined)"
6826 if [ "$CFG_DEBUG" = "yes" ]; then
6827 echo "Default Link ........ debug"
6829 echo "Default Link ........ release"
6832 echo "Debug ............... $CFG_DEBUG"
6834 echo "Qt 3 compatibility .. $CFG_QT3SUPPORT"
6835 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module ....... no"
6836 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module ....... yes (run-time)"
6837 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module ....... yes (linked)"
6838 echo "QtScriptTools module $CFG_SCRIPTTOOLS"
6839 echo "QtXmlPatterns module $CFG_XMLPATTERNS"
6840 echo "Phonon module ....... $CFG_PHONON"
6841 echo "SVG module .......... $CFG_SVG"
6842 echo "WebKit module ....... $CFG_WEBKIT"
6843 echo "STL support ......... $CFG_STL"
6844 echo "PCH support ......... $CFG_PRECOMPILE"
6845 echo "MMX/3DNOW/SSE/SSE2.. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}"
6846 if [ "${CFG_ARCH}" = "arm" ]; then
6847 echo "iWMMXt support ...... ${CFG_IWMMXT}"
6849 [ "${PLATFORM_QWS}" != "yes" ] && echo "Graphics System ..... $CFG_GRAPHICS_SYSTEM"
6850 echo "IPv6 support ........ $CFG_IPV6"
6851 echo "IPv6 ifname support . $CFG_IPV6IFNAME"
6852 echo "getaddrinfo support . $CFG_GETADDRINFO"
6853 echo "getifaddrs support .. $CFG_GETIFADDRS"
6854 echo "Accessibility ....... $CFG_ACCESSIBILITY"
6855 echo "NIS support ......... $CFG_NIS"
6856 echo "CUPS support ........ $CFG_CUPS"
6857 echo "Iconv support ....... $CFG_ICONV"
6858 echo "Glib support ........ $CFG_GLIB"
6859 echo "GStreamer support ... $CFG_GSTREAMER"
6860 echo "Large File support .. $CFG_LARGEFILE"
6861 echo "GIF support ......... $CFG_GIF"
6862 if [ "$CFG_TIFF" = "no" ]; then
6863 echo "TIFF support ........ $CFG_TIFF"
6865 echo "TIFF support ........ $CFG_TIFF ($CFG_LIBTIFF)"
6867 if [ "$CFG_JPEG" = "no" ]; then
6868 echo "JPEG support ........ $CFG_JPEG"
6870 echo "JPEG support ........ $CFG_JPEG ($CFG_LIBJPEG)"
6872 if [ "$CFG_PNG" = "no" ]; then
6873 echo "PNG support ......... $CFG_PNG"
6875 echo "PNG support ......... $CFG_PNG ($CFG_LIBPNG)"
6877 if [ "$CFG_MNG" = "no" ]; then
6878 echo "MNG support ......... $CFG_MNG"
6880 echo "MNG support ......... $CFG_MNG ($CFG_LIBMNG)"
6882 echo "zlib support ........ $CFG_ZLIB"
6883 echo "Session management .. $CFG_SM"
6884 if [ "$PLATFORM_QWS" = "yes" ]; then
6885 echo "Embedded support .... $CFG_EMBEDDED"
6886 if [ "$CFG_QWS_FREETYPE" = "auto" ]; then
6887 echo "Freetype2 support ... $CFG_QWS_FREETYPE ($CFG_LIBFREETYPE)"
6889 echo "Freetype2 support ... $CFG_QWS_FREETYPE"
6891 # Normalize the decoration output first
6892 CFG_GFX_ON
=`echo ${CFG_GFX_ON}`
6893 CFG_GFX_PLUGIN
=`echo ${CFG_GFX_PLUGIN}`
6894 echo "Graphics (qt) ....... ${CFG_GFX_ON}"
6895 echo "Graphics (plugin) ... ${CFG_GFX_PLUGIN}"
6896 CFG_DECORATION_ON
=`echo ${CFG_DECORATION_ON}`
6897 CFG_DECORATION_PLUGIN
=`echo ${CFG_DECORATION_PLUGIN}`
6898 echo "Decorations (qt) .... $CFG_DECORATION_ON"
6899 echo "Decorations (plugin) $CFG_DECORATION_PLUGIN"
6900 CFG_KBD_ON
=`echo ${CFG_KBD_ON}`
6901 CFG_KBD_PLUGIN
=`echo ${CFG_KBD_PLUGIN}`
6902 echo "Keyboard driver (qt). ${CFG_KBD_ON}"
6903 echo "Keyboard driver (plugin) ${CFG_KBD_PLUGIN}"
6904 CFG_MOUSE_ON
=`echo ${CFG_MOUSE_ON}`
6905 CFG_MOUSE_PLUGIN
=`echo ${CFG_MOUSE_PLUGIN}`
6906 echo "Mouse driver (qt) ... $CFG_MOUSE_ON"
6907 echo "Mouse driver (plugin) $CFG_MOUSE_PLUGIN"
6909 if [ "$CFG_OPENGL" = "desktop" ]; then
6910 echo "OpenGL support ...... yes (Desktop OpenGL)"
6911 elif [ "$CFG_OPENGL" = "es1" ]; then
6912 echo "OpenGL support ...... yes (OpenGL ES 1.x Common profile)"
6913 elif [ "$CFG_OPENGL" = "es1cl" ]; then
6914 echo "OpenGL support ...... yes (OpenGL ES 1.x Common Lite profile)"
6915 elif [ "$CFG_OPENGL" = "es2" ]; then
6916 echo "OpenGL support ...... yes (OpenGL ES 2.x)"
6918 echo "OpenGL support ...... no"
6920 if [ "$PLATFORM_X11" = "yes" ]; then
6921 echo "NAS sound support ... $CFG_NAS"
6922 echo "XShape support ...... $CFG_XSHAPE"
6923 echo "Xinerama support .... $CFG_XINERAMA"
6924 echo "Xcursor support ..... $CFG_XCURSOR"
6925 echo "Xfixes support ...... $CFG_XFIXES"
6926 echo "Xrandr support ...... $CFG_XRANDR"
6927 echo "Xrender support ..... $CFG_XRENDER"
6928 echo "Xi support .......... $CFG_XINPUT"
6929 echo "MIT-SHM support ..... $CFG_MITSHM"
6930 echo "FontConfig support .. $CFG_FONTCONFIG"
6931 echo "XKB Support ......... $CFG_XKB"
6932 echo "immodule support .... $CFG_IM"
6933 echo "GTK theme support ... $CFG_QGTKSTYLE"
6935 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support ....... $CFG_SQL_mysql"
6936 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support .. $CFG_SQL_psql"
6937 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........ $CFG_SQL_odbc"
6938 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ......... $CFG_SQL_oci"
6939 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ......... $CFG_SQL_tds"
6940 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ......... $CFG_SQL_db2"
6941 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ... $CFG_SQL_ibase"
6942 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support .... $CFG_SQL_sqlite2"
6943 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ...... $CFG_SQL_sqlite ($CFG_SQLITE)"
6946 if [ "$CFG_OPENSSL" = "yes" ]; then
6947 OPENSSL_LINKAGE
="(run-time)"
6948 elif [ "$CFG_OPENSSL" = "linked" ]; then
6949 OPENSSL_LINKAGE
="(linked)"
6951 echo "OpenSSL support ..... $CFG_OPENSSL $OPENSSL_LINKAGE"
6953 [ "$CFG_PTMALLOC" != "no" ] && echo "Use ptmalloc ........ $CFG_PTMALLOC"
6955 # complain about not being able to use dynamic plugins if we are using a static build
6956 if [ "$CFG_SHARED" = "no" ]; then
6958 echo "WARNING: Using static linking will disable the use of dynamically"
6959 echo "loaded plugins. Make sure to import all needed static plugins,"
6960 echo "or compile needed modules into the library."
6963 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
6965 echo "NOTE: When linking against OpenSSL, you can override the default"
6966 echo "library names through OPENSSL_LIBS."
6968 echo " ./configure -openssl-linked OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto'"
6971 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
6973 echo "NOTE: Mac OS X frameworks implicitly build debug and release Qt libraries."
6978 sepath
=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
6983 #-------------------------------------------------------------------------------
6984 # build makefiles based on the configuration
6985 #-------------------------------------------------------------------------------
6987 echo "Finding project files. Please wait..."
6988 "$outpath/bin/qmake" -prl -r "${relpath}/projects.pro"
6989 if [ -f "${relpath}/projects.pro" ]; then
6990 mkfile
="${outpath}/Makefile"
6991 [ -f "$mkfile" ] && chmod +w
"$mkfile"
6992 QTDIR
="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/projects.pro" -o "$mkfile"
6995 # .projects -> projects to process
6996 # .projects.1 -> qt and moc
6997 # .projects.2 -> subdirs and libs
6998 # .projects.3 -> the rest
6999 rm -f .projects .projects
.1 .projects
.2 .projects
.3
7001 QMAKE_PROJECTS
=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
7002 if [ -z "$AWK" ]; then
7003 for p
in `echo $QMAKE_PROJECTS`; do
7004 echo "$p" >> .projects
7007 cat >projects.
awk <<EOF
7013 first = "./.projects.1.tmp"
7014 second = "./.projects.2.tmp"
7015 third = "./.projects.3.tmp"
7020 if ( ! target_file )
7022 print input_file >target_file
7027 input_file = FILENAME
7032 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
7038 matched_target == 0 && /^(TEMPLATE.*=)/ {
7039 if ( \$3 == "subdirs" )
7040 target_file = second
7041 else if ( \$3 == "lib" )
7047 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
7048 if ( \$0 ~ /plugin/ )
7051 target_file = second
7056 if ( ! target_file )
7058 print input_file >>target_file
7065 for p
in `echo $QMAKE_PROJECTS`; do
7066 echo "$p" >> .projects.all
7069 # if you get errors about the length of the command line to awk, change the -l arg
7071 split -l 100 .projects.all .projects.all.
7072 for p
in .projects.all.
*; do
7073 "$AWK" -f projects.
awk `cat $p`
7074 [ -f .projects
.1.tmp
] && cat .projects
.1.tmp
>> .projects
.1
7075 [ -f .projects
.2.tmp
] && cat .projects
.2.tmp
>> .projects
.2
7076 [ -f .projects
.3.tmp
] && cat .projects
.3.tmp
>> .projects
.3
7077 rm -f .projects
.1.tmp .projects
.2.tmp .projects
.3.tmp
$p
7079 rm -f .projects.all
* projects.
awk
7081 [ -f .projects
.1 ] && cat .projects
.1 >>.projects
7082 [ -f .projects
.2 ] && cat .projects
.2 >>.projects
7083 rm -f .projects
.1 .projects
.2
7084 if [ -f .projects
.3 ] && [ "$OPT_FAST" = "no" ]; then
7085 cat .projects
.3 >>.projects
7089 # don't sort Qt and MOC in with the other project files
7090 # also work around a segfaulting uniq(1)
7091 if [ -f .sorted.projects
.2 ]; then
7092 sort .sorted.projects
.2 > .sorted.projects
.2.new
7093 mv -f .sorted.projects
.2.new .sorted.projects
.2
7094 cat .sorted.projects
.2 >> .sorted.projects
.1
7096 [ -f .sorted.projects
.1 ] && sort .sorted.projects
.1 >> .sorted.projects
7097 rm -f .sorted.projects
.2 .sorted.projects
.1
7101 if [ -f .projects
]; then
7102 uniq .projects
>.tmp
7103 mv -f .tmp .projects
7104 NORM_PROJECTS
=`cat .projects | wc -l | sed -e "s, ,,g"`
7106 if [ -f .projects
.3 ]; then
7107 uniq .projects
.3 >.tmp
7108 mv -f .tmp .projects
.3
7109 FAST_PROJECTS
=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
7111 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
7115 for part
in $CFG_BUILD_PARTS; do
7117 tools
) PART_ROOTS
="$PART_ROOTS tools" ;;
7118 libs
) PART_ROOTS
="$PART_ROOTS src" ;;
7119 examples
) PART_ROOTS
="$PART_ROOTS examples demos" ;;
7124 if [ "$CFG_DEV" = "yes" ]; then
7125 PART_ROOTS
="$PART_ROOTS tests"
7128 echo "Creating makefiles. Please wait..."
7129 for file in .projects .projects
.3; do
7130 [ '!' -f "$file" ] && continue
7131 for a
in `cat $file`; do
7133 for r
in $PART_ROOTS; do
7134 if echo "$a" |
grep "^$r" >/dev
/null
2>&1 ||
echo "$a" |
grep "^$relpath/$r" >/dev
/null
2>&1; then
7139 [ "$IN_ROOT" = "no" ] && continue
7142 *winmain
/winmain.pro
) continue ;;
7143 */qmake
/qmake.pro
) continue ;;
7144 *tools
/bootstrap
*|
*tools
/moc
*|
*tools
/rcc
*|
*tools
/uic
*) SPEC
=$QMAKESPEC ;;
7145 *) SPEC
=$XQMAKESPEC ;;
7147 dir
=`dirname $a | sed -e "s;$sepath;.;g"`
7148 test -d "$dir" || mkdir
-p "$dir"
7149 OUTDIR
="$outpath/$dir"
7150 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
7151 # fast configure - the makefile exists, skip it
7152 # since the makefile exists, it was generated by qmake, which means we
7153 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
7155 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
7158 QMAKE_SPEC_ARGS
="-spec $SPEC"
7159 if echo '\c' |
grep '\c' >/dev
/null
; then
7165 QMAKE
="$outpath/bin/qmake"
7166 QMAKE_ARGS
="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
7167 if [ "$file" = ".projects.3" ]; then
7168 if echo '\c' |
grep '\c' >/dev
/null
; then
7175 cat >"${OUTDIR}/Makefile" <<EOF
7176 # ${OUTDIR}/Makefile: generated by configure
7178 # WARNING: This makefile will be replaced with a real makefile.
7179 # All changes made to this file will be lost.
7181 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
7183 cat >>"${OUTDIR}/Makefile" <<EOF
7185 all clean install qmake first Makefile: FORCE
7186 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
7194 if [ "$OPT_VERBOSE" = "yes" ]; then
7195 echo " (`basename $SPEC`)"
7196 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7201 [ -f "${OUTDIR}/Makefile" ] && chmod +w
"${OUTDIR}/Makefile"
7202 QTDIR
="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7206 rm -f .projects .projects
.3
7208 #-------------------------------------------------------------------------------
7209 # XShape is important, DnD in the Designer doens't work without it
7210 #-------------------------------------------------------------------------------
7211 if [ "$PLATFORM_X11" = "yes" ] && [ "$CFG_XSHAPE" = "no" ]; then
7214 NOTICE: Qt will not be built with XShape support.
7216 As a result, drag-and-drop in the Qt Designer will NOT
7217 work. We recommend that you enable XShape support by passing
7218 the -xshape switch to $0.
7222 #-------------------------------------------------------------------------------
7223 # check for platforms that we don't yet know about
7224 #-------------------------------------------------------------------------------
7225 if [ "$CFG_ARCH" = "generic" ]; then
7228 NOTICE: Atomic operations are not yet supported for this
7231 Qt will use the 'generic' architecture instead, which uses a
7232 single pthread_mutex_t to protect all atomic operations. This
7233 implementation is the slow (but safe) fallback implementation
7234 for architectures Qt does not yet support.
7238 #-------------------------------------------------------------------------------
7239 # check if the user passed the -no-zlib option, which is no longer supported
7240 #-------------------------------------------------------------------------------
7241 if [ -n "$ZLIB_FORCED" ]; then
7242 which_zlib
="supplied"
7243 if [ "$CFG_ZLIB" = "system" ]; then
7249 NOTICE: The -no-zlib option was supplied but is no longer
7252 Qt now requires zlib support in all builds, so the -no-zlib
7253 option was ignored. Qt will be built using the $which_zlib
7258 #-------------------------------------------------------------------------------
7259 # finally save the executed command to another script
7260 #-------------------------------------------------------------------------------
7261 if [ `basename $0` != "config.status" ]; then
7262 CONFIG_STATUS
="$relpath/$relconf $OPT_CMDLINE"
7264 # add the system variables
7265 for varname
in $SYSTEM_VARIABLES; do
7267 'if [ -n "\$'${varname}'" ]; then
7268 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
7273 echo "$CONFIG_STATUS" |
grep '\-confirm\-license' >/dev
/null
2>&1 || CONFIG_STATUS
="$CONFIG_STATUS -confirm-license"
7275 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
7276 echo "#!/bin/sh" > "$outpath/config.status"
7277 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
7278 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
7279 echo "else" >> "$outpath/config.status"
7280 echo " $CONFIG_STATUS" >> "$outpath/config.status"
7281 echo "fi" >> "$outpath/config.status"
7282 chmod +x
"$outpath/config.status"
7285 if [ -n "$RPATH_MESSAGE" ]; then
7287 echo "$RPATH_MESSAGE"
7290 MAKE
=`basename $MAKE`
7292 echo Qt is now configured
for building. Just run
\'$MAKE\'.
7293 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
7294 echo Once everything is built
, Qt is installed.
7295 echo You should not run
\'$MAKE install\'.
7297 echo Once everything is built
, you must run
\'$MAKE install\'.
7298 echo Qt will be installed into
$QT_INSTALL_PREFIX
7301 echo To reconfigure
, run
\'$MAKE confclean
\' and
\'configure
\'.