Fix build with openssl 1.0.0 betas
[qt-netbsd.git] / configure
blob719db32fe3864b6db11b016d5be480f245b9ca76
1 #!/bin/sh
2 #############################################################################
3 ##
4 ## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
5 ## All rights reserved.
6 ## Contact: Nokia Corporation (qt-info@nokia.com)
7 ##
8 ## This file is the build configuration utility of the Qt Toolkit.
9 ##
10 ## $QT_BEGIN_LICENSE:LGPL$
11 ## No Commercial Usage
12 ## This file contains pre-release code and may not be distributed.
13 ## You may use this file in accordance with the terms and conditions
14 ## contained in the Technology Preview License Agreement accompanying
15 ## this package.
17 ## GNU Lesser General Public License Usage
18 ## Alternatively, this file may be used under the terms of the GNU Lesser
19 ## General Public License version 2.1 as published by the Free Software
20 ## Foundation and appearing in the file LICENSE.LGPL included in the
21 ## packaging of this file. Please review the following information to
22 ## ensure the GNU Lesser General Public License version 2.1 requirements
23 ## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
25 ## In addition, as a special exception, Nokia gives you certain additional
26 ## rights. These rights are described in the Nokia Qt LGPL Exception
27 ## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
29 ## If you have questions regarding the use of this file, please contact
30 ## Nokia at qt-info@nokia.com.
39 ## $QT_END_LICENSE$
41 #############################################################################
43 #-------------------------------------------------------------------------------
44 # script initialization
45 #-------------------------------------------------------------------------------
47 # the name of this script
48 relconf=`basename $0`
49 # the directory of this script is the "source tree"
50 relpath=`dirname $0`
51 relpath=`(cd "$relpath"; /bin/pwd)`
52 # the current directory is the "build tree" or "object tree"
53 outpath=`/bin/pwd`
55 #license file location
56 LICENSE_FILE="$QT_LICENSE_FILE"
57 [ -z "$LICENSE_FILE" ] && LICENSE_FILE="$HOME/.qt-license"
58 if [ -f "$LICENSE_FILE" ]; then
59 tr -d '\r' <"$LICENSE_FILE" >"${LICENSE_FILE}.tmp"
60 diff "${LICENSE_FILE}.tmp" "${LICENSE_FILE}" >/dev/null 2>&1 || LICENSE_FILE="${LICENSE_FILE}.tmp"
63 # later cache the command line in config.status
64 OPT_CMDLINE=`echo $@ | sed "s,-v ,,g; s,-v$,,g"`
66 # initialize global variables
67 QMAKE_SWITCHES=
68 QMAKE_VARS=
69 QMAKE_CONFIG=
70 QTCONFIG_CONFIG=
71 QT_CONFIG=
72 SUPPORTED=
73 QMAKE_VARS_FILE=.qmake.vars
75 :> "$QMAKE_VARS_FILE"
77 #-------------------------------------------------------------------------------
78 # utility functions
79 #-------------------------------------------------------------------------------
81 shellEscape()
83 echo "$@" | sed 's/ /\ /g'
86 # Adds a new qmake variable to the cache
87 # Usage: QMakeVar mode varname contents
88 # where mode is one of: set, add, del
89 QMakeVar()
91 case "$1" in
92 set)
93 eq="="
95 add)
96 eq="+="
98 del)
99 eq="-="
102 echo >&2 "BUG: wrong command to QMakeVar: $1"
104 esac
106 echo "$2" "$eq" "$3" >> "$QMAKE_VARS_FILE"
109 # relies on $QMAKESPEC being set correctly. parses include statements in
110 # qmake.conf and prints out the expanded file
111 getQMakeConf()
113 tmpSPEC="$QMAKESPEC"
114 if [ -n "$1" ]; then
115 tmpSPEC="$1"
117 $AWK -v "QMAKESPEC=$tmpSPEC" '
118 /^include\(.+\)$/{
119 fname = QMAKESPEC "/" substr($0, 9, length($0) - 9)
120 while ((getline line < fname) > 0)
121 print line
122 close(fname)
123 next
125 { print }' "$tmpSPEC/qmake.conf"
128 # relies on $TEST_COMPILER being set correctly
129 compilerSupportsFlag()
131 cat >conftest.cpp <<EOF
132 int main() { return 0; }
134 "$TEST_COMPILER" "$@" -o /dev/null conftest.cpp
135 ret=$?
136 rm -f conftest.cpp conftest.o
137 return $ret
140 # relies on $TEST_COMPILER being set correctly
141 linkerSupportsFlag()
143 lflags=-Wl
144 for flag
146 safe_flag=`shellEscape "$flag"`
147 lflags=$lflags,$safe_flag
148 done
149 compilerSupportsFlag "$lflags" >/dev/null 2>&1
152 #-------------------------------------------------------------------------------
153 # operating system detection
154 #-------------------------------------------------------------------------------
156 # need that throughout the script
157 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
158 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
159 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
160 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
163 #-------------------------------------------------------------------------------
164 # window system detection
165 #-------------------------------------------------------------------------------
167 PLATFORM_X11=no
168 PLATFORM_MAC=no
169 PLATFORM_QWS=no
171 if [ -f "$relpath"/src/gui/kernel/qapplication_mac.mm ] && [ -d /System/Library/Frameworks/Carbon.framework ]; then
172 # Qt/Mac
173 # ~ the Carbon SDK exists
174 # ~ src/gui/base/qapplication_mac.cpp is present
175 # ~ this is the internal edition and Qt/Mac sources exist
176 PLATFORM_MAC=maybe
177 elif [ -f "$relpath"/src/gui/kernel/qapplication_qws.cpp ]; then
178 # Qt Embedded
179 # ~ src/gui/base/qapplication_qws.cpp is present
180 # ~ this is the free or commercial edition
181 # ~ this is the internal edition and Qt Embedded is explicitly enabled
182 if [ -f "$relpath"/src/gui/kernel/qapplication_mac.mm ]; then
183 # This is a depot build, or an all-platforms package
184 PLATFORM_QWS=maybe
185 else
186 # This must be the embedded package, since the Qt/Mac source files are not present
187 PLATFORM_QWS=yes
191 #-----------------------------------------------------------------------------
192 # Qt version detection
193 #-----------------------------------------------------------------------------
194 QT_VERSION=`grep '^# *define *QT_VERSION_STR' "$relpath"/src/corelib/global/qglobal.h`
195 QT_MAJOR_VERSION=
196 QT_MINOR_VERSION=0
197 QT_PATCH_VERSION=0
198 if [ -n "$QT_VERSION" ]; then
199 QT_VERSION=`echo $QT_VERSION | sed 's,^# *define *QT_VERSION_STR *"*\([^ ]*\)"$,\1,'`
200 MAJOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
201 if [ -n "$MAJOR" ]; then
202 MINOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
203 PATCH=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
204 QT_MAJOR_VERSION="$MAJOR"
205 [ -z "$MINOR" ] || QT_MINOR_VERSION="$MINOR"
206 [ -z "$PATCH" ] || QT_PATCH_VERSION="$PATCH"
209 if [ -z "$QT_MAJOR_VERSION" ]; then
210 echo "Cannot process version from qglobal.h: $QT_VERSION"
211 echo "Cannot proceed."
212 exit 1
215 QT_PACKAGEDATE=`grep '^# *define *QT_PACKAGEDATE_STR' "$relpath"/src/corelib/global/qglobal.h | sed -e 's,^# *define *QT_PACKAGEDATE_STR *"\([^ ]*\)"$,\1,' -e s,-,,g`
216 if [ -z "$QT_PACKAGEDATE" ]; then
217 echo "Unable to determine package date from qglobal.h: '$QT_PACKAGEDATE'"
218 echo "Cannot proceed"
219 exit 1
222 #-------------------------------------------------------------------------------
223 # check the license
224 #-------------------------------------------------------------------------------
225 COMMERCIAL_USER=ask
226 CFG_DEV=no
227 CFG_NOKIA=no
228 CFG_EMBEDDED=no
229 EditionString=Commercial
231 earlyArgParse()
233 # parse the arguments, setting things to "yes" or "no"
234 while [ "$#" -gt 0 ]; do
235 CURRENT_OPT="$1"
236 UNKNOWN_ARG=no
237 case "$1" in
238 #Autoconf style options
239 --enable-*)
240 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
241 VAL=yes
243 --disable-*)
244 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
245 VAL=no
247 --*=*)
248 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
249 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
251 --no-*)
252 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
253 VAL=no
255 -embedded)
256 VAR=embedded
257 # this option may or may not be followed by an argument
258 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
259 VAL=auto
260 else
261 shift;
262 VAL=$1
265 -h|help|--help|-help)
266 if [ "$VAL" = "yes" ]; then
267 OPT_HELP="$VAL"
268 COMMERCIAL_USER="no" #doesn't matter we will display the help
269 else
270 UNKNOWN_OPT=yes
271 COMMERCIAL_USER="no" #doesn't matter we will display the help
274 --*)
275 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
276 VAL=yes
279 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
280 VAL="unknown"
283 UNKNOWN_ARG=yes
285 esac
286 if [ "$UNKNOWN_ARG" = "yes" ]; then
287 shift
288 continue
290 shift
292 UNKNOWN_OPT=no
293 case "$VAR" in
294 embedded)
295 CFG_EMBEDDED="$VAL"
296 if [ "$PLATFORM_QWS" != "no" ]; then
297 if [ "$PLATFORM_QWS" = "maybe" ]; then
298 PLATFORM_X11=no
299 PLATFORM_MAC=no
300 PLATFORM_QWS=yes
302 else
303 echo "No license exists to enable Qt for Embedded Linux. Disabling."
304 CFG_EMBEDDED=no
307 developer-build)
308 CFG_DEV="yes"
310 nokia-developer)
311 CFG_DEV="yes"
312 CFG_NOKIA="yes"
313 COMMERCIAL_USER="no"
315 commercial)
316 COMMERCIAL_USER="yes"
318 opensource)
319 COMMERCIAL_USER="no"
322 UNKNOWN_OPT=yes
324 esac
325 done
328 earlyArgParse "$@"
330 if [ "$COMMERCIAL_USER" = "ask" ]; then
331 while true; do
332 echo "Which edition of Qt do you want to use ?"
333 echo
334 echo "Type 'c' if you want to use the Commercial Edition."
335 echo "Type 'o' if you want to use the Open Source Edition."
336 echo
337 read commercial
338 echo
339 if [ "$commercial" = "c" ]; then
340 COMMERCIAL_USER="yes"
341 break
342 elif [ "$commercial" = "o" ]; then
343 COMMERCIAL_USER="no"
344 break
346 done
349 if [ "$CFG_NOKIA" = "yes" ]; then
350 Licensee="Nokia"
351 Edition="NokiaInternalBuild"
352 EditionString="Nokia Internal Build"
353 QT_EDITION="QT_EDITION_OPENSOURCE"
354 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
355 elif [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes" ]; then
356 # Commercial preview release
357 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
358 Licensee="Preview"
359 Edition="Preview"
360 QT_EDITION="QT_EDITION_DESKTOP"
361 LicenseType="Technology Preview"
362 elif [ $COMMERCIAL_USER = "yes" ]; then
363 # one of commercial editions
364 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
365 [ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=yes
367 # read in the license file
368 if [ -f "$LICENSE_FILE" ]; then
369 . "$LICENSE_FILE" >/dev/null 2>&1
370 if [ -z "$LicenseKeyExt" ]; then
371 echo
372 echo "You are using an old license file."
373 echo
374 echo "Please install the license file supplied by Nokia,"
375 echo "or install the Qt Open Source Edition if you intend to"
376 echo "develop free software."
377 exit 1
379 if [ -z "$Licensee" ]; then
380 echo
381 echo "Invalid license key. Please check the license key."
382 exit 1
384 else
385 if [ -z "$LicenseKeyExt" ]; then
386 echo
387 if echo '\c' | grep '\c' >/dev/null; then
388 echo -n "Please enter your license key: "
389 else
390 echo "Please enter your license key: \c"
392 read LicenseKeyExt
393 Licensee="Unknown user"
397 # Key verification
398 echo "$LicenseKeyExt" | grep ".....*-....*-....*-....*-.....*-.....*-...." >/dev/null 2>&1 \
399 && LicenseValid="yes" \
400 || LicenseValid="no"
401 if [ "$LicenseValid" != "yes" ]; then
402 echo
403 echo "Invalid license key. Please check the license key."
404 exit 1
406 ProductCode=`echo $LicenseKeyExt | cut -f 1 -d - | cut -b 1`
407 PlatformCode=`echo $LicenseKeyExt | cut -f 2 -d - | cut -b 1`
408 LicenseTypeCode=`echo $LicenseKeyExt | cut -f 3 -d -`
409 LicenseFeatureCode=`echo $LicenseKeyExt | cut -f 4 -d - | cut -b 1`
411 # determine which edition we are licensed to use
412 case "$LicenseTypeCode" in
413 F4M)
414 LicenseType="Commercial"
415 case $ProductCode in
417 Edition="Universal"
418 QT_EDITION="QT_EDITION_UNIVERSAL"
421 Edition="FullFramework"
422 EditionString="Full Framework"
423 QT_EDITION="QT_EDITION_DESKTOP"
426 Edition="GUIFramework"
427 EditionString="GUI Framework"
428 QT_EDITION="QT_EDITION_DESKTOPLIGHT"
430 esac
432 Z4M|R4M|Q4M)
433 LicenseType="Evaluation"
434 case $ProductCode in
436 Edition="Evaluation"
437 QT_EDITION="QT_EDITION_EVALUATION"
439 esac
441 esac
442 if [ -z "$LicenseType" -o -z "$Edition" -o -z "$QT_EDITION" ]; then
443 echo
444 echo "Invalid license key. Please check the license key."
445 exit 1
448 # verify that we are licensed to use Qt on this platform
449 LICENSE_EXTENSION=
450 if [ "$PlatformCode" = "X" ]; then
451 # Qt All-OS
452 LICENSE_EXTENSION="-ALLOS"
453 elif [ "$PLATFORM_QWS" = "yes" ]; then
454 case $PlatformCode in
455 2|4|8|A|B|E|G|J|K|P|Q|S|U|V|W)
456 # Qt for Embedded Linux
457 LICENSE_EXTENSION="-EMBEDDED"
460 echo
461 echo "You are not licensed for Qt for Embedded Linux."
462 echo
463 echo "Please contact qt-info@nokia.com to upgrade your license"
464 echo "to include Qt for Embedded Linux, or install the"
465 echo "Qt Open Source Edition if you intend to develop free software."
466 exit 1
468 esac
469 elif [ "$PLATFORM_MAC" = "yes" ]; then
470 case $PlatformCode in
471 2|4|5|7|9|B|C|E|F|G|L|M|U|W|Y)
472 # Qt/Mac
473 LICENSE_EXTENSION="-DESKTOP"
475 3|6|8|A|D|H|J|K|P|Q|S|V)
476 # Embedded no-deploy
477 LICENSE_EXTENSION="-EMBEDDED"
480 echo
481 echo "You are not licensed for the Qt/Mac platform."
482 echo
483 echo "Please contact qt-info@nokia.com to upgrade your license"
484 echo "to include the Qt/Mac platform."
485 exit 1
487 esac
488 else
489 case $PlatformCode in
490 2|3|4|5|7|D|E|F|J|M|Q|S|T|V|Z)
491 # Qt/X11
492 LICENSE_EXTENSION="-DESKTOP"
494 6|8|9|A|B|C|G|H|K|P|U|W)
495 # Embedded no-deploy
496 LICENSE_EXTENSION="-EMBEDDED"
499 echo
500 echo "You are not licensed for the Qt/X11 platform."
501 echo
502 echo "Please contact qt-info@nokia.com to upgrade your license to"
503 echo "include the Qt/X11 platform, or install the Qt Open Source Edition"
504 echo "if you intend to develop free software."
505 exit 1
507 esac
510 if test -r "$relpath/.LICENSE"; then
511 # Generic, non-final license
512 LICENSE_EXTENSION=""
513 line=`sed 'y/a-z/A-Z/;q' "$relpath"/.LICENSE`
514 case "$line" in
515 *BETA*)
516 Edition=Beta
518 *TECHNOLOGY?PREVIEW*)
519 Edition=Preview
521 *EVALUATION*)
522 Edition=Evaluation
525 echo >&2 "Invalid license files; cannot continue"
526 exit 1
528 esac
529 Licensee="$Edition"
530 EditionString="$Edition"
531 QT_EDITION="QT_EDITION_DESKTOP"
534 case "$LicenseFeatureCode" in
535 G|L)
536 # US
537 case "$LicenseType" in
538 Commercial)
539 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}-US" "$outpath/LICENSE"
541 Evaluation)
542 cp -f "$relpath/.LICENSE-EVALUATION-US" "$outpath/LICENSE"
544 esac
546 2|5)
547 # non-US
548 case "$LicenseType" in
549 Commercial)
550 cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}" "$outpath/LICENSE"
552 Evaluation)
553 cp -f "$relpath/.LICENSE-EVALUATION" "$outpath/LICENSE"
555 esac
558 echo
559 echo "Invalid license key. Please check the license key."
560 exit 1
562 esac
563 if [ '!' -f "$outpath/LICENSE" ]; then
564 echo "The LICENSE, LICENSE.GPL3 LICENSE.LGPL file shipped with"
565 echo "this software has disappeared."
566 echo
567 echo "Sorry, you are not licensed to use this software."
568 echo "Try re-installing."
569 echo
570 exit 1
572 elif [ $COMMERCIAL_USER = "no" ]; then
573 # Open Source edition - may only be used under the terms of the GPL or LGPL.
574 [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
575 Licensee="Open Source"
576 Edition="OpenSource"
577 EditionString="Open Source"
578 QT_EDITION="QT_EDITION_OPENSOURCE"
581 #-------------------------------------------------------------------------------
582 # initalize variables
583 #-------------------------------------------------------------------------------
585 SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS"
586 for varname in $SYSTEM_VARIABLES; do
587 qmakevarname="${varname}"
588 # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
589 if [ "${varname}" = "LDFLAGS" ]; then
590 qmakevarname="LFLAGS"
592 cmd=`echo \
593 'if [ -n "\$'${varname}'" ]; then
594 QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'"
595 fi'`
596 eval "$cmd"
597 done
598 # Use CC/CXX to run config.tests
599 mkdir -p "$outpath/config.tests"
600 rm -f "$outpath/config.tests/.qmake.cache"
601 cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
603 QMakeVar add styles "cde mac motif plastique cleanlooks windows"
604 QMakeVar add decorations "default windows styled"
605 QMakeVar add mouse-drivers "pc"
606 if [ "$UNAME_SYSTEM" = "Linux" ] ; then
607 QMakeVar add gfx-drivers "linuxfb"
608 QMakeVar add mouse-drivers "linuxtp"
610 QMakeVar add kbd-drivers "tty"
612 if [ "$CFG_DEV" = "yes" ]; then
613 QMakeVar add kbd-drivers "um"
616 # QTDIR may be set and point to an old or system-wide Qt installation
617 unset QTDIR
619 # the minimum version of libdbus-1 that we require:
620 MIN_DBUS_1_VERSION=0.62
622 # initalize internal variables
623 CFG_CONFIGURE_EXIT_ON_ERROR=yes
624 CFG_PROFILE=no
625 CFG_EXCEPTIONS=unspecified
626 CFG_SCRIPT=auto # (yes|no|auto)
627 CFG_SCRIPTTOOLS=auto # (yes|no|auto)
628 CFG_XMLPATTERNS=auto # (yes|no|auto)
629 CFG_INCREMENTAL=auto
630 CFG_QCONFIG=full
631 CFG_DEBUG=auto
632 CFG_MYSQL_CONFIG=
633 CFG_DEBUG_RELEASE=no
634 CFG_SHARED=yes
635 CFG_SM=auto
636 CFG_XSHAPE=auto
637 CFG_XSYNC=auto
638 CFG_XINERAMA=runtime
639 CFG_XFIXES=runtime
640 CFG_ZLIB=auto
641 CFG_SQLITE=qt
642 CFG_GIF=auto
643 CFG_TIFF=auto
644 CFG_LIBTIFF=auto
645 CFG_PNG=yes
646 CFG_LIBPNG=auto
647 CFG_JPEG=auto
648 CFG_LIBJPEG=auto
649 CFG_MNG=auto
650 CFG_LIBMNG=auto
651 CFG_XCURSOR=runtime
652 CFG_XRANDR=runtime
653 CFG_XRENDER=auto
654 CFG_MITSHM=auto
655 CFG_OPENGL=auto
656 CFG_OPENVG=no
657 CFG_OPENVG_LC_INCLUDES=no
658 CFG_OPENVG_SHIVA=no
659 CFG_OPENVG_ON_OPENGL=no
660 CFG_EGL=no
661 CFG_EGL_GLES_INCLUDES=no
662 CFG_SSE=auto
663 CFG_FONTCONFIG=auto
664 CFG_QWS_FREETYPE=auto
665 CFG_LIBFREETYPE=auto
666 CFG_SQL_AVAILABLE=
667 QT_DEFAULT_BUILD_PARTS="libs tools examples demos docs translations"
668 CFG_BUILD_PARTS=""
669 CFG_NOBUILD_PARTS=""
670 CFG_RELEASE_QMAKE=no
671 CFG_PHONON=auto
672 CFG_PHONON_BACKEND=yes
673 CFG_MULTIMEDIA=yes
674 CFG_SVG=yes
675 CFG_WEBKIT=auto # (yes|no|auto)
677 CFG_GFX_AVAILABLE="linuxfb transformed qvfb vnc multiscreen directfb"
678 CFG_GFX_ON="linuxfb multiscreen"
679 CFG_GFX_PLUGIN_AVAILABLE=
680 CFG_GFX_PLUGIN=
681 CFG_GFX_OFF=
682 CFG_KBD_AVAILABLE="tty linuxinput qvfb"
683 CFG_KBD_ON="tty" #default, see QMakeVar above
684 CFG_MOUSE_AVAILABLE="pc linuxtp linuxinput tslib qvfb"
685 CFG_MOUSE_ON="pc linuxtp" #default, see QMakeVar above
687 if [ -f "$relpath/src/gui/embedded/qscreenqnx_qws.cpp" ]; then
688 CFG_KBD_AVAILABLE="${CFG_KBD_AVAILABLE} qnx"
689 CFG_MOUSE_AVAILABLE="${CFG_MOUSE_AVAILABLE} qnx"
690 CFG_GFX_AVAILABLE="${CFG_GFX_AVAILABLE} qnx"
693 CFG_ARCH=
694 CFG_HOST_ARCH=
695 CFG_KBD_PLUGIN_AVAILABLE=
696 CFG_KBD_PLUGIN=
697 CFG_KBD_OFF=
698 CFG_MOUSE_PLUGIN_AVAILABLE=
699 CFG_MOUSE_PLUGIN=
700 CFG_MOUSE_OFF=
701 CFG_USE_GNUMAKE=no
702 CFG_IM=yes
703 CFG_DECORATION_AVAILABLE="styled windows default"
704 CFG_DECORATION_ON="${CFG_DECORATION_AVAILABLE}" # all on by default
705 CFG_DECORATION_PLUGIN_AVAILABLE=
706 CFG_DECORATION_PLUGIN=
707 CFG_XINPUT=runtime
708 CFG_XKB=auto
709 CFG_NIS=auto
710 CFG_CUPS=auto
711 CFG_ICONV=auto
712 CFG_DBUS=auto
713 CFG_GLIB=auto
714 CFG_GSTREAMER=auto
715 CFG_QGTKSTYLE=auto
716 CFG_LARGEFILE=auto
717 CFG_OPENSSL=auto
718 CFG_PTMALLOC=no
719 CFG_STL=auto
720 CFG_PRECOMPILE=auto
721 CFG_SEPARATE_DEBUG_INFO=auto
722 CFG_REDUCE_EXPORTS=auto
723 CFG_MMX=auto
724 CFG_3DNOW=auto
725 CFG_SSE=auto
726 CFG_SSE2=auto
727 CFG_REDUCE_RELOCATIONS=no
728 CFG_IPV6=auto
729 CFG_NAS=no
730 CFG_QWS_DEPTHS=all
731 CFG_USER_BUILD_KEY=
732 CFG_ACCESSIBILITY=auto
733 CFG_QT3SUPPORT=yes
734 CFG_ENDIAN=auto
735 CFG_HOST_ENDIAN=auto
736 CFG_DOUBLEFORMAT=auto
737 CFG_ARMFPA=auto
738 CFG_IWMMXT=no
739 CFG_CLOCK_GETTIME=auto
740 CFG_CLOCK_MONOTONIC=auto
741 CFG_MREMAP=auto
742 CFG_GETADDRINFO=auto
743 CFG_IPV6IFNAME=auto
744 CFG_GETIFADDRS=auto
745 CFG_INOTIFY=auto
746 CFG_RPATH=yes
747 CFG_FRAMEWORK=auto
748 CFG_MAC_ARCHS=
749 MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
750 CFG_MAC_DWARF2=auto
751 CFG_MAC_XARCH=auto
752 CFG_MAC_CARBON=yes
753 CFG_MAC_COCOA=auto
754 COMMANDLINE_MAC_COCOA=no
755 CFG_SXE=no
756 CFG_PREFIX_INSTALL=yes
757 CFG_SDK=
758 D_FLAGS=
759 I_FLAGS=
760 L_FLAGS=
761 RPATH_FLAGS=
762 l_FLAGS=
763 QCONFIG_FLAGS=
764 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
765 PLATFORM=$QMAKESPEC
766 QT_CROSS_COMPILE=no
767 OPT_CONFIRM_LICENSE=no
768 OPT_SHADOW=maybe
769 OPT_FAST=auto
770 OPT_VERBOSE=no
771 OPT_HELP=
772 CFG_SILENT=no
773 CFG_GRAPHICS_SYSTEM=default
774 CFG_ALSA=auto
776 # initalize variables used for installation
777 QT_INSTALL_PREFIX=
778 QT_INSTALL_DOCS=
779 QT_INSTALL_HEADERS=
780 QT_INSTALL_LIBS=
781 QT_INSTALL_BINS=
782 QT_INSTALL_PLUGINS=
783 QT_INSTALL_DATA=
784 QT_INSTALL_TRANSLATIONS=
785 QT_INSTALL_SETTINGS=
786 QT_INSTALL_EXAMPLES=
787 QT_INSTALL_DEMOS=
788 QT_HOST_PREFIX=
790 #flags for SQL drivers
791 QT_CFLAGS_PSQL=
792 QT_LFLAGS_PSQL=
793 QT_CFLAGS_MYSQL=
794 QT_LFLAGS_MYSQL=
795 QT_LFLAGS_MYSQL_R=
796 QT_CFLAGS_SQLITE=
797 QT_LFLAGS_SQLITE=
798 QT_LFLAGS_ODBC="-lodbc"
800 # flags for libdbus-1
801 QT_CFLAGS_DBUS=
802 QT_LIBS_DBUS=
804 # flags for Glib (X11 only)
805 QT_CFLAGS_GLIB=
806 QT_LIBS_GLIB=
808 # flags for GStreamer (X11 only)
809 QT_CFLAGS_GSTREAMER=
810 QT_LIBS_GSTREAMER=
812 #-------------------------------------------------------------------------------
813 # check SQL drivers, mouse drivers and decorations available in this package
814 #-------------------------------------------------------------------------------
816 # opensource version removes some drivers, so force them to be off
817 CFG_SQL_tds=no
818 CFG_SQL_oci=no
819 CFG_SQL_db2=no
821 CFG_SQL_AVAILABLE=
822 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
823 for a in "$relpath/src/plugins/sqldrivers/"*; do
824 if [ -d "$a" ]; then
825 base_a=`basename "$a"`
826 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
827 eval "CFG_SQL_${base_a}=auto"
829 done
832 CFG_DECORATION_PLUGIN_AVAILABLE=
833 if [ -d "$relpath/src/plugins/decorations" ]; then
834 for a in "$relpath/src/plugins/decorations/"*; do
835 if [ -d "$a" ]; then
836 base_a=`basename "$a"`
837 CFG_DECORATION_PLUGIN_AVAILABLE="${CFG_DECORATION_PLUGIN_AVAILABLE} ${base_a}"
839 done
842 CFG_KBD_PLUGIN_AVAILABLE=
843 if [ -d "$relpath/src/plugins/kbddrivers" ]; then
844 for a in "$relpath/src/plugins/kbddrivers/"*; do
845 if [ -d "$a" ]; then
846 base_a=`basename "$a"`
847 CFG_KBD_PLUGIN_AVAILABLE="${CFG_KBD_PLUGIN_AVAILABLE} ${base_a}"
849 done
852 CFG_MOUSE_PLUGIN_AVAILABLE=
853 if [ -d "$relpath/src/plugins/mousedrivers" ]; then
854 for a in "$relpath/src/plugins/mousedrivers/"*; do
855 if [ -d "$a" ]; then
856 base_a=`basename "$a"`
857 CFG_MOUSE_PLUGIN_AVAILABLE="${CFG_MOUSE_PLUGIN_AVAILABLE} ${base_a}"
859 done
862 CFG_GFX_PLUGIN_AVAILABLE=
863 if [ -d "$relpath/src/plugins/gfxdrivers" ]; then
864 for a in "$relpath/src/plugins/gfxdrivers/"*; do
865 if [ -d "$a" ]; then
866 base_a=`basename "$a"`
867 CFG_GFX_PLUGIN_AVAILABLE="${CFG_GFX_PLUGIN_AVAILABLE} ${base_a}"
869 done
870 CFG_GFX_OFF="$CFG_GFX_AVAILABLE" # assume all off
873 #-------------------------------------------------------------------------------
874 # parse command line arguments
875 #-------------------------------------------------------------------------------
877 # parse the arguments, setting things to "yes" or "no"
878 while [ "$#" -gt 0 ]; do
879 CURRENT_OPT="$1"
880 UNKNOWN_ARG=no
881 case "$1" in
882 #Autoconf style options
883 --enable-*)
884 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
885 VAL=yes
887 --disable-*)
888 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
889 VAL=no
891 --*=*)
892 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
893 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
895 --no-*)
896 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
897 VAL=no
899 --*)
900 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
901 VAL=yes
903 #Qt plugin options
904 -no-*-*|-plugin-*-*|-qt-*-*)
905 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
906 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
908 #Qt style no options
909 -no-*)
910 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
911 VAL=no
913 #Qt style yes options
914 -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|-multimedia|-svg|-webkit|-script|-scripttools|-rpath|-force-pkg-config)
915 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
916 VAL=yes
918 #Qt style options that pass an argument
919 -qconfig)
920 if [ "$PLATFORM_QWS" != "yes" ]; then
921 echo
922 echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
923 echo
925 CFG_QCONFIG="$VAL"
926 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
927 shift
928 VAL=$1
930 -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config)
931 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
932 shift
933 VAL="$1"
935 #Qt style complex options in one command
936 -enable-*|-disable-*)
937 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
938 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
940 #Qt Builtin/System style options
941 -no-*|-system-*|-qt-*)
942 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
943 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
945 #Options that cannot be generalized
946 -k|-continue)
947 VAR=fatal_error
948 VAL=no
950 -embedded)
951 VAR=embedded
952 # this option may or may not be followed by an argument
953 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
954 VAL=auto
955 else
956 shift;
957 VAL=$1
960 -opengl)
961 VAR=opengl
962 # this option may or may not be followed by an argument
963 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
964 VAL=yes
965 else
966 shift;
967 VAL=$1
970 -openvg)
971 VAR=openvg
972 # this option may or may not be followed by an argument
973 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
974 VAL=yes
975 else
976 shift;
977 VAL=$1
980 -hostprefix)
981 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
982 # this option may or may not be followed by an argument
983 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
984 VAL=$outpath
985 else
986 shift;
987 VAL=$1
990 -host-*-endian)
991 VAR=host_endian
992 VAL=`echo $1 | sed "s,^-.*-\(.*\)-.*,\1,"`
994 -*-endian)
995 VAR=endian
996 VAL=`echo $1 | sed "s,^-\(.*\)-.*,\1,"`
998 -qtnamespace)
999 VAR="qtnamespace"
1000 shift
1001 VAL="$1"
1003 -graphicssystem)
1004 VAR="graphicssystem"
1005 shift
1006 VAL=$1
1008 -qtlibinfix)
1009 VAR="qtlibinfix"
1010 shift
1011 VAL="$1"
1013 -D?*|-D)
1014 VAR="add_define"
1015 if [ "$1" = "-D" ]; then
1016 shift
1017 VAL="$1"
1018 else
1019 VAL=`echo $1 | sed 's,-D,,'`
1022 -I?*|-I)
1023 VAR="add_ipath"
1024 if [ "$1" = "-I" ]; then
1025 shift
1026 VAL="$1"
1027 else
1028 VAL=`echo $1 | sed 's,-I,,'`
1031 -L?*|-L)
1032 VAR="add_lpath"
1033 if [ "$1" = "-L" ]; then
1034 shift
1035 VAL="$1"
1036 else
1037 VAL=`echo $1 | sed 's,-L,,'`
1040 -R?*|-R)
1041 VAR="add_rpath"
1042 if [ "$1" = "-R" ]; then
1043 shift
1044 VAL="$1"
1045 else
1046 VAL=`echo $1 | sed 's,-R,,'`
1049 -l?*)
1050 VAR="add_link"
1051 VAL=`echo $1 | sed 's,-l,,'`
1053 -F?*|-F)
1054 VAR="add_fpath"
1055 if [ "$1" = "-F" ]; then
1056 shift
1057 VAL="$1"
1058 else
1059 VAL=`echo $1 | sed 's,-F,,'`
1062 -fw?*|-fw)
1063 VAR="add_framework"
1064 if [ "$1" = "-fw" ]; then
1065 shift
1066 VAL="$1"
1067 else
1068 VAL=`echo $1 | sed 's,-fw,,'`
1072 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1073 VAL="unknown"
1076 UNKNOWN_ARG=yes
1078 esac
1079 if [ "$UNKNOWN_ARG" = "yes" ]; then
1080 echo "$1: unknown argument"
1081 OPT_HELP=yes
1082 ERROR=yes
1083 shift
1084 continue
1086 shift
1088 UNKNOWN_OPT=no
1089 case "$VAR" in
1090 qt3support)
1091 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1092 CFG_QT3SUPPORT="$VAL"
1093 else
1094 UNKNOWN_OPT=yes
1097 accessibility)
1098 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1099 CFG_ACCESSIBILITY="$VAL"
1100 else
1101 UNKNOWN_OPT=yes
1104 license)
1105 LICENSE_FILE="$VAL"
1107 gnumake)
1108 CFG_USE_GNUMAKE="$VAL"
1110 mysql_config)
1111 CFG_MYSQL_CONFIG="$VAL"
1113 prefix)
1114 QT_INSTALL_PREFIX="$VAL"
1116 hostprefix)
1117 QT_HOST_PREFIX="$VAL"
1119 force-pkg-config)
1120 QT_FORCE_PKGCONFIG=yes
1122 docdir)
1123 QT_INSTALL_DOCS="$VAL"
1125 headerdir)
1126 QT_INSTALL_HEADERS="$VAL"
1128 plugindir)
1129 QT_INSTALL_PLUGINS="$VAL"
1131 datadir)
1132 QT_INSTALL_DATA="$VAL"
1134 libdir)
1135 QT_INSTALL_LIBS="$VAL"
1137 qtnamespace)
1138 QT_NAMESPACE="$VAL"
1140 qtlibinfix)
1141 QT_LIBINFIX="$VAL"
1143 translationdir)
1144 QT_INSTALL_TRANSLATIONS="$VAL"
1146 sysconfdir|settingsdir)
1147 QT_INSTALL_SETTINGS="$VAL"
1149 examplesdir)
1150 QT_INSTALL_EXAMPLES="$VAL"
1152 demosdir)
1153 QT_INSTALL_DEMOS="$VAL"
1155 qconfig)
1156 CFG_QCONFIG="$VAL"
1158 bindir)
1159 QT_INSTALL_BINS="$VAL"
1161 buildkey)
1162 CFG_USER_BUILD_KEY="$VAL"
1164 sxe)
1165 CFG_SXE="$VAL"
1167 embedded)
1168 CFG_EMBEDDED="$VAL"
1169 if [ "$PLATFORM_QWS" != "no" ]; then
1170 if [ "$PLATFORM_QWS" = "maybe" ]; then
1171 PLATFORM_X11=no
1172 PLATFORM_MAC=no
1173 PLATFORM_QWS=yes
1175 else
1176 echo "No license exists to enable Qt for Embedded Linux. Disabling."
1177 CFG_EMBEDDED=no
1180 sse)
1181 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1182 CFG_SSE="$VAL"
1183 else
1184 UNKNOWN_OPT=yes
1187 endian)
1188 if [ "$VAL" = "little" ]; then
1189 CFG_ENDIAN="Q_LITTLE_ENDIAN"
1190 elif [ "$VAL" = "big" ]; then
1191 CFG_ENDIAN="Q_BIG_ENDIAN"
1192 else
1193 UNKNOWN_OPT=yes
1196 host_endian)
1197 if [ "$VAL" = "little" ]; then
1198 CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
1199 elif [ "$VAL" = "big" ]; then
1200 CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
1201 else
1202 UNKNOWN_OPT=yes
1205 armfpa)
1206 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1207 CFG_ARMFPA="$VAL"
1208 else
1209 UNKNOWN_OPT=yes
1212 depths)
1213 CFG_QWS_DEPTHS="$VAL"
1215 opengl)
1216 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1217 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1218 [ "$VAL" = "es1cl" ] || [ "$VAL" = "es1" ] || [ "$VAL" = "es2" ]; then
1219 CFG_OPENGL="$VAL"
1220 else
1221 UNKNOWN_OPT=yes
1224 openvg)
1225 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1226 CFG_OPENVG="$VAL"
1227 else
1228 UNKNOWN_OPT=yes
1231 graphicssystem)
1232 if [ "$PLATFORM_QWS" = "yes" ]; then
1233 echo "Error: Graphics System plugins are not supported on QWS."
1234 echo " On QWS, the graphics system API is part of the QScreen plugin architecture "
1235 echo " rather than existing as a separate plugin."
1236 echo ""
1237 UNKNOWN_OPT=yes
1238 else
1239 if [ "$VAL" = "opengl" ]; then
1240 CFG_GRAPHICS_SYSTEM="opengl"
1241 elif [ "$VAL" = "openvg" ]; then
1242 CFG_GRAPHICS_SYSTEM="openvg"
1243 elif [ "$VAL" = "raster" ]; then
1244 CFG_GRAPHICS_SYSTEM="raster"
1245 else
1246 UNKNOWN_OPT=yes
1251 qvfb) # left for commandline compatibility, not documented
1252 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1253 if [ "$VAL" = "yes" ]; then
1254 QMakeVar add gfx-drivers qvfb
1255 QMakeVar add kbd-drivers qvfb
1256 QMakeVar add mouse-drivers qvfb
1257 CFG_GFX_ON="$CFG_GFX_ON qvfb"
1258 CFG_KBD_ON="$CFG_KBD_ON qvfb"
1259 CFG_MOUSE_ON="$CFG_MOUSE_ON qvfb"
1261 else
1262 UNKNOWN_OPT=yes
1265 nomake)
1266 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1268 make)
1269 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1271 x11)
1272 if [ "$PLATFORM_MAC" = "yes" ]; then
1273 PLATFORM_MAC=no
1274 elif [ "$PLATFORM_QWS" = "yes" ]; then
1275 PLATFORM_QWS=no
1277 if [ "$CFG_FRAMEWORK" = "auto" ]; then
1278 CFG_FRAMEWORK=no
1280 PLATFORM_X11=yes
1282 sdk)
1283 if [ "$PLATFORM_MAC" = "yes" ]; then
1284 CFG_SDK="$VAL"
1285 else
1286 UNKNOWN_OPT=yes
1289 dwarf2)
1290 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1291 CFG_MAC_DWARF2="$VAL"
1292 else
1293 UNKNOWN_OPT=yes
1296 arch)
1297 if [ "$PLATFORM_MAC" = "yes" ]; then
1298 CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL"
1299 else
1300 CFG_ARCH=$VAL
1303 host-arch)
1304 CFG_HOST_ARCH=$VAL
1306 universal)
1307 if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1308 CFG_MAC_ARCHS="$CFG_MAC_ARCHS x86 ppc"
1309 else
1310 UNKNOWN_OPT=yes
1313 cocoa)
1314 if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1315 CFG_MAC_COCOA="$VAL"
1316 COMMANDLINE_MAC_COCOA="$VAL"
1317 else
1318 UNKNOWN_OPT=yes
1321 framework)
1322 if [ "$PLATFORM_MAC" = "yes" ]; then
1323 CFG_FRAMEWORK="$VAL"
1324 else
1325 UNKNOWN_OPT=yes
1328 profile)
1329 if [ "$VAL" = "yes" ]; then
1330 CFG_PROFILE=yes
1331 QMakeVar add QMAKE_CFLAGS -pg
1332 QMakeVar add QMAKE_CXXFLAGS -pg
1333 QMakeVar add QMAKE_LFLAGS -pg
1334 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1335 else
1336 UNKNOWN_OPT=yes
1339 exceptions|g++-exceptions)
1340 if [ "$VAL" = "no" ]; then
1341 CFG_EXCEPTIONS=no
1342 elif [ "$VAL" = "yes" ]; then
1343 CFG_EXCEPTIONS=yes
1344 else
1345 UNKNOWN_OPT=yes
1348 platform)
1349 PLATFORM="$VAL"
1350 # keep compatibility with old platform names
1351 case $PLATFORM in
1352 aix-64)
1353 PLATFORM=aix-xlc-64
1355 hpux-o64)
1356 PLATFORM=hpux-acc-o64
1358 hpux-n64)
1359 PLATFORM=hpux-acc-64
1361 hpux-acc-n64)
1362 PLATFORM=hpux-acc-64
1364 irix-n32)
1365 PLATFORM=irix-cc
1367 irix-64)
1368 PLATFORM=irix-cc-64
1370 irix-cc-n64)
1371 PLATFORM=irix-cc-64
1373 reliant-64)
1374 PLATFORM=reliant-cds-64
1376 solaris-64)
1377 PLATFORM=solaris-cc-64
1379 solaris-64)
1380 PLATFORM=solaris-cc-64
1382 openunix-cc)
1383 PLATFORM=unixware-cc
1385 openunix-g++)
1386 PLATFORM=unixware-g++
1388 unixware7-cc)
1389 PLATFORM=unixware-cc
1391 unixware7-g++)
1392 PLATFORM=unixware-g++
1394 macx-g++-64)
1395 PLATFORM=macx-g++
1396 NATIVE_64_ARCH=
1397 case `uname -p` in
1398 i386) NATIVE_64_ARCH="x86_64" ;;
1399 powerpc) NATIVE_64_ARCH="ppc64" ;;
1400 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1401 esac
1402 if [ ! -z "$NATIVE_64_ARCH" ]; then
1403 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1404 CFG_MAC_ARCHS="$CFG_MAC_ARCHS $NATIVE_64_ARCH"
1407 esac
1409 xplatform)
1410 XPLATFORM="$VAL"
1412 debug-and-release)
1413 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1414 CFG_DEBUG_RELEASE="$VAL"
1415 else
1416 UNKNOWN_OPT=yes
1419 optimized-qmake)
1420 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1421 CFG_RELEASE_QMAKE="$VAL"
1422 else
1423 UNKNOWN_OPT=yes
1426 release)
1427 if [ "$VAL" = "yes" ]; then
1428 CFG_DEBUG=no
1429 elif [ "$VAL" = "no" ]; then
1430 CFG_DEBUG=yes
1431 else
1432 UNKNOWN_OPT=yes
1435 prefix-install)
1436 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1437 CFG_PREFIX_INSTALL="$VAL"
1438 else
1439 UNKNOWN_OPT=yes
1442 debug)
1443 CFG_DEBUG="$VAL"
1445 developer-build|commercial|opensource|nokia-developer)
1446 # These switches have been dealt with already
1448 static)
1449 if [ "$VAL" = "yes" ]; then
1450 CFG_SHARED=no
1451 elif [ "$VAL" = "no" ]; then
1452 CFG_SHARED=yes
1453 else
1454 UNKNOWN_OPT=yes
1457 incremental)
1458 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1459 CFG_INCREMENTAL="$VAL"
1460 else
1461 UNKNOWN_OPT=yes
1464 fatal_error)
1465 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1466 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1467 else
1468 UNKNOWN_OPT=yes
1471 feature-*)
1472 if [ "$PLATFORM_QWS" = "yes" ]; then
1473 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1474 if [ "$VAL" = "no" ]; then
1475 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1476 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1477 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1478 else
1479 UNKNOWN_OPT=yes
1481 else
1482 UNKNOWN_OPT=yes
1485 shared)
1486 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1487 CFG_SHARED="$VAL"
1488 else
1489 UNKNOWN_OPT=yes
1492 gif)
1493 [ "$VAL" = "qt" ] && VAL=yes
1494 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1495 CFG_GIF="$VAL"
1496 else
1497 UNKNOWN_OPT=yes
1501 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1502 CFG_SM="$VAL"
1503 else
1504 UNKNOWN_OPT=yes
1508 xinerama)
1509 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1510 CFG_XINERAMA="$VAL"
1511 else
1512 UNKNOWN_OPT=yes
1515 xshape)
1516 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1517 CFG_XSHAPE="$VAL"
1518 else
1519 UNKNOWN_OPT=yes
1522 xsync)
1523 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1524 CFG_XSYNC="$VAL"
1525 else
1526 UNKNOWN_OPT=yes
1529 xinput)
1530 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1531 CFG_XINPUT="$VAL"
1532 else
1533 UNKNOWN_OPT=yes
1536 stl)
1537 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1538 CFG_STL="$VAL"
1539 else
1540 UNKNOWN_OPT=yes
1543 pch)
1544 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1545 CFG_PRECOMPILE="$VAL"
1546 else
1547 UNKNOWN_OPT=yes
1550 separate-debug-info)
1551 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1552 CFG_SEPARATE_DEBUG_INFO="$VAL"
1553 else
1554 UNKNOWN_OPT=yes
1557 reduce-exports)
1558 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1559 CFG_REDUCE_EXPORTS="$VAL"
1560 else
1561 UNKNOWN_OPT=yes
1564 mmx)
1565 if [ "$VAL" = "no" ]; then
1566 CFG_MMX="$VAL"
1567 else
1568 UNKNOWN_OPT=yes
1571 3dnow)
1572 if [ "$VAL" = "no" ]; then
1573 CFG_3DNOW="$VAL"
1574 else
1575 UNKNOWN_OPT=yes
1578 sse)
1579 if [ "$VAL" = "no" ]; then
1580 CFG_SSE="$VAL"
1581 else
1582 UNKNOWN_OPT=yes
1585 sse2)
1586 if [ "$VAL" = "no" ]; then
1587 CFG_SSE2="$VAL"
1588 else
1589 UNKNOWN_OPT=yes
1592 iwmmxt)
1593 CFG_IWMMXT="yes"
1595 reduce-relocations)
1596 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1597 CFG_REDUCE_RELOCATIONS="$VAL"
1598 else
1599 UNKNOWN_OPT=yes
1602 freetype)
1603 [ "$VAL" = "qt" ] && VAL=yes
1604 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1605 CFG_QWS_FREETYPE="$VAL"
1606 else
1607 UNKNOWN_OPT=yes
1610 zlib)
1611 [ "$VAL" = "qt" ] && VAL=yes
1612 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1613 CFG_ZLIB="$VAL"
1614 else
1615 UNKNOWN_OPT=yes
1617 # No longer supported:
1618 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1620 sqlite)
1621 if [ "$VAL" = "system" ]; then
1622 CFG_SQLITE=system
1623 else
1624 UNKNOWN_OPT=yes
1627 libpng)
1628 [ "$VAL" = "yes" ] && VAL=qt
1629 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1630 CFG_LIBPNG="$VAL"
1631 else
1632 UNKNOWN_OPT=yes
1635 libjpeg)
1636 [ "$VAL" = "yes" ] && VAL=qt
1637 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1638 CFG_LIBJPEG="$VAL"
1639 else
1640 UNKNOWN_OPT=yes
1643 libmng)
1644 [ "$VAL" = "yes" ] && VAL=qt
1645 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1646 CFG_LIBMNG="$VAL"
1647 else
1648 UNKNOWN_OPT=yes
1651 libtiff)
1652 [ "$VAL" = "yes" ] && VAL=qt
1653 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1654 CFG_LIBTIFF="$VAL"
1655 else
1656 UNKNOWN_OPT=yes
1659 nas-sound)
1660 if [ "$VAL" = "system" ] || [ "$VAL" = "no" ]; then
1661 CFG_NAS="$VAL"
1662 else
1663 UNKNOWN_OPT=yes
1666 xcursor)
1667 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1668 CFG_XCURSOR="$VAL"
1669 else
1670 UNKNOWN_OPT=yes
1673 xfixes)
1674 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1675 CFG_XFIXES="$VAL"
1676 else
1677 UNKNOWN_OPT=yes
1680 xrandr)
1681 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1682 CFG_XRANDR="$VAL"
1683 else
1684 UNKNOWN_OPT=yes
1687 xrender)
1688 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1689 CFG_XRENDER="$VAL"
1690 else
1691 UNKNOWN_OPT=yes
1694 mitshm)
1695 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1696 CFG_MITSHM="$VAL"
1697 else
1698 UNKNOWN_OPT=yes
1701 fontconfig)
1702 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1703 CFG_FONTCONFIG="$VAL"
1704 else
1705 UNKNOWN_OPT=yes
1708 xkb)
1709 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1710 CFG_XKB="$VAL"
1711 else
1712 UNKNOWN_OPT=yes
1715 cups)
1716 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1717 CFG_CUPS="$VAL"
1718 else
1719 UNKNOWN_OPT=yes
1722 iconv)
1723 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1724 CFG_ICONV="$VAL"
1725 else
1726 UNKNOWN_OPT=yes
1729 glib)
1730 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1731 CFG_GLIB="$VAL"
1732 else
1733 UNKNOWN_OPT=yes
1736 gstreamer)
1737 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1738 CFG_GSTREAMER="$VAL"
1739 else
1740 UNKNOWN_OPT=yes
1743 gtkstyle)
1744 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1745 CFG_QGTKSTYLE="$VAL"
1746 else
1747 UNKNOWN_OPT=yes
1750 qdbus|dbus)
1751 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1752 CFG_DBUS="$VAL"
1753 elif [ "$VAL" = "runtime" ]; then
1754 CFG_DBUS="yes"
1755 else
1756 UNKNOWN_OPT=yes
1759 dbus-linked)
1760 if [ "$VAL" = "yes" ]; then
1761 CFG_DBUS="linked"
1762 else
1763 UNKNOWN_OPT=yes
1766 nis)
1767 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1768 CFG_NIS="$VAL"
1769 else
1770 UNKNOWN_OPT=yes
1773 largefile)
1774 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1775 CFG_LARGEFILE="$VAL"
1776 else
1777 UNKNOWN_OPT=yes
1780 openssl)
1781 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1782 CFG_OPENSSL="$VAL"
1783 else
1784 UNKNOWN_OPT=yes
1787 openssl-linked)
1788 if [ "$VAL" = "yes" ]; then
1789 CFG_OPENSSL="linked"
1790 else
1791 UNKNOWN_OPT=yes
1794 ptmalloc)
1795 if [ "$VAL" = "yes" ]; then
1796 CFG_PTMALLOC="yes"
1797 else
1798 UNKNOWN_OPT=yes
1802 xmlpatterns)
1803 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1804 CFG_XMLPATTERNS="yes"
1805 else
1806 if [ "$VAL" = "no" ]; then
1807 CFG_XMLPATTERNS="no"
1808 else
1809 UNKNOWN_OPT=yes
1813 script)
1814 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1815 CFG_SCRIPT="yes"
1816 else
1817 if [ "$VAL" = "no" ]; then
1818 CFG_SCRIPT="no"
1819 else
1820 UNKNOWN_OPT=yes
1824 scripttools)
1825 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1826 CFG_SCRIPTTOOLS="yes"
1827 else
1828 if [ "$VAL" = "no" ]; then
1829 CFG_SCRIPTTOOLS="no"
1830 else
1831 UNKNOWN_OPT=yes
1835 svg)
1836 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1837 CFG_SVG="yes"
1838 else
1839 if [ "$VAL" = "no" ]; then
1840 CFG_SVG="no"
1841 else
1842 UNKNOWN_OPT=yes
1846 webkit)
1847 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1848 CFG_WEBKIT="yes"
1849 else
1850 if [ "$VAL" = "no" ]; then
1851 CFG_WEBKIT="no"
1852 else
1853 UNKNOWN_OPT=yes
1857 confirm-license)
1858 if [ "$VAL" = "yes" ]; then
1859 OPT_CONFIRM_LICENSE="$VAL"
1860 else
1861 UNKNOWN_OPT=yes
1864 h|help)
1865 if [ "$VAL" = "yes" ]; then
1866 OPT_HELP="$VAL"
1867 else
1868 UNKNOWN_OPT=yes
1871 sql-*|gfx-*|decoration-*|kbd-*|mouse-*)
1872 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1873 # if autoconf style options were used, $VAL can be "yes" or "no"
1874 [ "$VAL" = "yes" ] && VAL=qt
1875 # now $VAL should be "no", "qt", or "plugin"... double-check
1876 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1877 UNKNOWN_OPT=yes
1879 # now $VAL is "no", "qt", or "plugin"
1880 OPT="$VAL"
1881 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1882 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1884 # Grab the available values
1885 case "$VAR" in
1886 sql)
1887 avail="$CFG_SQL_AVAILABLE"
1889 gfx)
1890 avail="$CFG_GFX_AVAILABLE"
1891 if [ "$OPT" = "plugin" ]; then
1892 avail="$CFG_GFX_PLUGIN_AVAILABLE"
1895 decoration)
1896 avail="$CFG_DECORATION_AVAILABLE"
1897 if [ "$OPT" = "plugin" ]; then
1898 avail="$CFG_DECORATION_PLUGIN_AVAILABLE"
1901 kbd)
1902 avail="$CFG_KBD_AVAILABLE"
1903 if [ "$OPT" = "plugin" ]; then
1904 avail="$CFG_KBD_PLUGIN_AVAILABLE"
1907 mouse)
1908 avail="$CFG_MOUSE_AVAILABLE"
1909 if [ "$OPT" = "plugin" ]; then
1910 avail="$CFG_MOUSE_PLUGIN_AVAILABLE"
1914 avail=""
1915 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1917 esac
1919 # Check that that user's value is available.
1920 found=no
1921 for d in $avail; do
1922 if [ "$VAL" = "$d" ]; then
1923 found=yes
1924 break
1926 done
1927 [ "$found" = yes ] || ERROR=yes
1929 if [ "$VAR" = "sql" ]; then
1930 # set the CFG_SQL_driver
1931 eval "CFG_SQL_$VAL=\$OPT"
1932 continue
1935 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
1936 if [ "$OPT" = "plugin" ]; then
1937 [ "$VAR" = "decoration" ] && QMakeVar del "${VAR}s" "$VAL"
1938 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"` && CFG_DECORATION_PLUGIN="$CFG_DECORATION_PLUGIN ${VAL}"
1939 [ "$VAR" = "kbd" ] && QMakeVar del "${VAR}s" "$VAL"
1940 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_KBD_PLUGIN="$CFG_KBD_PLUGIN ${VAL}"
1941 [ "$VAR" = "mouse" ] && QMakeVar del "${VAR}s" "$VAL"
1942 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_MOUSE_PLUGIN="$CFG_MOUSE_PLUGIN ${VAL}"
1943 [ "$VAR" = "gfx" ] && QMakeVar del "${VAR}s" "$VAL"
1944 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"` && CFG_GFX_PLUGIN="${CFG_GFX_PLUGIN} ${VAL}"
1945 VAR="${VAR}-${OPT}"
1946 else
1947 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "decoration" ] || [ "$VAR" = "mouse" ]; then
1948 [ "$VAR" = "gfx" ] && CFG_GFX_ON="$CFG_GFX_ON $VAL"
1949 [ "$VAR" = "kbd" ] && CFG_KBD_ON="$CFG_KBD_ON $VAL"
1950 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON="$CFG_DECORATION_ON $VAL"
1951 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON="$CFG_MOUSE_ON $VAL"
1952 VAR="${VAR}-driver"
1955 QMakeVar add "${VAR}s" "${VAL}"
1956 elif [ "$OPT" = "no" ]; then
1957 PLUG_VAR="${VAR}-plugin"
1958 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "mouse" ]; then
1959 IN_VAR="${VAR}-driver"
1960 else
1961 IN_VAR="${VAR}"
1963 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"`
1964 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"`
1965 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"`
1966 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"`
1967 QMakeVar del "${IN_VAR}s" "$VAL"
1968 QMakeVar del "${PLUG_VAR}s" "$VAL"
1970 if [ "$ERROR" = "yes" ]; then
1971 echo "$CURRENT_OPT: unknown argument"
1972 OPT_HELP=yes
1975 v|verbose)
1976 if [ "$VAL" = "yes" ]; then
1977 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
1978 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
1979 else
1980 OPT_VERBOSE=yes
1982 elif [ "$VAL" = "no" ]; then
1983 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
1984 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
1985 else
1986 OPT_VERBOSE=no
1988 else
1989 UNKNOWN_OPT=yes
1992 fast)
1993 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1994 OPT_FAST="$VAL"
1995 else
1996 UNKNOWN_OPT=yes
1999 rpath)
2000 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2001 CFG_RPATH="$VAL"
2002 else
2003 UNKNOWN_OPT=yes
2006 add_define)
2007 D_FLAGS="$D_FLAGS \"$VAL\""
2009 add_ipath)
2010 I_FLAGS="$I_FLAGS -I\"${VAL}\""
2012 add_lpath)
2013 L_FLAGS="$L_FLAGS -L\"${VAL}\""
2015 add_rpath)
2016 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
2018 add_link)
2019 l_FLAGS="$l_FLAGS -l\"${VAL}\""
2021 add_fpath)
2022 if [ "$PLATFORM_MAC" = "yes" ]; then
2023 L_FLAGS="$L_FLAGS -F\"${VAL}\""
2024 I_FLAGS="$I_FLAGS -F\"${VAL}\""
2025 else
2026 UNKNOWN_OPT=yes
2029 add_framework)
2030 if [ "$PLATFORM_MAC" = "yes" ]; then
2031 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
2032 else
2033 UNKNOWN_OPT=yes
2036 silent)
2037 CFG_SILENT="$VAL"
2039 phonon)
2040 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2041 CFG_PHONON="$VAL"
2042 else
2043 UNKNOWN_OPT=yes
2046 phonon-backend)
2047 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2048 CFG_PHONON_BACKEND="$VAL"
2049 else
2050 UNKNOWN_OPT=yes
2053 multimedia)
2054 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2055 CFG_MULTIMEDIA="$VAL"
2056 else
2057 UNKNOWN_OPT=yes
2061 UNKNOWN_OPT=yes
2063 esac
2064 if [ "$UNKNOWN_OPT" = "yes" ]; then
2065 echo "${CURRENT_OPT}: invalid command-line switch"
2066 OPT_HELP=yes
2067 ERROR=yes
2069 done
2071 if [ "$CFG_QCONFIG" != "full" ] && [ "$CFG_QT3SUPPORT" = "yes" ]; then
2072 echo "Warning: '-qconfig $CFG_QCONFIG' will disable the qt3support library."
2073 CFG_QT3SUPPORT="no"
2076 # update QT_CONFIG to show our current predefined configuration
2077 case "$CFG_QCONFIG" in
2078 minimal|small|medium|large|full)
2079 # these are a sequence of increasing functionality
2080 for c in minimal small medium large full; do
2081 QT_CONFIG="$QT_CONFIG $c-config"
2082 [ "$CFG_QCONFIG" = $c ] && break
2083 done
2086 # not known to be sufficient for anything
2087 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ]; then
2088 echo >&2 "Error: configuration file not found:"
2089 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2090 OPT_HELP=yes
2092 esac
2094 #-------------------------------------------------------------------------------
2095 # build tree initialization
2096 #-------------------------------------------------------------------------------
2098 # where to find which..
2099 unixtests="$relpath/config.tests/unix"
2100 mactests="$relpath/config.tests/mac"
2101 WHICH="$unixtests/which.test"
2103 PERL=`$WHICH perl 2>/dev/null`
2105 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2106 AWK=
2107 for e in gawk nawk awk; do
2108 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2109 AWK=$e
2110 break
2112 done
2114 # find perl
2115 PERL="/usr/bin/perl"
2116 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2117 PERL=`$WHICH perl`
2120 ### skip this if the user just needs help...
2121 if [ "$OPT_HELP" != "yes" ]; then
2123 # is this a shadow build?
2124 if [ "$OPT_SHADOW" = "maybe" ]; then
2125 OPT_SHADOW=no
2126 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2127 if [ -h "$outpath" ]; then
2128 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2129 else
2130 OPT_SHADOW=yes
2134 if [ "$OPT_SHADOW" = "yes" ]; then
2135 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" ]; then
2136 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2137 echo >&2 "Cannot proceed."
2138 exit 1
2140 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2143 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2144 echo
2145 echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
2146 echo "By default, Qt is built in release mode with separate debug information, so"
2147 echo "-debug-and-release is not necessary anymore"
2148 echo
2151 # detect build style
2152 if [ "$CFG_DEBUG" = "auto" ]; then
2153 if [ "$PLATFORM_MAC" = "yes" ]; then
2154 CFG_DEBUG_RELEASE=yes
2155 CFG_DEBUG=yes
2156 elif [ "$CFG_DEV" = "yes" ]; then
2157 CFG_DEBUG_RELEASE=no
2158 CFG_DEBUG=yes
2159 else
2160 CFG_DEBUG_RELEASE=no
2161 CFG_DEBUG=no
2164 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2165 QMAKE_CONFIG="$QMAKE_CONFIG build_all"
2168 if [ "$CFG_SILENT" = "yes" ]; then
2169 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2172 # if the source tree is different from the build tree,
2173 # symlink or copy part of the sources
2174 if [ "$OPT_SHADOW" = "yes" ]; then
2175 echo "Preparing build tree..."
2177 if [ -z "$PERL" ]; then
2178 echo
2179 echo "You need perl in your PATH to make a shadow build."
2180 echo "Cannot proceed."
2181 exit 1
2184 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2186 # symlink the qmake directory
2187 find "$relpath/qmake" | while read a; do
2188 my_a=`echo "$a" | sed "s,^${relpath}/,${outpath}/,"`
2189 if [ '!' -f "$my_a" ]; then
2190 if [ -d "$a" ]; then
2191 # directories are created...
2192 mkdir -p "$my_a"
2193 else
2194 a_dir=`dirname "$my_a"`
2195 [ -d "$a_dir" ] || mkdir -p "$a_dir"
2196 # ... and files are symlinked
2197 case `basename "$a"` in
2198 *.o|*.d|GNUmakefile*|qmake)
2201 rm -f "$my_a"
2202 ln -s "$a" "$my_a"
2204 esac
2207 done
2209 # make a syncqt script that can be used in the shadow
2210 rm -f "$outpath/bin/syncqt"
2211 if [ -x "$relpath/bin/syncqt" ]; then
2212 mkdir -p "$outpath/bin"
2213 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2214 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/syncqt"
2215 echo "perl \"$relpath/bin/syncqt\" -outdir \"$outpath\" $*" >>"$outpath/bin/syncqt"
2216 chmod 755 "$outpath/bin/syncqt"
2219 # symlink the mkspecs directory
2220 mkdir -p "$outpath/mkspecs"
2221 rm -f "$outpath"/mkspecs/*
2222 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2223 rm -f "$outpath/mkspecs/default"
2225 # symlink the doc directory
2226 rm -rf "$outpath/doc"
2227 ln -s "$relpath/doc" "$outpath/doc"
2229 # make sure q3porting.xml can be found
2230 mkdir -p "$outpath/tools/porting/src"
2231 rm -f "$outpath/tools/porting/src/q3porting.xml"
2232 ln -s "$relpath/tools/porting/src/q3porting.xml" "$outpath/tools/porting/src"
2235 # symlink files from src/gui/embedded neccessary to build qvfb
2236 if [ "$CFG_DEV" = "yes" ]; then
2237 mkdir -p "$outpath/tools/qvfb"
2238 for f in qvfbhdr.h qlock_p.h qlock.cpp qwssignalhandler_p.h qwssignalhandler.cpp; do
2239 dest="${outpath}/tools/qvfb/${f}"
2240 rm -f "$dest"
2241 ln -s "${relpath}/src/gui/embedded/${f}" "${dest}"
2242 done
2245 # symlink fonts to be able to run application from build directory
2246 if [ "$PLATFORM_QWS" = "yes" ] && [ ! -e "${outpath}/lib/fonts" ]; then
2247 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2248 mkdir -p "${outpath}/lib"
2249 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2253 if [ "$OPT_FAST" = "auto" ]; then
2254 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2255 OPT_FAST=yes
2256 else
2257 OPT_FAST=no
2261 # find a make command
2262 if [ -z "$MAKE" ]; then
2263 MAKE=
2264 for mk in gmake make; do
2265 if "$WHICH" $mk >/dev/null 2>&1; then
2266 MAKE=`"$WHICH" $mk`
2267 break
2269 done
2270 if [ -z "$MAKE" ]; then
2271 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2272 echo >&2 "Cannot proceed."
2273 exit 1
2275 # export MAKE, we need it later in the config.tests
2276 export MAKE
2279 fi ### help
2281 #-------------------------------------------------------------------------------
2282 # auto-detect all that hasn't been specified in the arguments
2283 #-------------------------------------------------------------------------------
2285 [ "$PLATFORM_QWS" = "yes" -a "$CFG_EMBEDDED" = "no" ] && CFG_EMBEDDED=auto
2286 if [ "$CFG_EMBEDDED" != "no" ]; then
2287 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2288 Darwin:*)
2289 [ -z "$PLATFORM" ] && PLATFORM=qws/macx-generic-g++
2290 if [ -z "$XPLATFORM" ]; then
2291 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2292 XPLATFORM="qws/macx-$CFG_EMBEDDED-g++"
2295 FreeBSD:*)
2296 [ -z "$PLATFORM" ] && PLATFORM=qws/freebsd-generic-g++
2297 if [ -z "$XPLATFORM" ]; then
2298 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2299 XPLATFORM="qws/freebsd-$CFG_EMBEDDED-g++"
2302 SunOS:5*)
2303 [ -z "$PLATFORM" ] && PLATFORM=qws/solaris-generic-g++
2304 if [ -z "$XPLATFORM" ]; then
2305 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2306 XPLATFORM="qws/solaris-$CFG_EMBEDDED-g++"
2309 Linux:*)
2310 if [ -z "$PLATFORM" ]; then
2311 case "$UNAME_MACHINE" in
2312 *86)
2313 PLATFORM=qws/linux-x86-g++
2315 *86_64)
2316 PLATFORM=qws/linux-x86_64-g++
2318 *ppc)
2319 PLATFORM=qws/linux-ppc-g++
2322 PLATFORM=qws/linux-generic-g++
2324 esac
2326 if [ -z "$XPLATFORM" ]; then
2327 if [ "$CFG_EMBEDDED" = "auto" ]; then
2328 if [ -n "$CFG_ARCH" ]; then
2329 CFG_EMBEDDED=$CFG_ARCH
2330 else
2331 case "$UNAME_MACHINE" in
2332 *86)
2333 CFG_EMBEDDED=x86
2335 *86_64)
2336 CFG_EMBEDDED=x86_64
2338 *ppc)
2339 CFG_EMBEDDED=ppc
2342 CFG_EMBEDDED=generic
2344 esac
2347 XPLATFORM="qws/linux-$CFG_EMBEDDED-g++"
2350 QNX:*)
2351 [ -z "$PLATFORM" ] && PLATFORM=unsupported/qws/qnx-generic-g++
2352 if [ -z "$XPLATFORM" ]; then
2353 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2354 XPLATFORM="unsupported/qws/qnx-$CFG_EMBEDDED-g++"
2357 CYGWIN*:*)
2358 CFG_EMBEDDED=x86
2361 echo "Qt for Embedded Linux is not supported on this platform. Disabling."
2362 CFG_EMBEDDED=no
2363 PLATFORM_QWS=no
2365 esac
2367 if [ -z "$PLATFORM" ]; then
2368 PLATFORM_NOTES=
2369 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2370 Darwin:*)
2371 if [ "$PLATFORM_MAC" = "yes" ]; then
2372 PLATFORM=macx-g++
2373 # PLATFORM=macx-xcode
2374 else
2375 PLATFORM=darwin-g++
2378 AIX:*)
2379 #PLATFORM=aix-g++
2380 #PLATFORM=aix-g++-64
2381 PLATFORM=aix-xlc
2382 #PLATFORM=aix-xlc-64
2383 PLATFORM_NOTES="
2384 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2387 GNU:*)
2388 PLATFORM=hurd-g++
2390 dgux:*)
2391 PLATFORM=dgux-g++
2393 # DYNIX/ptx:4*)
2394 # PLATFORM=dynix-g++
2395 # ;;
2396 ULTRIX:*)
2397 PLATFORM=ultrix-g++
2399 FreeBSD:*)
2400 PLATFORM=freebsd-g++
2401 PLATFORM_NOTES="
2402 - Also available for FreeBSD: freebsd-icc
2405 OpenBSD:*)
2406 PLATFORM=openbsd-g++
2408 NetBSD:*)
2409 PLATFORM=netbsd-g++
2411 BSD/OS:*|BSD/386:*)
2412 PLATFORM=bsdi-g++
2414 IRIX*:*)
2415 #PLATFORM=irix-g++
2416 PLATFORM=irix-cc
2417 #PLATFORM=irix-cc-64
2418 PLATFORM_NOTES="
2419 - Also available for IRIX: irix-g++ irix-cc-64
2422 HP-UX:*)
2423 case "$UNAME_MACHINE" in
2424 ia64)
2425 #PLATFORM=hpuxi-acc-32
2426 PLATFORM=hpuxi-acc-64
2427 PLATFORM_NOTES="
2428 - Also available for HP-UXi: hpuxi-acc-32
2432 #PLATFORM=hpux-g++
2433 PLATFORM=hpux-acc
2434 #PLATFORM=hpux-acc-64
2435 #PLATFORM=hpux-cc
2436 #PLATFORM=hpux-acc-o64
2437 PLATFORM_NOTES="
2438 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2441 esac
2443 OSF1:*)
2444 #PLATFORM=tru64-g++
2445 PLATFORM=tru64-cxx
2446 PLATFORM_NOTES="
2447 - Also available for Tru64: tru64-g++
2450 Linux:*)
2451 case "$UNAME_MACHINE" in
2452 x86_64|s390x|ppc64)
2453 PLATFORM=linux-g++-64
2456 PLATFORM=linux-g++
2458 esac
2459 PLATFORM_NOTES="
2460 - Also available for Linux: linux-kcc linux-icc linux-cxx
2463 SunOS:5*)
2464 #PLATFORM=solaris-g++
2465 PLATFORM=solaris-cc
2466 #PLATFORM=solaris-cc64
2467 PLATFORM_NOTES="
2468 - Also available for Solaris: solaris-g++ solaris-cc-64
2471 ReliantUNIX-*:*|SINIX-*:*)
2472 PLATFORM=reliant-cds
2473 #PLATFORM=reliant-cds-64
2474 PLATFORM_NOTES="
2475 - Also available for Reliant UNIX: reliant-cds-64
2478 CYGWIN*:*)
2479 PLATFORM=cygwin-g++
2481 LynxOS*:*)
2482 PLATFORM=lynxos-g++
2484 OpenUNIX:*)
2485 #PLATFORM=unixware-g++
2486 PLATFORM=unixware-cc
2487 PLATFORM_NOTES="
2488 - Also available for OpenUNIX: unixware-g++
2491 UnixWare:*)
2492 #PLATFORM=unixware-g++
2493 PLATFORM=unixware-cc
2494 PLATFORM_NOTES="
2495 - Also available for UnixWare: unixware-g++
2498 SCO_SV:*)
2499 #PLATFORM=sco-g++
2500 PLATFORM=sco-cc
2501 PLATFORM_NOTES="
2502 - Also available for SCO OpenServer: sco-g++
2505 UNIX_SV:*)
2506 PLATFORM=unixware-g++
2508 QNX:*)
2509 PLATFORM=unsupported/qnx-g++
2512 if [ "$OPT_HELP" != "yes" ]; then
2513 echo
2514 for p in $PLATFORMS; do
2515 echo " $relconf $* -platform $p"
2516 done
2517 echo >&2
2518 echo " The build script does not currently recognize all" >&2
2519 echo " platforms supported by Qt." >&2
2520 echo " Rerun this script with a -platform option listed to" >&2
2521 echo " set the system/compiler combination you use." >&2
2522 echo >&2
2523 exit 2
2525 esac
2528 if [ "$PLATFORM_QWS" = "yes" ]; then
2529 CFG_SM=no
2530 PLATFORMS=`find "$relpath/mkspecs/qws" | sed "s,$relpath/mkspecs/qws/,,"`
2531 else
2532 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2535 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2536 if [ -d "$PLATFORM" ]; then
2537 QMAKESPEC="$PLATFORM"
2538 else
2539 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2541 if [ -d "$XPLATFORM" ]; then
2542 XQMAKESPEC="$XPLATFORM"
2543 else
2544 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2546 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2547 QT_CROSS_COMPILE=yes
2548 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2551 if [ "$PLATFORM_MAC" = "yes" ]; then
2552 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2553 echo >&2
2554 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2555 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2556 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2557 echo " built with 'macx-g++'" >&2
2558 echo >&2
2559 exit 2
2563 # check specified platforms are supported
2564 if [ '!' -d "$QMAKESPEC" ]; then
2565 echo
2566 echo " The specified system/compiler is not supported:"
2567 echo
2568 echo " $QMAKESPEC"
2569 echo
2570 echo " Please see the README file for a complete list."
2571 echo
2572 exit 2
2574 if [ '!' -d "$XQMAKESPEC" ]; then
2575 echo
2576 echo " The specified system/compiler is not supported:"
2577 echo
2578 echo " $XQMAKESPEC"
2579 echo
2580 echo " Please see the README file for a complete list."
2581 echo
2582 exit 2
2584 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2585 echo
2586 echo " The specified system/compiler port is not complete:"
2587 echo
2588 echo " $XQMAKESPEC/qplatformdefs.h"
2589 echo
2590 echo " Please contact qt-bugs@trolltech.com."
2591 echo
2592 exit 2
2595 # now look at the configs and figure out what platform we are config'd for
2596 [ "$CFG_EMBEDDED" = "no" ] \
2597 && [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ] \
2598 && PLATFORM_X11=yes
2599 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2601 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2602 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2603 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2604 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2605 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2609 #-------------------------------------------------------------------------------
2610 # determine the system architecture
2611 #-------------------------------------------------------------------------------
2612 if [ "$OPT_VERBOSE" = "yes" ]; then
2613 echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
2616 if [ "$CFG_EMBEDDED" != "no" -a "$CFG_EMBEDDED" != "auto" ] && [ -n "$CFG_ARCH" ]; then
2617 if [ "$CFG_ARCH" != "$CFG_EMBEDDED" ]; then
2618 echo ""
2619 echo "You have specified a target architecture with -embedded and -arch."
2620 echo "The two architectures you have specified are different, so we can"
2621 echo "not proceed. Either set both to be the same, or only use -embedded."
2622 echo ""
2623 exit 1
2627 if [ -z "${CFG_HOST_ARCH}" ]; then
2628 case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
2629 IRIX*:*:*)
2630 CFG_HOST_ARCH=`uname -p`
2631 if [ "$OPT_VERBOSE" = "yes" ]; then
2632 echo " SGI ($CFG_HOST_ARCH)"
2635 SunOS:5*:*)
2636 case "$UNAME_MACHINE" in
2637 sun4u*|sun4v*)
2638 if [ "$OPT_VERBOSE" = "yes" ]; then
2639 echo " Sun SPARC (sparc)"
2641 CFG_HOST_ARCH=sparc
2643 i86pc)
2644 case "$PLATFORM" in
2645 *-64)
2646 if [ "$OPT_VERBOSE" = "yes" ]; then
2647 echo " 64-bit AMD 80x86 (x86_64)"
2649 CFG_HOST_ARCH=x86_64
2652 if [ "$OPT_VERBOSE" = "yes" ]; then
2653 echo " 32-bit Intel 80x86 (i386)"
2655 CFG_HOST_ARCH=i386
2657 esac
2658 esac
2660 Darwin:*:*)
2661 case "$UNAME_MACHINE" in
2662 Power?Macintosh)
2663 if [ "$OPT_VERBOSE" = "yes" ]; then
2664 echo " 32-bit Apple PowerPC (powerpc)"
2667 x86)
2668 if [ "$OPT_VERBOSE" = "yes" ]; then
2669 echo " 32-bit Intel 80x86 (i386)"
2672 esac
2673 CFG_HOST_ARCH=macosx
2675 AIX:*:00????????00)
2676 if [ "$OPT_VERBOSE" = "yes" ]; then
2677 echo " 64-bit IBM PowerPC (powerpc)"
2679 CFG_HOST_ARCH=powerpc
2681 HP-UX:*:9000*)
2682 if [ "$OPT_VERBOSE" = "yes" ]; then
2683 echo " HP PA-RISC (parisc)"
2685 CFG_HOST_ARCH=parisc
2687 *:*:i?86)
2688 if [ "$OPT_VERBOSE" = "yes" ]; then
2689 echo " 32-bit Intel 80x86 (i386)"
2691 CFG_HOST_ARCH=i386
2693 *:*:x86_64|*:*:amd64)
2694 if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
2695 if [ "$OPT_VERBOSE" = "yes" ]; then
2696 echo " 32 bit on 64-bit AMD 80x86 (i386)"
2698 CFG_HOST_ARCH=i386
2699 else
2700 if [ "$OPT_VERBOSE" = "yes" ]; then
2701 echo " 64-bit AMD 80x86 (x86_64)"
2703 CFG_HOST_ARCH=x86_64
2706 *:*:ppc)
2707 if [ "$OPT_VERBOSE" = "yes" ]; then
2708 echo " 32-bit PowerPC (powerpc)"
2710 CFG_HOST_ARCH=powerpc
2712 *:*:ppc64)
2713 if [ "$OPT_VERBOSE" = "yes" ]; then
2714 echo " 64-bit PowerPC (powerpc)"
2716 CFG_HOST_ARCH=powerpc
2718 *:*:s390*)
2719 if [ "$OPT_VERBOSE" = "yes" ]; then
2720 echo " IBM S/390 (s390)"
2722 CFG_HOST_ARCH=s390
2724 *:*:arm*)
2725 if [ "$OPT_VERBOSE" = "yes" ]; then
2726 echo " ARM (arm)"
2728 CFG_HOST_ARCH=arm
2730 Linux:*:sparc*)
2731 if [ "$OPT_VERBOSE" = "yes" ]; then
2732 echo " Linux on SPARC"
2734 CFG_HOST_ARCH=sparc
2736 QNX:*:*)
2737 case "$UNAME_MACHINE" in
2738 x86pc)
2739 if [ "$OPT_VERBOSE" = "yes" ]; then
2740 echo " QNX on Intel 80x86 (i386)"
2742 CFG_HOST_ARCH=i386
2744 esac
2746 *:*:*)
2747 if [ "$OPT_VERBOSE" = "yes" ]; then
2748 echo " Trying '$UNAME_MACHINE'..."
2750 CFG_HOST_ARCH="$UNAME_MACHINE"
2752 esac
2755 if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
2756 if [ -n "$CFG_ARCH" ]; then
2757 CFG_EMBEDDED=$CFG_ARCH
2760 case "$CFG_EMBEDDED" in
2761 x86)
2762 CFG_ARCH=i386
2764 x86_64)
2765 CFG_ARCH=x86_64
2767 ipaq|sharp)
2768 CFG_ARCH=arm
2770 dm7000)
2771 CFG_ARCH=powerpc
2773 dm800)
2774 CFG_ARCH=mips
2776 sh4al)
2777 CFG_ARCH=sh4a
2780 CFG_ARCH="$CFG_EMBEDDED"
2782 esac
2783 elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
2784 CFG_ARCH=$CFG_HOST_ARCH
2787 if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
2788 if [ "$OPT_VERBOSE" = "yes" ]; then
2789 echo " '$CFG_ARCH' is supported"
2791 else
2792 if [ "$OPT_VERBOSE" = "yes" ]; then
2793 echo " '$CFG_ARCH' is unsupported, using 'generic'"
2795 CFG_ARCH=generic
2797 if [ "$CFG_HOST_ARCH" != "$CFG_ARCH" ]; then
2798 if [ -d "$relpath/src/corelib/arch/$CFG_HOST_ARCH" ]; then
2799 if [ "$OPT_VERBOSE" = "yes" ]; then
2800 echo " '$CFG_HOST_ARCH' is supported"
2802 else
2803 if [ "$OPT_VERBOSE" = "yes" ]; then
2804 echo " '$CFG_HOST_ARCH' is unsupported, using 'generic'"
2806 CFG_HOST_ARCH=generic
2810 if [ "$OPT_VERBOSE" = "yes" ]; then
2811 echo "System architecture: '$CFG_ARCH'"
2812 if [ "$PLATFORM_QWS" = "yes" ]; then
2813 echo "Host architecture: '$CFG_HOST_ARCH'"
2817 #-------------------------------------------------------------------------------
2818 # tests that don't need qmake (must be run before displaying help)
2819 #-------------------------------------------------------------------------------
2821 if [ -z "$PKG_CONFIG" ]; then
2822 # See if PKG_CONFIG is set in the mkspec:
2823 PKG_CONFIG=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%PKG_CONFIG[^_].*=%%p' | tr '\n' ' '`
2825 if [ -z "$PKG_CONFIG" ]; then
2826 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
2829 # Work out if we can use pkg-config
2830 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
2831 if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
2832 echo >&2 ""
2833 echo >&2 "You have asked to use pkg-config and are cross-compiling."
2834 echo >&2 "Please make sure you have a correctly set-up pkg-config"
2835 echo >&2 "environment!"
2836 echo >&2 ""
2837 if [ -z "$PKG_CONFIG_PATH" ]; then
2838 echo >&2 ""
2839 echo >&2 "Warning: PKG_CONFIG_PATH has not been set. This could mean"
2840 echo >&2 "the host compiler's .pc files will be used. This is probably"
2841 echo >&2 "not what you want."
2842 echo >&2 ""
2843 elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
2844 echo >&2 ""
2845 echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
2846 echo >&2 "been set. This means your toolchain's .pc files must contain"
2847 echo >&2 "the paths to the toolchain's libraries & headers. If configure"
2848 echo >&2 "tests are failing, please check these files."
2849 echo >&2 ""
2851 else
2852 PKG_CONFIG=""
2856 # process CFG_MAC_ARCHS
2857 if [ "$PLATFORM_MAC" = "yes" ]; then
2858 # check -arch arguments for validity.
2859 ALLOWED="x86 ppc x86_64 ppc64 i386"
2860 # Save the list so we can re-write it using only valid values
2861 CFG_MAC_ARCHS_IN="$CFG_MAC_ARCHS"
2862 CFG_MAC_ARCHS=
2863 for i in $CFG_MAC_ARCHS_IN
2865 if echo "$ALLOWED" | grep -w -v "$i" > /dev/null 2>&1; then
2866 echo "Unknown architecture: \"$i\". Supported architectures: x86[i386] ppc x86_64 ppc64";
2867 exit 2;
2869 if [ "$i" = "i386" -o "$i" = "x86" ]; then
2870 # These are synonymous values
2871 # CFG_MAC_ARCHS requires x86 while GCC requires i386
2872 CFG_MAC_ARCHS="$CFG_MAC_ARCHS x86"
2873 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -arch i386"
2874 else
2875 CFG_MAC_ARCHS="$CFG_MAC_ARCHS $i"
2876 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -arch $i"
2878 done
2881 # pass on $CFG_SDK to the configure tests.
2882 if [ '!' -z "$CFG_SDK" ]; then
2883 MAC_CONFIG_TEST_COMMANDLINE="-sdk $CFG_SDK"
2884 echo "tests command line: $MAC_CONFIG_TEST_COMMANDLINE"
2887 # find the default framework value
2888 if [ "$PLATFORM_MAC" = "yes" ] && [ "$PLATFORM" != "macx-xlc" ]; then
2889 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2890 CFG_FRAMEWORK="$CFG_SHARED"
2891 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2892 echo
2893 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2894 echo
2895 CFG_FRAMEWORK="no"
2897 else
2898 CFG_FRAMEWORK=no
2901 QMAKE_CONF_COMPILER=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | tail -1`
2902 TEST_COMPILER="$CC"
2903 [ -z "$TEST_COMPILER" ] && TEST_COMPILER=$QMAKE_CONF_COMPILER
2905 # auto-detect precompiled header support
2906 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2907 if [ `echo "$CFG_MAC_ARCHS" | wc -w` -gt 1 ]; then
2908 CFG_PRECOMPILE=no
2909 elif "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2910 CFG_PRECOMPILE=no
2911 else
2912 CFG_PRECOMPILE=yes
2914 elif [ "$CFG_PRECOMPILE" = "yes" ] && [ `echo "$CFG_MAC_ARCHS" | wc -w` -gt 1 ]; then
2915 echo
2916 echo "WARNING: Using universal binaries disables precompiled headers."
2917 echo
2918 CFG_PRECOMPILE=no
2921 #auto-detect DWARF2 on the mac
2922 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" == "auto" ]; then
2923 if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
2924 CFG_MAC_DWARF2=no
2925 else
2926 CFG_MAC_DWARF2=yes
2930 # auto-detect support for -Xarch on the mac
2931 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_XARCH" == "auto" ]; then
2932 if "$mactests/xarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
2933 CFG_MAC_XARCH=no
2934 else
2935 CFG_MAC_XARCH=yes
2939 # don't autodetect support for separate debug info on objcopy when
2940 # cross-compiling as lots of toolchains seems to have problems with this
2941 if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
2942 CFG_SEPARATE_DEBUG_INFO="no"
2945 # auto-detect support for separate debug info in objcopy
2946 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
2947 TEST_COMPILER_CFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CFLAGS[^_].*=%%p' | tr '\n' ' '`
2948 TEST_COMPILER_CXXFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CXXFLAGS[^_].*=%%p' | tr '\n' ' '`
2949 TEST_OBJCOPY=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_OBJCOPY" | sed "s%.* *= *\(.*\)$%\1%" | tail -1`
2950 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
2951 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
2952 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
2953 CFG_SEPARATE_DEBUG_INFO=no
2954 else
2955 case "$PLATFORM" in
2956 hpux-*)
2957 # binutils on HP-UX is buggy; default to no.
2958 CFG_SEPARATE_DEBUG_INFO=no
2961 CFG_SEPARATE_DEBUG_INFO=yes
2963 esac
2967 # auto-detect -fvisibility support
2968 if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then
2969 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2970 CFG_REDUCE_EXPORTS=no
2971 else
2972 CFG_REDUCE_EXPORTS=yes
2976 # detect the availability of the -Bsymbolic-functions linker optimization
2977 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
2978 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2979 CFG_REDUCE_RELOCATIONS=no
2980 else
2981 CFG_REDUCE_RELOCATIONS=yes
2985 # auto-detect GNU make support
2986 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
2987 CFG_USE_GNUMAKE=yes
2990 # If -opengl wasn't specified, don't try to auto-detect
2991 if [ "$PLATFORM_QWS" = "yes" ] && [ "$CFG_OPENGL" = "auto" ]; then
2992 CFG_OPENGL=no
2995 # mac
2996 if [ "$PLATFORM_MAC" = "yes" ]; then
2997 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
2998 CFG_OPENGL=desktop
3002 # find the default framework value
3003 if [ "$PLATFORM_MAC" = "yes" ] && [ "$PLATFORM" != "macx-xlc" ]; then
3004 if [ "$CFG_FRAMEWORK" = "auto" ]; then
3005 CFG_FRAMEWORK="$CFG_SHARED"
3006 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
3007 echo
3008 echo "WARNING: Using static linking will disable the use of Mac frameworks."
3009 echo
3010 CFG_FRAMEWORK="no"
3012 else
3013 CFG_FRAMEWORK=no
3016 # x11 tests are done after qmake is built
3019 #setup the build parts
3020 if [ -z "$CFG_BUILD_PARTS" ]; then
3021 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
3023 # don't build tools by default when cross-compiling
3024 if [ "$PLATFORM" != "$XPLATFORM" ]; then
3025 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
3028 for nobuild in $CFG_NOBUILD_PARTS; do
3029 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
3030 done
3031 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
3032 # echo
3033 # echo "WARNING: libs is a required part of the build."
3034 # echo
3035 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
3038 #-------------------------------------------------------------------------------
3039 # post process QT_INSTALL_* variables
3040 #-------------------------------------------------------------------------------
3042 #prefix
3043 if [ -z "$QT_INSTALL_PREFIX" ]; then
3044 if [ "$CFG_DEV" = "yes" ]; then
3045 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
3046 elif [ "$PLATFORM_QWS" = "yes" ]; then
3047 QT_INSTALL_PREFIX="/usr/local/Trolltech/QtEmbedded-${QT_VERSION}"
3048 if [ "$PLATFORM" != "$XPLATFORM" ]; then
3049 QT_INSTALL_PREFIX="${QT_INSTALL_PREFIX}-${CFG_ARCH}"
3051 else
3052 QT_INSTALL_PREFIX="/usr/local/Trolltech/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Trolltech/Qt-$QT_VERSION
3055 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
3057 #docs
3058 if [ -z "$QT_INSTALL_DOCS" ]; then #default
3059 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3060 if [ "$PLATFORM_MAC" = "yes" ]; then
3061 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
3064 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
3067 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
3069 #headers
3070 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
3071 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3072 if [ "$PLATFORM_MAC" = "yes" ]; then
3073 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3074 QT_INSTALL_HEADERS=
3078 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
3081 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
3083 #libs
3084 if [ -z "$QT_INSTALL_LIBS" ]; then #default
3085 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3086 if [ "$PLATFORM_MAC" = "yes" ]; then
3087 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3088 QT_INSTALL_LIBS="/Libraries/Frameworks"
3092 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
3094 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
3096 #bins
3097 if [ -z "$QT_INSTALL_BINS" ]; then #default
3098 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3099 if [ "$PLATFORM_MAC" = "yes" ]; then
3100 QT_INSTALL_BINS="/Developer/Applications/Qt"
3103 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
3106 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
3108 #plugins
3109 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
3110 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3111 if [ "$PLATFORM_MAC" = "yes" ]; then
3112 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
3115 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
3117 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
3119 #data
3120 if [ -z "$QT_INSTALL_DATA" ]; then #default
3121 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
3123 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
3125 #translations
3126 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
3127 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
3129 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
3131 #settings
3132 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
3133 if [ "$PLATFORM_MAC" = "yes" ]; then
3134 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
3135 else
3136 QT_INSTALL_SETTINGS=/etc/xdg
3139 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
3141 #examples
3142 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
3143 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3144 if [ "$PLATFORM_MAC" = "yes" ]; then
3145 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
3148 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
3150 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
3152 #demos
3153 if [ -z "$QT_INSTALL_DEMOS" ]; then #default
3154 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3155 if [ "$PLATFORM_MAC" = "yes" ]; then
3156 QT_INSTALL_DEMOS="/Developer/Examples/Qt/Demos"
3159 [ -z "$QT_INSTALL_DEMOS" ] && QT_INSTALL_DEMOS="$QT_INSTALL_PREFIX/demos"
3161 QT_INSTALL_DEMOS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DEMOS"`
3163 #-------------------------------------------------------------------------------
3164 # help - interactive parts of the script _after_ this section please
3165 #-------------------------------------------------------------------------------
3167 # next, emit a usage message if something failed.
3168 if [ "$OPT_HELP" = "yes" ]; then
3169 [ "x$ERROR" = "xyes" ] && echo
3170 if [ "$CFG_NIS" = "no" ]; then
3171 NSY=" "
3172 NSN="*"
3173 else
3174 NSY="*"
3175 NSN=" "
3177 if [ "$CFG_CUPS" = "no" ]; then
3178 CUY=" "
3179 CUN="*"
3180 else
3181 CUY="*"
3182 CUN=" "
3184 if [ "$CFG_ICONV" = "no" ]; then
3185 CIY=" "
3186 CIN="*"
3187 else
3188 CIY="*"
3189 CIN=" "
3191 if [ "$CFG_LARGEFILE" = "no" ]; then
3192 LFSY=" "
3193 LFSN="*"
3194 else
3195 LFSY="*"
3196 LFSN=" "
3198 if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then
3199 SHY="*"
3200 SHN=" "
3201 else
3202 SHY=" "
3203 SHN="*"
3205 if [ "$CFG_IPV6" = "auto" ]; then
3206 I6Y="*"
3207 I6N=" "
3209 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
3210 PHY=" "
3211 PHN="*"
3212 else
3213 PHY="*"
3214 PHN=" "
3217 cat <<EOF
3218 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
3219 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-datadir <dir>]
3220 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>]
3221 [-demosdir <dir>] [-buildkey <key>] [-release] [-debug]
3222 [-debug-and-release] [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
3223 [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
3224 [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
3225 [-plugin-sql-<driver>] [-system-sqlite] [-no-qt3support] [-qt3support]
3226 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
3227 [-qt-zlib] [-system-zlib] [-no-gif] [-qt-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff]
3228 [-no-libpng] [-qt-libpng] [-system-libpng] [-no-libmng] [-qt-libmng]
3229 [-system-libmng] [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
3230 [-no-make <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
3231 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
3232 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked]
3233 [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
3234 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] [-armfpa]
3235 [-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns] [-xmlpatterns]
3236 [-no-multimedia] [-multimedia] [-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend]
3237 [-no-openssl] [-openssl] [-openssl-linked]
3238 [-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit]
3239 [-no-script] [-script] [-no-scripttools] [-scripttools]
3241 [additional platform specific options (see below)]
3244 Installation options:
3246 These are optional, but you may specify install directories.
3248 -prefix <dir> ...... This will install everything relative to <dir>
3249 (default $QT_INSTALL_PREFIX)
3251 if [ "$PLATFORM_QWS" = "yes" ]; then
3252 cat <<EOF
3254 -hostprefix [dir] .. Tools and libraries needed when developing
3255 applications are installed in [dir]. If [dir] is
3256 not given, the current build directory will be used.
3259 cat <<EOF
3261 * -prefix-install .... Force a sandboxed "local" installation of
3262 Qt. This will install into
3263 $QT_INSTALL_PREFIX, if this option is
3264 disabled then some platforms will attempt a
3265 "system" install by placing default values to
3266 be placed in a system location other than
3267 PREFIX.
3269 You may use these to separate different parts of the install:
3271 -bindir <dir> ......... Executables will be installed to <dir>
3272 (default PREFIX/bin)
3273 -libdir <dir> ......... Libraries will be installed to <dir>
3274 (default PREFIX/lib)
3275 -docdir <dir> ......... Documentation will be installed to <dir>
3276 (default PREFIX/doc)
3277 -headerdir <dir> ...... Headers will be installed to <dir>
3278 (default PREFIX/include)
3279 -plugindir <dir> ...... Plugins will be installed to <dir>
3280 (default PREFIX/plugins)
3281 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
3282 (default PREFIX)
3283 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
3284 (default PREFIX/translations)
3285 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
3286 (default PREFIX/etc/settings)
3287 -examplesdir <dir> .... Examples will be installed to <dir>
3288 (default PREFIX/examples)
3289 -demosdir <dir> ....... Demos will be installed to <dir>
3290 (default PREFIX/demos)
3292 You may use these options to turn on strict plugin loading.
3294 -buildkey <key> .... Build the Qt library and plugins using the specified
3295 <key>. When the library loads plugins, it will only
3296 load those that have a matching key.
3298 Configure options:
3300 The defaults (*) are usually acceptable. A plus (+) denotes a default value
3301 that needs to be evaluated. If the evaluation succeeds, the feature is
3302 included. Here is a short explanation of each option:
3304 * -release ........... Compile and link Qt with debugging turned off.
3305 -debug ............. Compile and link Qt with debugging turned on.
3306 -debug-and-release . Compile and link two versions of Qt, with and without
3307 debugging turned on (Mac only).
3309 -developer-build.... Compile and link Qt with Qt developer options (including auto-tests exporting)
3311 -opensource......... Compile and link the Open-Source Edition of Qt.
3312 -commercial......... Compile and link the Commercial Edition of Qt.
3315 * -shared ............ Create and use shared Qt libraries.
3316 -static ............ Create and use static Qt libraries.
3318 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3319 project files.
3320 -fast .............. Configure Qt quickly by generating Makefiles only for
3321 library and subdirectory targets. All other Makefiles
3322 are created as wrappers, which will in turn run qmake.
3324 -no-largefile ...... Disables large file support.
3325 + -largefile ......... Enables Qt to access files larger than 4 GB.
3328 if [ "$PLATFORM_QWS" = "yes" ]; then
3329 EXCN="*"
3330 EXCY=" "
3331 else
3332 EXCN=" "
3333 EXCY="*"
3335 if [ "$CFG_DBUS" = "no" ]; then
3336 DBY=" "
3337 DBN="+"
3338 else
3339 DBY="+"
3340 DBN=" "
3343 cat << EOF
3344 $EXCN -no-exceptions ..... Disable exceptions on compilers that support it.
3345 $EXCY -exceptions ........ Enable exceptions on compilers that support it.
3347 -no-accessibility .. Do not compile Accessibility support.
3348 * -accessibility ..... Compile Accessibility support.
3350 $SHN -no-stl ............ Do not compile STL support.
3351 $SHY -stl ............... Compile STL support.
3353 -no-sql-<driver> ... Disable SQL <driver> entirely.
3354 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3355 none are turned on.
3356 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3357 at run time.
3359 Possible values for <driver>:
3360 [ $CFG_SQL_AVAILABLE ]
3362 -system-sqlite ..... Use sqlite from the operating system.
3364 -no-qt3support ..... Disables the Qt 3 support functionality.
3365 * -qt3support ........ Enables the Qt 3 support functionality.
3367 -no-xmlpatterns .... Do not build the QtXmlPatterns module.
3368 + -xmlpatterns ....... Build the QtXmlPatterns module.
3369 QtXmlPatterns is built if a decent C++ compiler
3370 is used and exceptions are enabled.
3372 -no-multimedia ..... Do not build the QtMultimedia module.
3373 + -multimedia ........ Build the QtMultimedia module.
3375 -no-phonon ......... Do not build the Phonon module.
3376 + -phonon ............ Build the Phonon module.
3377 Phonon is built if a decent C++ compiler is used.
3378 -no-phonon-backend.. Do not build the platform phonon plugin.
3379 + -phonon-backend..... Build the platform phonon plugin.
3381 -no-svg ............ Do not build the SVG module.
3382 + -svg ............... Build the SVG module.
3384 -no-webkit ......... Do not build the WebKit module.
3385 + -webkit ............ Build the WebKit module.
3386 WebKit is built if a decent C++ compiler is used.
3388 -no-script ......... Do not build the QtScript module.
3389 + -script ............ Build the QtScript module.
3391 -no-scripttools .... Do not build the QtScriptTools module.
3392 + -scripttools ....... Build the QtScriptTools module.
3394 -platform target ... The operating system and compiler you are building
3395 on ($PLATFORM).
3397 See the README file for a list of supported
3398 operating systems and compilers.
3400 if [ "${PLATFORM_QWS}" != "yes" ]; then
3401 cat << EOF
3402 -graphicssystem <sys> Sets an alternate graphics system. Available options are:
3403 raster - Software rasterizer
3404 opengl - Rendering via OpenGL, Experimental!
3407 cat << EOF
3409 -no-mmx ............ Do not compile with use of MMX instructions.
3410 -no-3dnow .......... Do not compile with use of 3DNOW instructions.
3411 -no-sse ............ Do not compile with use of SSE instructions.
3412 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3414 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3415 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3417 -D <string> ........ Add an explicit define to the preprocessor.
3418 -I <string> ........ Add an explicit include path.
3419 -L <string> ........ Add an explicit library path.
3421 -help, -h .......... Display this information.
3423 Third Party Libraries:
3425 -qt-zlib ........... Use the zlib bundled with Qt.
3426 + -system-zlib ....... Use zlib from the operating system.
3427 See http://www.gzip.org/zlib
3429 -no-gif ............ Do not compile the plugin for GIF reading support.
3430 * -qt-gif ............ Compile the plugin for GIF reading support.
3431 See also src/plugins/imageformats/gif/qgifhandler.h
3433 -no-libtiff ........ Do not compile the plugin for TIFF support.
3434 -qt-libtiff ........ Use the libtiff bundled with Qt.
3435 + -system-libtiff .... Use libtiff from the operating system.
3436 See http://www.libtiff.org
3438 -no-libpng ......... Do not compile in PNG support.
3439 -qt-libpng ......... Use the libpng bundled with Qt.
3440 + -system-libpng ..... Use libpng from the operating system.
3441 See http://www.libpng.org/pub/png
3443 -no-libmng ......... Do not compile the plugin for MNG support.
3444 -qt-libmng ......... Use the libmng bundled with Qt.
3445 + -system-libmng ..... Use libmng from the operating system.
3446 See http://www.libmng.com
3448 -no-libjpeg ........ Do not compile the plugin for JPEG support.
3449 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3450 + -system-libjpeg .... Use libjpeg from the operating system.
3451 See http://www.ijg.org
3453 -no-openssl ........ Do not compile support for OpenSSL.
3454 + -openssl ........... Enable run-time OpenSSL support.
3455 -openssl-linked .... Enabled linked OpenSSL support.
3457 -ptmalloc .......... Override the system memory allocator with ptmalloc.
3458 (Experimental.)
3460 Additional options:
3462 -make <part> ....... Add part to the list of parts to be built at make time.
3463 ($QT_DEFAULT_BUILD_PARTS)
3464 -nomake <part> ..... Exclude part from the list of parts to be built.
3466 -R <string> ........ Add an explicit runtime library path to the Qt
3467 libraries.
3468 -l <string> ........ Add an explicit library.
3470 -no-rpath .......... Do not use the library install path as a runtime
3471 library path.
3472 + -rpath ............. Link Qt libraries and executables using the library
3473 install path as a runtime library path. Equivalent
3474 to -R install_libpath
3476 -continue .......... Continue as far as possible if an error occurs.
3478 -verbose, -v ....... Print verbose information about each step of the
3479 configure process.
3481 -silent ............ Reduce the build output so that warnings and errors
3482 can be seen more easily.
3484 * -no-optimized-qmake ... Do not build qmake optimized.
3485 -optimized-qmake ...... Build qmake optimized.
3487 $NSN -no-nis ............ Do not compile NIS support.
3488 $NSY -nis ............... Compile NIS support.
3490 $CUN -no-cups ........... Do not compile CUPS support.
3491 $CUY -cups .............. Compile CUPS support.
3492 Requires cups/cups.h and libcups.so.2.
3494 $CIN -no-iconv .......... Do not compile support for iconv(3).
3495 $CIY -iconv ............. Compile support for iconv(3).
3497 $PHN -no-pch ............ Do not use precompiled header support.
3498 $PHY -pch ............... Use precompiled header support.
3500 $DBN -no-dbus ........... Do not compile the QtDBus module.
3501 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3502 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3504 -reduce-relocations ..... Reduce relocations in the libraries through extra
3505 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3506 experimental; needs GNU ld >= 2.18).
3509 if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3510 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3511 SBY=""
3512 SBN="*"
3513 else
3514 SBY="*"
3515 SBN=" "
3517 elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
3518 SBY="*"
3519 SBN=" "
3520 else
3521 SBY=" "
3522 SBN="*"
3525 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
3527 cat << EOF
3529 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3530 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3534 fi # X11/QWS
3536 if [ "$PLATFORM_X11" = "yes" ]; then
3537 if [ "$CFG_SM" = "no" ]; then
3538 SMY=" "
3539 SMN="*"
3540 else
3541 SMY="*"
3542 SMN=" "
3544 if [ "$CFG_XSHAPE" = "no" ]; then
3545 SHY=" "
3546 SHN="*"
3547 else
3548 SHY="*"
3549 SHN=" "
3551 if [ "$CFG_XINERAMA" = "no" ]; then
3552 XAY=" "
3553 XAN="*"
3554 else
3555 XAY="*"
3556 XAN=" "
3558 if [ "$CFG_FONTCONFIG" = "no" ]; then
3559 FCGY=" "
3560 FCGN="*"
3561 else
3562 FCGY="*"
3563 FCGN=" "
3565 if [ "$CFG_XCURSOR" = "no" ]; then
3566 XCY=" "
3567 XCN="*"
3568 else
3569 XCY="*"
3570 XCN=" "
3572 if [ "$CFG_XFIXES" = "no" ]; then
3573 XFY=" "
3574 XFN="*"
3575 else
3576 XFY="*"
3577 XFN=" "
3579 if [ "$CFG_XRANDR" = "no" ]; then
3580 XZY=" "
3581 XZN="*"
3582 else
3583 XZY="*"
3584 XZN=" "
3586 if [ "$CFG_XRENDER" = "no" ]; then
3587 XRY=" "
3588 XRN="*"
3589 else
3590 XRY="*"
3591 XRN=" "
3593 if [ "$CFG_MITSHM" = "no" ]; then
3594 XMY=" "
3595 XMN="*"
3596 else
3597 XMY="*"
3598 XMN=" "
3600 if [ "$CFG_XINPUT" = "no" ]; then
3601 XIY=" "
3602 XIN="*"
3603 else
3604 XIY="*"
3605 XIN=" "
3607 if [ "$CFG_XKB" = "no" ]; then
3608 XKY=" "
3609 XKN="*"
3610 else
3611 XKY="*"
3612 XKN=" "
3614 if [ "$CFG_IM" = "no" ]; then
3615 IMY=" "
3616 IMN="*"
3617 else
3618 IMY="*"
3619 IMN=" "
3621 cat << EOF
3623 Qt/X11 only:
3625 -no-gtkstyle ....... Do not build the GTK theme integration.
3626 + -gtkstyle .......... Build the GTK theme integration.
3628 * -no-nas-sound ...... Do not compile in NAS sound support.
3629 -system-nas-sound .. Use NAS libaudio from the operating system.
3630 See http://radscan.com/nas.html
3632 -no-opengl ......... Do not support OpenGL.
3633 + -opengl <api> ...... Enable OpenGL support.
3634 With no parameter, this will auto-detect the "best"
3635 OpenGL API to use. If desktop OpenGL is avaliable, it
3636 will be used. Use desktop, es1, es1cl or es2 for <api>
3637 to force the use of the Desktop (OpenGL 1.x or 2.x),
3638 OpenGL ES 1.x Common profile, 1.x Common Lite profile
3639 or 2.x APIs instead. On X11, the EGL API will be used
3640 to manage GL contexts in the case of OpenGL ES
3642 -no-openvg ........ Do not support OpenVG.
3643 + -openvg ........... Enable OpenVG support.
3644 Requires EGL support, typically supplied by an OpenGL
3645 or other graphics implementation.
3647 $SMN -no-sm ............. Do not support X Session Management.
3648 $SMY -sm ................ Support X Session Management, links in -lSM -lICE.
3650 $SHN -no-xshape ......... Do not compile XShape support.
3651 $SHY -xshape ............ Compile XShape support.
3652 Requires X11/extensions/shape.h.
3654 $SHN -no-xsync .......... Do not compile XSync support.
3655 $SHY -xsync ............. Compile XSync support.
3656 Requires X11/extensions/sync.h.
3658 $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
3659 $XAY -xinerama .......... Compile Xinerama support.
3660 Requires X11/extensions/Xinerama.h and libXinerama.
3661 By default, Xinerama support will be compiled if
3662 available and the shared libraries are dynamically
3663 loaded at runtime.
3665 $XCN -no-xcursor ........ Do not compile Xcursor support.
3666 $XCY -xcursor ........... Compile Xcursor support.
3667 Requires X11/Xcursor/Xcursor.h and libXcursor.
3668 By default, Xcursor support will be compiled if
3669 available and the shared libraries are dynamically
3670 loaded at runtime.
3672 $XFN -no-xfixes ......... Do not compile Xfixes support.
3673 $XFY -xfixes ............ Compile Xfixes support.
3674 Requires X11/extensions/Xfixes.h and libXfixes.
3675 By default, Xfixes support will be compiled if
3676 available and the shared libraries are dynamically
3677 loaded at runtime.
3679 $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
3680 $XZY -xrandr ............ Compile Xrandr support.
3681 Requires X11/extensions/Xrandr.h and libXrandr.
3683 $XRN -no-xrender ........ Do not compile Xrender support.
3684 $XRY -xrender ........... Compile Xrender support.
3685 Requires X11/extensions/Xrender.h and libXrender.
3687 $XMN -no-mitshm ......... Do not compile MIT-SHM support.
3688 $XMY -mitshm ............ Compile MIT-SHM support.
3689 Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
3691 $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
3692 $FCGY -fontconfig ........ Compile FontConfig support.
3693 Requires fontconfig/fontconfig.h, libfontconfig,
3694 freetype.h and libfreetype.
3696 $XIN -no-xinput.......... Do not compile Xinput support.
3697 $XIY -xinput ............ Compile Xinput support. This also enabled tablet support
3698 which requires IRIX with wacom.h and libXi or
3699 XFree86 with X11/extensions/XInput.h and libXi.
3701 $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
3702 $XKY -xkb ............... Compile XKB support.
3707 if [ "$PLATFORM_MAC" = "yes" ]; then
3708 cat << EOF
3710 Qt/Mac only:
3712 -Fstring ........... Add an explicit framework path.
3713 -fw string ......... Add an explicit framework.
3715 -cocoa ............. Build the Cocoa version of Qt. Note that -no-framework
3716 and -static is not supported with -cocoa. Specifying
3717 this option creates Qt binaries that requires Mac OS X
3718 10.5 or higher.
3720 * -framework ......... Build Qt as a series of frameworks and
3721 link tools against those frameworks.
3722 -no-framework ...... Do not build Qt as a series of frameworks.
3724 * -dwarf2 ............ Enable dwarf2 debugging symbols.
3725 -no-dwarf2 ......... Disable dwarf2 debugging symbols.
3727 -universal ......... Equivalent to -arch "ppc x86"
3729 -arch <arch> ....... Build Qt for <arch>
3730 Example values for <arch>: x86 ppc x86_64 ppc64
3731 Multiple -arch arguments can be specified, 64-bit archs
3732 will be built with the Cocoa framework.
3734 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3735 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3740 if [ "$PLATFORM_QWS" = "yes" ]; then
3741 cat << EOF
3743 Qt for Embedded Linux only:
3745 -xplatform target ... The target platform when cross-compiling.
3747 -no-feature-<feature> Do not compile in <feature>.
3748 -feature-<feature> .. Compile in <feature>. The available features
3749 are described in src/corelib/global/qfeatures.txt
3751 -embedded <arch> .... This will enable the embedded build, you must have a
3752 proper license for this switch to work.
3753 Example values for <arch>: arm mips x86 generic
3755 -armfpa ............. Target platform is uses the ARM-FPA floating point format.
3756 -no-armfpa .......... Target platform does not use the ARM-FPA floating point format.
3758 The floating point format is usually autodetected by configure. Use this
3759 to override the detected value.
3761 -little-endian ...... Target platform is little endian (LSB first).
3762 -big-endian ......... Target platform is big endian (MSB first).
3764 -host-little-endian . Host platform is little endian (LSB first).
3765 -host-big-endian .... Host platform is big endian (MSB first).
3767 You only need to specify the endianness when
3768 cross-compiling, otherwise the host
3769 endianness will be used.
3771 -no-freetype ........ Do not compile in Freetype2 support.
3772 -qt-freetype ........ Use the libfreetype bundled with Qt.
3773 * -system-freetype .... Use libfreetype from the operating system.
3774 See http://www.freetype.org/
3776 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3777 default ($CFG_QCONFIG).
3779 -depths <list> ...... Comma-separated list of supported bit-per-pixel
3780 depths, from: 1, 4, 8, 12, 15, 16, 18, 24, 32 and 'all'.
3782 -qt-decoration-<style> ....Enable a decoration <style> in the QtGui library,
3783 by default all available decorations are on.
3784 Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
3785 -plugin-decoration-<style> Enable decoration <style> as a plugin to be
3786 linked to at run time.
3787 Possible values for <style>: [ $CFG_DECORATION_PLUGIN_AVAILABLE ]
3788 -no-decoration-<style> ....Disable decoration <style> entirely.
3789 Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
3791 -no-opengl .......... Do not support OpenGL.
3792 -opengl <api> ....... Enable OpenGL ES support
3793 With no parameter, this will attempt to auto-detect OpenGL ES 1.x
3794 or 2.x. Use es1, es1cl or es2 for <api> to override auto-detection.
3796 NOTE: A QGLScreen driver for the hardware is required to support
3797 OpenGL ES on Qt for Embedded Linux.
3799 -qt-gfx-<driver> ... Enable a graphics <driver> in the QtGui library.
3800 Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
3801 -plugin-gfx-<driver> Enable graphics <driver> as a plugin to be
3802 linked to at run time.
3803 Possible values for <driver>: [ $CFG_GFX_PLUGIN_AVAILABLE ]
3804 -no-gfx-<driver> ... Disable graphics <driver> entirely.
3805 Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
3807 -qt-kbd-<driver> ... Enable a keyboard <driver> in the QtGui library.
3808 Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
3810 -plugin-kbd-<driver> Enable keyboard <driver> as a plugin to be linked to
3811 at runtime.
3812 Possible values for <driver>: [ $CFG_KBD_PLUGIN_AVAILABLE ]
3814 -no-kbd-<driver> ... Disable keyboard <driver> entirely.
3815 Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
3817 -qt-mouse-<driver> ... Enable a mouse <driver> in the QtGui library.
3818 Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
3819 -plugin-mouse-<driver> Enable mouse <driver> as a plugin to be linked to
3820 at runtime.
3821 Possible values for <driver>: [ $CFG_MOUSE_PLUGIN_AVAILABLE ]
3822 -no-mouse-<driver> ... Disable mouse <driver> entirely.
3823 Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
3825 -iwmmxt ............ Compile using the iWMMXt instruction set
3826 (available on some XScale CPUs).
3832 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
3833 if [ "$CFG_GLIB" = "no" ]; then
3834 GBY=" "
3835 GBN="+"
3836 else
3837 GBY="+"
3838 GBN=" "
3840 cat << EOF
3841 $GBN -no-glib ........... Do not compile Glib support.
3842 $GBY -glib .............. Compile Glib support.
3847 [ "x$ERROR" = "xyes" ] && exit 1
3848 exit 0
3849 fi # Help
3852 # -----------------------------------------------------------------------------
3853 # LICENSING, INTERACTIVE PART
3854 # -----------------------------------------------------------------------------
3856 if [ "$PLATFORM_QWS" = "yes" ]; then
3857 Platform="Qt for Embedded Linux"
3858 elif [ "$PLATFORM_MAC" = "yes" ]; then
3859 Platform="Qt/Mac"
3860 else
3861 PLATFORM_X11=yes
3862 Platform="Qt/X11"
3865 echo
3866 echo "This is the $Platform ${EditionString} Edition."
3867 echo
3869 if [ "$Edition" = "NokiaInternalBuild" ]; then
3870 echo "Detected -nokia-developer option"
3871 echo "Nokia employees and agents are allowed to use this software under"
3872 echo "the authority of Nokia Corporation and/or its subsidiary(-ies)"
3873 elif [ "$Edition" = "OpenSource" ]; then
3874 while true; do
3875 echo "You are licensed to use this software under the terms of"
3876 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
3877 if [ -f "$relpath/LICENSE.GPL3" ]; then
3878 echo "You are also licensed to use this software under the terms of"
3879 echo "the GNU General Public License (GPL) versions 3."
3880 affix="either"
3881 else
3882 affix="the"
3884 echo
3885 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3886 echo "You have already accepted the terms of the $LicenseType license."
3887 acceptance=yes
3888 else
3889 if [ -f "$relpath/LICENSE.GPL3" ]; then
3890 echo "Type '3' to view the GNU General Public License version 3."
3892 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
3893 echo "Type 'yes' to accept this license offer."
3894 echo "Type 'no' to decline this license offer."
3895 echo
3896 if echo '\c' | grep '\c' >/dev/null; then
3897 echo -n "Do you accept the terms of $affix license? "
3898 else
3899 echo "Do you accept the terms of $affix license? \c"
3901 read acceptance
3903 echo
3904 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
3905 break
3906 elif [ "$acceptance" = "no" ]; then
3907 echo "You are not licensed to use this software."
3908 echo
3909 exit 1
3910 elif [ "$acceptance" = "3" ]; then
3911 more "$relpath/LICENSE.GPL3"
3912 elif [ "$acceptance" = "L" ]; then
3913 more "$relpath/LICENSE.LGPL"
3915 done
3916 elif [ "$Edition" = "Preview" ]; then
3917 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
3918 while true; do
3920 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3921 echo "You have already accepted the terms of the $LicenseType license."
3922 acceptance=yes
3923 else
3924 echo "You are licensed to use this software under the terms of"
3925 echo "the $TheLicense"
3926 echo
3927 echo "Type '?' to read the Preview License."
3928 echo "Type 'yes' to accept this license offer."
3929 echo "Type 'no' to decline this license offer."
3930 echo
3931 if echo '\c' | grep '\c' >/dev/null; then
3932 echo -n "Do you accept the terms of the license? "
3933 else
3934 echo "Do you accept the terms of the license? \c"
3936 read acceptance
3938 echo
3939 if [ "$acceptance" = "yes" ]; then
3940 break
3941 elif [ "$acceptance" = "no" ] ;then
3942 echo "You are not licensed to use this software."
3943 echo
3944 exit 0
3945 elif [ "$acceptance" = "?" ]; then
3946 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
3948 done
3949 elif [ "$Edition" != "OpenSource" ]; then
3950 if [ -n "$ExpiryDate" ]; then
3951 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
3952 [ -z "$ExpiryDate" ] && ExpiryDate="0"
3953 Today=`date +%Y%m%d`
3954 if [ "$Today" -gt "$ExpiryDate" ]; then
3955 case "$LicenseType" in
3956 Commercial|Academic|Educational)
3957 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
3958 echo
3959 echo "NOTICE NOTICE NOTICE NOTICE"
3960 echo
3961 echo " Your support and upgrade period has expired."
3962 echo
3963 echo " You are no longer licensed to use this version of Qt."
3964 echo " Please contact qt-info@nokia.com to renew your support"
3965 echo " and upgrades for this license."
3966 echo
3967 echo "NOTICE NOTICE NOTICE NOTICE"
3968 echo
3969 exit 1
3970 else
3971 echo
3972 echo "WARNING WARNING WARNING WARNING"
3973 echo
3974 echo " Your support and upgrade period has expired."
3975 echo
3976 echo " You may continue to use your last licensed release"
3977 echo " of Qt under the terms of your existing license"
3978 echo " agreement. But you are not entitled to technical"
3979 echo " support, nor are you entitled to use any more recent"
3980 echo " Qt releases."
3981 echo
3982 echo " Please contact qt-info@nokia.com to renew your"
3983 echo " support and upgrades for this license."
3984 echo
3985 echo "WARNING WARNING WARNING WARNING"
3986 echo
3987 sleep 3
3990 Evaluation|*)
3991 echo
3992 echo "NOTICE NOTICE NOTICE NOTICE"
3993 echo
3994 echo " Your Evaluation license has expired."
3995 echo
3996 echo " You are no longer licensed to use this software. Please"
3997 echo " contact qt-info@nokia.com to purchase license, or install"
3998 echo " the Qt Open Source Edition if you intend to develop free"
3999 echo " software."
4000 echo
4001 echo "NOTICE NOTICE NOTICE NOTICE"
4002 echo
4003 exit 1
4005 esac
4008 TheLicense=`head -n 1 "$outpath/LICENSE"`
4009 while true; do
4010 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
4011 echo "You have already accepted the terms of the $TheLicense."
4012 acceptance=yes
4013 else
4014 echo "You are licensed to use this software under the terms of"
4015 echo "the $TheLicense."
4016 echo
4017 echo "Type '?' to view the $TheLicense."
4018 echo "Type 'yes' to accept this license offer."
4019 echo "Type 'no' to decline this license offer."
4020 echo
4021 if echo '\c' | grep '\c' >/dev/null; then
4022 echo -n "Do you accept the terms of the $TheLicense? "
4023 else
4024 echo "Do you accept the terms of the $TheLicense? \c"
4026 read acceptance
4028 echo
4029 if [ "$acceptance" = "yes" ]; then
4030 break
4031 elif [ "$acceptance" = "no" ]; then
4032 echo "You are not licensed to use this software."
4033 echo
4034 exit 1
4035 else [ "$acceptance" = "?" ]
4036 more "$outpath/LICENSE"
4038 done
4041 # this should be moved somewhere else
4042 case "$PLATFORM" in
4043 aix-*)
4044 AIX_VERSION=`uname -v`
4045 if [ "$AIX_VERSION" -lt "5" ]; then
4046 QMakeVar add QMAKE_LIBS_X11 -lbind
4051 esac
4053 #-------------------------------------------------------------------------------
4054 # generate qconfig.cpp
4055 #-------------------------------------------------------------------------------
4056 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
4058 LICENSE_USER_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsuser=$Licensee"`
4059 LICENSE_PRODUCTS_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsprod=$Edition"`
4060 PREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_INSTALL_PREFIX"`
4061 DOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_INSTALL_DOCS"`
4062 HEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_INSTALL_HEADERS"`
4063 LIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_INSTALL_LIBS"`
4064 BINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_INSTALL_BINS"`
4065 PLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_INSTALL_PLUGINS"`
4066 DATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_INSTALL_DATA"`
4067 TRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_INSTALL_TRANSLATIONS"`
4068 SETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
4069 EXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
4070 DEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"`
4072 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4073 /* License Info */
4074 static const char qt_configure_licensee_str [256 + 12] = "$LICENSE_USER_STR";
4075 static const char qt_configure_licensed_products_str [256 + 12] = "$LICENSE_PRODUCTS_STR";
4078 if [ ! -z "$QT_HOST_PREFIX" ]; then
4079 HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
4080 HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
4081 HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"`
4082 HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"`
4083 HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"`
4084 HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"`
4085 HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"`
4086 HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
4087 HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
4088 HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
4089 HOSTDEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"`
4091 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4093 #if defined(QT_BOOTSTRAPPED) || defined(QT_BUILD_QMAKE)
4094 /* Installation Info */
4095 static const char qt_configure_prefix_path_str [256 + 12] = "$HOSTPREFIX_PATH_STR";
4096 static const char qt_configure_documentation_path_str[256 + 12] = "$HOSTDOCUMENTATION_PATH_STR";
4097 static const char qt_configure_headers_path_str [256 + 12] = "$HOSTHEADERS_PATH_STR";
4098 static const char qt_configure_libraries_path_str [256 + 12] = "$HOSTLIBRARIES_PATH_STR";
4099 static const char qt_configure_binaries_path_str [256 + 12] = "$HOSTBINARIES_PATH_STR";
4100 static const char qt_configure_plugins_path_str [256 + 12] = "$HOSTPLUGINS_PATH_STR";
4101 static const char qt_configure_data_path_str [256 + 12] = "$HOSTDATA_PATH_STR";
4102 static const char qt_configure_translations_path_str [256 + 12] = "$HOSTTRANSLATIONS_PATH_STR";
4103 static const char qt_configure_settings_path_str [256 + 12] = "$HOSTSETTINGS_PATH_STR";
4104 static const char qt_configure_examples_path_str [256 + 12] = "$HOSTEXAMPLES_PATH_STR";
4105 static const char qt_configure_demos_path_str [256 + 12] = "$HOSTDEMOS_PATH_STR";
4106 #else // QT_BOOTSTRAPPED
4110 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4111 /* Installation Info */
4112 static const char qt_configure_prefix_path_str [256 + 12] = "$PREFIX_PATH_STR";
4113 static const char qt_configure_documentation_path_str[256 + 12] = "$DOCUMENTATION_PATH_STR";
4114 static const char qt_configure_headers_path_str [256 + 12] = "$HEADERS_PATH_STR";
4115 static const char qt_configure_libraries_path_str [256 + 12] = "$LIBRARIES_PATH_STR";
4116 static const char qt_configure_binaries_path_str [256 + 12] = "$BINARIES_PATH_STR";
4117 static const char qt_configure_plugins_path_str [256 + 12] = "$PLUGINS_PATH_STR";
4118 static const char qt_configure_data_path_str [256 + 12] = "$DATA_PATH_STR";
4119 static const char qt_configure_translations_path_str [256 + 12] = "$TRANSLATIONS_PATH_STR";
4120 static const char qt_configure_settings_path_str [256 + 12] = "$SETTINGS_PATH_STR";
4121 static const char qt_configure_examples_path_str [256 + 12] = "$EXAMPLES_PATH_STR";
4122 static const char qt_configure_demos_path_str [256 + 12] = "$DEMOS_PATH_STR";
4125 if [ ! -z "$QT_HOST_PREFIX" ]; then
4126 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4127 #endif // QT_BOOTSTRAPPED
4132 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4133 /* strlen( "qt_lcnsxxxx" ) == 12 */
4134 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
4135 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
4136 #define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12;
4137 #define QT_CONFIGURE_DOCUMENTATION_PATH qt_configure_documentation_path_str + 12;
4138 #define QT_CONFIGURE_HEADERS_PATH qt_configure_headers_path_str + 12;
4139 #define QT_CONFIGURE_LIBRARIES_PATH qt_configure_libraries_path_str + 12;
4140 #define QT_CONFIGURE_BINARIES_PATH qt_configure_binaries_path_str + 12;
4141 #define QT_CONFIGURE_PLUGINS_PATH qt_configure_plugins_path_str + 12;
4142 #define QT_CONFIGURE_DATA_PATH qt_configure_data_path_str + 12;
4143 #define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12;
4144 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
4145 #define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;
4146 #define QT_CONFIGURE_DEMOS_PATH qt_configure_demos_path_str + 12;
4149 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
4150 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
4151 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
4152 else
4153 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
4154 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
4155 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
4158 # -----------------------------------------------------------------------------
4159 # build qmake
4160 # -----------------------------------------------------------------------------
4162 # symlink includes
4163 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
4164 SYNCQT_OPTS=
4165 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
4166 if [ "$OPT_SHADOW" = "yes" ]; then
4167 "$outpath/bin/syncqt" $SYNCQT_OPTS
4168 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ]; then
4169 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS
4173 # $1: variable name
4174 # $2: optional transformation
4175 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
4176 # is where the resulting variable is written to
4177 setBootstrapVariable()
4179 variableRegExp="^$1[^_A-Z0-9]"
4180 getQMakeConf | grep "$variableRegExp" | ( [ -n "$2" ] && sed "$2" ; [ -z "$2" ] && cat ) | $AWK '
4182 varLength = index($0, "=") - 1
4183 valStart = varLength + 2
4184 if (substr($0, varLength, 1) == "+") {
4185 varLength = varLength - 1
4186 valStart = valStart + 1
4188 var = substr($0, 0, varLength)
4189 gsub("[ \t]+", "", var)
4190 val = substr($0, valStart)
4191 printf "%s_%s = %s\n", var, NR, val
4193 END {
4194 if (length(var) > 0) {
4195 printf "%s =", var
4196 for (i = 1; i <= NR; ++i)
4197 printf " $(%s_%s)", var, i
4198 printf "\n"
4200 }' >> "$mkfile"
4203 # build qmake
4204 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
4205 echo "Creating qmake. Please wait..."
4207 OLD_QCONFIG_H=
4208 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
4209 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
4210 if [ -f "$QCONFIG_H" ]; then
4211 OLD_QCONFIG_H=$QCONFIG_H
4212 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
4215 # create temporary qconfig.h for compiling qmake, if it doesn't exist
4216 # when building qmake, we use #defines for the install paths,
4217 # however they are real functions in the library
4218 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
4219 mkdir -p "$outpath/src/corelib/global"
4220 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
4221 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
4224 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
4225 for conf in "$outpath/include/QtCore/qconfig.h" "$outpath/include/Qt/qconfig.h"; do
4226 if [ '!' -f "$conf" ]; then
4227 ln -s "$QCONFIG_H" "$conf"
4229 done
4231 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
4232 rm -f mkspecs/default
4233 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
4234 # fix makefiles
4235 for mkfile in GNUmakefile Makefile; do
4236 EXTRA_LFLAGS=
4237 EXTRA_CFLAGS=
4238 in_mkfile="${mkfile}.in"
4239 if [ "$mkfile" = "Makefile" ]; then
4240 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
4241 # (cd qmake && qmake) >/dev/null 2>&1 && continue
4242 # fi
4243 in_mkfile="${mkfile}.unix"
4245 in_mkfile="$relpath/qmake/$in_mkfile"
4246 mkfile="$outpath/qmake/$mkfile"
4247 if [ -f "$mkfile" ]; then
4248 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
4249 rm -f "$mkfile"
4251 [ -f "$in_mkfile" ] || continue
4253 echo "########################################################################" > "$mkfile"
4254 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
4255 echo "########################################################################" >> "$mkfile"
4256 EXTRA_OBJS=
4257 EXTRA_SRCS=
4258 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
4259 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
4260 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
4262 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
4263 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
4266 [ -n "$CC" ] && echo "CC = $CC" >> "$mkfile"
4267 [ -n "$CXX" ] && echo "CXX = $CXX" >> "$mkfile"
4268 if [ "$CFG_SILENT" = "yes" ]; then
4269 [ -z "$CC" ] && setBootstrapVariable QMAKE_CC 's,QMAKE_CC.*=,CC=\@,'
4270 [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX 's,QMAKE_CXX.*=,CXX=\@,'
4271 else
4272 [ -z "$CC" ] && setBootstrapVariable QMAKE_CC 's,QMAKE_CC,CC,'
4273 [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX 's,QMAKE_CXX,CXX,'
4275 setBootstrapVariable QMAKE_CFLAGS
4276 setBootstrapVariable QMAKE_CXXFLAGS 's,\$\$QMAKE_CFLAGS,\$(QMAKE_CFLAGS),'
4277 setBootstrapVariable QMAKE_LFLAGS
4279 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
4280 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
4281 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
4283 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
4284 setBootstrapVariable QMAKE_CFLAGS_RELEASE
4285 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE 's,\$\$QMAKE_CFLAGS_RELEASE,\$(QMAKE_CFLAGS_RELEASE),'
4286 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
4287 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
4288 elif [ "$CFG_DEBUG" = "yes" ]; then
4289 setBootstrapVariable QMAKE_CFLAGS_DEBUG
4290 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG 's,\$\$QMAKE_CFLAGS_DEBUG,\$(QMAKE_CFLAGS_DEBUG),'
4291 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
4292 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
4295 if [ '!' -z "$RPATH_FLAGS" ] && [ '!' -z "`getQMakeConf \"$QMAKESPEC\" | grep QMAKE_RPATH | awk '{print $3;}'`" ]; then
4296 setBootstrapVariable QMAKE_RPATH 's,\$\$LITERAL_WHITESPACE, ,'
4297 for rpath in $RPATH_FLAGS; do
4298 EXTRA_LFLAGS="\$(QMAKE_RPATH)\"$rpath\" $EXTRA_LFLAGS"
4299 done
4301 if [ "$PLATFORM_MAC" = "yes" ]; then
4302 echo "export MACOSX_DEPLOYMENT_TARGET = 10.4" >> "$mkfile"
4303 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
4304 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
4305 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
4306 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
4307 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
4308 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
4309 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
4310 if echo "$CFG_MAC_ARCHS" | grep x86 > /dev/null 2>&1; then # matches both x86 and x86_64
4311 X86_CFLAGS="-arch i386"
4312 X86_LFLAGS="-arch i386"
4313 EXTRA_CFLAGS="$X86_CFLAGS $EXTRA_CFLAGS"
4314 EXTRA_CXXFLAGS="$X86_CFLAGS $EXTRA_CXXFLAGS"
4315 EXTRA_LFLAGS="$EXTRA_LFLAGS $X86_LFLAGS"
4317 if echo "$CFG_MAC_ARCHS" | grep ppc > /dev/null 2>&1; then # matches both ppc and ppc64
4318 PPC_CFLAGS="-arch ppc"
4319 PPC_LFLAGS="-arch ppc"
4320 EXTRA_CFLAGS="$PPC_CFLAGS $EXTRA_CFLAGS"
4321 EXTRA_CXXFLAGS="$PPC_CFLAGS $EXTRA_CXXFLAGS"
4322 EXTRA_LFLAGS="$EXTRA_LFLAGS $PPC_LFLAGS"
4324 if [ '!' -z "$CFG_SDK" ]; then
4325 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
4326 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
4327 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
4328 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
4329 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
4332 [ "$CFG_EMBEDDED" != "no" ] && EXTRA_CFLAGS="$EXTRA_CFLAGS -DQWS"
4333 if [ '!' -z "$D_FLAGS" ]; then
4334 for DEF in $D_FLAGS; do
4335 EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
4336 done
4338 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
4339 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
4340 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
4341 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
4342 echo >>"$mkfile"
4343 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
4344 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
4345 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
4346 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
4347 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
4348 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
4349 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
4350 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
4351 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
4352 -e "s,@QMAKESPEC@,$adjqmakespec,g" "$in_mkfile" >>"$mkfile"
4354 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
4355 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
4356 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
4357 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
4358 rm "$mkfile.tmp"
4360 done
4362 QMAKE_BUILD_ERROR=no
4363 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
4364 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
4365 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
4366 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
4367 fi # Build qmake
4369 #-------------------------------------------------------------------------------
4370 # tests that need qmake
4371 #-------------------------------------------------------------------------------
4373 # detect availability of float math.h functions
4374 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
4375 CFG_USE_FLOATMATH=yes
4376 else
4377 CFG_USE_FLOATMATH=no
4380 # detect mmx support
4381 if [ "${CFG_MMX}" = "auto" ]; then
4382 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mmx "mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
4383 CFG_MMX=yes
4384 else
4385 CFG_MMX=no
4389 # detect 3dnow support
4390 if [ "${CFG_3DNOW}" = "auto" ]; then
4391 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/3dnow "3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
4392 CFG_3DNOW=yes
4393 else
4394 CFG_3DNOW=no
4398 # detect sse support
4399 if [ "${CFG_SSE}" = "auto" ]; then
4400 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse "sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
4401 CFG_SSE=yes
4402 else
4403 CFG_SSE=no
4407 # detect sse2 support
4408 if [ "${CFG_SSE2}" = "auto" ]; then
4409 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
4410 CFG_SSE2=yes
4411 else
4412 CFG_SSE2=no
4416 # check iWMMXt support
4417 if [ "$CFG_IWMMXT" = "yes" ]; then
4418 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
4419 if [ $? != "0" ]; then
4420 echo "The iWMMXt functionality test failed!"
4421 echo " Please make sure your compiler supports iWMMXt intrinsics!"
4422 exit 1
4426 # detect zlib
4427 if [ "$CFG_ZLIB" = "no" ]; then
4428 # Note: Qt no longer support builds without zlib
4429 # So we force a "no" to be "auto" here.
4430 # If you REALLY really need no zlib support, you can still disable
4431 # it by doing the following:
4432 # add "no-zlib" to mkspecs/qconfig.pri
4433 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
4435 # There's no guarantee that Qt will build under those conditions
4437 CFG_ZLIB=auto
4438 ZLIB_FORCED=yes
4440 if [ "$CFG_ZLIB" = "auto" ]; then
4441 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/zlib "zlib" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4442 CFG_ZLIB=system
4443 else
4444 CFG_ZLIB=yes
4448 # detect how jpeg should be built
4449 if [ "$CFG_JPEG" = "auto" ]; then
4450 if [ "$CFG_SHARED" = "yes" ]; then
4451 CFG_JPEG=plugin
4452 else
4453 CFG_JPEG=yes
4456 # detect jpeg
4457 if [ "$CFG_LIBJPEG" = "auto" ]; then
4458 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libjpeg "libjpeg" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4459 CFG_LIBJPEG=system
4460 else
4461 CFG_LIBJPEG=qt
4465 # detect how gif should be built
4466 if [ "$CFG_GIF" = "auto" ]; then
4467 if [ "$CFG_SHARED" = "yes" ]; then
4468 CFG_GIF=plugin
4469 else
4470 CFG_GIF=yes
4474 # detect how tiff should be built
4475 if [ "$CFG_TIFF" = "auto" ]; then
4476 if [ "$CFG_SHARED" = "yes" ]; then
4477 CFG_TIFF=plugin
4478 else
4479 CFG_TIFF=yes
4483 # detect tiff
4484 if [ "$CFG_LIBTIFF" = "auto" ]; then
4485 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libtiff "libtiff" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4486 CFG_LIBTIFF=system
4487 else
4488 CFG_LIBTIFF=qt
4492 # detect how mng should be built
4493 if [ "$CFG_MNG" = "auto" ]; then
4494 if [ "$CFG_SHARED" = "yes" ]; then
4495 CFG_MNG=plugin
4496 else
4497 CFG_MNG=yes
4500 # detect mng
4501 if [ "$CFG_LIBMNG" = "auto" ]; then
4502 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libmng "libmng" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4503 CFG_LIBMNG=system
4504 else
4505 CFG_LIBMNG=qt
4509 # detect png
4510 if [ "$CFG_LIBPNG" = "auto" ]; then
4511 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libpng "libpng" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4512 CFG_LIBPNG=system
4513 else
4514 CFG_LIBPNG=qt
4518 # detect accessibility
4519 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4520 CFG_ACCESSIBILITY=yes
4523 # auto-detect SQL-modules support
4524 for _SQLDR in $CFG_SQL_AVAILABLE; do
4525 case $_SQLDR in
4526 mysql)
4527 if [ "$CFG_SQL_mysql" != "no" ]; then
4528 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
4529 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4530 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4531 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4532 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4533 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4534 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4536 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4537 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4538 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4539 echo " You need MySql 4 or higher."
4540 echo " If you believe this message is in error you may use the continue"
4541 echo " switch (-continue) to $0 to continue."
4542 exit 101
4543 else
4544 CFG_SQL_mysql="no"
4545 QT_LFLAGS_MYSQL=""
4546 QT_LFLAGS_MYSQL_R=""
4547 QT_CFLAGS_MYSQL=""
4549 else
4550 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mysql_r "MySQL (thread-safe)" $QT_LFLAGS_MYSQL_R $L_FLAGS $QT_CFLAGS_MYSQL $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4551 QMakeVar add CONFIG use_libmysqlclient_r
4552 if [ "$CFG_SQL_mysql" = "auto" ]; then
4553 CFG_SQL_mysql=plugin
4555 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
4556 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mysql "MySQL (thread-unsafe)" $QT_LFLAGS_MYSQL $L_FLAGS $QT_CFLAGS_MYSQL $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4557 if [ "$CFG_SQL_mysql" = "auto" ]; then
4558 CFG_SQL_mysql=plugin
4560 else
4561 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4562 echo "MySQL support cannot be enabled due to functionality tests!"
4563 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4564 echo " If you believe this message is in error you may use the continue"
4565 echo " switch (-continue) to $0 to continue."
4566 exit 101
4567 else
4568 CFG_SQL_mysql=no
4569 QT_LFLAGS_MYSQL=""
4570 QT_LFLAGS_MYSQL_R=""
4571 QT_CFLAGS_MYSQL=""
4577 psql)
4578 if [ "$CFG_SQL_psql" != "no" ]; then
4579 if "$WHICH" pg_config >/dev/null 2>&1; then
4580 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
4581 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
4583 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
4584 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
4585 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/psql "PostgreSQL" $QT_LFLAGS_PSQL $L_FLAGS $QT_CFLAGS_PSQL $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4586 if [ "$CFG_SQL_psql" = "auto" ]; then
4587 CFG_SQL_psql=plugin
4589 else
4590 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4591 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4592 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4593 echo " If you believe this message is in error you may use the continue"
4594 echo " switch (-continue) to $0 to continue."
4595 exit 101
4596 else
4597 CFG_SQL_psql=no
4598 QT_CFLAGS_PSQL=""
4599 QT_LFLAGS_PSQL=""
4604 odbc)
4605 if [ "$CFG_SQL_odbc" != "no" ]; then
4606 if [ "$PLATFORM_MAC" != "yes" ] && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4607 if [ "$CFG_SQL_odbc" = "auto" ]; then
4608 CFG_SQL_odbc=plugin
4610 else
4611 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iodbc "iODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4612 QT_LFLAGS_ODBC="-liodbc"
4613 if [ "$CFG_SQL_odbc" = "auto" ]; then
4614 CFG_SQL_odbc=plugin
4616 else
4617 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4618 echo "ODBC support cannot be enabled due to functionality tests!"
4619 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4620 echo " If you believe this message is in error you may use the continue"
4621 echo " switch (-continue) to $0 to continue."
4622 exit 101
4623 else
4624 CFG_SQL_odbc=no
4630 oci)
4631 if [ "$CFG_SQL_oci" != "no" ]; then
4632 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/oci "OCI" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4633 if [ "$CFG_SQL_oci" = "auto" ]; then
4634 CFG_SQL_oci=plugin
4636 else
4637 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4638 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4639 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4640 echo " If you believe this message is in error you may use the continue"
4641 echo " switch (-continue) to $0 to continue."
4642 exit 101
4643 else
4644 CFG_SQL_oci=no
4649 tds)
4650 if [ "$CFG_SQL_tds" != "no" ]; then
4651 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tds "TDS" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4652 if [ "$CFG_SQL_tds" = "auto" ]; then
4653 CFG_SQL_tds=plugin
4655 else
4656 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4657 echo "TDS support cannot be enabled due to functionality tests!"
4658 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4659 echo " If you believe this message is in error you may use the continue"
4660 echo " switch (-continue) to $0 to continue."
4661 exit 101
4662 else
4663 CFG_SQL_tds=no
4668 db2)
4669 if [ "$CFG_SQL_db2" != "no" ]; then
4670 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/db2 "DB2" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4671 if [ "$CFG_SQL_db2" = "auto" ]; then
4672 CFG_SQL_db2=plugin
4674 else
4675 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4676 echo "ODBC support cannot be enabled due to functionality tests!"
4677 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4678 echo " If you believe this message is in error you may use the continue"
4679 echo " switch (-continue) to $0 to continue."
4680 exit 101
4681 else
4682 CFG_SQL_db2=no
4687 ibase)
4688 if [ "$CFG_SQL_ibase" != "no" ]; then
4689 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ibase "InterBase" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4690 if [ "$CFG_SQL_ibase" = "auto" ]; then
4691 CFG_SQL_ibase=plugin
4693 else
4694 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4695 echo "InterBase support cannot be enabled due to functionality tests!"
4696 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4697 echo " If you believe this message is in error you may use the continue"
4698 echo " switch (-continue) to $0 to continue."
4699 exit 101
4700 else
4701 CFG_SQL_ibase=no
4706 sqlite2)
4707 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4708 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite2 "SQLite2" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4709 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4710 CFG_SQL_sqlite2=plugin
4712 else
4713 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4714 echo "SQLite2 support cannot be enabled due to functionality tests!"
4715 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4716 echo " If you believe this message is in error you may use the continue"
4717 echo " switch (-continue) to $0 to continue."
4718 exit 101
4719 else
4720 CFG_SQL_sqlite2=no
4725 sqlite)
4726 if [ "$CFG_SQL_sqlite" != "no" ]; then
4727 SQLITE_AUTODETECT_FAILED="no"
4728 if [ "$CFG_SQLITE" = "system" ]; then
4729 if [ -n "$PKG_CONFIG" ]; then
4730 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4731 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4733 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite "SQLite" $QT_LFLAGS_SQLITE $L_FLAGS $QT_CFLAGS_SQLITE $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4734 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4735 CFG_SQL_sqlite=plugin
4737 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4738 else
4739 SQLITE_AUTODETECT_FAILED="yes"
4740 CFG_SQL_sqlite=no
4742 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4743 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4744 CFG_SQL_sqlite=plugin
4746 else
4747 SQLITE_AUTODETECT_FAILED="yes"
4748 CFG_SQL_sqlite=no
4751 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4752 echo "SQLite support cannot be enabled due to functionality tests!"
4753 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4754 echo " If you believe this message is in error you may use the continue"
4755 echo " switch (-continue) to $0 to continue."
4756 exit 101
4761 if [ "$OPT_VERBOSE" = "yes" ]; then
4762 echo "unknown SQL driver: $_SQLDR"
4765 esac
4766 done
4768 # auto-detect NIS support
4769 if [ "$CFG_NIS" != "no" ]; then
4770 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/nis "NIS" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4771 CFG_NIS=yes
4772 else
4773 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4774 echo "NIS support cannot be enabled due to functionality tests!"
4775 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4776 echo " If you believe this message is in error you may use the continue"
4777 echo " switch (-continue) to $0 to continue."
4778 exit 101
4779 else
4780 CFG_NIS=no
4785 # auto-detect CUPS support
4786 if [ "$CFG_CUPS" != "no" ]; then
4787 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/cups "Cups" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4788 CFG_CUPS=yes
4789 else
4790 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4791 echo "Cups support cannot be enabled due to functionality tests!"
4792 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4793 echo " If you believe this message is in error you may use the continue"
4794 echo " switch (-continue) to $0 to continue."
4795 exit 101
4796 else
4797 CFG_CUPS=no
4802 # auto-detect iconv(3) support
4803 if [ "$CFG_ICONV" != "no" ]; then
4804 if [ "$PLATFORM_QWS" = "yes" ]; then
4805 CFG_ICONV=no
4806 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4807 CFG_ICONV=yes
4808 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/gnu-libiconv" "GNU libiconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
4809 CFG_ICONV=gnu
4810 else
4811 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4812 echo "Iconv support cannot be enabled due to functionality tests!"
4813 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4814 echo " If you believe this message is in error you may use the continue"
4815 echo " switch (-continue) to $0 to continue."
4816 exit 101
4817 else
4818 CFG_ICONV=no
4823 # auto-detect libdbus-1 support
4824 if [ "$CFG_DBUS" != "no" ]; then
4825 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
4826 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4827 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4829 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/dbus "D-Bus" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_DBUS $QT_LIBS_DBUS $MAC_CONFIG_TEST_COMMANDLINE; then
4830 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
4831 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
4832 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
4833 else
4834 if [ "$CFG_DBUS" = "auto" ]; then
4835 CFG_DBUS=no
4836 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4837 # CFG_DBUS is "yes" or "linked" here
4839 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4840 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4841 echo " If you believe this message is in error you may use the continue"
4842 echo " switch (-continue) to $0 to continue."
4843 exit 101
4848 # Generate a CRC of the namespace for using in constants for the Carbon port.
4849 # This should mean that you really *can* load two Qt's and have our custom
4850 # Carbon events work.
4851 if [ "$PLATFORM_MAC" = "yes" -a ! -z "$QT_NAMESPACE" ]; then
4852 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`
4855 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
4857 # detect EGL support
4858 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/egl" "EGL (EGL/egl.h)" $L_FLAGS $I_FLAGS $l_FLAGS; then
4859 # EGL specified by QMAKE_*_EGL, included with <EGL/egl.h>
4860 CFG_EGL=yes
4861 CFG_EGL_GLES_INCLUDES=no
4862 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/egl4gles1" "EGL (GLES/egl.h)" $L_FLAGS $I_FLAGS $l_FLAGS; then
4863 # EGL specified by QMAKE_*_EGL, included with <GLES/egl.h>
4864 CFG_EGL=yes
4865 CFG_EGL_GLES_INCLUDES=yes
4867 if ( [ "$CFG_OPENGL" = "es1" ] || [ "$CFG_OPENGL" = "es1cl" ] || [ "$CFG_OPENGL" = "es2" ] ) && [ "$CFG_EGL" != "yes" ] && [ "$PLATFORM_X11" = "yes" ]; then
4868 echo "The EGL functionality test failed!"
4869 echo " EGL is required for OpenGL ES on X11 to manage contexts & surfaces."
4870 echo " You might need to modify the include and library search paths by editing"
4871 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in"
4872 echo " ${XQMAKESPEC}."
4873 exit 1
4877 # auto-detect Glib support
4878 if [ "$CFG_GLIB" != "no" ]; then
4879 if [ -n "$PKG_CONFIG" ]; then
4880 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4881 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4883 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
4884 CFG_GLIB=yes
4885 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
4886 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
4887 else
4888 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4889 echo "Glib support cannot be enabled due to functionality tests!"
4890 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4891 echo " If you believe this message is in error you may use the continue"
4892 echo " switch (-continue) to $0 to continue."
4893 exit 101
4894 else
4895 CFG_GLIB=no
4900 if [ "$CFG_PHONON" != "no" ]; then
4901 if [ "$CFG_PHONON_BACKEND" != "no" ]; then
4902 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4903 if [ -n "$PKG_CONFIG" ]; then
4904 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4905 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4907 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
4908 CFG_GSTREAMER=yes
4909 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
4910 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
4911 else
4912 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4913 echo "Gstreamer 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."
4917 exit 101
4918 else
4919 CFG_GSTREAMER=no
4922 elif [ "$CFG_GLIB" = "no" ]; then
4923 CFG_GSTREAMER=no
4926 if [ "$CFG_GSTREAMER" = "yes" ]; then
4927 CFG_PHONON=yes
4928 else
4929 if [ "$CFG_PHONON" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4930 echo "Phonon support cannot be enabled due to functionality tests!"
4931 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4932 echo " If you believe this message is in error you may use the continue"
4933 echo " switch (-continue) to $0 to continue."
4934 exit 101
4935 else
4936 CFG_PHONON=no
4939 else
4940 CFG_PHONON=yes
4943 fi # X11/QWS
4945 # x11
4946 if [ "$PLATFORM_X11" = "yes" ]; then
4947 x11tests="$relpath/config.tests/x11"
4948 X11TESTS_FLAGS=
4950 # work around broken X11 headers when using GCC 2.95 or later
4951 NOTYPE=no
4952 "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE=yes
4953 if [ $NOTYPE = "yes" ]; then
4954 QMakeVar add QMAKE_CXXFLAGS -fpermissive
4955 X11TESTS_FLAGS="$X11TESTS_FLAGS -fpermissive"
4958 # Check we actually have X11 :-)
4959 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4960 if [ $? != "0" ]; then
4961 echo "Basic XLib functionality test failed!"
4962 echo " You might need to modify the include and library search paths by editing"
4963 echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
4964 exit 1
4967 # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es1cl = ES 1.x common lite, es2 = OpenGL ES 2.x)
4968 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4969 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
4970 CFG_OPENGL=desktop
4971 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
4972 CFG_OPENGL=es2
4973 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
4974 CFG_OPENGL=es1
4975 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
4976 CFG_OPENGL=es1cl
4977 else
4978 if [ "$CFG_OPENGL" = "yes" ]; then
4979 echo "All the OpenGL functionality tests failed!"
4980 echo " You might need to modify the include and library search paths by editing"
4981 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4982 echo " ${XQMAKESPEC}."
4983 exit 1
4985 CFG_OPENGL=no
4987 case "$PLATFORM" in
4988 hpux*)
4989 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4990 if [ "$CFG_OPENGL" = "desktop" ]; then
4991 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4992 if [ $? != "0" ]; then
4993 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4999 esac
5000 elif [ "$CFG_OPENGL" = "es1cl" ]; then
5001 # OpenGL ES 1.x common lite
5002 "$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
5003 if [ $? != "0" ]; then
5004 echo "The OpenGL ES 1.x Common Lite Profile functionality test failed!"
5005 echo " You might need to modify the include and library search paths by editing"
5006 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5007 echo " ${XQMAKESPEC}."
5008 exit 1
5010 elif [ "$CFG_OPENGL" = "es1" ]; then
5011 # OpenGL ES 1.x
5012 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS
5013 if [ $? != "0" ]; then
5014 echo "The OpenGL ES 1.x functionality test failed!"
5015 echo " You might need to modify the include and library search paths by editing"
5016 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5017 echo " ${XQMAKESPEC}."
5018 exit 1
5020 elif [ "$CFG_OPENGL" = "es2" ]; then
5021 #OpenGL ES 2.x
5022 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
5023 if [ $? != "0" ]; then
5024 echo "The OpenGL ES 2.0 functionality test failed!"
5025 echo " You might need to modify the include and library search paths by editing"
5026 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5027 echo " ${XQMAKESPEC}."
5028 exit 1
5030 elif [ "$CFG_OPENGL" = "desktop" ]; then
5031 # Desktop OpenGL support
5032 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5033 if [ $? != "0" ]; then
5034 echo "The OpenGL functionality test failed!"
5035 echo " You might need to modify the include and library search paths by editing"
5036 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5037 echo " ${XQMAKESPEC}."
5038 exit 1
5040 case "$PLATFORM" in
5041 hpux*)
5042 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
5043 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5044 if [ $? != "0" ]; then
5045 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
5050 esac
5053 # if opengl is disabled and the user specified graphicssystem gl, disable it...
5054 if [ "$CFG_GRAPHICS_SYSTEM" = "opengl" ] && [ "$CFG_OPENGL" = "no" ]; then
5055 echo "OpenGL Graphics System is disabled due to missing OpenGL support..."
5056 CFG_GRAPHICS_SYSTEM=default
5059 # auto-detect Xcursor support
5060 if [ "$CFG_XCURSOR" != "no" ]; then
5061 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
5062 if [ "$CFG_XCURSOR" != "runtime" ]; then
5063 CFG_XCURSOR=yes;
5065 else
5066 if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5067 echo "Xcursor support cannot be enabled due to functionality tests!"
5068 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5069 echo " If you believe this message is in error you may use the continue"
5070 echo " switch (-continue) to $0 to continue."
5071 exit 101
5072 else
5073 CFG_XCURSOR=no
5078 # auto-detect Xfixes support
5079 if [ "$CFG_XFIXES" != "no" ]; then
5080 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xfixes "Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
5081 if [ "$CFG_XFIXES" != "runtime" ]; then
5082 CFG_XFIXES=yes;
5084 else
5085 if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5086 echo "Xfixes support cannot be enabled due to functionality tests!"
5087 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5088 echo " If you believe this message is in error you may use the continue"
5089 echo " switch (-continue) to $0 to continue."
5090 exit 101
5091 else
5092 CFG_XFIXES=no
5097 # auto-detect Xrandr support (resize and rotate extension)
5098 if [ "$CFG_XRANDR" != "no" ]; then
5099 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
5100 if [ "$CFG_XRANDR" != "runtime" ]; then
5101 CFG_XRANDR=yes
5103 else
5104 if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5105 echo "Xrandr support cannot be enabled due to functionality tests!"
5106 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5107 echo " If you believe this message is in error you may use the continue"
5108 echo " switch (-continue) to $0 to continue."
5109 exit 101
5110 else
5111 CFG_XRANDR=no
5116 # auto-detect Xrender support
5117 if [ "$CFG_XRENDER" != "no" ]; then
5118 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
5119 CFG_XRENDER=yes
5120 else
5121 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5122 echo "Xrender support cannot be enabled due to functionality tests!"
5123 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5124 echo " If you believe this message is in error you may use the continue"
5125 echo " switch (-continue) to $0 to continue."
5126 exit 101
5127 else
5128 CFG_XRENDER=no
5133 # auto-detect MIT-SHM support
5134 if [ "$CFG_MITSHM" != "no" ]; then
5135 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
5136 CFG_MITSHM=yes
5137 else
5138 if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5139 echo "MITSHM support cannot be enabled due to functionality tests!"
5140 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5141 echo " If you believe this message is in error you may use the continue"
5142 echo " switch (-continue) to $0 to continue."
5143 exit 101
5144 else
5145 CFG_MITSHM=no
5150 # auto-detect FontConfig support
5151 if [ "$CFG_FONTCONFIG" != "no" ]; then
5152 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig 2>/dev/null; then
5153 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig 2>/dev/null`
5154 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig 2>/dev/null`
5155 else
5156 QT_CFLAGS_FONTCONFIG=
5157 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5159 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
5160 CFG_FONTCONFIG=yes
5161 QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
5162 QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
5163 CFG_LIBFREETYPE=system
5164 else
5165 if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5166 echo "FontConfig support cannot be enabled due to functionality tests!"
5167 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5168 echo " If you believe this message is in error you may use the continue"
5169 echo " switch (-continue) to $0 to continue."
5170 exit 101
5171 else
5172 CFG_FONTCONFIG=no
5177 # auto-detect Session Management support
5178 if [ "$CFG_SM" = "auto" ]; then
5179 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
5180 CFG_SM=yes
5181 else
5182 if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5183 echo "Session Management support cannot be enabled due to functionality tests!"
5184 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5185 echo " If you believe this message is in error you may use the continue"
5186 echo " switch (-continue) to $0 to continue."
5187 exit 101
5188 else
5189 CFG_SM=no
5194 # auto-detect SHAPE support
5195 if [ "$CFG_XSHAPE" != "no" ]; then
5196 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
5197 CFG_XSHAPE=yes
5198 else
5199 if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5200 echo "XShape support cannot be enabled due to functionality tests!"
5201 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5202 echo " If you believe this message is in error you may use the continue"
5203 echo " switch (-continue) to $0 to continue."
5204 exit 101
5205 else
5206 CFG_XSHAPE=no
5211 # auto-detect XSync support
5212 if [ "$CFG_XSYNC" != "no" ]; then
5213 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xsync "XSync" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
5214 CFG_XSYNC=yes
5215 else
5216 if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5217 echo "XSync support cannot be enabled due to functionality tests!"
5218 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5219 echo " If you believe this message is in error you may use the continue"
5220 echo " switch (-continue) to $0 to continue."
5221 exit 101
5222 else
5223 CFG_XSYNC=no
5228 # auto-detect Xinerama support
5229 if [ "$CFG_XINERAMA" != "no" ]; then
5230 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
5231 if [ "$CFG_XINERAMA" != "runtime" ]; then
5232 CFG_XINERAMA=yes
5234 else
5235 if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5236 echo "Xinerama support cannot be enabled due to functionality tests!"
5237 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5238 echo " If you believe this message is in error you may use the continue"
5239 echo " switch (-continue) to $0 to continue."
5240 exit 101
5241 else
5242 CFG_XINERAMA=no
5247 # auto-detect Xinput support
5248 if [ "$CFG_XINPUT" != "no" ]; then
5249 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
5250 if [ "$CFG_XINPUT" != "runtime" ]; then
5251 CFG_XINPUT=yes
5253 else
5254 if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5255 echo "Tablet and Xinput support cannot be enabled due to functionality tests!"
5256 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5257 echo " If you believe this message is in error you may use the continue"
5258 echo " switch (-continue) to $0 to continue."
5259 exit 101
5260 else
5261 CFG_XINPUT=no
5266 # auto-detect XKB support
5267 if [ "$CFG_XKB" != "no" ]; then
5268 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
5269 CFG_XKB=yes
5270 else
5271 if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5272 echo "XKB support cannot be enabled due to functionality tests!"
5273 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5274 echo " If you believe this message is in error you may use the continue"
5275 echo " switch (-continue) to $0 to continue."
5276 exit 101
5277 else
5278 CFG_XKB=no
5283 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
5284 if [ -n "$PKG_CONFIG" ]; then
5285 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
5286 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
5288 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
5289 CFG_QGTKSTYLE=yes
5290 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
5291 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
5292 else
5293 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5294 echo "Gtk theme support cannot be enabled due to functionality tests!"
5295 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5296 echo " If you believe this message is in error you may use the continue"
5297 echo " switch (-continue) to $0 to continue."
5298 exit 101
5299 else
5300 CFG_QGTKSTYLE=no
5303 elif [ "$CFG_GLIB" = "no" ]; then
5304 CFG_QGTKSTYLE=no
5306 fi # X11
5309 if [ "$PLATFORM_MAC" = "yes" ]; then
5310 if [ "$CFG_PHONON" != "no" ]; then
5311 # Always enable Phonon (unless it was explicitly disabled)
5312 CFG_PHONON=yes
5316 # QWS
5317 if [ "$PLATFORM_QWS" = "yes" ]; then
5319 # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es1cl = ES 1.x common lite, es2 = OpenGL ES 2.x)
5320 if [ "$CFG_OPENGL" = "yes" ]; then
5321 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
5322 CFG_OPENGL=es2
5323 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
5324 CFG_OPENGL=es1
5325 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
5326 CFG_OPENGL=es1cl
5327 else
5328 echo "All the OpenGL ES functionality tests failed!"
5329 echo " You might need to modify the include and library search paths by editing"
5330 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5331 echo " ${XQMAKESPEC}."
5332 exit 1
5334 elif [ "$CFG_OPENGL" = "es1" ]; then
5335 # OpenGL ES 1.x
5336 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS
5337 if [ $? != "0" ]; then
5338 echo "The OpenGL ES 1.x functionality test failed!"
5339 echo " You might need to modify the include and library search paths by editing"
5340 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5341 echo " ${XQMAKESPEC}."
5342 exit 1
5344 elif [ "$CFG_OPENGL" = "es2" ]; then
5345 #OpenGL ES 2.x
5346 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
5347 if [ $? != "0" ]; then
5348 echo "The OpenGL ES 2.0 functionality test failed!"
5349 echo " You might need to modify the include and library search paths by editing"
5350 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5351 echo " ${XQMAKESPEC}."
5352 exit 1
5354 elif [ "$CFG_OPENGL" = "desktop" ]; then
5355 # Desktop OpenGL support
5356 echo "Desktop OpenGL support is not avaliable on Qt for Embedded Linux"
5357 exit 1
5360 # screen drivers
5361 for screen in ${CFG_GFX_ON} ${CFG_GFX_PLUGIN}; do
5362 if [ "${screen}" = "ahi" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5363 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/ahi "Ahi" $L_FLAGS $I_FLAGS $l_FLAGS
5364 if [ $? != "0" ]; then
5365 echo "The Ahi screen driver functionality test failed!"
5366 echo " You might need to modify the include and library search paths by editing"
5367 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5368 echo " ${XQMAKESPEC}."
5369 exit 1
5373 if [ "${screen}" = "svgalib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5374 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/svgalib "SVGAlib" $L_FLAGS $I_FLAGS $l_FLAGS
5375 if [ $? != "0" ]; then
5376 echo "The SVGAlib screen driver functionality test failed!"
5377 echo " You might need to modify the include and library search paths by editing"
5378 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5379 echo " ${XQMAKESPEC}."
5380 exit 1
5384 if [ "${screen}" = "directfb" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5385 if [ -n "$PKG_CONFIG" ]; then
5386 if $PKG_CONFIG --exists directfb 2>/dev/null; then
5387 QT_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
5388 QT_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
5389 elif directfb-config --version >/dev/null 2>&1; then
5390 QT_CFLAGS_DIRECTFB=`directfb-config --cflags 2>/dev/null`
5391 QT_LIBS_DIRECTFB=`directfb-config --libs 2>/dev/null`
5395 # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
5396 if [ -n "$QT_CFLAGS_DIRECTFB" ] || [ -n "$QT_LIBS_DIRECTFB" ]; then
5397 QMakeVar set QT_CFLAGS_DIRECTFB "$QT_CFLAGS_DIRECTFB"
5398 QMakeVar set QT_LIBS_DIRECTFB "$QT_LIBS_DIRECTFB"
5400 if [ "$CFG_QT3SUPPORT" = "yes" ]; then
5401 QMakeVar set QT_DEFINES_DIRECTFB "QT3_SUPPORT"
5404 "$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
5405 if [ $? != "0" ]; then
5406 echo "The DirectFB screen driver functionality test failed!"
5407 echo " You might need to modify the include and library search paths by editing"
5408 echo " QT_CFLAGS_DIRECTFB and QT_LIBS_DIRECTFB in"
5409 echo " ${XQMAKESPEC}."
5410 exit 1
5414 done
5416 # mouse drivers
5417 for mouse in ${CFG_MOUSE_ON} ${CFG_MOUSE_PLUGIN}; do
5418 if [ "${mouse}" = "tslib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5419 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tslib "tslib" $L_FLAGS $I_FLAGS $l_FLAGS
5420 if [ $? != "0" ]; then
5421 echo "The tslib functionality test failed!"
5422 echo " You might need to modify the include and library search paths by editing"
5423 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5424 echo " ${XQMAKESPEC}."
5425 exit 1
5428 done
5430 CFG_QGTKSTYLE=no
5432 # sound
5433 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/sound "sound" $L_FLAGS $I_FLAGS $l_FLAGS
5434 if [ $? != "0" ]; then
5435 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SOUND"
5438 fi # QWS
5440 # freetype support
5441 [ "x$CFG_EMBEDDED" != "xno" ] && CFG_LIBFREETYPE="$CFG_QWS_FREETYPE"
5442 [ "x$PLATFORM_MAC" = "xyes" ] && CFG_LIBFREETYPE=no
5443 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
5444 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/freetype "FreeType" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
5445 CFG_LIBFREETYPE=system
5446 else
5447 CFG_LIBFREETYPE=yes
5451 if [ "$CFG_ENDIAN" = "auto" ]; then
5452 if [ "$PLATFORM_MAC" = "yes" ]; then
5453 true #leave as auto
5454 else
5455 "$unixtests/endian.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5456 F="$?"
5457 if [ "$F" -eq 0 ]; then
5458 CFG_ENDIAN="Q_LITTLE_ENDIAN"
5459 elif [ "$F" -eq 1 ]; then
5460 CFG_ENDIAN="Q_BIG_ENDIAN"
5461 else
5462 echo
5463 echo "The target system byte order could not be detected!"
5464 echo "Turn on verbose messaging (-v) to see the final report."
5465 echo "You can use the -little-endian or -big-endian switch to"
5466 echo "$0 to continue."
5467 exit 101
5472 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
5473 if [ "$PLATFORM_MAC" = "yes" ]; then
5474 true #leave as auto
5475 else
5476 "$unixtests/endian.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5477 F="$?"
5478 if [ "$F" -eq 0 ]; then
5479 CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
5480 elif [ "$F" -eq 1 ]; then
5481 CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
5482 else
5483 echo
5484 echo "The host system byte order could not be detected!"
5485 echo "Turn on verbose messaging (-v) to see the final report."
5486 echo "You can use the -host-little-endian or -host-big-endian switch to"
5487 echo "$0 to continue."
5488 exit 101
5493 if [ "$CFG_ARMFPA" != "auto" ]; then
5494 if [ "$CFG_ARMFPA" = "yes" ]; then
5495 if [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5496 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
5497 else
5498 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
5500 else
5501 CFG_DOUBLEFORMAT="normal"
5506 if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then
5507 if [ "$PLATFORM_QWS" != "yes" ]; then
5508 CFG_DOUBLEFORMAT=normal
5509 else
5510 "$unixtests/doubleformat.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5511 F="$?"
5512 if [ "$F" -eq 10 ] && [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5513 CFG_DOUBLEFORMAT=normal
5514 elif [ "$F" -eq 11 ] && [ "$CFG_ENDIAN" = "Q_BIG_ENDIAN" ]; then
5515 CFG_DOUBLEFORMAT=normal
5516 elif [ "$F" -eq 10 ]; then
5517 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE"
5518 elif [ "$F" -eq 11 ]; then
5519 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG"
5520 elif [ "$F" -eq 12 ]; then
5521 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
5522 CFG_ARMFPA="yes"
5523 elif [ "$F" -eq 13 ]; then
5524 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
5525 CFG_ARMFPA="yes"
5526 else
5527 echo
5528 echo "The system floating point format could not be detected."
5529 echo "This may cause data to be generated in a wrong format"
5530 echo "Turn on verbose messaging (-v) to see the final report."
5531 # we do not fail on this since this is a new test, and if it fails,
5532 # the old behavior should be correct in most cases
5533 CFG_DOUBLEFORMAT=normal
5538 HAVE_STL=no
5539 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
5540 HAVE_STL=yes
5543 if [ "$CFG_STL" != "no" ]; then
5544 if [ "$HAVE_STL" = "yes" ]; then
5545 CFG_STL=yes
5546 else
5547 if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5548 echo "STL support cannot be enabled due to functionality tests!"
5549 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5550 echo " If you believe this message is in error you may use the continue"
5551 echo " switch (-continue) to $0 to continue."
5552 exit 101
5553 else
5554 CFG_STL=no
5559 # find if the platform supports IPv6
5560 if [ "$CFG_IPV6" != "no" ]; then
5561 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ipv6 "IPv6" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
5562 CFG_IPV6=yes
5563 else
5564 if [ "$CFG_IPV6" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5565 echo "IPv6 support cannot be enabled due to functionality tests!"
5566 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5567 echo " If you believe this message is in error you may use the continue"
5568 echo " switch (-continue) to $0 to continue."
5569 exit 101
5570 else
5571 CFG_IPV6=no
5576 # detect POSIX clock_gettime()
5577 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
5578 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
5579 CFG_CLOCK_GETTIME=yes
5580 else
5581 CFG_CLOCK_GETTIME=no
5585 # detect POSIX monotonic clocks
5586 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
5587 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
5588 CFG_CLOCK_MONOTONIC=yes
5589 else
5590 CFG_CLOCK_MONOTONIC=no
5592 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
5593 CFG_CLOCK_MONOTONIC=no
5596 # detect mremap
5597 if [ "$CFG_MREMAP" = "auto" ]; then
5598 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
5599 CFG_MREMAP=yes
5600 else
5601 CFG_MREMAP=no
5605 # find if the platform provides getaddrinfo (ipv6 dns lookups)
5606 if [ "$CFG_GETADDRINFO" != "no" ]; then
5607 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
5608 CFG_GETADDRINFO=yes
5609 else
5610 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5611 echo "getaddrinfo support cannot be enabled due to functionality tests!"
5612 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5613 echo " If you believe this message is in error you may use the continue"
5614 echo " switch (-continue) to $0 to continue."
5615 exit 101
5616 else
5617 CFG_GETADDRINFO=no
5622 # find if the platform provides inotify
5623 if [ "$CFG_INOTIFY" != "no" ]; then
5624 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
5625 CFG_INOTIFY=yes
5626 else
5627 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5628 echo "inotify support cannot be enabled due to functionality tests!"
5629 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5630 echo " If you believe this message is in error you may use the continue"
5631 echo " switch (-continue) to $0 to continue."
5632 exit 101
5633 else
5634 CFG_INOTIFY=no
5639 # find if the platform provides if_nametoindex (ipv6 interface name support)
5640 if [ "$CFG_IPV6IFNAME" != "no" ]; then
5641 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
5642 CFG_IPV6IFNAME=yes
5643 else
5644 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5645 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
5646 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5647 echo " If you believe this message is in error you may use the continue"
5648 echo " switch (-continue) to $0 to continue."
5649 exit 101
5650 else
5651 CFG_IPV6IFNAME=no
5656 # find if the platform provides getifaddrs (network interface enumeration)
5657 if [ "$CFG_GETIFADDRS" != "no" ]; then
5658 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
5659 CFG_GETIFADDRS=yes
5660 else
5661 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5662 echo "getifaddrs support cannot be enabled due to functionality tests!"
5663 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5664 echo " If you believe this message is in error you may use the continue"
5665 echo " switch (-continue) to $0 to continue."
5666 exit 101
5667 else
5668 CFG_GETIFADDRS=no
5673 # find if the platform supports X/Open Large File compilation environment
5674 if [ "$CFG_LARGEFILE" != "no" ]; then
5675 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
5676 CFG_LARGEFILE=yes
5677 else
5678 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5679 echo "X/Open Large File support cannot be enabled due to functionality tests!"
5680 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5681 echo " If you believe this message is in error you may use the continue"
5682 echo " switch (-continue) to $0 to continue."
5683 exit 101
5684 else
5685 CFG_LARGEFILE=no
5690 # detect OpenSSL
5691 if [ "$CFG_OPENSSL" != "no" ]; then
5692 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/openssl "OpenSSL" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
5693 if [ "$CFG_OPENSSL" = "auto" ]; then
5694 CFG_OPENSSL=yes
5696 else
5697 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5698 echo "OpenSSL support cannot be enabled due to functionality tests!"
5699 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5700 echo " If you believe this message is in error you may use the continue"
5701 echo " switch (-continue) to $0 to continue."
5702 exit 101
5703 else
5704 CFG_OPENSSL=no
5709 # detect OpenVG support
5710 if [ "$CFG_OPENVG" != "no" ]; then
5711 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
5712 if [ "$CFG_OPENVG" = "auto" ]; then
5713 CFG_OPENVG=yes
5715 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG openvg_on_opengl" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
5716 if [ "$CFG_OPENVG" = "auto" ]; then
5717 CFG_OPENVG=yes
5719 CFG_OPENVG_ON_OPENGL=yes
5720 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG lower_case_includes" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG (lc includes)" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
5721 if [ "$CFG_OPENVG" = "auto" ]; then
5722 CFG_OPENVG=yes
5724 CFG_OPENVG_LC_INCLUDES=yes
5725 elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG openvg_on_opengl lower_case_includes" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG (lc includes)" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
5726 if [ "$CFG_OPENVG" = "auto" ]; then
5727 CFG_OPENVG=yes
5729 CFG_OPENVG_LC_INCLUDES=yes
5730 CFG_OPENVG_ON_OPENGL=yes
5731 else
5732 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5733 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
5734 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5735 echo " If you believe this message is in error you may use the continue"
5736 echo " switch (-continue) to $0 to continue."
5737 exit 101
5738 else
5739 CFG_OPENVG=no
5742 if [ "$CFG_OPENVG" == "yes" ] && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/shivavg" "ShivaVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
5743 CFG_OPENVG_SHIVA=yes
5747 # if openvg is disabled and the user specified graphicssystem vg, disable it...
5748 if [ "$CFG_GRAPHICS_SYSTEM" = "openvg" ] && [ "$CFG_OPENVG" = "no" ]; then
5749 echo "OpenVG Graphics System is disabled due to missing OpenVG support..."
5750 CFG_GRAPHICS_SYSTEM=default
5753 if [ "$CFG_PTMALLOC" != "no" ]; then
5754 # build ptmalloc, copy .a file to lib/
5755 echo "Building ptmalloc. Please wait..."
5756 (cd "$relpath/src/3rdparty/ptmalloc/"; "$MAKE" "clean" ; "$MAKE" "posix"
5757 mkdir "$outpath/lib/" ; cp "libptmalloc3.a" "$outpath/lib/")
5759 QMakeVar add QMAKE_LFLAGS "$outpath/lib/libptmalloc3.a"
5762 if [ "$CFG_ALSA" = "auto" ]; then
5763 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
5764 CFG_ALSA=yes
5765 else
5766 CFG_ALSA=no
5770 #-------------------------------------------------------------------------------
5771 # ask for all that hasn't been auto-detected or specified in the arguments
5772 #-------------------------------------------------------------------------------
5774 ### fix this: user input should be validated in a loop
5775 if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PLATFORM_QWS" = "yes" ]; then
5776 echo
5777 echo "Choose pixel-depths to support:"
5778 echo
5779 echo " 1. 1bpp, black/white"
5780 echo " 4. 4bpp, grayscale"
5781 echo " 8. 8bpp, paletted"
5782 echo " 12. 12bpp, rgb 4-4-4"
5783 echo " 15. 15bpp, rgb 5-5-5"
5784 echo " 16. 16bpp, rgb 5-6-5"
5785 echo " 18. 18bpp, rgb 6-6-6"
5786 echo " 24. 24bpp, rgb 8-8-8"
5787 echo " 32. 32bpp, argb 8-8-8-8 and rgb 8-8-8"
5788 echo " all. All supported depths"
5789 echo
5790 echo "Your choices (default 8,16,32):"
5791 read CFG_QWS_DEPTHS
5792 if [ -z "$CFG_QWS_DEPTHS" ] || [ "$CFG_QWS_DEPTHS" = "yes" ]; then
5793 CFG_QWS_DEPTHS=8,16,32
5796 if [ -n "$CFG_QWS_DEPTHS" -a "$PLATFORM_QWS" = "yes" ]; then
5797 if [ "$CFG_QWS_DEPTHS" = "all" ]; then
5798 CFG_QWS_DEPTHS="1 4 8 12 15 16 18 24 32 generic"
5800 for D in `echo "$CFG_QWS_DEPTHS" | sed -e 's/,/ /g'`; do
5801 case $D in
5802 1|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
5803 generic) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_GENERIC";;
5804 esac
5805 done
5808 # enable dwarf2 support on Mac
5809 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
5810 QT_CONFIG="$QT_CONFIG dwarf2"
5813 # Set the default arch.
5814 # Carbon builds: 32 bit x86/ppc.
5815 # For "-cocoa" builds on snow leopard : compiler default (64-bit).
5816 # For "-cocoa" builds on leopard : compiler default (32-bit).
5817 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_ARCHS" == "" ]; then
5818 source "$mactests/defaultarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests"
5820 if [ "$CFG_MAC_COCOA" != "yes" ]; then
5821 if [ "$QT_MAC_DEFAULT_ARCH" == "x86_64" ]; then
5822 CFG_MAC_ARCHS=" x86"
5823 elif [ "$QT_MAC_DEFAULT_ARCH" == "ppc64" ]; then
5824 CFG_MAC_ARCHS=" ppc"
5825 else
5826 CFG_MAC_ARCHS=" $QT_MAC_DEFAULT_ARCH"
5828 else
5829 CFG_MAC_ARCHS=" $QT_MAC_DEFAULT_ARCH"
5832 [ "$OPT_VERBOSE" == "yes" ] && echo "Setting Mac architechture to$CFG_MAC_ARCHS."
5835 # enable cocoa and/or carbon on Mac
5836 if [ "$CFG_MAC_COCOA" = "yes" ]; then
5837 # -cocoa on the command line disables carbon completely (i.e. use cocoa for 32-bit as well)
5838 CFG_MAC_CARBON="no"
5839 else
5840 # check which archs are in use, enable cocoa if we find a 64-bit one
5841 if echo "$CFG_MAC_ARCHS" | grep 64 > /dev/null 2>&1; then
5842 CFG_MAC_COCOA="yes";
5843 CFG_MAC_CARBON="no";
5844 if echo "$CFG_MAC_ARCHS" | grep -w ppc > /dev/null 2>&1; then
5845 CFG_MAC_CARBON="yes";
5847 if echo "$CFG_MAC_ARCHS" | grep -w x86 > /dev/null 2>&1; then
5848 CFG_MAC_CARBON="yes";
5850 else
5851 # no 64-bit archs found.
5852 CFG_MAC_COCOA="no"
5856 # set the global Mac deployment target. This is overridden on an arch-by-arch basis
5857 # in some cases, see code further down
5858 case "$PLATFORM,$CFG_MAC_COCOA" in
5859 macx*,yes)
5860 # Cocoa
5861 QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET 10.5
5862 CFG_QT3SUPPORT="no"
5864 macx*,no)
5865 # gcc, Carbon
5866 QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET 10.4
5868 esac
5870 # disable Qt 3 support on VxWorks
5871 case "$XPLATFORM" in
5872 unsupported/vxworks*)
5873 CFG_QT3SUPPORT="no"
5875 esac
5877 # enable Qt 3 support functionality
5878 if [ "$CFG_QT3SUPPORT" = "yes" ]; then
5879 QT_CONFIG="$QT_CONFIG qt3support"
5882 # enable Phonon
5883 if [ "$CFG_PHONON" = "yes" ]; then
5884 QT_CONFIG="$QT_CONFIG phonon"
5885 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
5886 QT_CONFIG="$QT_CONFIG phonon-backend"
5888 else
5889 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PHONON"
5892 # disable accessibility
5893 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
5894 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
5895 else
5896 QT_CONFIG="$QT_CONFIG accessibility"
5899 # enable egl
5900 if [ "$CFG_EGL" = "no" ]; then
5901 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
5902 else
5903 QT_CONFIG="$QT_CONFIG egl"
5904 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
5905 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GLES_EGL"
5909 # enable openvg
5910 if [ "$CFG_OPENVG" = "no" ]; then
5911 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
5912 else
5913 QT_CONFIG="$QT_CONFIG openvg"
5914 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
5915 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
5917 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
5918 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
5920 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
5921 QT_CONFIG="$QT_CONFIG shivavg"
5922 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
5926 # enable opengl
5927 if [ "$CFG_OPENGL" = "no" ]; then
5928 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
5929 else
5930 QT_CONFIG="$QT_CONFIG opengl"
5933 if [ "$CFG_OPENGL" = "es1" ] || [ "$CFG_OPENGL" = "es1cl" ] || [ "$CFG_OPENGL" = "es2" ]; then
5934 if [ "$PLATFORM_QWS" = "yes" ]; then
5935 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_BACKINGSTORE_SUBSURFACES"
5936 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_USE_EGLWINDOWSURFACE"
5938 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
5941 if [ "$CFG_OPENGL" = "es1" ]; then
5942 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_1"
5943 QT_CONFIG="$QT_CONFIG opengles1"
5946 if [ "$CFG_OPENGL" = "es1cl" ]; then
5947 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_1_CL"
5948 QT_CONFIG="$QT_CONFIG opengles1cl"
5951 if [ "$CFG_OPENGL" = "es2" ]; then
5952 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5953 QT_CONFIG="$QT_CONFIG opengles2"
5956 # safe execution environment
5957 if [ "$CFG_SXE" != "no" ]; then
5958 QT_CONFIG="$QT_CONFIG sxe"
5961 # build up the variables for output
5962 if [ "$CFG_DEBUG" = "yes" ]; then
5963 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
5964 QMAKE_CONFIG="$QMAKE_CONFIG debug"
5965 elif [ "$CFG_DEBUG" = "no" ]; then
5966 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
5967 QMAKE_CONFIG="$QMAKE_CONFIG release"
5969 if [ "$CFG_SHARED" = "yes" ]; then
5970 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
5971 QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
5972 elif [ "$CFG_SHARED" = "no" ]; then
5973 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
5974 QMAKE_CONFIG="$QMAKE_CONFIG static"
5976 if [ "$PLATFORM_QWS" = "yes" ]; then
5977 QMAKE_OUTDIR="${QMAKE_OUTDIR}-emb-$CFG_EMBEDDED"
5978 QMAKE_CONFIG="$QMAKE_CONFIG embedded"
5979 QT_CONFIG="$QT_CONFIG embedded"
5980 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5982 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
5983 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
5984 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
5985 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
5986 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
5987 if [ "$CFG_LARGEFILE" = "yes" ]; then
5988 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
5990 if [ "$CFG_STL" = "no" ]; then
5991 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STL"
5992 else
5993 QMAKE_CONFIG="$QMAKE_CONFIG stl"
5995 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
5996 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
5998 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
5999 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
6000 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
6001 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
6002 QMakeVar add QMAKE_CFLAGS -g
6003 QMakeVar add QMAKE_CXXFLAGS -g
6004 QMAKE_CONFIG="$QMAKE_CONFIG separate_debug_info"
6006 [ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mmx"
6007 [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow"
6008 [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse"
6009 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
6010 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
6011 [ "$PLATFORM_MAC" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG $CFG_MAC_ARCHS"
6012 if [ "$CFG_IPV6" = "yes" ]; then
6013 QT_CONFIG="$QT_CONFIG ipv6"
6015 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
6016 QT_CONFIG="$QT_CONFIG clock-gettime"
6018 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
6019 QT_CONFIG="$QT_CONFIG clock-monotonic"
6021 if [ "$CFG_MREMAP" = "yes" ]; then
6022 QT_CONFIG="$QT_CONFIG mremap"
6024 if [ "$CFG_GETADDRINFO" = "yes" ]; then
6025 QT_CONFIG="$QT_CONFIG getaddrinfo"
6027 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
6028 QT_CONFIG="$QT_CONFIG ipv6ifname"
6030 if [ "$CFG_GETIFADDRS" = "yes" ]; then
6031 QT_CONFIG="$QT_CONFIG getifaddrs"
6033 if [ "$CFG_INOTIFY" = "yes" ]; then
6034 QT_CONFIG="$QT_CONFIG inotify"
6036 if [ "$CFG_LIBJPEG" = "no" ]; then
6037 CFG_JPEG="no"
6038 elif [ "$CFG_LIBJPEG" = "system" ]; then
6039 QT_CONFIG="$QT_CONFIG system-jpeg"
6041 if [ "$CFG_JPEG" = "no" ]; then
6042 QT_CONFIG="$QT_CONFIG no-jpeg"
6043 elif [ "$CFG_JPEG" = "yes" ]; then
6044 QT_CONFIG="$QT_CONFIG jpeg"
6046 if [ "$CFG_LIBMNG" = "no" ]; then
6047 CFG_MNG="no"
6048 elif [ "$CFG_LIBMNG" = "system" ]; then
6049 QT_CONFIG="$QT_CONFIG system-mng"
6051 if [ "$CFG_MNG" = "no" ]; then
6052 QT_CONFIG="$QT_CONFIG no-mng"
6053 elif [ "$CFG_MNG" = "yes" ]; then
6054 QT_CONFIG="$QT_CONFIG mng"
6056 if [ "$CFG_LIBPNG" = "no" ]; then
6057 CFG_PNG="no"
6059 if [ "$CFG_LIBPNG" = "system" ]; then
6060 QT_CONFIG="$QT_CONFIG system-png"
6062 if [ "$CFG_PNG" = "no" ]; then
6063 QT_CONFIG="$QT_CONFIG no-png"
6064 elif [ "$CFG_PNG" = "yes" ]; then
6065 QT_CONFIG="$QT_CONFIG png"
6067 if [ "$CFG_GIF" = "no" ]; then
6068 QT_CONFIG="$QT_CONFIG no-gif"
6069 elif [ "$CFG_GIF" = "yes" ]; then
6070 QT_CONFIG="$QT_CONFIG gif"
6072 if [ "$CFG_LIBTIFF" = "no" ]; then
6073 CFG_TIFF="no"
6074 elif [ "$CFG_LIBTIFF" = "system" ]; then
6075 QT_CONFIG="$QT_CONFIG system-tiff"
6077 if [ "$CFG_TIFF" = "no" ]; then
6078 QT_CONFIG="$QT_CONFIG no-tiff"
6079 elif [ "$CFG_TIFF" = "yes" ]; then
6080 QT_CONFIG="$QT_CONFIG tiff"
6082 if [ "$CFG_LIBFREETYPE" = "no" ]; then
6083 QT_CONFIG="$QT_CONFIG no-freetype"
6084 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
6085 QT_CONFIG="$QT_CONFIG system-freetype"
6086 else
6087 QT_CONFIG="$QT_CONFIG freetype"
6090 if [ "x$PLATFORM_MAC" = "xyes" ]; then
6091 #On Mac we implicitly link against libz, so we
6092 #never use the 3rdparty stuff.
6093 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
6095 if [ "$CFG_ZLIB" = "yes" ]; then
6096 QT_CONFIG="$QT_CONFIG zlib"
6097 elif [ "$CFG_ZLIB" = "system" ]; then
6098 QT_CONFIG="$QT_CONFIG system-zlib"
6101 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
6102 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
6103 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
6104 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
6105 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
6106 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
6107 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
6108 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
6109 [ "$CFG_NAS" = "system" ] && QT_CONFIG="$QT_CONFIG nas"
6110 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
6111 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
6113 if [ "$PLATFORM_X11" = "yes" ]; then
6114 [ "$CFG_SM" = "yes" ] && QT_CONFIG="$QT_CONFIG x11sm"
6116 # for some reason, the following libraries are not always built shared,
6117 # so *every* program/lib (including Qt) has to link against them
6118 if [ "$CFG_XSHAPE" = "yes" ]; then
6119 QT_CONFIG="$QT_CONFIG xshape"
6121 if [ "$CFG_XSYNC" = "yes" ]; then
6122 QT_CONFIG="$QT_CONFIG xsync"
6124 if [ "$CFG_XINERAMA" = "yes" ]; then
6125 QT_CONFIG="$QT_CONFIG xinerama"
6126 QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11'
6128 if [ "$CFG_XCURSOR" = "yes" ]; then
6129 QT_CONFIG="$QT_CONFIG xcursor"
6130 QMakeVar set QMAKE_LIBS_X11 '-lXcursor $$QMAKE_LIBS_X11'
6132 if [ "$CFG_XFIXES" = "yes" ]; then
6133 QT_CONFIG="$QT_CONFIG xfixes"
6134 QMakeVar set QMAKE_LIBS_X11 '-lXfixes $$QMAKE_LIBS_X11'
6136 if [ "$CFG_XRANDR" = "yes" ]; then
6137 QT_CONFIG="$QT_CONFIG xrandr"
6138 if [ "$CFG_XRENDER" != "yes" ]; then
6139 # libXrandr uses 1 function from libXrender, so we always have to have it :/
6140 QMakeVar set QMAKE_LIBS_X11 '-lXrandr -lXrender $$QMAKE_LIBS_X11'
6141 else
6142 QMakeVar set QMAKE_LIBS_X11 '-lXrandr $$QMAKE_LIBS_X11'
6145 if [ "$CFG_XRENDER" = "yes" ]; then
6146 QT_CONFIG="$QT_CONFIG xrender"
6147 QMakeVar set QMAKE_LIBS_X11 '-lXrender $$QMAKE_LIBS_X11'
6149 if [ "$CFG_MITSHM" = "yes" ]; then
6150 QT_CONFIG="$QT_CONFIG mitshm"
6152 if [ "$CFG_FONTCONFIG" = "yes" ]; then
6153 QT_CONFIG="$QT_CONFIG fontconfig"
6155 if [ "$CFG_XINPUT" = "yes" ]; then
6156 QMakeVar set QMAKE_LIBS_X11 '-lXi $$QMAKE_LIBS_X11'
6158 if [ "$CFG_XINPUT" = "yes" ]; then
6159 QT_CONFIG="$QT_CONFIG xinput tablet"
6161 if [ "$CFG_XKB" = "yes" ]; then
6162 QT_CONFIG="$QT_CONFIG xkb"
6166 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS"
6167 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
6168 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
6170 if [ "$PLATFORM_MAC" = "yes" ]; then
6171 if [ "$CFG_RPATH" = "yes" ]; then
6172 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
6174 elif [ -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_RPATH | awk '{print $3;}'`" ]; then
6175 if [ -n "$RPATH_FLAGS" ]; then
6176 echo
6177 echo "ERROR: -R cannot be used on this platform as \$QMAKE_RPATH is"
6178 echo " undefined."
6179 echo
6180 exit 1
6181 elif [ "$CFG_RPATH" = "yes" ]; then
6182 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
6183 CFG_RPATH=no
6185 else
6186 if [ "$CFG_RPATH" = "yes" ]; then
6187 # set the default rpath to the library installation directory
6188 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
6190 if [ -n "$RPATH_FLAGS" ]; then
6191 # add the user defined rpaths
6192 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
6196 if [ '!' -z "$I_FLAGS" ]; then
6197 # add the user define include paths
6198 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
6199 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
6202 # turn off exceptions for the compilers that support it
6203 if [ "$PLATFORM_QWS" = "yes" ]; then
6204 COMPILER=`echo $XPLATFORM | cut -f 3- -d-`
6205 else
6206 COMPILER=`echo $PLATFORM | cut -f 2- -d-`
6208 if [ "$CFG_EXCEPTIONS" = "unspecified" -a "$PLATFORM_QWS" = "yes" ]; then
6209 CFG_EXCEPTIONS=no
6212 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6213 QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
6216 if [ "$CFG_ALSA" = "yes" ]; then
6217 QT_CONFIG="$QT_CONFIG alsa"
6221 # Some Qt modules are too advanced in C++ for some old compilers
6222 # Detect here the platforms where they are known to work.
6224 # See Qt documentation for more information on which features are
6225 # supported and on which compilers.
6227 canBuildQtXmlPatterns="yes"
6228 canBuildWebKit="$HAVE_STL"
6229 canBuildQtConcurrent="yes"
6231 # WebKit requires stdint.h
6232 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stdint "Stdint" $L_FLAGS $I_FLAGS $l_FLAGS
6233 if [ $? != "0" ]; then
6234 canBuildWebKit="no"
6237 case "$XPLATFORM" in
6238 hpux-g++*)
6239 # PA-RISC's assembly is too limited
6240 # gcc 3.4 on that platform can't build QtXmlPatterns
6241 # the assembly it generates cannot be compiled
6243 # Check gcc's version
6244 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
6247 3.4*)
6248 canBuildQtXmlPatterns="no"
6251 canBuildWebKit="no"
6252 canBuildQtXmlPatterns="no"
6254 esac
6256 unsupported/vxworks-*-g++*)
6257 canBuildWebKit="no"
6259 unsupported/vxworks-*-dcc*)
6260 canBuildWebKit="no"
6261 canBuildQtXmlPatterns="no"
6263 *-g++*)
6264 # Check gcc's version
6265 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
6266 4*|3.4*)
6268 3.3*)
6269 canBuildWebKit="no"
6272 canBuildWebKit="no"
6273 canBuildQtXmlPatterns="no"
6275 esac
6277 solaris-cc*)
6278 # Check the compiler version
6279 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
6280 5.[012345678])
6281 canBuildWebKit="no"
6282 canBuildQtXmlPatterns="no"
6283 canBuildQtConcurrent="no"
6285 5.9)
6286 canBuildWebKit="no"
6287 canBuildQtConcurrent="no"
6289 esac
6291 hpux-acc*)
6292 canBuildWebKit="no"
6293 canBuildQtXmlPatterns="no"
6294 canBuildQtConcurrent="no"
6296 hpuxi-acc*)
6297 canBuildWebKit="no"
6299 aix-xlc*)
6300 # Get the xlC version
6301 cat > xlcver.c <<EOF
6302 #include <stdio.h>
6303 int main()
6305 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
6306 return 0;
6309 xlcver=
6310 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
6311 xlcver=`./xlcver 2>/dev/null`
6312 rm -f ./xlcver
6314 if [ "$OPT_VERBOSE" = "yes" ]; then
6315 if [ -n "$xlcver" ]; then
6316 echo Found IBM xlC version: $xlcver.
6317 else
6318 echo Could not determine IBM xlC version, assuming oldest supported.
6322 case "$xlcver" in
6323 [123456].*)
6324 canBuildWebKit="no"
6325 canBuildQtXmlPatterns="no"
6326 canBuildQtConcurrent="no"
6329 canBuildWebKit="no"
6330 canBuildQtConcurrent="no"
6332 esac
6334 irix-cc*)
6335 canBuildWebKit="no"
6336 canBuildQtConcurrent="no"
6338 esac
6340 CFG_CONCURRENT="yes"
6341 if [ "$canBuildQtConcurrent" = "no" ]; then
6342 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
6343 CFG_CONCURRENT="no"
6346 if [ "$CFG_XMLPATTERNS" = "yes" -a "$CFG_EXCEPTIONS" = "no" ]; then
6347 echo "QtXmlPatterns was requested, but it can't be built due to exceptions being disabled."
6348 exit 1
6350 if [ "$CFG_XMLPATTERNS" = "auto" -a "$CFG_EXCEPTIONS" != "no" ]; then
6351 CFG_XMLPATTERNS="$canBuildQtXmlPatterns"
6352 elif [ "$CFG_EXCEPTIONS" = "no" ]; then
6353 CFG_XMLPATTERNS="no"
6355 if [ "$CFG_XMLPATTERNS" = "yes" ]; then
6356 QT_CONFIG="$QT_CONFIG xmlpatterns"
6357 else
6358 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XMLPATTERNS"
6361 if [ "$CFG_MULTIMEDIA" = "no" ]; then
6362 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MULTIMEDIA"
6363 else
6364 QT_CONFIG="$QT_CONFIG multimedia"
6367 if [ "$CFG_SVG" = "yes" ]; then
6368 QT_CONFIG="$QT_CONFIG svg"
6369 else
6370 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SVG"
6373 if [ "$CFG_WEBKIT" = "auto" ]; then
6374 CFG_WEBKIT="$canBuildWebKit"
6377 if [ "$CFG_WEBKIT" = "yes" ]; then
6378 QT_CONFIG="$QT_CONFIG webkit"
6379 # The reason we set CFG_WEBKIT, is such that the printed overview of what will be enabled, shows correctly.
6380 CFG_WEBKIT="yes"
6381 else
6382 CFG_WEBKIT="no"
6383 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_WEBKIT"
6386 if [ "$CFG_SCRIPT" = "auto" ]; then
6387 CFG_SCRIPT="$canBuildWebKit"
6390 if [ "$CFG_SCRIPT" = "yes" ]; then
6391 QT_CONFIG="$QT_CONFIG script"
6392 else
6393 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SCRIPT"
6396 if [ "$CFG_SCRIPTTOOLS" = "yes" -a "$CFG_SCRIPT" = "no" ]; then
6397 echo "QtScriptTools was requested, but it can't be built due to QtScript being disabled."
6398 exit 1
6400 if [ "$CFG_SCRIPTTOOLS" = "auto" -a "$CFG_SCRIPT" != "no" ]; then
6401 CFG_SCRIPTTOOLS="yes"
6402 elif [ "$CFG_SCRIPT" = "no" ]; then
6403 CFG_SCRIPTTOOLS="no"
6406 if [ "$CFG_SCRIPTTOOLS" = "yes" ]; then
6407 QT_CONFIG="$QT_CONFIG scripttools"
6408 else
6409 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SCRIPTTOOLS"
6412 if [ "$CFG_EXCEPTIONS" = "no" ]; then
6413 case "$COMPILER" in
6414 g++*)
6415 QMakeVar add QMAKE_CFLAGS -fno-exceptions
6416 QMakeVar add QMAKE_CXXFLAGS -fno-exceptions
6417 QMakeVar add QMAKE_LFLAGS -fno-exceptions
6419 cc*)
6420 case "$PLATFORM" in
6421 irix-cc*)
6422 QMakeVar add QMAKE_CFLAGS -LANG:exceptions=off
6423 QMakeVar add QMAKE_CXXFLAGS -LANG:exceptions=off
6424 QMakeVar add QMAKE_LFLAGS -LANG:exceptions=off
6426 *) ;;
6427 esac
6429 *) ;;
6430 esac
6431 QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off"
6434 # On Mac, set the minimum deployment target for the different architechtures
6435 # using the Xarch compiler option when supported (10.5 and up). On 10.4 the
6436 # deployment version is set to 10.4 globally using the QMAKE_MACOSX_DEPLOYMENT_TARGET
6437 # env. variable. "-cocoa" on the command line means Cocoa is used in 32-bit mode also,
6438 # in this case fall back on QMAKE_MACOSX_DEPLOYMENT_TARGET which will be set to 10.5.
6439 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_XARCH" != "no" ] && [ "$COMMANDLINE_MAC_COCOA" != "yes" ]; then
6440 if echo "$CFG_MAC_ARCHS" | grep '\<x86\>' > /dev/null 2>&1; then
6441 QMakeVar add QMAKE_CFLAGS "-Xarch_i386 -mmacosx-version-min=10.4"
6442 QMakeVar add QMAKE_CXXFLAGS "-Xarch_i386 -mmacosx-version-min=10.4"
6443 QMakeVar add QMAKE_LFLAGS "-Xarch_i386 -mmacosx-version-min=10.4"
6444 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_X86 "-arch i386 -Xarch_i386 -mmacosx-version-min=10.4"
6446 if echo "$CFG_MAC_ARCHS" | grep '\<ppc\>' > /dev/null 2>&1; then
6447 QMakeVar add QMAKE_CFLAGS "-Xarch_ppc -mmacosx-version-min=10.4"
6448 QMakeVar add QMAKE_CXXFLAGS "-Xarch_ppc -mmacosx-version-min=10.4"
6449 QMakeVar add QMAKE_LFLAGS "-Xarch_ppc -mmacosx-version-min=10.4"
6450 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_PPC "-arch ppc -Xarch_ppc -mmacosx-version-min=10.4"
6452 if echo "$CFG_MAC_ARCHS" | grep '\<x86_64\>' > /dev/null 2>&1; then
6453 QMakeVar add QMAKE_CFLAGS "-Xarch_x86_64 -mmacosx-version-min=10.5"
6454 QMakeVar add QMAKE_CXXFLAGS "-Xarch_x86_64 -mmacosx-version-min=10.5"
6455 QMakeVar add QMAKE_LFLAGS "-Xarch_x86_64 -mmacosx-version-min=10.5"
6456 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_X86_64 "-arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5"
6458 if echo "$CFG_MAC_ARCHS" | grep '\<ppc64\>' > /dev/null 2>&1; then
6459 QMakeVar add QMAKE_CFLAGS "-Xarch_ppc64 -mmacosx-version-min=10.5"
6460 QMakeVar add QMAKE_CXXFLAGS "-Xarch_ppc64 -mmacosx-version-min=10.5"
6461 QMakeVar add QMAKE_LFLAGS "-Xarch_ppc64 -mmacosx-version-min=10.5"
6462 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_PPC_64 "-arch ppc64 -Xarch_ppc64 -mmacosx-version-min=10.5"
6466 #-------------------------------------------------------------------------------
6467 # generate QT_BUILD_KEY
6468 #-------------------------------------------------------------------------------
6470 # some compilers generate binary incompatible code between different versions,
6471 # so we need to generate a build key that is different between these compilers
6472 case "$COMPILER" in
6473 g++*)
6474 # GNU C++
6475 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
6477 case "$COMPILER_VERSION" in
6478 *.*.*)
6479 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
6480 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
6481 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
6483 *.*)
6484 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
6485 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
6486 QT_GCC_PATCH_VERSION=0
6488 esac
6490 case "$COMPILER_VERSION" in
6491 2.95.*)
6492 COMPILER_VERSION="2.95.*"
6494 3.*)
6495 COMPILER_VERSION="3.*"
6497 4.*)
6498 COMPILER_VERSION="4"
6502 esac
6503 [ '!' -z "$COMPILER_VERSION" ] && COMPILER="g++-${COMPILER_VERSION}"
6508 esac
6510 # QT_CONFIG can contain the following:
6512 # Things that affect the Qt API/ABI:
6514 # Options:
6515 # minimal-config small-config medium-config large-config full-config
6517 # Different edition modules:
6518 # network canvas table xml opengl sql
6520 # Things that do not affect the Qt API/ABI:
6521 # stl
6522 # system-jpeg no-jpeg jpeg
6523 # system-mng no-mng mng
6524 # system-png no-png png
6525 # system-zlib no-zlib zlib
6526 # system-libtiff no-libtiff
6527 # no-gif gif
6528 # debug release
6529 # dll staticlib
6531 # nocrosscompiler
6532 # GNUmake
6533 # largefile
6534 # nis
6535 # nas
6536 # tablet
6537 # ipv6
6539 # X11 : x11sm xinerama xcursor xfixes xrandr xrender mitshm fontconfig xkb
6540 # Embedded: embedded freetype
6542 ALL_OPTIONS=
6543 BUILD_CONFIG=
6544 BUILD_OPTIONS=
6546 # determine the build options
6547 for config_option in $QMAKE_CONFIG $QT_CONFIG; do
6548 SKIP="yes"
6549 case "$config_option" in
6550 *-config)
6551 # take the last *-config setting. this is the highest config being used,
6552 # and is the one that we will use for tagging plugins
6553 BUILD_CONFIG="$config_option"
6556 *) # skip all other options since they don't affect the Qt API/ABI.
6558 esac
6560 if [ "$SKIP" = "no" ]; then
6561 BUILD_OPTIONS="$BUILD_OPTIONS $config_option"
6563 done
6565 # put the options that we are missing into .options
6566 rm -f .options
6567 for opt in `echo $ALL_OPTIONS`; do
6568 SKIP="no"
6569 if echo $BUILD_OPTIONS | grep $opt >/dev/null 2>&1; then
6570 SKIP="yes"
6572 if [ "$SKIP" = "no" ]; then
6573 echo "$opt" >> .options
6575 done
6577 # reconstruct BUILD_OPTIONS with a sorted negative feature list
6578 # (ie. only things that are missing are will be put into the build key)
6579 BUILD_OPTIONS=
6580 if [ -f .options ]; then
6581 for opt in `sort -f .options | uniq`; do
6582 BUILD_OPTIONS="$BUILD_OPTIONS no-$opt"
6583 done
6585 rm -f .options
6587 # QT_NO* defines affect the Qt API (and binary compatibility). they need
6588 # to be included in the build key
6589 for build_option in $D_FLAGS; do
6590 build_option=`echo $build_option | cut -d \" -f 2 -`
6591 case "$build_option" in
6592 QT_NO*)
6593 echo "$build_option" >> .options
6596 # skip all other compiler defines
6598 esac
6599 done
6601 # sort the compile time defines (helps ensure that changes in this configure
6602 # script don't affect the QT_BUILD_KEY generation)
6603 if [ -f .options ]; then
6604 for opt in `sort -f .options | uniq`; do
6605 BUILD_OPTIONS="$BUILD_OPTIONS $opt"
6606 done
6608 rm -f .options
6610 BUILD_OPTIONS="$BUILD_CONFIG $BUILD_OPTIONS"
6611 # extract the operating system from the XPLATFORM
6612 TARGET_OPERATING_SYSTEM=`echo $XPLATFORM | cut -f 2- -d/ | cut -f -1 -d-`
6614 # when cross-compiling, don't include build-host information (build key is target specific)
6615 QT_BUILD_KEY="$CFG_USER_BUILD_KEY $CFG_ARCH $TARGET_OPERATING_SYSTEM $COMPILER $BUILD_OPTIONS"
6616 if [ -n "$QT_NAMESPACE" ]; then
6617 QT_BUILD_KEY="$QT_BUILD_KEY $QT_NAMESPACE"
6619 MAC_NEED_TWO_BUILD_KEYS="no"
6620 if [ "$PLATFORM_MAC" = "yes" -a "$CFG_MAC_COCOA" = "yes" ]; then
6621 QT_BUILD_KEY_CARBON=$QT_BUILD_KEY
6622 TARGET_OPERATING_SYSTEM="$TARGET_OPERATING_SYSTEM-cocoa"
6623 QT_BUILD_KEY_COCOA="$CFG_USER_BUILD_KEY $CFG_ARCH $TARGET_OPERATING_SYSTEM $COMPILER $BUILD_OPTIONS"
6624 if [ "$CFG_MAC_CARBON" = "no" ]; then
6625 QT_BUILD_KEY=$QT_BUILD_KEY_COCOA
6626 else
6627 MAC_NEED_TWO_BUILD_KEYS="yes"
6630 # don't break loading plugins build with an older version of Qt
6631 QT_BUILD_KEY_COMPAT=
6632 if [ "$QT_CROSS_COMPILE" = "no" ]; then
6633 # previous versions of Qt used a build key built from the uname
6634 QT_BUILD_KEY_COMPAT="$CFG_USER_BUILD_KEY $UNAME_MACHINE $UNAME_SYSTEM $COMPILER $BUILD_OPTIONS"
6635 if [ -n "$QT_NAMESPACE" ]; then
6636 QT_BUILD_KEY_COMPAT="$QT_BUILD_KEY_COMPAT $QT_NAMESPACE"
6639 # strip out leading/trailing/extra whitespace
6640 QT_BUILD_KEY=`echo $QT_BUILD_KEY | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
6641 QT_BUILD_KEY_COMPAT=`echo $QT_BUILD_KEY_COMPAT | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
6643 #-------------------------------------------------------------------------------
6644 # part of configuration information goes into qconfig.h
6645 #-------------------------------------------------------------------------------
6647 case "$CFG_QCONFIG" in
6648 full)
6649 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
6652 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
6653 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
6654 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
6655 echo "#endif" >>"$tmpconfig"
6657 esac
6659 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6661 /* Qt Edition */
6662 #ifndef QT_EDITION
6663 # define QT_EDITION $QT_EDITION
6664 #endif
6666 /* Machine byte-order */
6667 #define Q_BIG_ENDIAN 4321
6668 #define Q_LITTLE_ENDIAN 1234
6671 if [ "$MAC_NEED_TWO_BUILD_KEYS" = "no" ]; then
6672 echo "#define QT_BUILD_KEY \"$QT_BUILD_KEY\"" \
6673 >> "$outpath/src/corelib/global/qconfig.h.new"
6674 else
6675 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6677 #define QT_BUILD_KEY_CARBON "$QT_BUILD_KEY_CARBON"
6678 #define QT_BUILD_KEY_COCOA "$QT_BUILD_KEY_COCOA"
6682 if [ -n "$QT_BUILD_KEY_COMPAT" ]; then
6683 echo "#define QT_BUILD_KEY_COMPAT \"$QT_BUILD_KEY_COMPAT\"" \
6684 >> "$outpath/src/corelib/global/qconfig.h.new"
6686 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6688 echo "#ifdef QT_BOOTSTRAPPED" >>"$outpath/src/corelib/global/qconfig.h.new"
6689 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
6690 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6691 #if defined(__BIG_ENDIAN__)
6692 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6693 #elif defined(__LITTLE_ENDIAN__)
6694 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6695 #else
6696 # error "Unable to determine byte order!"
6697 #endif
6699 else
6700 echo "#define Q_BYTE_ORDER $CFG_HOST_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6702 echo "#else" >>"$outpath/src/corelib/global/qconfig.h.new"
6703 if [ "$CFG_ENDIAN" = "auto" ]; then
6704 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6705 #if defined(__BIG_ENDIAN__)
6706 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6707 #elif defined(__LITTLE_ENDIAN__)
6708 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6709 #else
6710 # error "Unable to determine byte order!"
6711 #endif
6713 else
6714 echo "#define Q_BYTE_ORDER $CFG_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6716 echo "#endif" >>"$outpath/src/corelib/global/qconfig.h.new"
6718 if [ "$CFG_DOUBLEFORMAT" != "normal" ]; then
6719 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6720 /* Non-IEEE double format */
6721 #define Q_DOUBLE_LITTLE "01234567"
6722 #define Q_DOUBLE_BIG "76543210"
6723 #define Q_DOUBLE_LITTLE_SWAPPED "45670123"
6724 #define Q_DOUBLE_BIG_SWAPPED "32107654"
6725 #define Q_DOUBLE_FORMAT $CFG_DOUBLEFORMAT
6728 if [ "$CFG_ARMFPA" = "yes" ]; then
6729 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
6730 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6731 #ifndef QT_BOOTSTRAPPED
6732 # define QT_ARMFPA
6733 #endif
6735 else
6736 echo "#define QT_ARMFPA" >>"$outpath/src/corelib/global/qconfig.h.new"
6740 CFG_ARCH_STR=`echo $CFG_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6741 CFG_HOST_ARCH_STR=`echo $CFG_HOST_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6742 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6743 /* Machine Architecture */
6744 #ifndef QT_BOOTSTRAPPED
6745 # define QT_ARCH_${CFG_ARCH_STR}
6746 #else
6747 # define QT_ARCH_${CFG_HOST_ARCH_STR}
6748 #endif
6751 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
6752 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
6754 if [ "$CFG_LARGEFILE" = "yes" ]; then
6755 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
6758 # if both carbon and cocoa are specified, enable the autodetection code.
6759 if [ "$CFG_MAC_COCOA" = "yes" -a "$CFG_MAC_CARBON" = "yes" ]; then
6760 echo "#define AUTODETECT_COCOA 1" >>"$outpath/src/corelib/global/qconfig.h.new"
6761 elif [ "$CFG_MAC_COCOA" = "yes" ]; then
6762 echo "#define QT_MAC_USE_COCOA 1" >>"$outpath/src/corelib/global/qconfig.h.new"
6765 if [ "$CFG_FRAMEWORK" = "yes" ]; then
6766 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
6769 if [ "$PLATFORM_MAC" = "yes" ]; then
6770 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6771 #if defined(__LP64__)
6772 # define QT_POINTER_SIZE 8
6773 #else
6774 # define QT_POINTER_SIZE 4
6775 #endif
6777 else
6778 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6779 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
6783 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6785 if [ "$CFG_DEV" = "yes" ]; then
6786 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
6789 # Embedded compile time options
6790 if [ "$PLATFORM_QWS" = "yes" ]; then
6791 # Add QWS to config.h
6792 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QWS"
6794 # Add excluded decorations to $QCONFIG_FLAGS
6795 decors=`grep '^decorations -= ' "$QMAKE_VARS_FILE" | ${AWK} '{print $3}'`
6796 for decor in $decors; do
6797 NODECORATION=`echo $decor | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6798 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_NO_QWS_DECORATION_${NODECORATION}"
6799 done
6801 # Figure which embedded drivers which are turned off
6802 CFG_GFX_OFF="$CFG_GFX_AVAILABLE"
6803 for ADRIVER in $CFG_GFX_ON; do
6804 CFG_GFX_OFF=`echo "${CFG_GFX_OFF} " | sed "s,${ADRIVER} ,,g"`
6805 done
6807 CFG_KBD_OFF="$CFG_KBD_AVAILABLE"
6808 # the um driver is currently not in the available list for external builds
6809 if [ "$CFG_DEV" = "no" ]; then
6810 CFG_KBD_OFF="$CFG_KBD_OFF um"
6812 for ADRIVER in $CFG_KBD_ON; do
6813 CFG_KBD_OFF=`echo "${CFG_KBD_OFF} " | sed "s,${ADRIVER} ,,g"`
6814 done
6816 CFG_MOUSE_OFF="$CFG_MOUSE_AVAILABLE"
6817 for ADRIVER in $CFG_MOUSE_ON; do
6818 CFG_MOUSE_OFF=`echo "${CFG_MOUSE_OFF} " | sed "s,${ADRIVER} ,,g"`
6819 done
6821 for DRIVER in $CFG_GFX_OFF; do
6822 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6823 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_$NODRIVER"
6824 done
6826 for DRIVER in $CFG_KBD_OFF; do
6827 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6828 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_KBD_$NODRIVER"
6829 done
6831 for DRIVER in $CFG_MOUSE_OFF; do
6832 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6833 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_MOUSE_$NODRIVER"
6834 done
6835 fi # QWS
6837 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
6838 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
6841 # Add turned on SQL drivers
6842 for DRIVER in $CFG_SQL_AVAILABLE; do
6843 eval "VAL=\$CFG_SQL_$DRIVER"
6844 case "$VAL" in
6846 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6847 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
6848 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
6850 plugin)
6851 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
6853 esac
6854 done
6857 QMakeVar set sql-drivers "$SQL_DRIVERS"
6858 QMakeVar set sql-plugins "$SQL_PLUGINS"
6860 # Add other configuration options to the qconfig.h file
6861 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
6862 [ "$CFG_TIFF" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_TIFF"
6863 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
6864 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
6865 [ "$CFG_MNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_MNG"
6866 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
6867 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
6868 [ "$CFG_IPV6" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6"
6869 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
6870 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
6872 if [ "$PLATFORM_QWS" != "yes" ]; then
6873 [ "$CFG_GRAPHICS_SYSTEM" = "raster" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_RASTER"
6874 [ "$CFG_GRAPHICS_SYSTEM" = "opengl" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_OPENGL"
6875 [ "$CFG_GRAPHICS_SYSTEM" = "openvg" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_OPENVG"
6878 # X11/Unix/Mac only configs
6879 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
6880 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
6881 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
6882 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
6883 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
6884 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
6885 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
6886 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
6887 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
6888 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
6889 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
6890 [ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NAS"
6891 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
6892 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL"
6893 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
6895 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
6896 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
6897 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
6898 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
6899 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
6900 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
6901 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
6902 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
6903 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
6904 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
6905 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
6906 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
6908 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
6909 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
6910 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
6911 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
6912 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
6913 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
6915 # sort QCONFIG_FLAGS for neatness if we can
6916 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
6917 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
6919 if [ -n "$QCONFIG_FLAGS" ]; then
6920 for cfg in $QCONFIG_FLAGS; do
6921 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
6922 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
6923 # figure out define logic, so we can output the correct
6924 # ifdefs to override the global defines in a project
6925 cfgdNeg=
6926 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
6927 # QT_NO_option can be forcefully turned on by QT_option
6928 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
6929 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
6930 # QT_option can be forcefully turned off by QT_NO_option
6931 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
6934 if [ -z $cfgdNeg ]; then
6935 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6936 #ifndef $cfgd
6937 # define $cfg
6938 #endif
6941 else
6942 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6943 #if defined($cfgd) && defined($cfgdNeg)
6944 # undef $cfgd
6945 #elif !defined($cfgd) && !defined($cfgdNeg)
6946 # define $cfg
6947 #endif
6951 done
6954 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
6955 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6956 #define QT_VISIBILITY_AVAILABLE
6961 # avoid unecessary rebuilds by copying only if qconfig.h has changed
6962 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
6963 rm -f "$outpath/src/corelib/global/qconfig.h.new"
6964 else
6965 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
6966 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
6967 chmod -w "$outpath/src/corelib/global/qconfig.h"
6968 for conf in "$outpath/include/QtCore/qconfig.h" "$outpath/include/Qt/qconfig.h"; do
6969 if [ '!' -f "$conf" ]; then
6970 ln -s "$outpath/src/corelib/global/qconfig.h" "$conf"
6972 done
6975 #-------------------------------------------------------------------------------
6976 # save configuration into qconfig.pri
6977 #-------------------------------------------------------------------------------
6979 QTCONFIG="$outpath/mkspecs/qconfig.pri"
6980 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
6981 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
6982 if [ "$CFG_DEBUG" = "yes" ]; then
6983 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
6984 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6985 QT_CONFIG="$QT_CONFIG release"
6987 QT_CONFIG="$QT_CONFIG debug"
6988 elif [ "$CFG_DEBUG" = "no" ]; then
6989 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
6990 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6991 QT_CONFIG="$QT_CONFIG debug"
6993 QT_CONFIG="$QT_CONFIG release"
6995 if [ "$CFG_STL" = "yes" ]; then
6996 QTCONFIG_CONFIG="$QTCONFIG_CONFIG stl"
6998 if [ "$CFG_FRAMEWORK" = "no" ]; then
6999 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
7000 else
7001 QT_CONFIG="$QT_CONFIG qt_framework"
7002 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
7004 if [ "$PLATFORM_MAC" = "yes" ]; then
7005 QT_CONFIG="$QT_CONFIG $CFG_MAC_ARCHS"
7007 if [ "$CFG_DEV" = "yes" ]; then
7008 QT_CONFIG="$QT_CONFIG private_tests"
7011 # Make the application arch follow the Qt arch for single arch builds.
7012 # (for multiple-arch builds, set CONFIG manually in the application .pro file)
7013 if [ `echo "$CFG_MAC_ARCHS" | wc -w` -eq 1 ]; then
7014 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $CFG_MAC_ARCHS"
7017 cat >>"$QTCONFIG.tmp" <<EOF
7018 #configuration
7019 CONFIG += $QTCONFIG_CONFIG
7020 QT_ARCH = $CFG_ARCH
7021 QT_EDITION = $Edition
7022 QT_CONFIG += $QT_CONFIG
7024 #versioning
7025 QT_VERSION = $QT_VERSION
7026 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
7027 QT_MINOR_VERSION = $QT_MINOR_VERSION
7028 QT_PATCH_VERSION = $QT_PATCH_VERSION
7030 #namespaces
7031 QT_LIBINFIX = $QT_LIBINFIX
7032 QT_NAMESPACE = $QT_NAMESPACE
7033 QT_NAMESPACE_MAC_CRC = $QT_NAMESPACE_MAC_CRC
7036 if [ "$CFG_RPATH" = "yes" ]; then
7037 echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
7039 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
7040 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
7041 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
7042 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
7044 # replace qconfig.pri if it differs from the newly created temp file
7045 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
7046 rm -f "$QTCONFIG.tmp"
7047 else
7048 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
7051 #-------------------------------------------------------------------------------
7052 # save configuration into .qmake.cache
7053 #-------------------------------------------------------------------------------
7055 CACHEFILE="$outpath/.qmake.cache"
7056 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
7057 cat >>"$CACHEFILE.tmp" <<EOF
7058 CONFIG += $QMAKE_CONFIG dylib create_prl link_prl depend_includepath fix_output_dirs QTDIR_build
7059 QT_SOURCE_TREE = \$\$quote($relpath)
7060 QT_BUILD_TREE = \$\$quote($outpath)
7061 QT_BUILD_PARTS = $CFG_BUILD_PARTS
7062 QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
7063 QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
7065 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
7066 QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
7067 QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
7068 QMAKE_UIC3 = \$\$QT_BUILD_TREE/bin/uic3
7069 QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
7070 QMAKE_QDBUSXML2CPP = \$\$QT_BUILD_TREE/bin/qdbusxml2cpp
7071 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
7072 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
7076 # Ensure we can link to uninistalled libraries
7077 if linkerSupportsFlag -rpath-link "$outpath/lib"; then
7078 echo "QMAKE_LFLAGS += -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib" >> "$CACHEFILE.tmp"
7081 if [ -n "$QT_CFLAGS_PSQL" ]; then
7082 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$CACHEFILE.tmp"
7084 if [ -n "$QT_LFLAGS_PSQL" ]; then
7085 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$CACHEFILE.tmp"
7087 if [ -n "$QT_CFLAGS_MYSQL" ]; then
7088 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$CACHEFILE.tmp"
7090 if [ -n "$QT_LFLAGS_MYSQL" ]; then
7091 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$CACHEFILE.tmp"
7093 if [ -n "$QT_CFLAGS_SQLITE" ]; then
7094 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$CACHEFILE.tmp"
7096 if [ -n "$QT_LFLAGS_SQLITE" ]; then
7097 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$CACHEFILE.tmp"
7099 if [ -n "$QT_LFLAGS_ODBC" ]; then
7100 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$CACHEFILE.tmp"
7103 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
7104 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$CACHEFILE.tmp"
7107 #dump in the OPENSSL_LIBS info
7108 if [ '!' -z "$OPENSSL_LIBS" ]; then
7109 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$CACHEFILE.tmp"
7110 elif [ "$CFG_OPENSSL" = "linked" ]; then
7111 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$CACHEFILE.tmp"
7114 #dump in the SDK info
7115 if [ '!' -z "$CFG_SDK" ]; then
7116 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$CACHEFILE.tmp"
7119 # mac gcc -Xarch support
7120 if [ "$CFG_MAC_XARCH" = "no" ]; then
7121 echo "QMAKE_MAC_XARCH = no" >> "$CACHEFILE.tmp"
7124 #dump the qmake spec
7125 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
7126 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
7127 else
7128 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
7131 # cmdline args
7132 cat "$QMAKE_VARS_FILE" >> "$CACHEFILE.tmp"
7133 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
7135 # incrementals
7136 INCREMENTAL=""
7137 [ "$CFG_INCREMENTAL" = "auto" ] && "$WHICH" p4 >/dev/null 2>&1 && [ "$CFG_DEV" = "yes" ] && CFG_INCREMENTAL="yes"
7138 if [ "$CFG_INCREMENTAL" = "yes" ]; then
7139 find "$relpath" -perm u+w -mtime -3 | grep 'cpp$' | while read f; do
7140 # don't need to worry about generated files
7141 [ -r `echo $f | sed "s,cpp$,ui,"` ] && continue
7142 basename "$f" | grep '^moc_' >/dev/null 2>&1 && continue
7143 # done
7144 INCREMENTAL="$INCREMENTAL `basename \"$f\" | sed 's,.cpp,.o,'`"
7145 done
7146 [ '!' -z "$INCREMENTAL" ] && echo "QMAKE_INCREMENTAL += $INCREMENTAL" >> "$CACHEFILE.tmp"
7147 [ -r "$outpath/.qmake.incremental" ] && echo "include($outpath/.qmake.incremental)" >> "$CACHEFILE.tmp"
7150 # replace .qmake.cache if it differs from the newly created temp file
7151 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
7152 rm -f "$CACHEFILE.tmp"
7153 else
7154 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
7157 #-------------------------------------------------------------------------------
7158 # give feedback on configuration
7159 #-------------------------------------------------------------------------------
7161 case "$COMPILER" in
7162 g++*)
7163 if [ "$CFG_EXCEPTIONS" != "no" ]; then
7164 cat <<EOF
7166 This target is using the GNU C++ compiler ($PLATFORM).
7168 Recent versions of this compiler automatically include code for
7169 exceptions, which increase both the size of the Qt libraries and
7170 the amount of memory taken by your applications.
7172 You may choose to re-run `basename $0` with the -no-exceptions
7173 option to compile Qt without exceptions. This is completely binary
7174 compatible, and existing applications will continue to work.
7179 cc*)
7180 case "$PLATFORM" in
7181 irix-cc*)
7182 if [ "$CFG_EXCEPTIONS" != "no" ]; then
7183 cat <<EOF
7185 This target is using the MIPSpro C++ compiler ($PLATFORM).
7187 You may choose to re-run `basename $0` with the -no-exceptions
7188 option to compile Qt without exceptions. This will make the
7189 size of the Qt library smaller and reduce the amount of memory
7190 taken by your applications.
7195 *) ;;
7196 esac
7198 *) ;;
7199 esac
7201 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" == "no" ] && [ "$CFG_WEBKIT" = "yes" ] && [ "$CFG_DEBUG_RELEASE" == "yes" ]; then
7202 cat <<EOF
7203 WARNING: DWARF2 debug symbols are not enabled. Linking webkit
7204 in debug mode will run out of memory on systems with 2GB or less.
7205 Install Xcode 2.4.1 or higher to enable DWARF2, or configure with
7206 -no-webkit or -release to skip webkit debug.
7210 echo
7211 if [ "$XPLATFORM" = "$PLATFORM" ]; then
7212 echo "Build type: $PLATFORM"
7213 else
7214 echo "Building on: $PLATFORM"
7215 echo "Building for: $XPLATFORM"
7218 if [ "$PLATFORM_MAC" = "yes" ]; then
7219 echo "Architecture: $CFG_ARCH ($CFG_MAC_ARCHS )"
7220 else
7221 echo "Architecture: $CFG_ARCH"
7224 if [ "$PLATFORM_QWS" = "yes" ]; then
7225 echo "Host architecture: $CFG_HOST_ARCH"
7228 if [ "$PLATFORM_MAC" = "yes" ]; then
7229 if [ "$CFG_MAC_COCOA" = "yes" ]; then
7230 if [ "$CFG_MAC_CARBON" = "yes" ]; then
7231 echo "Using framework: Carbon for 32-bit, Cocoa for 64-bit"
7232 else
7233 echo "Using framework: Cocoa"
7235 else
7236 echo "Using framework: Carbon"
7240 if [ -n "$PLATFORM_NOTES" ]; then
7241 echo "Platform notes:"
7242 echo "$PLATFORM_NOTES"
7243 else
7244 echo
7247 if [ "$OPT_VERBOSE" = "yes" ]; then
7248 if echo '\c' | grep '\c' >/dev/null; then
7249 echo -n "qmake vars .......... "
7250 else
7251 echo "qmake vars .......... \c"
7253 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
7254 echo "qmake switches ...... $QMAKE_SWITCHES"
7257 [ "$CFG_INCREMENTAL" = "yes" ] && [ '!' -z "$INCREMENTAL" ] && echo "Incremental ......... $INCREMENTAL"
7258 echo "Build ............... $CFG_BUILD_PARTS"
7259 echo "Configuration ....... $QMAKE_CONFIG $QT_CONFIG"
7260 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
7261 echo "Debug ............... yes (combined)"
7262 if [ "$CFG_DEBUG" = "yes" ]; then
7263 echo "Default Link ........ debug"
7264 else
7265 echo "Default Link ........ release"
7267 else
7268 echo "Debug ............... $CFG_DEBUG"
7270 echo "Qt 3 compatibility .. $CFG_QT3SUPPORT"
7271 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module ....... no"
7272 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module ....... yes (run-time)"
7273 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module ....... yes (linked)"
7274 echo "QtConcurrent code.... $CFG_CONCURRENT"
7275 echo "QtScript module ..... $CFG_SCRIPT"
7276 echo "QtScriptTools module $CFG_SCRIPTTOOLS"
7277 echo "QtXmlPatterns module $CFG_XMLPATTERNS"
7278 echo "Phonon module ....... $CFG_PHONON"
7279 echo "Multimedia module ... $CFG_MULTIMEDIA"
7280 echo "SVG module .......... $CFG_SVG"
7281 echo "WebKit module ....... $CFG_WEBKIT"
7282 echo "STL support ......... $CFG_STL"
7283 echo "PCH support ......... $CFG_PRECOMPILE"
7284 echo "MMX/3DNOW/SSE/SSE2.. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}"
7285 if [ "${CFG_ARCH}" = "arm" ]; then
7286 echo "iWMMXt support ...... ${CFG_IWMMXT}"
7288 [ "${PLATFORM_QWS}" != "yes" ] && echo "Graphics System ..... $CFG_GRAPHICS_SYSTEM"
7289 echo "IPv6 support ........ $CFG_IPV6"
7290 echo "IPv6 ifname support . $CFG_IPV6IFNAME"
7291 echo "getaddrinfo support . $CFG_GETADDRINFO"
7292 echo "getifaddrs support .. $CFG_GETIFADDRS"
7293 echo "Accessibility ....... $CFG_ACCESSIBILITY"
7294 echo "NIS support ......... $CFG_NIS"
7295 echo "CUPS support ........ $CFG_CUPS"
7296 echo "Iconv support ....... $CFG_ICONV"
7297 echo "Glib support ........ $CFG_GLIB"
7298 echo "GStreamer support ... $CFG_GSTREAMER"
7299 echo "Large File support .. $CFG_LARGEFILE"
7300 echo "GIF support ......... $CFG_GIF"
7301 if [ "$CFG_TIFF" = "no" ]; then
7302 echo "TIFF support ........ $CFG_TIFF"
7303 else
7304 echo "TIFF support ........ $CFG_TIFF ($CFG_LIBTIFF)"
7306 if [ "$CFG_JPEG" = "no" ]; then
7307 echo "JPEG support ........ $CFG_JPEG"
7308 else
7309 echo "JPEG support ........ $CFG_JPEG ($CFG_LIBJPEG)"
7311 if [ "$CFG_PNG" = "no" ]; then
7312 echo "PNG support ......... $CFG_PNG"
7313 else
7314 echo "PNG support ......... $CFG_PNG ($CFG_LIBPNG)"
7316 if [ "$CFG_MNG" = "no" ]; then
7317 echo "MNG support ......... $CFG_MNG"
7318 else
7319 echo "MNG support ......... $CFG_MNG ($CFG_LIBMNG)"
7321 echo "zlib support ........ $CFG_ZLIB"
7322 echo "Session management .. $CFG_SM"
7323 if [ "$PLATFORM_QWS" = "yes" ]; then
7324 echo "Embedded support .... $CFG_EMBEDDED"
7325 if [ "$CFG_QWS_FREETYPE" = "auto" ]; then
7326 echo "Freetype2 support ... $CFG_QWS_FREETYPE ($CFG_LIBFREETYPE)"
7327 else
7328 echo "Freetype2 support ... $CFG_QWS_FREETYPE"
7330 # Normalize the decoration output first
7331 CFG_GFX_ON=`echo ${CFG_GFX_ON}`
7332 CFG_GFX_PLUGIN=`echo ${CFG_GFX_PLUGIN}`
7333 echo "Graphics (qt) ....... ${CFG_GFX_ON}"
7334 echo "Graphics (plugin) ... ${CFG_GFX_PLUGIN}"
7335 CFG_DECORATION_ON=`echo ${CFG_DECORATION_ON}`
7336 CFG_DECORATION_PLUGIN=`echo ${CFG_DECORATION_PLUGIN}`
7337 echo "Decorations (qt) .... $CFG_DECORATION_ON"
7338 echo "Decorations (plugin) $CFG_DECORATION_PLUGIN"
7339 CFG_KBD_ON=`echo ${CFG_KBD_ON}`
7340 CFG_KBD_PLUGIN=`echo ${CFG_KBD_PLUGIN}`
7341 echo "Keyboard driver (qt). ${CFG_KBD_ON}"
7342 echo "Keyboard driver (plugin) ${CFG_KBD_PLUGIN}"
7343 CFG_MOUSE_ON=`echo ${CFG_MOUSE_ON}`
7344 CFG_MOUSE_PLUGIN=`echo ${CFG_MOUSE_PLUGIN}`
7345 echo "Mouse driver (qt) ... $CFG_MOUSE_ON"
7346 echo "Mouse driver (plugin) $CFG_MOUSE_PLUGIN"
7348 if [ "$CFG_OPENGL" = "desktop" ]; then
7349 echo "OpenGL support ...... yes (Desktop OpenGL)"
7350 elif [ "$CFG_OPENGL" = "es1" ]; then
7351 echo "OpenGL support ...... yes (OpenGL ES 1.x Common profile)"
7352 elif [ "$CFG_OPENGL" = "es1cl" ]; then
7353 echo "OpenGL support ...... yes (OpenGL ES 1.x Common Lite profile)"
7354 elif [ "$CFG_OPENGL" = "es2" ]; then
7355 echo "OpenGL support ...... yes (OpenGL ES 2.x)"
7356 else
7357 echo "OpenGL support ...... no"
7359 if [ "$CFG_EGL" != "no" ]; then
7360 if [ "$CFG_EGL_GLES_INCLUDES" != "no" ]; then
7361 echo "EGL support ......... yes <GLES/egl.h>"
7362 else
7363 echo "EGL support ......... yes <EGL/egl.h>"
7366 if [ "$CFG_OPENVG" ]; then
7367 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
7368 echo "OpenVG support ...... ShivaVG"
7369 else
7370 echo "OpenVG support ...... $CFG_OPENVG"
7373 if [ "$PLATFORM_X11" = "yes" ]; then
7374 echo "NAS sound support ... $CFG_NAS"
7375 echo "XShape support ...... $CFG_XSHAPE"
7376 echo "XSync support ....... $CFG_XSYNC"
7377 echo "Xinerama support .... $CFG_XINERAMA"
7378 echo "Xcursor support ..... $CFG_XCURSOR"
7379 echo "Xfixes support ...... $CFG_XFIXES"
7380 echo "Xrandr support ...... $CFG_XRANDR"
7381 echo "Xrender support ..... $CFG_XRENDER"
7382 echo "Xi support .......... $CFG_XINPUT"
7383 echo "MIT-SHM support ..... $CFG_MITSHM"
7384 echo "FontConfig support .. $CFG_FONTCONFIG"
7385 echo "XKB Support ......... $CFG_XKB"
7386 echo "immodule support .... $CFG_IM"
7387 echo "GTK theme support ... $CFG_QGTKSTYLE"
7389 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support ....... $CFG_SQL_mysql"
7390 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support .. $CFG_SQL_psql"
7391 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........ $CFG_SQL_odbc"
7392 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ......... $CFG_SQL_oci"
7393 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ......... $CFG_SQL_tds"
7394 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ......... $CFG_SQL_db2"
7395 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ... $CFG_SQL_ibase"
7396 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support .... $CFG_SQL_sqlite2"
7397 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ...... $CFG_SQL_sqlite ($CFG_SQLITE)"
7399 OPENSSL_LINKAGE=""
7400 if [ "$CFG_OPENSSL" = "yes" ]; then
7401 OPENSSL_LINKAGE="(run-time)"
7402 elif [ "$CFG_OPENSSL" = "linked" ]; then
7403 OPENSSL_LINKAGE="(linked)"
7405 echo "OpenSSL support ..... $CFG_OPENSSL $OPENSSL_LINKAGE"
7407 [ "$CFG_PTMALLOC" != "no" ] && echo "Use ptmalloc ........ $CFG_PTMALLOC"
7409 # complain about not being able to use dynamic plugins if we are using a static build
7410 if [ "$CFG_SHARED" = "no" ]; then
7411 echo
7412 echo "WARNING: Using static linking will disable the use of dynamically"
7413 echo "loaded plugins. Make sure to import all needed static plugins,"
7414 echo "or compile needed modules into the library."
7415 echo
7417 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
7418 echo
7419 echo "NOTE: When linking against OpenSSL, you can override the default"
7420 echo "library names through OPENSSL_LIBS."
7421 echo "For example:"
7422 echo " ./configure -openssl-linked OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto'"
7423 echo
7425 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
7426 echo
7427 echo "NOTE: Mac OS X frameworks implicitly build debug and release Qt libraries."
7428 echo
7430 echo "alsa support ........ $CFG_ALSA"
7431 echo
7433 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
7434 PROCS=1
7435 EXEC=""
7438 #-------------------------------------------------------------------------------
7439 # build makefiles based on the configuration
7440 #-------------------------------------------------------------------------------
7442 echo "Finding project files. Please wait..."
7443 "$outpath/bin/qmake" -prl -r "${relpath}/projects.pro"
7444 if [ -f "${relpath}/projects.pro" ]; then
7445 mkfile="${outpath}/Makefile"
7446 [ -f "$mkfile" ] && chmod +w "$mkfile"
7447 QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/projects.pro" -o "$mkfile"
7450 # .projects -> projects to process
7451 # .projects.1 -> qt and moc
7452 # .projects.2 -> subdirs and libs
7453 # .projects.3 -> the rest
7454 rm -f .projects .projects.1 .projects.2 .projects.3
7456 QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
7457 if [ -z "$AWK" ]; then
7458 for p in `echo $QMAKE_PROJECTS`; do
7459 echo "$p" >> .projects
7460 done
7461 else
7462 cat >projects.awk <<EOF
7463 BEGIN {
7464 files = 0
7465 target_file = ""
7466 input_file = ""
7468 first = "./.projects.1.tmp"
7469 second = "./.projects.2.tmp"
7470 third = "./.projects.3.tmp"
7473 FNR == 1 {
7474 if ( input_file ) {
7475 if ( ! target_file )
7476 target_file = third
7477 print input_file >target_file
7480 matched_target = 0
7481 template_lib = 0
7482 input_file = FILENAME
7483 target_file = ""
7486 /^(TARGET.*=)/ {
7487 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
7488 target_file = first
7489 matched_target = 1
7493 matched_target == 0 && /^(TEMPLATE.*=)/ {
7494 if ( \$3 == "subdirs" )
7495 target_file = second
7496 else if ( \$3 == "lib" )
7497 template_lib = 1
7498 else
7499 target_file = third
7502 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
7503 if ( \$0 ~ /plugin/ )
7504 target_file = third
7505 else
7506 target_file = second
7509 END {
7510 if ( input_file ) {
7511 if ( ! target_file )
7512 target_file = third
7513 print input_file >>target_file
7519 rm -f .projects.all
7520 for p in `echo $QMAKE_PROJECTS`; do
7521 echo "$p" >> .projects.all
7522 done
7524 # if you get errors about the length of the command line to awk, change the -l arg
7525 # to split below
7526 split -l 100 .projects.all .projects.all.
7527 for p in .projects.all.*; do
7528 "$AWK" -f projects.awk `cat $p`
7529 [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
7530 [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
7531 [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
7532 rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
7533 done
7534 rm -f .projects.all* projects.awk
7536 [ -f .projects.1 ] && cat .projects.1 >>.projects
7537 [ -f .projects.2 ] && cat .projects.2 >>.projects
7538 rm -f .projects.1 .projects.2
7539 if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
7540 cat .projects.3 >>.projects
7541 rm -f .projects.3
7544 # don't sort Qt and MOC in with the other project files
7545 # also work around a segfaulting uniq(1)
7546 if [ -f .sorted.projects.2 ]; then
7547 sort .sorted.projects.2 > .sorted.projects.2.new
7548 mv -f .sorted.projects.2.new .sorted.projects.2
7549 cat .sorted.projects.2 >> .sorted.projects.1
7551 [ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
7552 rm -f .sorted.projects.2 .sorted.projects.1
7554 NORM_PROJECTS=0
7555 FAST_PROJECTS=0
7556 if [ -f .projects ]; then
7557 uniq .projects >.tmp
7558 mv -f .tmp .projects
7559 NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
7561 if [ -f .projects.3 ]; then
7562 uniq .projects.3 >.tmp
7563 mv -f .tmp .projects.3
7564 FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
7566 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
7567 echo
7569 PART_ROOTS=
7570 for part in $CFG_BUILD_PARTS; do
7571 case "$part" in
7572 tools) PART_ROOTS="$PART_ROOTS tools" ;;
7573 libs) PART_ROOTS="$PART_ROOTS src" ;;
7574 examples) PART_ROOTS="$PART_ROOTS examples demos" ;;
7575 *) ;;
7576 esac
7577 done
7579 if [ "$CFG_DEV" = "yes" ]; then
7580 PART_ROOTS="$PART_ROOTS tests"
7583 echo "Creating makefiles. Please wait..."
7584 for file in .projects .projects.3; do
7585 [ '!' -f "$file" ] && continue
7586 for a in `cat $file`; do
7587 IN_ROOT=no
7588 for r in $PART_ROOTS; do
7589 if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
7590 IN_ROOT=yes
7591 break
7593 done
7594 [ "$IN_ROOT" = "no" ] && continue
7596 case $a in
7597 *winmain/winmain.pro) continue ;;
7598 *s60main/s60main.pro) continue ;;
7599 */qmake/qmake.pro) continue ;;
7600 *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*) SPEC=$QMAKESPEC ;;
7601 *) SPEC=$XQMAKESPEC ;;
7602 esac
7603 dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
7604 test -d "$dir" || mkdir -p "$dir"
7605 OUTDIR="$outpath/$dir"
7606 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
7607 # fast configure - the makefile exists, skip it
7608 # since the makefile exists, it was generated by qmake, which means we
7609 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
7610 # file changes...
7611 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
7612 continue;
7614 QMAKE_SPEC_ARGS="-spec $SPEC"
7615 if echo '\c' | grep '\c' >/dev/null; then
7616 echo -n " for $a"
7617 else
7618 echo " for $a\c"
7621 QMAKE="$outpath/bin/qmake"
7622 QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
7623 if [ "$file" = ".projects.3" ]; then
7624 if echo '\c' | grep '\c' >/dev/null; then
7625 echo -n " (fast)"
7626 else
7627 echo " (fast)\c"
7629 echo
7631 cat >"${OUTDIR}/Makefile" <<EOF
7632 # ${OUTDIR}/Makefile: generated by configure
7634 # WARNING: This makefile will be replaced with a real makefile.
7635 # All changes made to this file will be lost.
7637 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
7639 cat >>"${OUTDIR}/Makefile" <<EOF
7640 QMAKE = "$QMAKE"
7641 all clean install qmake first Makefile: FORCE
7642 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
7643 cd "$OUTDIR"
7644 \$(MAKE) \$@
7646 FORCE:
7649 else
7650 if [ "$OPT_VERBOSE" = "yes" ]; then
7651 echo " (`basename $SPEC`)"
7652 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7653 else
7654 echo
7657 [ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
7658 QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7660 done
7661 done
7662 rm -f .projects .projects.3
7664 #-------------------------------------------------------------------------------
7665 # XShape is important, DnD in the Designer doens't work without it
7666 #-------------------------------------------------------------------------------
7667 if [ "$PLATFORM_X11" = "yes" ] && [ "$CFG_XSHAPE" = "no" ]; then
7668 cat <<EOF
7670 NOTICE: Qt will not be built with XShape support.
7672 As a result, drag-and-drop in the Qt Designer will NOT
7673 work. We recommend that you enable XShape support by passing
7674 the -xshape switch to $0.
7678 #-------------------------------------------------------------------------------
7679 # check for platforms that we don't yet know about
7680 #-------------------------------------------------------------------------------
7681 if [ "$CFG_ARCH" = "generic" ]; then
7682 cat <<EOF
7684 NOTICE: Atomic operations are not yet supported for this
7685 architecture.
7687 Qt will use the 'generic' architecture instead, which uses a
7688 single pthread_mutex_t to protect all atomic operations. This
7689 implementation is the slow (but safe) fallback implementation
7690 for architectures Qt does not yet support.
7694 #-------------------------------------------------------------------------------
7695 # check if the user passed the -no-zlib option, which is no longer supported
7696 #-------------------------------------------------------------------------------
7697 if [ -n "$ZLIB_FORCED" ]; then
7698 which_zlib="supplied"
7699 if [ "$CFG_ZLIB" = "system" ]; then
7700 which_zlib="system"
7703 cat <<EOF
7705 NOTICE: The -no-zlib option was supplied but is no longer
7706 supported.
7708 Qt now requires zlib support in all builds, so the -no-zlib
7709 option was ignored. Qt will be built using the $which_zlib
7710 zlib.
7714 #-------------------------------------------------------------------------------
7715 # finally save the executed command to another script
7716 #-------------------------------------------------------------------------------
7717 if [ `basename $0` != "config.status" ]; then
7718 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
7720 # add the system variables
7721 for varname in $SYSTEM_VARIABLES; do
7722 cmd=`echo \
7723 'if [ -n "\$'${varname}'" ]; then
7724 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
7725 fi'`
7726 eval "$cmd"
7727 done
7729 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
7731 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
7732 echo "#!/bin/sh" > "$outpath/config.status"
7733 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
7734 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
7735 echo "else" >> "$outpath/config.status"
7736 echo " $CONFIG_STATUS" >> "$outpath/config.status"
7737 echo "fi" >> "$outpath/config.status"
7738 chmod +x "$outpath/config.status"
7741 if [ -n "$RPATH_MESSAGE" ]; then
7742 echo
7743 echo "$RPATH_MESSAGE"
7746 MAKE=`basename "$MAKE"`
7747 echo
7748 echo Qt is now configured for building. Just run \'$MAKE\'.
7749 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
7750 echo Once everything is built, Qt is installed.
7751 echo You should not run \'$MAKE install\'.
7752 else
7753 echo Once everything is built, you must run \'$MAKE install\'.
7754 echo Qt will be installed into $QT_INSTALL_PREFIX
7756 echo
7757 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.
7758 echo