Define QT_OPEN_LARGEFILE on Symbian + WinCE
[qt-netbsd.git] / configure
blob485c71c99dcca5bae1a8d227d9d2b58cc19361d5
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.93
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)
676 CFG_JAVASCRIPTCORE_JIT=auto
678 CFG_GFX_AVAILABLE="linuxfb transformed qvfb vnc multiscreen directfb"
679 CFG_GFX_ON="linuxfb multiscreen"
680 CFG_GFX_PLUGIN_AVAILABLE=
681 CFG_GFX_PLUGIN=
682 CFG_GFX_OFF=
683 CFG_KBD_AVAILABLE="tty linuxinput qvfb"
684 CFG_KBD_ON="tty" #default, see QMakeVar above
685 CFG_MOUSE_AVAILABLE="pc linuxtp linuxinput tslib qvfb"
686 CFG_MOUSE_ON="pc linuxtp" #default, see QMakeVar above
688 if [ -f "$relpath/src/gui/embedded/qscreenqnx_qws.cpp" ]; then
689 CFG_KBD_AVAILABLE="${CFG_KBD_AVAILABLE} qnx"
690 CFG_MOUSE_AVAILABLE="${CFG_MOUSE_AVAILABLE} qnx"
691 CFG_GFX_AVAILABLE="${CFG_GFX_AVAILABLE} qnx"
694 CFG_ARCH=
695 CFG_HOST_ARCH=
696 CFG_KBD_PLUGIN_AVAILABLE=
697 CFG_KBD_PLUGIN=
698 CFG_KBD_OFF=
699 CFG_MOUSE_PLUGIN_AVAILABLE=
700 CFG_MOUSE_PLUGIN=
701 CFG_MOUSE_OFF=
702 CFG_USE_GNUMAKE=no
703 CFG_IM=yes
704 CFG_DECORATION_AVAILABLE="styled windows default"
705 CFG_DECORATION_ON="${CFG_DECORATION_AVAILABLE}" # all on by default
706 CFG_DECORATION_PLUGIN_AVAILABLE=
707 CFG_DECORATION_PLUGIN=
708 CFG_XINPUT=runtime
709 CFG_XKB=auto
710 CFG_NIS=auto
711 CFG_CUPS=auto
712 CFG_ICONV=auto
713 CFG_DBUS=auto
714 CFG_GLIB=auto
715 CFG_GSTREAMER=auto
716 CFG_QGTKSTYLE=auto
717 CFG_LARGEFILE=auto
718 CFG_OPENSSL=auto
719 CFG_PTMALLOC=no
720 CFG_STL=auto
721 CFG_PRECOMPILE=auto
722 CFG_SEPARATE_DEBUG_INFO=auto
723 CFG_REDUCE_EXPORTS=auto
724 CFG_MMX=auto
725 CFG_3DNOW=auto
726 CFG_SSE=auto
727 CFG_SSE2=auto
728 CFG_REDUCE_RELOCATIONS=no
729 CFG_IPV6=auto
730 CFG_NAS=no
731 CFG_QWS_DEPTHS=all
732 CFG_USER_BUILD_KEY=
733 CFG_ACCESSIBILITY=auto
734 CFG_QT3SUPPORT=yes
735 CFG_ENDIAN=auto
736 CFG_HOST_ENDIAN=auto
737 CFG_DOUBLEFORMAT=auto
738 CFG_ARMFPA=auto
739 CFG_IWMMXT=no
740 CFG_CLOCK_GETTIME=auto
741 CFG_CLOCK_MONOTONIC=auto
742 CFG_MREMAP=auto
743 CFG_GETADDRINFO=auto
744 CFG_IPV6IFNAME=auto
745 CFG_GETIFADDRS=auto
746 CFG_INOTIFY=auto
747 CFG_RPATH=yes
748 CFG_FRAMEWORK=auto
749 CFG_MAC_ARCHS=
750 MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
751 CFG_MAC_DWARF2=auto
752 CFG_MAC_XARCH=auto
753 CFG_MAC_CARBON=yes
754 CFG_MAC_COCOA=auto
755 COMMANDLINE_MAC_COCOA=no
756 CFG_SXE=no
757 CFG_PREFIX_INSTALL=yes
758 CFG_SDK=
759 D_FLAGS=
760 I_FLAGS=
761 L_FLAGS=
762 RPATH_FLAGS=
763 l_FLAGS=
764 QCONFIG_FLAGS=
765 XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
766 PLATFORM=$QMAKESPEC
767 QT_CROSS_COMPILE=no
768 OPT_CONFIRM_LICENSE=no
769 OPT_SHADOW=maybe
770 OPT_FAST=auto
771 OPT_VERBOSE=no
772 OPT_HELP=
773 CFG_SILENT=no
774 CFG_GRAPHICS_SYSTEM=default
775 CFG_ALSA=auto
777 # initalize variables used for installation
778 QT_INSTALL_PREFIX=
779 QT_INSTALL_DOCS=
780 QT_INSTALL_HEADERS=
781 QT_INSTALL_LIBS=
782 QT_INSTALL_BINS=
783 QT_INSTALL_PLUGINS=
784 QT_INSTALL_DATA=
785 QT_INSTALL_TRANSLATIONS=
786 QT_INSTALL_SETTINGS=
787 QT_INSTALL_EXAMPLES=
788 QT_INSTALL_DEMOS=
789 QT_HOST_PREFIX=
791 #flags for SQL drivers
792 QT_CFLAGS_PSQL=
793 QT_LFLAGS_PSQL=
794 QT_CFLAGS_MYSQL=
795 QT_LFLAGS_MYSQL=
796 QT_LFLAGS_MYSQL_R=
797 QT_CFLAGS_SQLITE=
798 QT_LFLAGS_SQLITE=
799 QT_LFLAGS_ODBC="-lodbc"
801 # flags for libdbus-1
802 QT_CFLAGS_DBUS=
803 QT_LIBS_DBUS=
805 # flags for Glib (X11 only)
806 QT_CFLAGS_GLIB=
807 QT_LIBS_GLIB=
809 # flags for GStreamer (X11 only)
810 QT_CFLAGS_GSTREAMER=
811 QT_LIBS_GSTREAMER=
813 #-------------------------------------------------------------------------------
814 # check SQL drivers, mouse drivers and decorations available in this package
815 #-------------------------------------------------------------------------------
817 # opensource version removes some drivers, so force them to be off
818 CFG_SQL_tds=no
819 CFG_SQL_oci=no
820 CFG_SQL_db2=no
822 CFG_SQL_AVAILABLE=
823 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
824 for a in "$relpath/src/plugins/sqldrivers/"*; do
825 if [ -d "$a" ]; then
826 base_a=`basename "$a"`
827 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
828 eval "CFG_SQL_${base_a}=auto"
830 done
833 CFG_DECORATION_PLUGIN_AVAILABLE=
834 if [ -d "$relpath/src/plugins/decorations" ]; then
835 for a in "$relpath/src/plugins/decorations/"*; do
836 if [ -d "$a" ]; then
837 base_a=`basename "$a"`
838 CFG_DECORATION_PLUGIN_AVAILABLE="${CFG_DECORATION_PLUGIN_AVAILABLE} ${base_a}"
840 done
843 CFG_KBD_PLUGIN_AVAILABLE=
844 if [ -d "$relpath/src/plugins/kbddrivers" ]; then
845 for a in "$relpath/src/plugins/kbddrivers/"*; do
846 if [ -d "$a" ]; then
847 base_a=`basename "$a"`
848 CFG_KBD_PLUGIN_AVAILABLE="${CFG_KBD_PLUGIN_AVAILABLE} ${base_a}"
850 done
853 CFG_MOUSE_PLUGIN_AVAILABLE=
854 if [ -d "$relpath/src/plugins/mousedrivers" ]; then
855 for a in "$relpath/src/plugins/mousedrivers/"*; do
856 if [ -d "$a" ]; then
857 base_a=`basename "$a"`
858 CFG_MOUSE_PLUGIN_AVAILABLE="${CFG_MOUSE_PLUGIN_AVAILABLE} ${base_a}"
860 done
863 CFG_GFX_PLUGIN_AVAILABLE=
864 if [ -d "$relpath/src/plugins/gfxdrivers" ]; then
865 for a in "$relpath/src/plugins/gfxdrivers/"*; do
866 if [ -d "$a" ]; then
867 base_a=`basename "$a"`
868 CFG_GFX_PLUGIN_AVAILABLE="${CFG_GFX_PLUGIN_AVAILABLE} ${base_a}"
870 done
871 CFG_GFX_OFF="$CFG_GFX_AVAILABLE" # assume all off
874 #-------------------------------------------------------------------------------
875 # parse command line arguments
876 #-------------------------------------------------------------------------------
878 # parse the arguments, setting things to "yes" or "no"
879 while [ "$#" -gt 0 ]; do
880 CURRENT_OPT="$1"
881 UNKNOWN_ARG=no
882 case "$1" in
883 #Autoconf style options
884 --enable-*)
885 VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
886 VAL=yes
888 --disable-*)
889 VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
890 VAL=no
892 --*=*)
893 VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
894 VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
896 --no-*)
897 VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
898 VAL=no
900 --*)
901 VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
902 VAL=yes
904 #Qt plugin options
905 -no-*-*|-plugin-*-*|-qt-*-*)
906 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
907 VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
909 #Qt style no options
910 -no-*)
911 VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
912 VAL=no
914 #Qt style yes options
915 -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|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config)
916 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
917 VAL=yes
919 #Qt style options that pass an argument
920 -qconfig)
921 if [ "$PLATFORM_QWS" != "yes" ]; then
922 echo
923 echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
924 echo
926 CFG_QCONFIG="$VAL"
927 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
928 shift
929 VAL=$1
931 -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config)
932 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
933 shift
934 VAL="$1"
936 #Qt style complex options in one command
937 -enable-*|-disable-*)
938 VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
939 VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
941 #Qt Builtin/System style options
942 -no-*|-system-*|-qt-*)
943 VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
944 VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
946 #Options that cannot be generalized
947 -k|-continue)
948 VAR=fatal_error
949 VAL=no
951 -embedded)
952 VAR=embedded
953 # this option may or may not be followed by an argument
954 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
955 VAL=auto
956 else
957 shift;
958 VAL=$1
961 -opengl)
962 VAR=opengl
963 # this option may or may not be followed by an argument
964 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
965 VAL=yes
966 else
967 shift;
968 VAL=$1
971 -openvg)
972 VAR=openvg
973 # this option may or may not be followed by an argument
974 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
975 VAL=yes
976 else
977 shift;
978 VAL=$1
981 -hostprefix)
982 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
983 # this option may or may not be followed by an argument
984 if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
985 VAL=$outpath
986 else
987 shift;
988 VAL=$1
991 -host-*-endian)
992 VAR=host_endian
993 VAL=`echo $1 | sed "s,^-.*-\(.*\)-.*,\1,"`
995 -*-endian)
996 VAR=endian
997 VAL=`echo $1 | sed "s,^-\(.*\)-.*,\1,"`
999 -qtnamespace)
1000 VAR="qtnamespace"
1001 shift
1002 VAL="$1"
1004 -graphicssystem)
1005 VAR="graphicssystem"
1006 shift
1007 VAL=$1
1009 -qtlibinfix)
1010 VAR="qtlibinfix"
1011 shift
1012 VAL="$1"
1014 -D?*|-D)
1015 VAR="add_define"
1016 if [ "$1" = "-D" ]; then
1017 shift
1018 VAL="$1"
1019 else
1020 VAL=`echo $1 | sed 's,-D,,'`
1023 -I?*|-I)
1024 VAR="add_ipath"
1025 if [ "$1" = "-I" ]; then
1026 shift
1027 VAL="$1"
1028 else
1029 VAL=`echo $1 | sed 's,-I,,'`
1032 -L?*|-L)
1033 VAR="add_lpath"
1034 if [ "$1" = "-L" ]; then
1035 shift
1036 VAL="$1"
1037 else
1038 VAL=`echo $1 | sed 's,-L,,'`
1041 -R?*|-R)
1042 VAR="add_rpath"
1043 if [ "$1" = "-R" ]; then
1044 shift
1045 VAL="$1"
1046 else
1047 VAL=`echo $1 | sed 's,-R,,'`
1050 -l?*)
1051 VAR="add_link"
1052 VAL=`echo $1 | sed 's,-l,,'`
1054 -F?*|-F)
1055 VAR="add_fpath"
1056 if [ "$1" = "-F" ]; then
1057 shift
1058 VAL="$1"
1059 else
1060 VAL=`echo $1 | sed 's,-F,,'`
1063 -fw?*|-fw)
1064 VAR="add_framework"
1065 if [ "$1" = "-fw" ]; then
1066 shift
1067 VAL="$1"
1068 else
1069 VAL=`echo $1 | sed 's,-fw,,'`
1073 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1074 VAL="unknown"
1077 UNKNOWN_ARG=yes
1079 esac
1080 if [ "$UNKNOWN_ARG" = "yes" ]; then
1081 echo "$1: unknown argument"
1082 OPT_HELP=yes
1083 ERROR=yes
1084 shift
1085 continue
1087 shift
1089 UNKNOWN_OPT=no
1090 case "$VAR" in
1091 qt3support)
1092 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1093 CFG_QT3SUPPORT="$VAL"
1094 else
1095 UNKNOWN_OPT=yes
1098 accessibility)
1099 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1100 CFG_ACCESSIBILITY="$VAL"
1101 else
1102 UNKNOWN_OPT=yes
1105 license)
1106 LICENSE_FILE="$VAL"
1108 gnumake)
1109 CFG_USE_GNUMAKE="$VAL"
1111 mysql_config)
1112 CFG_MYSQL_CONFIG="$VAL"
1114 prefix)
1115 QT_INSTALL_PREFIX="$VAL"
1117 hostprefix)
1118 QT_HOST_PREFIX="$VAL"
1120 force-pkg-config)
1121 QT_FORCE_PKGCONFIG=yes
1123 docdir)
1124 QT_INSTALL_DOCS="$VAL"
1126 headerdir)
1127 QT_INSTALL_HEADERS="$VAL"
1129 plugindir)
1130 QT_INSTALL_PLUGINS="$VAL"
1132 datadir)
1133 QT_INSTALL_DATA="$VAL"
1135 libdir)
1136 QT_INSTALL_LIBS="$VAL"
1138 qtnamespace)
1139 QT_NAMESPACE="$VAL"
1141 qtlibinfix)
1142 QT_LIBINFIX="$VAL"
1144 translationdir)
1145 QT_INSTALL_TRANSLATIONS="$VAL"
1147 sysconfdir|settingsdir)
1148 QT_INSTALL_SETTINGS="$VAL"
1150 examplesdir)
1151 QT_INSTALL_EXAMPLES="$VAL"
1153 demosdir)
1154 QT_INSTALL_DEMOS="$VAL"
1156 qconfig)
1157 CFG_QCONFIG="$VAL"
1159 bindir)
1160 QT_INSTALL_BINS="$VAL"
1162 buildkey)
1163 CFG_USER_BUILD_KEY="$VAL"
1165 sxe)
1166 CFG_SXE="$VAL"
1168 embedded)
1169 CFG_EMBEDDED="$VAL"
1170 if [ "$PLATFORM_QWS" != "no" ]; then
1171 if [ "$PLATFORM_QWS" = "maybe" ]; then
1172 PLATFORM_X11=no
1173 PLATFORM_MAC=no
1174 PLATFORM_QWS=yes
1176 else
1177 echo "No license exists to enable Qt for Embedded Linux. Disabling."
1178 CFG_EMBEDDED=no
1181 sse)
1182 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1183 CFG_SSE="$VAL"
1184 else
1185 UNKNOWN_OPT=yes
1188 endian)
1189 if [ "$VAL" = "little" ]; then
1190 CFG_ENDIAN="Q_LITTLE_ENDIAN"
1191 elif [ "$VAL" = "big" ]; then
1192 CFG_ENDIAN="Q_BIG_ENDIAN"
1193 else
1194 UNKNOWN_OPT=yes
1197 host_endian)
1198 if [ "$VAL" = "little" ]; then
1199 CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
1200 elif [ "$VAL" = "big" ]; then
1201 CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
1202 else
1203 UNKNOWN_OPT=yes
1206 armfpa)
1207 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1208 CFG_ARMFPA="$VAL"
1209 else
1210 UNKNOWN_OPT=yes
1213 depths)
1214 CFG_QWS_DEPTHS="$VAL"
1216 opengl)
1217 if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1218 [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1219 [ "$VAL" = "es1cl" ] || [ "$VAL" = "es1" ] || [ "$VAL" = "es2" ]; then
1220 CFG_OPENGL="$VAL"
1221 else
1222 UNKNOWN_OPT=yes
1225 openvg)
1226 if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1227 CFG_OPENVG="$VAL"
1228 else
1229 UNKNOWN_OPT=yes
1232 graphicssystem)
1233 if [ "$PLATFORM_QWS" = "yes" ]; then
1234 echo "Error: Graphics System plugins are not supported on QWS."
1235 echo " On QWS, the graphics system API is part of the QScreen plugin architecture "
1236 echo " rather than existing as a separate plugin."
1237 echo ""
1238 UNKNOWN_OPT=yes
1239 else
1240 if [ "$VAL" = "opengl" ]; then
1241 CFG_GRAPHICS_SYSTEM="opengl"
1242 elif [ "$VAL" = "openvg" ]; then
1243 CFG_GRAPHICS_SYSTEM="openvg"
1244 elif [ "$VAL" = "raster" ]; then
1245 CFG_GRAPHICS_SYSTEM="raster"
1246 else
1247 UNKNOWN_OPT=yes
1252 qvfb) # left for commandline compatibility, not documented
1253 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1254 if [ "$VAL" = "yes" ]; then
1255 QMakeVar add gfx-drivers qvfb
1256 QMakeVar add kbd-drivers qvfb
1257 QMakeVar add mouse-drivers qvfb
1258 CFG_GFX_ON="$CFG_GFX_ON qvfb"
1259 CFG_KBD_ON="$CFG_KBD_ON qvfb"
1260 CFG_MOUSE_ON="$CFG_MOUSE_ON qvfb"
1262 else
1263 UNKNOWN_OPT=yes
1266 nomake)
1267 CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1269 make)
1270 CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1272 x11)
1273 if [ "$PLATFORM_MAC" = "yes" ]; then
1274 PLATFORM_MAC=no
1275 elif [ "$PLATFORM_QWS" = "yes" ]; then
1276 PLATFORM_QWS=no
1278 if [ "$CFG_FRAMEWORK" = "auto" ]; then
1279 CFG_FRAMEWORK=no
1281 PLATFORM_X11=yes
1283 sdk)
1284 if [ "$PLATFORM_MAC" = "yes" ]; then
1285 CFG_SDK="$VAL"
1286 else
1287 UNKNOWN_OPT=yes
1290 dwarf2)
1291 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1292 CFG_MAC_DWARF2="$VAL"
1293 else
1294 UNKNOWN_OPT=yes
1297 arch)
1298 if [ "$PLATFORM_MAC" = "yes" ]; then
1299 CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL"
1300 else
1301 CFG_ARCH=$VAL
1304 host-arch)
1305 CFG_HOST_ARCH=$VAL
1307 universal)
1308 if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1309 CFG_MAC_ARCHS="$CFG_MAC_ARCHS x86 ppc"
1310 else
1311 UNKNOWN_OPT=yes
1314 cocoa)
1315 if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1316 CFG_MAC_COCOA="$VAL"
1317 COMMANDLINE_MAC_COCOA="$VAL"
1318 else
1319 UNKNOWN_OPT=yes
1322 framework)
1323 if [ "$PLATFORM_MAC" = "yes" ]; then
1324 CFG_FRAMEWORK="$VAL"
1325 else
1326 UNKNOWN_OPT=yes
1329 profile)
1330 if [ "$VAL" = "yes" ]; then
1331 CFG_PROFILE=yes
1332 QMakeVar add QMAKE_CFLAGS -pg
1333 QMakeVar add QMAKE_CXXFLAGS -pg
1334 QMakeVar add QMAKE_LFLAGS -pg
1335 QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1336 else
1337 UNKNOWN_OPT=yes
1340 exceptions|g++-exceptions)
1341 if [ "$VAL" = "no" ]; then
1342 CFG_EXCEPTIONS=no
1343 elif [ "$VAL" = "yes" ]; then
1344 CFG_EXCEPTIONS=yes
1345 else
1346 UNKNOWN_OPT=yes
1349 platform)
1350 PLATFORM="$VAL"
1351 # keep compatibility with old platform names
1352 case $PLATFORM in
1353 aix-64)
1354 PLATFORM=aix-xlc-64
1356 hpux-o64)
1357 PLATFORM=hpux-acc-o64
1359 hpux-n64)
1360 PLATFORM=hpux-acc-64
1362 hpux-acc-n64)
1363 PLATFORM=hpux-acc-64
1365 irix-n32)
1366 PLATFORM=irix-cc
1368 irix-64)
1369 PLATFORM=irix-cc-64
1371 irix-cc-n64)
1372 PLATFORM=irix-cc-64
1374 reliant-64)
1375 PLATFORM=reliant-cds-64
1377 solaris-64)
1378 PLATFORM=solaris-cc-64
1380 solaris-64)
1381 PLATFORM=solaris-cc-64
1383 openunix-cc)
1384 PLATFORM=unixware-cc
1386 openunix-g++)
1387 PLATFORM=unixware-g++
1389 unixware7-cc)
1390 PLATFORM=unixware-cc
1392 unixware7-g++)
1393 PLATFORM=unixware-g++
1395 macx-g++-64)
1396 PLATFORM=macx-g++
1397 NATIVE_64_ARCH=
1398 case `uname -p` in
1399 i386) NATIVE_64_ARCH="x86_64" ;;
1400 powerpc) NATIVE_64_ARCH="ppc64" ;;
1401 *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1402 esac
1403 if [ ! -z "$NATIVE_64_ARCH" ]; then
1404 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1405 CFG_MAC_ARCHS="$CFG_MAC_ARCHS $NATIVE_64_ARCH"
1408 esac
1410 xplatform)
1411 XPLATFORM="$VAL"
1413 debug-and-release)
1414 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1415 CFG_DEBUG_RELEASE="$VAL"
1416 else
1417 UNKNOWN_OPT=yes
1420 optimized-qmake)
1421 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1422 CFG_RELEASE_QMAKE="$VAL"
1423 else
1424 UNKNOWN_OPT=yes
1427 release)
1428 if [ "$VAL" = "yes" ]; then
1429 CFG_DEBUG=no
1430 elif [ "$VAL" = "no" ]; then
1431 CFG_DEBUG=yes
1432 else
1433 UNKNOWN_OPT=yes
1436 prefix-install)
1437 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1438 CFG_PREFIX_INSTALL="$VAL"
1439 else
1440 UNKNOWN_OPT=yes
1443 debug)
1444 CFG_DEBUG="$VAL"
1446 developer-build|commercial|opensource|nokia-developer)
1447 # These switches have been dealt with already
1449 static)
1450 if [ "$VAL" = "yes" ]; then
1451 CFG_SHARED=no
1452 elif [ "$VAL" = "no" ]; then
1453 CFG_SHARED=yes
1454 else
1455 UNKNOWN_OPT=yes
1458 incremental)
1459 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1460 CFG_INCREMENTAL="$VAL"
1461 else
1462 UNKNOWN_OPT=yes
1465 fatal_error)
1466 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1467 CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1468 else
1469 UNKNOWN_OPT=yes
1472 feature-*)
1473 if [ "$PLATFORM_QWS" = "yes" ]; then
1474 FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1475 if [ "$VAL" = "no" ]; then
1476 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1477 elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1478 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1479 else
1480 UNKNOWN_OPT=yes
1482 else
1483 UNKNOWN_OPT=yes
1486 shared)
1487 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1488 CFG_SHARED="$VAL"
1489 else
1490 UNKNOWN_OPT=yes
1493 gif)
1494 [ "$VAL" = "qt" ] && VAL=yes
1495 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1496 CFG_GIF="$VAL"
1497 else
1498 UNKNOWN_OPT=yes
1502 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1503 CFG_SM="$VAL"
1504 else
1505 UNKNOWN_OPT=yes
1509 xinerama)
1510 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1511 CFG_XINERAMA="$VAL"
1512 else
1513 UNKNOWN_OPT=yes
1516 xshape)
1517 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1518 CFG_XSHAPE="$VAL"
1519 else
1520 UNKNOWN_OPT=yes
1523 xsync)
1524 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1525 CFG_XSYNC="$VAL"
1526 else
1527 UNKNOWN_OPT=yes
1530 xinput)
1531 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1532 CFG_XINPUT="$VAL"
1533 else
1534 UNKNOWN_OPT=yes
1537 stl)
1538 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1539 CFG_STL="$VAL"
1540 else
1541 UNKNOWN_OPT=yes
1544 pch)
1545 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1546 CFG_PRECOMPILE="$VAL"
1547 else
1548 UNKNOWN_OPT=yes
1551 separate-debug-info)
1552 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1553 CFG_SEPARATE_DEBUG_INFO="$VAL"
1554 else
1555 UNKNOWN_OPT=yes
1558 reduce-exports)
1559 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1560 CFG_REDUCE_EXPORTS="$VAL"
1561 else
1562 UNKNOWN_OPT=yes
1565 mmx)
1566 if [ "$VAL" = "no" ]; then
1567 CFG_MMX="$VAL"
1568 else
1569 UNKNOWN_OPT=yes
1572 3dnow)
1573 if [ "$VAL" = "no" ]; then
1574 CFG_3DNOW="$VAL"
1575 else
1576 UNKNOWN_OPT=yes
1579 sse)
1580 if [ "$VAL" = "no" ]; then
1581 CFG_SSE="$VAL"
1582 else
1583 UNKNOWN_OPT=yes
1586 sse2)
1587 if [ "$VAL" = "no" ]; then
1588 CFG_SSE2="$VAL"
1589 else
1590 UNKNOWN_OPT=yes
1593 iwmmxt)
1594 CFG_IWMMXT="yes"
1596 reduce-relocations)
1597 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1598 CFG_REDUCE_RELOCATIONS="$VAL"
1599 else
1600 UNKNOWN_OPT=yes
1603 freetype)
1604 [ "$VAL" = "qt" ] && VAL=yes
1605 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1606 CFG_QWS_FREETYPE="$VAL"
1607 else
1608 UNKNOWN_OPT=yes
1611 zlib)
1612 [ "$VAL" = "qt" ] && VAL=yes
1613 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1614 CFG_ZLIB="$VAL"
1615 else
1616 UNKNOWN_OPT=yes
1618 # No longer supported:
1619 #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1621 sqlite)
1622 if [ "$VAL" = "system" ]; then
1623 CFG_SQLITE=system
1624 else
1625 UNKNOWN_OPT=yes
1628 libpng)
1629 [ "$VAL" = "yes" ] && VAL=qt
1630 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1631 CFG_LIBPNG="$VAL"
1632 else
1633 UNKNOWN_OPT=yes
1636 libjpeg)
1637 [ "$VAL" = "yes" ] && VAL=qt
1638 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1639 CFG_LIBJPEG="$VAL"
1640 else
1641 UNKNOWN_OPT=yes
1644 libmng)
1645 [ "$VAL" = "yes" ] && VAL=qt
1646 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1647 CFG_LIBMNG="$VAL"
1648 else
1649 UNKNOWN_OPT=yes
1652 libtiff)
1653 [ "$VAL" = "yes" ] && VAL=qt
1654 if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1655 CFG_LIBTIFF="$VAL"
1656 else
1657 UNKNOWN_OPT=yes
1660 nas-sound)
1661 if [ "$VAL" = "system" ] || [ "$VAL" = "no" ]; then
1662 CFG_NAS="$VAL"
1663 else
1664 UNKNOWN_OPT=yes
1667 xcursor)
1668 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1669 CFG_XCURSOR="$VAL"
1670 else
1671 UNKNOWN_OPT=yes
1674 xfixes)
1675 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1676 CFG_XFIXES="$VAL"
1677 else
1678 UNKNOWN_OPT=yes
1681 xrandr)
1682 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1683 CFG_XRANDR="$VAL"
1684 else
1685 UNKNOWN_OPT=yes
1688 xrender)
1689 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1690 CFG_XRENDER="$VAL"
1691 else
1692 UNKNOWN_OPT=yes
1695 mitshm)
1696 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1697 CFG_MITSHM="$VAL"
1698 else
1699 UNKNOWN_OPT=yes
1702 fontconfig)
1703 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1704 CFG_FONTCONFIG="$VAL"
1705 else
1706 UNKNOWN_OPT=yes
1709 xkb)
1710 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1711 CFG_XKB="$VAL"
1712 else
1713 UNKNOWN_OPT=yes
1716 cups)
1717 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1718 CFG_CUPS="$VAL"
1719 else
1720 UNKNOWN_OPT=yes
1723 iconv)
1724 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1725 CFG_ICONV="$VAL"
1726 else
1727 UNKNOWN_OPT=yes
1730 glib)
1731 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1732 CFG_GLIB="$VAL"
1733 else
1734 UNKNOWN_OPT=yes
1737 gstreamer)
1738 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1739 CFG_GSTREAMER="$VAL"
1740 else
1741 UNKNOWN_OPT=yes
1744 gtkstyle)
1745 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1746 CFG_QGTKSTYLE="$VAL"
1747 else
1748 UNKNOWN_OPT=yes
1751 qdbus|dbus)
1752 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1753 CFG_DBUS="$VAL"
1754 elif [ "$VAL" = "runtime" ]; then
1755 CFG_DBUS="yes"
1756 else
1757 UNKNOWN_OPT=yes
1760 dbus-linked)
1761 if [ "$VAL" = "yes" ]; then
1762 CFG_DBUS="linked"
1763 else
1764 UNKNOWN_OPT=yes
1767 nis)
1768 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1769 CFG_NIS="$VAL"
1770 else
1771 UNKNOWN_OPT=yes
1774 largefile)
1775 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1776 CFG_LARGEFILE="$VAL"
1777 else
1778 UNKNOWN_OPT=yes
1781 openssl)
1782 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1783 CFG_OPENSSL="$VAL"
1784 else
1785 UNKNOWN_OPT=yes
1788 openssl-linked)
1789 if [ "$VAL" = "yes" ]; then
1790 CFG_OPENSSL="linked"
1791 else
1792 UNKNOWN_OPT=yes
1795 ptmalloc)
1796 if [ "$VAL" = "yes" ]; then
1797 CFG_PTMALLOC="yes"
1798 else
1799 UNKNOWN_OPT=yes
1803 xmlpatterns)
1804 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1805 CFG_XMLPATTERNS="yes"
1806 else
1807 if [ "$VAL" = "no" ]; then
1808 CFG_XMLPATTERNS="no"
1809 else
1810 UNKNOWN_OPT=yes
1814 script)
1815 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1816 CFG_SCRIPT="yes"
1817 else
1818 if [ "$VAL" = "no" ]; then
1819 CFG_SCRIPT="no"
1820 else
1821 UNKNOWN_OPT=yes
1825 scripttools)
1826 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1827 CFG_SCRIPTTOOLS="yes"
1828 else
1829 if [ "$VAL" = "no" ]; then
1830 CFG_SCRIPTTOOLS="no"
1831 else
1832 UNKNOWN_OPT=yes
1836 svg)
1837 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1838 CFG_SVG="yes"
1839 else
1840 if [ "$VAL" = "no" ]; then
1841 CFG_SVG="no"
1842 else
1843 UNKNOWN_OPT=yes
1847 webkit)
1848 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1849 CFG_WEBKIT="yes"
1850 else
1851 if [ "$VAL" = "no" ]; then
1852 CFG_WEBKIT="no"
1853 else
1854 UNKNOWN_OPT=yes
1858 javascript-jit)
1859 if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1860 CFG_JAVASCRIPTCORE_JIT="$VAL"
1861 else
1862 UNKNOWN_OPT=yes
1865 confirm-license)
1866 if [ "$VAL" = "yes" ]; then
1867 OPT_CONFIRM_LICENSE="$VAL"
1868 else
1869 UNKNOWN_OPT=yes
1872 h|help)
1873 if [ "$VAL" = "yes" ]; then
1874 OPT_HELP="$VAL"
1875 else
1876 UNKNOWN_OPT=yes
1879 sql-*|gfx-*|decoration-*|kbd-*|mouse-*)
1880 # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
1881 # if autoconf style options were used, $VAL can be "yes" or "no"
1882 [ "$VAL" = "yes" ] && VAL=qt
1883 # now $VAL should be "no", "qt", or "plugin"... double-check
1884 if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
1885 UNKNOWN_OPT=yes
1887 # now $VAL is "no", "qt", or "plugin"
1888 OPT="$VAL"
1889 VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
1890 VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
1892 # Grab the available values
1893 case "$VAR" in
1894 sql)
1895 avail="$CFG_SQL_AVAILABLE"
1897 gfx)
1898 avail="$CFG_GFX_AVAILABLE"
1899 if [ "$OPT" = "plugin" ]; then
1900 avail="$CFG_GFX_PLUGIN_AVAILABLE"
1903 decoration)
1904 avail="$CFG_DECORATION_AVAILABLE"
1905 if [ "$OPT" = "plugin" ]; then
1906 avail="$CFG_DECORATION_PLUGIN_AVAILABLE"
1909 kbd)
1910 avail="$CFG_KBD_AVAILABLE"
1911 if [ "$OPT" = "plugin" ]; then
1912 avail="$CFG_KBD_PLUGIN_AVAILABLE"
1915 mouse)
1916 avail="$CFG_MOUSE_AVAILABLE"
1917 if [ "$OPT" = "plugin" ]; then
1918 avail="$CFG_MOUSE_PLUGIN_AVAILABLE"
1922 avail=""
1923 echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
1925 esac
1927 # Check that that user's value is available.
1928 found=no
1929 for d in $avail; do
1930 if [ "$VAL" = "$d" ]; then
1931 found=yes
1932 break
1934 done
1935 [ "$found" = yes ] || ERROR=yes
1937 if [ "$VAR" = "sql" ]; then
1938 # set the CFG_SQL_driver
1939 eval "CFG_SQL_$VAL=\$OPT"
1940 continue
1943 if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
1944 if [ "$OPT" = "plugin" ]; then
1945 [ "$VAR" = "decoration" ] && QMakeVar del "${VAR}s" "$VAL"
1946 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"` && CFG_DECORATION_PLUGIN="$CFG_DECORATION_PLUGIN ${VAL}"
1947 [ "$VAR" = "kbd" ] && QMakeVar del "${VAR}s" "$VAL"
1948 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_KBD_PLUGIN="$CFG_KBD_PLUGIN ${VAL}"
1949 [ "$VAR" = "mouse" ] && QMakeVar del "${VAR}s" "$VAL"
1950 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_MOUSE_PLUGIN="$CFG_MOUSE_PLUGIN ${VAL}"
1951 [ "$VAR" = "gfx" ] && QMakeVar del "${VAR}s" "$VAL"
1952 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"` && CFG_GFX_PLUGIN="${CFG_GFX_PLUGIN} ${VAL}"
1953 VAR="${VAR}-${OPT}"
1954 else
1955 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "decoration" ] || [ "$VAR" = "mouse" ]; then
1956 [ "$VAR" = "gfx" ] && CFG_GFX_ON="$CFG_GFX_ON $VAL"
1957 [ "$VAR" = "kbd" ] && CFG_KBD_ON="$CFG_KBD_ON $VAL"
1958 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON="$CFG_DECORATION_ON $VAL"
1959 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON="$CFG_MOUSE_ON $VAL"
1960 VAR="${VAR}-driver"
1963 QMakeVar add "${VAR}s" "${VAL}"
1964 elif [ "$OPT" = "no" ]; then
1965 PLUG_VAR="${VAR}-plugin"
1966 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "mouse" ]; then
1967 IN_VAR="${VAR}-driver"
1968 else
1969 IN_VAR="${VAR}"
1971 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"`
1972 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"`
1973 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"`
1974 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"`
1975 QMakeVar del "${IN_VAR}s" "$VAL"
1976 QMakeVar del "${PLUG_VAR}s" "$VAL"
1978 if [ "$ERROR" = "yes" ]; then
1979 echo "$CURRENT_OPT: unknown argument"
1980 OPT_HELP=yes
1983 v|verbose)
1984 if [ "$VAL" = "yes" ]; then
1985 if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs
1986 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
1987 else
1988 OPT_VERBOSE=yes
1990 elif [ "$VAL" = "no" ]; then
1991 if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
1992 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
1993 else
1994 OPT_VERBOSE=no
1996 else
1997 UNKNOWN_OPT=yes
2000 fast)
2001 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2002 OPT_FAST="$VAL"
2003 else
2004 UNKNOWN_OPT=yes
2007 rpath)
2008 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2009 CFG_RPATH="$VAL"
2010 else
2011 UNKNOWN_OPT=yes
2014 add_define)
2015 D_FLAGS="$D_FLAGS \"$VAL\""
2017 add_ipath)
2018 I_FLAGS="$I_FLAGS -I\"${VAL}\""
2020 add_lpath)
2021 L_FLAGS="$L_FLAGS -L\"${VAL}\""
2023 add_rpath)
2024 RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
2026 add_link)
2027 l_FLAGS="$l_FLAGS -l\"${VAL}\""
2029 add_fpath)
2030 if [ "$PLATFORM_MAC" = "yes" ]; then
2031 L_FLAGS="$L_FLAGS -F\"${VAL}\""
2032 I_FLAGS="$I_FLAGS -F\"${VAL}\""
2033 else
2034 UNKNOWN_OPT=yes
2037 add_framework)
2038 if [ "$PLATFORM_MAC" = "yes" ]; then
2039 l_FLAGS="$l_FLAGS -framework \"${VAL}\""
2040 else
2041 UNKNOWN_OPT=yes
2044 silent)
2045 CFG_SILENT="$VAL"
2047 phonon)
2048 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2049 CFG_PHONON="$VAL"
2050 else
2051 UNKNOWN_OPT=yes
2054 phonon-backend)
2055 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2056 CFG_PHONON_BACKEND="$VAL"
2057 else
2058 UNKNOWN_OPT=yes
2061 multimedia)
2062 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2063 CFG_MULTIMEDIA="$VAL"
2064 else
2065 UNKNOWN_OPT=yes
2069 UNKNOWN_OPT=yes
2071 esac
2072 if [ "$UNKNOWN_OPT" = "yes" ]; then
2073 echo "${CURRENT_OPT}: invalid command-line switch"
2074 OPT_HELP=yes
2075 ERROR=yes
2077 done
2079 if [ "$CFG_QCONFIG" != "full" ] && [ "$CFG_QT3SUPPORT" = "yes" ]; then
2080 echo "Warning: '-qconfig $CFG_QCONFIG' will disable the qt3support library."
2081 CFG_QT3SUPPORT="no"
2084 # update QT_CONFIG to show our current predefined configuration
2085 case "$CFG_QCONFIG" in
2086 minimal|small|medium|large|full)
2087 # these are a sequence of increasing functionality
2088 for c in minimal small medium large full; do
2089 QT_CONFIG="$QT_CONFIG $c-config"
2090 [ "$CFG_QCONFIG" = $c ] && break
2091 done
2094 # not known to be sufficient for anything
2095 if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ]; then
2096 echo >&2 "Error: configuration file not found:"
2097 echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2098 OPT_HELP=yes
2100 esac
2102 #-------------------------------------------------------------------------------
2103 # build tree initialization
2104 #-------------------------------------------------------------------------------
2106 # where to find which..
2107 unixtests="$relpath/config.tests/unix"
2108 mactests="$relpath/config.tests/mac"
2109 WHICH="$unixtests/which.test"
2111 PERL=`$WHICH perl 2>/dev/null`
2113 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2114 AWK=
2115 for e in gawk nawk awk; do
2116 if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2117 AWK=$e
2118 break
2120 done
2122 # find perl
2123 PERL="/usr/bin/perl"
2124 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2125 PERL=`$WHICH perl`
2128 ### skip this if the user just needs help...
2129 if [ "$OPT_HELP" != "yes" ]; then
2131 # is this a shadow build?
2132 if [ "$OPT_SHADOW" = "maybe" ]; then
2133 OPT_SHADOW=no
2134 if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2135 if [ -h "$outpath" ]; then
2136 [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2137 else
2138 OPT_SHADOW=yes
2142 if [ "$OPT_SHADOW" = "yes" ]; then
2143 if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" ]; then
2144 echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2145 echo >&2 "Cannot proceed."
2146 exit 1
2148 [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2151 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2152 echo
2153 echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
2154 echo "By default, Qt is built in release mode with separate debug information, so"
2155 echo "-debug-and-release is not necessary anymore"
2156 echo
2159 # detect build style
2160 if [ "$CFG_DEBUG" = "auto" ]; then
2161 if [ "$PLATFORM_MAC" = "yes" ]; then
2162 CFG_DEBUG_RELEASE=yes
2163 CFG_DEBUG=yes
2164 elif [ "$CFG_DEV" = "yes" ]; then
2165 CFG_DEBUG_RELEASE=no
2166 CFG_DEBUG=yes
2167 else
2168 CFG_DEBUG_RELEASE=no
2169 CFG_DEBUG=no
2172 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2173 QMAKE_CONFIG="$QMAKE_CONFIG build_all"
2176 if [ "$CFG_SILENT" = "yes" ]; then
2177 QMAKE_CONFIG="$QMAKE_CONFIG silent"
2180 # if the source tree is different from the build tree,
2181 # symlink or copy part of the sources
2182 if [ "$OPT_SHADOW" = "yes" ]; then
2183 echo "Preparing build tree..."
2185 if [ -z "$PERL" ]; then
2186 echo
2187 echo "You need perl in your PATH to make a shadow build."
2188 echo "Cannot proceed."
2189 exit 1
2192 [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2194 # symlink the qmake directory
2195 find "$relpath/qmake" | while read a; do
2196 my_a=`echo "$a" | sed "s,^${relpath}/,${outpath}/,"`
2197 if [ '!' -f "$my_a" ]; then
2198 if [ -d "$a" ]; then
2199 # directories are created...
2200 mkdir -p "$my_a"
2201 else
2202 a_dir=`dirname "$my_a"`
2203 [ -d "$a_dir" ] || mkdir -p "$a_dir"
2204 # ... and files are symlinked
2205 case `basename "$a"` in
2206 *.o|*.d|GNUmakefile*|qmake)
2209 rm -f "$my_a"
2210 ln -s "$a" "$my_a"
2212 esac
2215 done
2217 # make a syncqt script that can be used in the shadow
2218 rm -f "$outpath/bin/syncqt"
2219 if [ -x "$relpath/bin/syncqt" ]; then
2220 mkdir -p "$outpath/bin"
2221 echo "#!/bin/sh" >"$outpath/bin/syncqt"
2222 echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/syncqt"
2223 echo "perl \"$relpath/bin/syncqt\" -outdir \"$outpath\" $*" >>"$outpath/bin/syncqt"
2224 chmod 755 "$outpath/bin/syncqt"
2227 # symlink the mkspecs directory
2228 mkdir -p "$outpath/mkspecs"
2229 rm -f "$outpath"/mkspecs/*
2230 ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2231 rm -f "$outpath/mkspecs/default"
2233 # symlink the doc directory
2234 rm -rf "$outpath/doc"
2235 ln -s "$relpath/doc" "$outpath/doc"
2237 # make sure q3porting.xml can be found
2238 mkdir -p "$outpath/tools/porting/src"
2239 rm -f "$outpath/tools/porting/src/q3porting.xml"
2240 ln -s "$relpath/tools/porting/src/q3porting.xml" "$outpath/tools/porting/src"
2243 # symlink fonts to be able to run application from build directory
2244 if [ "$PLATFORM_QWS" = "yes" ] && [ ! -e "${outpath}/lib/fonts" ]; then
2245 if [ "$PLATFORM" = "$XPLATFORM" ]; then
2246 mkdir -p "${outpath}/lib"
2247 ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2251 if [ "$OPT_FAST" = "auto" ]; then
2252 if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2253 OPT_FAST=yes
2254 else
2255 OPT_FAST=no
2259 # find a make command
2260 if [ -z "$MAKE" ]; then
2261 MAKE=
2262 for mk in gmake make; do
2263 if "$WHICH" $mk >/dev/null 2>&1; then
2264 MAKE=`"$WHICH" $mk`
2265 break
2267 done
2268 if [ -z "$MAKE" ]; then
2269 echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2270 echo >&2 "Cannot proceed."
2271 exit 1
2273 # export MAKE, we need it later in the config.tests
2274 export MAKE
2277 fi ### help
2279 #-------------------------------------------------------------------------------
2280 # auto-detect all that hasn't been specified in the arguments
2281 #-------------------------------------------------------------------------------
2283 [ "$PLATFORM_QWS" = "yes" -a "$CFG_EMBEDDED" = "no" ] && CFG_EMBEDDED=auto
2284 if [ "$CFG_EMBEDDED" != "no" ]; then
2285 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2286 Darwin:*)
2287 [ -z "$PLATFORM" ] && PLATFORM=qws/macx-generic-g++
2288 if [ -z "$XPLATFORM" ]; then
2289 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2290 XPLATFORM="qws/macx-$CFG_EMBEDDED-g++"
2293 FreeBSD:*)
2294 [ -z "$PLATFORM" ] && PLATFORM=qws/freebsd-generic-g++
2295 if [ -z "$XPLATFORM" ]; then
2296 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2297 XPLATFORM="qws/freebsd-$CFG_EMBEDDED-g++"
2300 SunOS:5*)
2301 [ -z "$PLATFORM" ] && PLATFORM=qws/solaris-generic-g++
2302 if [ -z "$XPLATFORM" ]; then
2303 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2304 XPLATFORM="qws/solaris-$CFG_EMBEDDED-g++"
2307 Linux:*)
2308 if [ -z "$PLATFORM" ]; then
2309 case "$UNAME_MACHINE" in
2310 *86)
2311 PLATFORM=qws/linux-x86-g++
2313 *86_64)
2314 PLATFORM=qws/linux-x86_64-g++
2317 PLATFORM=qws/linux-generic-g++
2319 esac
2321 if [ -z "$XPLATFORM" ]; then
2322 if [ "$CFG_EMBEDDED" = "auto" ]; then
2323 if [ -n "$CFG_ARCH" ]; then
2324 CFG_EMBEDDED=$CFG_ARCH
2325 else
2326 case "$UNAME_MACHINE" in
2327 *86)
2328 CFG_EMBEDDED=x86
2330 *86_64)
2331 CFG_EMBEDDED=x86_64
2334 CFG_EMBEDDED=generic
2336 esac
2339 XPLATFORM="qws/linux-$CFG_EMBEDDED-g++"
2342 QNX:*)
2343 [ -z "$PLATFORM" ] && PLATFORM=unsupported/qws/qnx-generic-g++
2344 if [ -z "$XPLATFORM" ]; then
2345 [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2346 XPLATFORM="unsupported/qws/qnx-$CFG_EMBEDDED-g++"
2349 CYGWIN*:*)
2350 CFG_EMBEDDED=x86
2353 echo "Qt for Embedded Linux is not supported on this platform. Disabling."
2354 CFG_EMBEDDED=no
2355 PLATFORM_QWS=no
2357 esac
2359 if [ -z "$PLATFORM" ]; then
2360 PLATFORM_NOTES=
2361 case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2362 Darwin:*)
2363 if [ "$PLATFORM_MAC" = "yes" ]; then
2364 PLATFORM=macx-g++
2365 # PLATFORM=macx-xcode
2366 else
2367 PLATFORM=darwin-g++
2370 AIX:*)
2371 #PLATFORM=aix-g++
2372 #PLATFORM=aix-g++-64
2373 PLATFORM=aix-xlc
2374 #PLATFORM=aix-xlc-64
2375 PLATFORM_NOTES="
2376 - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2379 GNU:*)
2380 PLATFORM=hurd-g++
2382 dgux:*)
2383 PLATFORM=dgux-g++
2385 # DYNIX/ptx:4*)
2386 # PLATFORM=dynix-g++
2387 # ;;
2388 ULTRIX:*)
2389 PLATFORM=ultrix-g++
2391 FreeBSD:*)
2392 PLATFORM=freebsd-g++
2393 PLATFORM_NOTES="
2394 - Also available for FreeBSD: freebsd-icc
2397 OpenBSD:*)
2398 PLATFORM=openbsd-g++
2400 NetBSD:*)
2401 PLATFORM=netbsd-g++
2403 BSD/OS:*|BSD/386:*)
2404 PLATFORM=bsdi-g++
2406 IRIX*:*)
2407 #PLATFORM=irix-g++
2408 PLATFORM=irix-cc
2409 #PLATFORM=irix-cc-64
2410 PLATFORM_NOTES="
2411 - Also available for IRIX: irix-g++ irix-cc-64
2414 HP-UX:*)
2415 case "$UNAME_MACHINE" in
2416 ia64)
2417 #PLATFORM=hpuxi-acc-32
2418 PLATFORM=hpuxi-acc-64
2419 PLATFORM_NOTES="
2420 - Also available for HP-UXi: hpuxi-acc-32
2424 #PLATFORM=hpux-g++
2425 PLATFORM=hpux-acc
2426 #PLATFORM=hpux-acc-64
2427 #PLATFORM=hpux-cc
2428 #PLATFORM=hpux-acc-o64
2429 PLATFORM_NOTES="
2430 - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2433 esac
2435 OSF1:*)
2436 #PLATFORM=tru64-g++
2437 PLATFORM=tru64-cxx
2438 PLATFORM_NOTES="
2439 - Also available for Tru64: tru64-g++
2442 Linux:*)
2443 case "$UNAME_MACHINE" in
2444 x86_64|s390x|ppc64)
2445 PLATFORM=linux-g++-64
2448 PLATFORM=linux-g++
2450 esac
2451 PLATFORM_NOTES="
2452 - Also available for Linux: linux-kcc linux-icc linux-cxx
2455 SunOS:5*)
2456 #PLATFORM=solaris-g++
2457 PLATFORM=solaris-cc
2458 #PLATFORM=solaris-cc64
2459 PLATFORM_NOTES="
2460 - Also available for Solaris: solaris-g++ solaris-cc-64
2463 ReliantUNIX-*:*|SINIX-*:*)
2464 PLATFORM=reliant-cds
2465 #PLATFORM=reliant-cds-64
2466 PLATFORM_NOTES="
2467 - Also available for Reliant UNIX: reliant-cds-64
2470 CYGWIN*:*)
2471 PLATFORM=cygwin-g++
2473 LynxOS*:*)
2474 PLATFORM=lynxos-g++
2476 OpenUNIX:*)
2477 #PLATFORM=unixware-g++
2478 PLATFORM=unixware-cc
2479 PLATFORM_NOTES="
2480 - Also available for OpenUNIX: unixware-g++
2483 UnixWare:*)
2484 #PLATFORM=unixware-g++
2485 PLATFORM=unixware-cc
2486 PLATFORM_NOTES="
2487 - Also available for UnixWare: unixware-g++
2490 SCO_SV:*)
2491 #PLATFORM=sco-g++
2492 PLATFORM=sco-cc
2493 PLATFORM_NOTES="
2494 - Also available for SCO OpenServer: sco-g++
2497 UNIX_SV:*)
2498 PLATFORM=unixware-g++
2500 QNX:*)
2501 PLATFORM=unsupported/qnx-g++
2504 if [ "$OPT_HELP" != "yes" ]; then
2505 echo
2506 for p in $PLATFORMS; do
2507 echo " $relconf $* -platform $p"
2508 done
2509 echo >&2
2510 echo " The build script does not currently recognize all" >&2
2511 echo " platforms supported by Qt." >&2
2512 echo " Rerun this script with a -platform option listed to" >&2
2513 echo " set the system/compiler combination you use." >&2
2514 echo >&2
2515 exit 2
2517 esac
2520 if [ "$PLATFORM_QWS" = "yes" ]; then
2521 CFG_SM=no
2522 PLATFORMS=`find "$relpath/mkspecs/qws" | sed "s,$relpath/mkspecs/qws/,,"`
2523 else
2524 PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2527 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2528 if [ -d "$PLATFORM" ]; then
2529 QMAKESPEC="$PLATFORM"
2530 else
2531 QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2533 if [ -d "$XPLATFORM" ]; then
2534 XQMAKESPEC="$XPLATFORM"
2535 else
2536 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2538 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2539 QT_CROSS_COMPILE=yes
2540 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2543 if [ "$PLATFORM_MAC" = "yes" ]; then
2544 if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2545 echo >&2
2546 echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2547 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2548 echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2
2549 echo " built with 'macx-g++'" >&2
2550 echo >&2
2551 exit 2
2555 # check specified platforms are supported
2556 if [ '!' -d "$QMAKESPEC" ]; then
2557 echo
2558 echo " The specified system/compiler is not supported:"
2559 echo
2560 echo " $QMAKESPEC"
2561 echo
2562 echo " Please see the README file for a complete list."
2563 echo
2564 exit 2
2566 if [ '!' -d "$XQMAKESPEC" ]; then
2567 echo
2568 echo " The specified system/compiler is not supported:"
2569 echo
2570 echo " $XQMAKESPEC"
2571 echo
2572 echo " Please see the README file for a complete list."
2573 echo
2574 exit 2
2576 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2577 echo
2578 echo " The specified system/compiler port is not complete:"
2579 echo
2580 echo " $XQMAKESPEC/qplatformdefs.h"
2581 echo
2582 echo " Please contact qt-bugs@trolltech.com."
2583 echo
2584 exit 2
2587 # now look at the configs and figure out what platform we are config'd for
2588 [ "$CFG_EMBEDDED" = "no" ] \
2589 && [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ] \
2590 && PLATFORM_X11=yes
2591 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2593 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2594 # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2595 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2596 sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2597 mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2601 #-------------------------------------------------------------------------------
2602 # determine the system architecture
2603 #-------------------------------------------------------------------------------
2604 if [ "$OPT_VERBOSE" = "yes" ]; then
2605 echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
2608 if [ "$CFG_EMBEDDED" != "no" -a "$CFG_EMBEDDED" != "auto" ] && [ -n "$CFG_ARCH" ]; then
2609 if [ "$CFG_ARCH" != "$CFG_EMBEDDED" ]; then
2610 echo ""
2611 echo "You have specified a target architecture with -embedded and -arch."
2612 echo "The two architectures you have specified are different, so we can"
2613 echo "not proceed. Either set both to be the same, or only use -embedded."
2614 echo ""
2615 exit 1
2619 if [ -z "${CFG_HOST_ARCH}" ]; then
2620 case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
2621 IRIX*:*:*)
2622 CFG_HOST_ARCH=`uname -p`
2623 if [ "$OPT_VERBOSE" = "yes" ]; then
2624 echo " SGI ($CFG_HOST_ARCH)"
2627 SunOS:5*:*)
2628 case "$UNAME_MACHINE" in
2629 sun4u*|sun4v*)
2630 if [ "$OPT_VERBOSE" = "yes" ]; then
2631 echo " Sun SPARC (sparc)"
2633 CFG_HOST_ARCH=sparc
2635 i86pc)
2636 case "$PLATFORM" in
2637 *-64)
2638 if [ "$OPT_VERBOSE" = "yes" ]; then
2639 echo " 64-bit AMD 80x86 (x86_64)"
2641 CFG_HOST_ARCH=x86_64
2644 if [ "$OPT_VERBOSE" = "yes" ]; then
2645 echo " 32-bit Intel 80x86 (i386)"
2647 CFG_HOST_ARCH=i386
2649 esac
2650 esac
2652 Darwin:*:*)
2653 case "$UNAME_MACHINE" in
2654 Power?Macintosh)
2655 if [ "$OPT_VERBOSE" = "yes" ]; then
2656 echo " 32-bit Apple PowerPC (powerpc)"
2659 x86)
2660 if [ "$OPT_VERBOSE" = "yes" ]; then
2661 echo " 32-bit Intel 80x86 (i386)"
2664 esac
2665 CFG_HOST_ARCH=macosx
2667 AIX:*:00????????00)
2668 if [ "$OPT_VERBOSE" = "yes" ]; then
2669 echo " 64-bit IBM PowerPC (powerpc)"
2671 CFG_HOST_ARCH=powerpc
2673 HP-UX:*:9000*)
2674 if [ "$OPT_VERBOSE" = "yes" ]; then
2675 echo " HP PA-RISC (parisc)"
2677 CFG_HOST_ARCH=parisc
2679 *:*:i?86)
2680 if [ "$OPT_VERBOSE" = "yes" ]; then
2681 echo " 32-bit Intel 80x86 (i386)"
2683 CFG_HOST_ARCH=i386
2685 *:*:x86_64|*:*:amd64)
2686 if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
2687 if [ "$OPT_VERBOSE" = "yes" ]; then
2688 echo " 32 bit on 64-bit AMD 80x86 (i386)"
2690 CFG_HOST_ARCH=i386
2691 else
2692 if [ "$OPT_VERBOSE" = "yes" ]; then
2693 echo " 64-bit AMD 80x86 (x86_64)"
2695 CFG_HOST_ARCH=x86_64
2698 *:*:ppc)
2699 if [ "$OPT_VERBOSE" = "yes" ]; then
2700 echo " 32-bit PowerPC (powerpc)"
2702 CFG_HOST_ARCH=powerpc
2704 *:*:ppc64)
2705 if [ "$OPT_VERBOSE" = "yes" ]; then
2706 echo " 64-bit PowerPC (powerpc)"
2708 CFG_HOST_ARCH=powerpc
2710 *:*:s390*)
2711 if [ "$OPT_VERBOSE" = "yes" ]; then
2712 echo " IBM S/390 (s390)"
2714 CFG_HOST_ARCH=s390
2716 *:*:arm*)
2717 if [ "$OPT_VERBOSE" = "yes" ]; then
2718 echo " ARM (arm)"
2720 CFG_HOST_ARCH=arm
2722 Linux:*:sparc*)
2723 if [ "$OPT_VERBOSE" = "yes" ]; then
2724 echo " Linux on SPARC"
2726 CFG_HOST_ARCH=sparc
2728 QNX:*:*)
2729 case "$UNAME_MACHINE" in
2730 x86pc)
2731 if [ "$OPT_VERBOSE" = "yes" ]; then
2732 echo " QNX on Intel 80x86 (i386)"
2734 CFG_HOST_ARCH=i386
2736 esac
2738 *:*:*)
2739 if [ "$OPT_VERBOSE" = "yes" ]; then
2740 echo " Trying '$UNAME_MACHINE'..."
2742 CFG_HOST_ARCH="$UNAME_MACHINE"
2744 esac
2747 if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
2748 if [ -n "$CFG_ARCH" ]; then
2749 CFG_EMBEDDED=$CFG_ARCH
2752 case "$CFG_EMBEDDED" in
2753 x86)
2754 CFG_ARCH=i386
2756 x86_64)
2757 CFG_ARCH=x86_64
2759 ipaq|sharp)
2760 CFG_ARCH=arm
2762 dm7000)
2763 CFG_ARCH=powerpc
2765 dm800)
2766 CFG_ARCH=mips
2768 sh4al)
2769 CFG_ARCH=sh4a
2772 CFG_ARCH="$CFG_EMBEDDED"
2774 esac
2775 elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
2776 CFG_ARCH=$CFG_HOST_ARCH
2779 if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
2780 if [ "$OPT_VERBOSE" = "yes" ]; then
2781 echo " '$CFG_ARCH' is supported"
2783 else
2784 if [ "$OPT_VERBOSE" = "yes" ]; then
2785 echo " '$CFG_ARCH' is unsupported, using 'generic'"
2787 CFG_ARCH=generic
2789 if [ "$CFG_HOST_ARCH" != "$CFG_ARCH" ]; then
2790 if [ -d "$relpath/src/corelib/arch/$CFG_HOST_ARCH" ]; then
2791 if [ "$OPT_VERBOSE" = "yes" ]; then
2792 echo " '$CFG_HOST_ARCH' is supported"
2794 else
2795 if [ "$OPT_VERBOSE" = "yes" ]; then
2796 echo " '$CFG_HOST_ARCH' is unsupported, using 'generic'"
2798 CFG_HOST_ARCH=generic
2802 if [ "$OPT_VERBOSE" = "yes" ]; then
2803 echo "System architecture: '$CFG_ARCH'"
2804 if [ "$PLATFORM_QWS" = "yes" ]; then
2805 echo "Host architecture: '$CFG_HOST_ARCH'"
2809 #-------------------------------------------------------------------------------
2810 # tests that don't need qmake (must be run before displaying help)
2811 #-------------------------------------------------------------------------------
2813 if [ -z "$PKG_CONFIG" ]; then
2814 # See if PKG_CONFIG is set in the mkspec:
2815 PKG_CONFIG=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%PKG_CONFIG[^_].*=%%p' | tr '\n' ' '`
2817 if [ -z "$PKG_CONFIG" ]; then
2818 PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
2821 # Work out if we can use pkg-config
2822 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
2823 if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
2824 echo >&2 ""
2825 echo >&2 "You have asked to use pkg-config and are cross-compiling."
2826 echo >&2 "Please make sure you have a correctly set-up pkg-config"
2827 echo >&2 "environment!"
2828 echo >&2 ""
2829 if [ -z "$PKG_CONFIG_PATH" ]; then
2830 echo >&2 ""
2831 echo >&2 "Warning: PKG_CONFIG_PATH has not been set. This could mean"
2832 echo >&2 "the host compiler's .pc files will be used. This is probably"
2833 echo >&2 "not what you want."
2834 echo >&2 ""
2835 elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
2836 echo >&2 ""
2837 echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
2838 echo >&2 "been set. This means your toolchain's .pc files must contain"
2839 echo >&2 "the paths to the toolchain's libraries & headers. If configure"
2840 echo >&2 "tests are failing, please check these files."
2841 echo >&2 ""
2843 else
2844 PKG_CONFIG=""
2848 # process CFG_MAC_ARCHS
2849 if [ "$PLATFORM_MAC" = "yes" ]; then
2850 # check -arch arguments for validity.
2851 ALLOWED="x86 ppc x86_64 ppc64 i386"
2852 # Save the list so we can re-write it using only valid values
2853 CFG_MAC_ARCHS_IN="$CFG_MAC_ARCHS"
2854 CFG_MAC_ARCHS=
2855 for i in $CFG_MAC_ARCHS_IN
2857 if echo "$ALLOWED" | grep -w -v "$i" > /dev/null 2>&1; then
2858 echo "Unknown architecture: \"$i\". Supported architectures: x86[i386] ppc x86_64 ppc64";
2859 exit 2;
2861 if [ "$i" = "i386" -o "$i" = "x86" ]; then
2862 # These are synonymous values
2863 # CFG_MAC_ARCHS requires x86 while GCC requires i386
2864 CFG_MAC_ARCHS="$CFG_MAC_ARCHS x86"
2865 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -arch i386"
2866 else
2867 CFG_MAC_ARCHS="$CFG_MAC_ARCHS $i"
2868 MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -arch $i"
2870 done
2873 # pass on $CFG_SDK to the configure tests.
2874 if [ '!' -z "$CFG_SDK" ]; then
2875 MAC_CONFIG_TEST_COMMANDLINE="-sdk $CFG_SDK"
2878 # find the default framework value
2879 if [ "$PLATFORM_MAC" = "yes" ] && [ "$PLATFORM" != "macx-xlc" ]; then
2880 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2881 CFG_FRAMEWORK="$CFG_SHARED"
2882 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2883 echo
2884 echo "WARNING: Using static linking will disable the use of Mac frameworks."
2885 echo
2886 CFG_FRAMEWORK="no"
2888 else
2889 CFG_FRAMEWORK=no
2892 QMAKE_CONF_COMPILER=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | tail -1`
2893 TEST_COMPILER="$CC"
2894 [ -z "$TEST_COMPILER" ] && TEST_COMPILER=$QMAKE_CONF_COMPILER
2896 # auto-detect precompiled header support
2897 if [ "$CFG_PRECOMPILE" = "auto" ]; then
2898 if [ `echo "$CFG_MAC_ARCHS" | wc -w` -gt 1 ]; then
2899 CFG_PRECOMPILE=no
2900 elif "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2901 CFG_PRECOMPILE=no
2902 else
2903 CFG_PRECOMPILE=yes
2905 elif [ "$CFG_PRECOMPILE" = "yes" ] && [ `echo "$CFG_MAC_ARCHS" | wc -w` -gt 1 ]; then
2906 echo
2907 echo "WARNING: Using universal binaries disables precompiled headers."
2908 echo
2909 CFG_PRECOMPILE=no
2912 #auto-detect DWARF2 on the mac
2913 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
2914 if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
2915 CFG_MAC_DWARF2=no
2916 else
2917 CFG_MAC_DWARF2=yes
2921 # auto-detect support for -Xarch on the mac
2922 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_XARCH" = "auto" ]; then
2923 if "$mactests/xarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
2924 CFG_MAC_XARCH=no
2925 else
2926 CFG_MAC_XARCH=yes
2930 # don't autodetect support for separate debug info on objcopy when
2931 # cross-compiling as lots of toolchains seems to have problems with this
2932 if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
2933 CFG_SEPARATE_DEBUG_INFO="no"
2936 # auto-detect support for separate debug info in objcopy
2937 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
2938 TEST_COMPILER_CFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CFLAGS[^_].*=%%p' | tr '\n' ' '`
2939 TEST_COMPILER_CXXFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CXXFLAGS[^_].*=%%p' | tr '\n' ' '`
2940 TEST_OBJCOPY=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_OBJCOPY" | sed "s%.* *= *\(.*\)$%\1%" | tail -1`
2941 COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
2942 COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
2943 if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
2944 CFG_SEPARATE_DEBUG_INFO=no
2945 else
2946 case "$PLATFORM" in
2947 hpux-*)
2948 # binutils on HP-UX is buggy; default to no.
2949 CFG_SEPARATE_DEBUG_INFO=no
2952 CFG_SEPARATE_DEBUG_INFO=yes
2954 esac
2958 # auto-detect -fvisibility support
2959 if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then
2960 if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2961 CFG_REDUCE_EXPORTS=no
2962 else
2963 CFG_REDUCE_EXPORTS=yes
2967 # detect the availability of the -Bsymbolic-functions linker optimization
2968 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
2969 if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
2970 CFG_REDUCE_RELOCATIONS=no
2971 else
2972 CFG_REDUCE_RELOCATIONS=yes
2976 # auto-detect GNU make support
2977 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
2978 CFG_USE_GNUMAKE=yes
2981 # If -opengl wasn't specified, don't try to auto-detect
2982 if [ "$PLATFORM_QWS" = "yes" ] && [ "$CFG_OPENGL" = "auto" ]; then
2983 CFG_OPENGL=no
2986 # mac
2987 if [ "$PLATFORM_MAC" = "yes" ]; then
2988 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
2989 CFG_OPENGL=desktop
2993 # find the default framework value
2994 if [ "$PLATFORM_MAC" = "yes" ] && [ "$PLATFORM" != "macx-xlc" ]; then
2995 if [ "$CFG_FRAMEWORK" = "auto" ]; then
2996 CFG_FRAMEWORK="$CFG_SHARED"
2997 elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
2998 echo
2999 echo "WARNING: Using static linking will disable the use of Mac frameworks."
3000 echo
3001 CFG_FRAMEWORK="no"
3003 else
3004 CFG_FRAMEWORK=no
3007 # x11 tests are done after qmake is built
3010 #setup the build parts
3011 if [ -z "$CFG_BUILD_PARTS" ]; then
3012 CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
3014 # don't build tools by default when cross-compiling
3015 if [ "$PLATFORM" != "$XPLATFORM" ]; then
3016 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
3019 for nobuild in $CFG_NOBUILD_PARTS; do
3020 CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
3021 done
3022 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
3023 # echo
3024 # echo "WARNING: libs is a required part of the build."
3025 # echo
3026 CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
3029 #-------------------------------------------------------------------------------
3030 # post process QT_INSTALL_* variables
3031 #-------------------------------------------------------------------------------
3033 #prefix
3034 if [ -z "$QT_INSTALL_PREFIX" ]; then
3035 if [ "$CFG_DEV" = "yes" ]; then
3036 QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
3037 elif [ "$PLATFORM_QWS" = "yes" ]; then
3038 QT_INSTALL_PREFIX="/usr/local/Trolltech/QtEmbedded-${QT_VERSION}"
3039 if [ "$PLATFORM" != "$XPLATFORM" ]; then
3040 QT_INSTALL_PREFIX="${QT_INSTALL_PREFIX}-${CFG_ARCH}"
3042 else
3043 QT_INSTALL_PREFIX="/usr/local/Trolltech/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Trolltech/Qt-$QT_VERSION
3046 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
3048 #docs
3049 if [ -z "$QT_INSTALL_DOCS" ]; then #default
3050 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3051 if [ "$PLATFORM_MAC" = "yes" ]; then
3052 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
3055 [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
3058 QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
3060 #headers
3061 if [ -z "$QT_INSTALL_HEADERS" ]; then #default
3062 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3063 if [ "$PLATFORM_MAC" = "yes" ]; then
3064 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3065 QT_INSTALL_HEADERS=
3069 [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
3072 QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
3074 #libs
3075 if [ -z "$QT_INSTALL_LIBS" ]; then #default
3076 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3077 if [ "$PLATFORM_MAC" = "yes" ]; then
3078 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3079 QT_INSTALL_LIBS="/Libraries/Frameworks"
3083 [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
3085 QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
3087 #bins
3088 if [ -z "$QT_INSTALL_BINS" ]; then #default
3089 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3090 if [ "$PLATFORM_MAC" = "yes" ]; then
3091 QT_INSTALL_BINS="/Developer/Applications/Qt"
3094 [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
3097 QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
3099 #plugins
3100 if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
3101 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3102 if [ "$PLATFORM_MAC" = "yes" ]; then
3103 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
3106 [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
3108 QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
3110 #data
3111 if [ -z "$QT_INSTALL_DATA" ]; then #default
3112 QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
3114 QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
3116 #translations
3117 if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
3118 QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
3120 QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
3122 #settings
3123 if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
3124 if [ "$PLATFORM_MAC" = "yes" ]; then
3125 QT_INSTALL_SETTINGS=/Library/Preferences/Qt
3126 else
3127 QT_INSTALL_SETTINGS=/etc/xdg
3130 QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
3132 #examples
3133 if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
3134 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3135 if [ "$PLATFORM_MAC" = "yes" ]; then
3136 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
3139 [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
3141 QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
3143 #demos
3144 if [ -z "$QT_INSTALL_DEMOS" ]; then #default
3145 if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3146 if [ "$PLATFORM_MAC" = "yes" ]; then
3147 QT_INSTALL_DEMOS="/Developer/Examples/Qt/Demos"
3150 [ -z "$QT_INSTALL_DEMOS" ] && QT_INSTALL_DEMOS="$QT_INSTALL_PREFIX/demos"
3152 QT_INSTALL_DEMOS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DEMOS"`
3154 #-------------------------------------------------------------------------------
3155 # help - interactive parts of the script _after_ this section please
3156 #-------------------------------------------------------------------------------
3158 # next, emit a usage message if something failed.
3159 if [ "$OPT_HELP" = "yes" ]; then
3160 [ "x$ERROR" = "xyes" ] && echo
3161 if [ "$CFG_NIS" = "no" ]; then
3162 NSY=" "
3163 NSN="*"
3164 else
3165 NSY="*"
3166 NSN=" "
3168 if [ "$CFG_CUPS" = "no" ]; then
3169 CUY=" "
3170 CUN="*"
3171 else
3172 CUY="*"
3173 CUN=" "
3175 if [ "$CFG_ICONV" = "no" ]; then
3176 CIY=" "
3177 CIN="*"
3178 else
3179 CIY="*"
3180 CIN=" "
3182 if [ "$CFG_LARGEFILE" = "no" ]; then
3183 LFSY=" "
3184 LFSN="*"
3185 else
3186 LFSY="*"
3187 LFSN=" "
3189 if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then
3190 SHY="*"
3191 SHN=" "
3192 else
3193 SHY=" "
3194 SHN="*"
3196 if [ "$CFG_IPV6" = "auto" ]; then
3197 I6Y="*"
3198 I6N=" "
3200 if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
3201 PHY=" "
3202 PHN="*"
3203 else
3204 PHY="*"
3205 PHN=" "
3208 cat <<EOF
3209 Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
3210 [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-datadir <dir>]
3211 [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>]
3212 [-demosdir <dir>] [-buildkey <key>] [-release] [-debug]
3213 [-debug-and-release] [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
3214 [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
3215 [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
3216 [-plugin-sql-<driver>] [-system-sqlite] [-no-qt3support] [-qt3support]
3217 [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
3218 [-qt-zlib] [-system-zlib] [-no-gif] [-qt-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff]
3219 [-no-libpng] [-qt-libpng] [-system-libpng] [-no-libmng] [-qt-libmng]
3220 [-system-libmng] [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
3221 [-no-make <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
3222 [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
3223 [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked]
3224 [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
3225 [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] [-armfpa]
3226 [-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns] [-xmlpatterns]
3227 [-no-multimedia] [-multimedia] [-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend]
3228 [-no-openssl] [-openssl] [-openssl-linked]
3229 [-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit] [-no-javascript-jit] [-javascript-jit]
3230 [-no-script] [-script] [-no-scripttools] [-scripttools]
3232 [additional platform specific options (see below)]
3235 Installation options:
3237 These are optional, but you may specify install directories.
3239 -prefix <dir> ...... This will install everything relative to <dir>
3240 (default $QT_INSTALL_PREFIX)
3242 if [ "$PLATFORM_QWS" = "yes" ]; then
3243 cat <<EOF
3245 -hostprefix [dir] .. Tools and libraries needed when developing
3246 applications are installed in [dir]. If [dir] is
3247 not given, the current build directory will be used.
3250 cat <<EOF
3252 * -prefix-install .... Force a sandboxed "local" installation of
3253 Qt. This will install into
3254 $QT_INSTALL_PREFIX, if this option is
3255 disabled then some platforms will attempt a
3256 "system" install by placing default values to
3257 be placed in a system location other than
3258 PREFIX.
3260 You may use these to separate different parts of the install:
3262 -bindir <dir> ......... Executables will be installed to <dir>
3263 (default PREFIX/bin)
3264 -libdir <dir> ......... Libraries will be installed to <dir>
3265 (default PREFIX/lib)
3266 -docdir <dir> ......... Documentation will be installed to <dir>
3267 (default PREFIX/doc)
3268 -headerdir <dir> ...... Headers will be installed to <dir>
3269 (default PREFIX/include)
3270 -plugindir <dir> ...... Plugins will be installed to <dir>
3271 (default PREFIX/plugins)
3272 -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
3273 (default PREFIX)
3274 -translationdir <dir> . Translations of Qt programs will be installed to <dir>
3275 (default PREFIX/translations)
3276 -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
3277 (default PREFIX/etc/settings)
3278 -examplesdir <dir> .... Examples will be installed to <dir>
3279 (default PREFIX/examples)
3280 -demosdir <dir> ....... Demos will be installed to <dir>
3281 (default PREFIX/demos)
3283 You may use these options to turn on strict plugin loading.
3285 -buildkey <key> .... Build the Qt library and plugins using the specified
3286 <key>. When the library loads plugins, it will only
3287 load those that have a matching key.
3289 Configure options:
3291 The defaults (*) are usually acceptable. A plus (+) denotes a default value
3292 that needs to be evaluated. If the evaluation succeeds, the feature is
3293 included. Here is a short explanation of each option:
3295 * -release ........... Compile and link Qt with debugging turned off.
3296 -debug ............. Compile and link Qt with debugging turned on.
3297 -debug-and-release . Compile and link two versions of Qt, with and without
3298 debugging turned on (Mac only).
3300 -developer-build.... Compile and link Qt with Qt developer options (including auto-tests exporting)
3302 -opensource......... Compile and link the Open-Source Edition of Qt.
3303 -commercial......... Compile and link the Commercial Edition of Qt.
3306 * -shared ............ Create and use shared Qt libraries.
3307 -static ............ Create and use static Qt libraries.
3309 * -no-fast ........... Configure Qt normally by generating Makefiles for all
3310 project files.
3311 -fast .............. Configure Qt quickly by generating Makefiles only for
3312 library and subdirectory targets. All other Makefiles
3313 are created as wrappers, which will in turn run qmake.
3315 -no-largefile ...... Disables large file support.
3316 + -largefile ......... Enables Qt to access files larger than 4 GB.
3319 if [ "$PLATFORM_QWS" = "yes" ]; then
3320 EXCN="*"
3321 EXCY=" "
3322 else
3323 EXCN=" "
3324 EXCY="*"
3326 if [ "$CFG_DBUS" = "no" ]; then
3327 DBY=" "
3328 DBN="+"
3329 else
3330 DBY="+"
3331 DBN=" "
3334 cat << EOF
3335 $EXCN -no-exceptions ..... Disable exceptions on compilers that support it.
3336 $EXCY -exceptions ........ Enable exceptions on compilers that support it.
3338 -no-accessibility .. Do not compile Accessibility support.
3339 * -accessibility ..... Compile Accessibility support.
3341 $SHN -no-stl ............ Do not compile STL support.
3342 $SHY -stl ............... Compile STL support.
3344 -no-sql-<driver> ... Disable SQL <driver> entirely.
3345 -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3346 none are turned on.
3347 -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3348 at run time.
3350 Possible values for <driver>:
3351 [ $CFG_SQL_AVAILABLE ]
3353 -system-sqlite ..... Use sqlite from the operating system.
3355 -no-qt3support ..... Disables the Qt 3 support functionality.
3356 * -qt3support ........ Enables the Qt 3 support functionality.
3358 -no-xmlpatterns .... Do not build the QtXmlPatterns module.
3359 + -xmlpatterns ....... Build the QtXmlPatterns module.
3360 QtXmlPatterns is built if a decent C++ compiler
3361 is used and exceptions are enabled.
3363 -no-multimedia ..... Do not build the QtMultimedia module.
3364 + -multimedia ........ Build the QtMultimedia module.
3366 -no-phonon ......... Do not build the Phonon module.
3367 + -phonon ............ Build the Phonon module.
3368 Phonon is built if a decent C++ compiler is used.
3369 -no-phonon-backend.. Do not build the platform phonon plugin.
3370 + -phonon-backend..... Build the platform phonon plugin.
3372 -no-svg ............ Do not build the SVG module.
3373 + -svg ............... Build the SVG module.
3375 -no-webkit ......... Do not build the WebKit module.
3376 + -webkit ............ Build the WebKit module.
3377 WebKit is built if a decent C++ compiler is used.
3379 -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
3380 + -javascript-jit .... Build the JavaScriptCore JIT compiler.
3382 -no-script ......... Do not build the QtScript module.
3383 + -script ............ Build the QtScript module.
3385 -no-scripttools .... Do not build the QtScriptTools module.
3386 + -scripttools ....... Build the QtScriptTools module.
3388 -platform target ... The operating system and compiler you are building
3389 on ($PLATFORM).
3391 See the README file for a list of supported
3392 operating systems and compilers.
3394 if [ "${PLATFORM_QWS}" != "yes" ]; then
3395 cat << EOF
3396 -graphicssystem <sys> Sets an alternate graphics system. Available options are:
3397 raster - Software rasterizer
3398 opengl - Rendering via OpenGL, Experimental!
3401 cat << EOF
3403 -no-mmx ............ Do not compile with use of MMX instructions.
3404 -no-3dnow .......... Do not compile with use of 3DNOW instructions.
3405 -no-sse ............ Do not compile with use of SSE instructions.
3406 -no-sse2 ........... Do not compile with use of SSE2 instructions.
3408 -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
3409 -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
3411 -D <string> ........ Add an explicit define to the preprocessor.
3412 -I <string> ........ Add an explicit include path.
3413 -L <string> ........ Add an explicit library path.
3415 -help, -h .......... Display this information.
3417 Third Party Libraries:
3419 -qt-zlib ........... Use the zlib bundled with Qt.
3420 + -system-zlib ....... Use zlib from the operating system.
3421 See http://www.gzip.org/zlib
3423 -no-gif ............ Do not compile the plugin for GIF reading support.
3424 * -qt-gif ............ Compile the plugin for GIF reading support.
3425 See also src/plugins/imageformats/gif/qgifhandler.h
3427 -no-libtiff ........ Do not compile the plugin for TIFF support.
3428 -qt-libtiff ........ Use the libtiff bundled with Qt.
3429 + -system-libtiff .... Use libtiff from the operating system.
3430 See http://www.libtiff.org
3432 -no-libpng ......... Do not compile in PNG support.
3433 -qt-libpng ......... Use the libpng bundled with Qt.
3434 + -system-libpng ..... Use libpng from the operating system.
3435 See http://www.libpng.org/pub/png
3437 -no-libmng ......... Do not compile the plugin for MNG support.
3438 -qt-libmng ......... Use the libmng bundled with Qt.
3439 + -system-libmng ..... Use libmng from the operating system.
3440 See http://www.libmng.com
3442 -no-libjpeg ........ Do not compile the plugin for JPEG support.
3443 -qt-libjpeg ........ Use the libjpeg bundled with Qt.
3444 + -system-libjpeg .... Use libjpeg from the operating system.
3445 See http://www.ijg.org
3447 -no-openssl ........ Do not compile support for OpenSSL.
3448 + -openssl ........... Enable run-time OpenSSL support.
3449 -openssl-linked .... Enabled linked OpenSSL support.
3451 -ptmalloc .......... Override the system memory allocator with ptmalloc.
3452 (Experimental.)
3454 Additional options:
3456 -make <part> ....... Add part to the list of parts to be built at make time.
3457 ($QT_DEFAULT_BUILD_PARTS)
3458 -nomake <part> ..... Exclude part from the list of parts to be built.
3460 -R <string> ........ Add an explicit runtime library path to the Qt
3461 libraries.
3462 -l <string> ........ Add an explicit library.
3464 -no-rpath .......... Do not use the library install path as a runtime
3465 library path.
3466 + -rpath ............. Link Qt libraries and executables using the library
3467 install path as a runtime library path. Equivalent
3468 to -R install_libpath
3470 -continue .......... Continue as far as possible if an error occurs.
3472 -verbose, -v ....... Print verbose information about each step of the
3473 configure process.
3475 -silent ............ Reduce the build output so that warnings and errors
3476 can be seen more easily.
3478 * -no-optimized-qmake ... Do not build qmake optimized.
3479 -optimized-qmake ...... Build qmake optimized.
3481 $NSN -no-nis ............ Do not compile NIS support.
3482 $NSY -nis ............... Compile NIS support.
3484 $CUN -no-cups ........... Do not compile CUPS support.
3485 $CUY -cups .............. Compile CUPS support.
3486 Requires cups/cups.h and libcups.so.2.
3488 $CIN -no-iconv .......... Do not compile support for iconv(3).
3489 $CIY -iconv ............. Compile support for iconv(3).
3491 $PHN -no-pch ............ Do not use precompiled header support.
3492 $PHY -pch ............... Use precompiled header support.
3494 $DBN -no-dbus ........... Do not compile the QtDBus module.
3495 $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
3496 -dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
3498 -reduce-relocations ..... Reduce relocations in the libraries through extra
3499 linker optimizations (Qt/X11 and Qt for Embedded Linux only;
3500 experimental; needs GNU ld >= 2.18).
3503 if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3504 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3505 SBY=""
3506 SBN="*"
3507 else
3508 SBY="*"
3509 SBN=" "
3511 elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
3512 SBY="*"
3513 SBN=" "
3514 else
3515 SBY=" "
3516 SBN="*"
3519 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
3521 cat << EOF
3523 $SBN -no-separate-debug-info . Do not store debug information in a separate file.
3524 $SBY -separate-debug-info .... Strip debug information into a separate .debug file.
3528 fi # X11/QWS
3530 if [ "$PLATFORM_X11" = "yes" ]; then
3531 if [ "$CFG_SM" = "no" ]; then
3532 SMY=" "
3533 SMN="*"
3534 else
3535 SMY="*"
3536 SMN=" "
3538 if [ "$CFG_XSHAPE" = "no" ]; then
3539 SHY=" "
3540 SHN="*"
3541 else
3542 SHY="*"
3543 SHN=" "
3545 if [ "$CFG_XINERAMA" = "no" ]; then
3546 XAY=" "
3547 XAN="*"
3548 else
3549 XAY="*"
3550 XAN=" "
3552 if [ "$CFG_FONTCONFIG" = "no" ]; then
3553 FCGY=" "
3554 FCGN="*"
3555 else
3556 FCGY="*"
3557 FCGN=" "
3559 if [ "$CFG_XCURSOR" = "no" ]; then
3560 XCY=" "
3561 XCN="*"
3562 else
3563 XCY="*"
3564 XCN=" "
3566 if [ "$CFG_XFIXES" = "no" ]; then
3567 XFY=" "
3568 XFN="*"
3569 else
3570 XFY="*"
3571 XFN=" "
3573 if [ "$CFG_XRANDR" = "no" ]; then
3574 XZY=" "
3575 XZN="*"
3576 else
3577 XZY="*"
3578 XZN=" "
3580 if [ "$CFG_XRENDER" = "no" ]; then
3581 XRY=" "
3582 XRN="*"
3583 else
3584 XRY="*"
3585 XRN=" "
3587 if [ "$CFG_MITSHM" = "no" ]; then
3588 XMY=" "
3589 XMN="*"
3590 else
3591 XMY="*"
3592 XMN=" "
3594 if [ "$CFG_XINPUT" = "no" ]; then
3595 XIY=" "
3596 XIN="*"
3597 else
3598 XIY="*"
3599 XIN=" "
3601 if [ "$CFG_XKB" = "no" ]; then
3602 XKY=" "
3603 XKN="*"
3604 else
3605 XKY="*"
3606 XKN=" "
3608 if [ "$CFG_IM" = "no" ]; then
3609 IMY=" "
3610 IMN="*"
3611 else
3612 IMY="*"
3613 IMN=" "
3615 cat << EOF
3617 Qt/X11 only:
3619 -no-gtkstyle ....... Do not build the GTK theme integration.
3620 + -gtkstyle .......... Build the GTK theme integration.
3622 * -no-nas-sound ...... Do not compile in NAS sound support.
3623 -system-nas-sound .. Use NAS libaudio from the operating system.
3624 See http://radscan.com/nas.html
3626 -no-opengl ......... Do not support OpenGL.
3627 + -opengl <api> ...... Enable OpenGL support.
3628 With no parameter, this will auto-detect the "best"
3629 OpenGL API to use. If desktop OpenGL is avaliable, it
3630 will be used. Use desktop, es1, es1cl or es2 for <api>
3631 to force the use of the Desktop (OpenGL 1.x or 2.x),
3632 OpenGL ES 1.x Common profile, 1.x Common Lite profile
3633 or 2.x APIs instead. On X11, the EGL API will be used
3634 to manage GL contexts in the case of OpenGL ES
3636 -no-openvg ........ Do not support OpenVG.
3637 + -openvg ........... Enable OpenVG support.
3638 Requires EGL support, typically supplied by an OpenGL
3639 or other graphics implementation.
3641 $SMN -no-sm ............. Do not support X Session Management.
3642 $SMY -sm ................ Support X Session Management, links in -lSM -lICE.
3644 $SHN -no-xshape ......... Do not compile XShape support.
3645 $SHY -xshape ............ Compile XShape support.
3646 Requires X11/extensions/shape.h.
3648 $SHN -no-xsync .......... Do not compile XSync support.
3649 $SHY -xsync ............. Compile XSync support.
3650 Requires X11/extensions/sync.h.
3652 $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
3653 $XAY -xinerama .......... Compile Xinerama support.
3654 Requires X11/extensions/Xinerama.h and libXinerama.
3655 By default, Xinerama support will be compiled if
3656 available and the shared libraries are dynamically
3657 loaded at runtime.
3659 $XCN -no-xcursor ........ Do not compile Xcursor support.
3660 $XCY -xcursor ........... Compile Xcursor support.
3661 Requires X11/Xcursor/Xcursor.h and libXcursor.
3662 By default, Xcursor support will be compiled if
3663 available and the shared libraries are dynamically
3664 loaded at runtime.
3666 $XFN -no-xfixes ......... Do not compile Xfixes support.
3667 $XFY -xfixes ............ Compile Xfixes support.
3668 Requires X11/extensions/Xfixes.h and libXfixes.
3669 By default, Xfixes support will be compiled if
3670 available and the shared libraries are dynamically
3671 loaded at runtime.
3673 $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
3674 $XZY -xrandr ............ Compile Xrandr support.
3675 Requires X11/extensions/Xrandr.h and libXrandr.
3677 $XRN -no-xrender ........ Do not compile Xrender support.
3678 $XRY -xrender ........... Compile Xrender support.
3679 Requires X11/extensions/Xrender.h and libXrender.
3681 $XMN -no-mitshm ......... Do not compile MIT-SHM support.
3682 $XMY -mitshm ............ Compile MIT-SHM support.
3683 Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
3685 $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
3686 $FCGY -fontconfig ........ Compile FontConfig support.
3687 Requires fontconfig/fontconfig.h, libfontconfig,
3688 freetype.h and libfreetype.
3690 $XIN -no-xinput.......... Do not compile Xinput support.
3691 $XIY -xinput ............ Compile Xinput support. This also enabled tablet support
3692 which requires IRIX with wacom.h and libXi or
3693 XFree86 with X11/extensions/XInput.h and libXi.
3695 $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
3696 $XKY -xkb ............... Compile XKB support.
3701 if [ "$PLATFORM_MAC" = "yes" ]; then
3702 cat << EOF
3704 Qt/Mac only:
3706 -Fstring ........... Add an explicit framework path.
3707 -fw string ......... Add an explicit framework.
3709 -cocoa ............. Build the Cocoa version of Qt. Note that -no-framework
3710 and -static is not supported with -cocoa. Specifying
3711 this option creates Qt binaries that requires Mac OS X
3712 10.5 or higher.
3714 * -framework ......... Build Qt as a series of frameworks and
3715 link tools against those frameworks.
3716 -no-framework ...... Do not build Qt as a series of frameworks.
3718 * -dwarf2 ............ Enable dwarf2 debugging symbols.
3719 -no-dwarf2 ......... Disable dwarf2 debugging symbols.
3721 -universal ......... Equivalent to -arch "ppc x86"
3723 -arch <arch> ....... Build Qt for <arch>
3724 Example values for <arch>: x86 ppc x86_64 ppc64
3725 Multiple -arch arguments can be specified, 64-bit archs
3726 will be built with the Cocoa framework.
3728 -sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
3729 To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
3734 if [ "$PLATFORM_QWS" = "yes" ]; then
3735 cat << EOF
3737 Qt for Embedded Linux only:
3739 -xplatform target ... The target platform when cross-compiling.
3741 -no-feature-<feature> Do not compile in <feature>.
3742 -feature-<feature> .. Compile in <feature>. The available features
3743 are described in src/corelib/global/qfeatures.txt
3745 -embedded <arch> .... This will enable the embedded build, you must have a
3746 proper license for this switch to work.
3747 Example values for <arch>: arm mips x86 generic
3749 -armfpa ............. Target platform uses the ARM-FPA floating point format.
3750 -no-armfpa .......... Target platform does not use the ARM-FPA floating point format.
3752 The floating point format is usually autodetected by configure. Use this
3753 to override the detected value.
3755 -little-endian ...... Target platform is little endian (LSB first).
3756 -big-endian ......... Target platform is big endian (MSB first).
3758 -host-little-endian . Host platform is little endian (LSB first).
3759 -host-big-endian .... Host platform is big endian (MSB first).
3761 You only need to specify the endianness when
3762 cross-compiling, otherwise the host
3763 endianness will be used.
3765 -no-freetype ........ Do not compile in Freetype2 support.
3766 -qt-freetype ........ Use the libfreetype bundled with Qt.
3767 * -system-freetype .... Use libfreetype from the operating system.
3768 See http://www.freetype.org/
3770 -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
3771 default ($CFG_QCONFIG).
3773 -depths <list> ...... Comma-separated list of supported bit-per-pixel
3774 depths, from: 1, 4, 8, 12, 15, 16, 18, 24, 32 and 'all'.
3776 -qt-decoration-<style> ....Enable a decoration <style> in the QtGui library,
3777 by default all available decorations are on.
3778 Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
3779 -plugin-decoration-<style> Enable decoration <style> as a plugin to be
3780 linked to at run time.
3781 Possible values for <style>: [ $CFG_DECORATION_PLUGIN_AVAILABLE ]
3782 -no-decoration-<style> ....Disable decoration <style> entirely.
3783 Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
3785 -no-opengl .......... Do not support OpenGL.
3786 -opengl <api> ....... Enable OpenGL ES support
3787 With no parameter, this will attempt to auto-detect OpenGL ES 1.x
3788 or 2.x. Use es1, es1cl or es2 for <api> to override auto-detection.
3790 NOTE: A QGLScreen driver for the hardware is required to support
3791 OpenGL ES on Qt for Embedded Linux.
3793 -qt-gfx-<driver> ... Enable a graphics <driver> in the QtGui library.
3794 Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
3795 -plugin-gfx-<driver> Enable graphics <driver> as a plugin to be
3796 linked to at run time.
3797 Possible values for <driver>: [ $CFG_GFX_PLUGIN_AVAILABLE ]
3798 -no-gfx-<driver> ... Disable graphics <driver> entirely.
3799 Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
3801 -qt-kbd-<driver> ... Enable a keyboard <driver> in the QtGui library.
3802 Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
3804 -plugin-kbd-<driver> Enable keyboard <driver> as a plugin to be linked to
3805 at runtime.
3806 Possible values for <driver>: [ $CFG_KBD_PLUGIN_AVAILABLE ]
3808 -no-kbd-<driver> ... Disable keyboard <driver> entirely.
3809 Possible values for <driver>: [ $CFG_KBD_AVAILABLE ]
3811 -qt-mouse-<driver> ... Enable a mouse <driver> in the QtGui library.
3812 Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
3813 -plugin-mouse-<driver> Enable mouse <driver> as a plugin to be linked to
3814 at runtime.
3815 Possible values for <driver>: [ $CFG_MOUSE_PLUGIN_AVAILABLE ]
3816 -no-mouse-<driver> ... Disable mouse <driver> entirely.
3817 Possible values for <driver>: [ $CFG_MOUSE_AVAILABLE ]
3819 -iwmmxt ............ Compile using the iWMMXt instruction set
3820 (available on some XScale CPUs).
3826 if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
3827 if [ "$CFG_GLIB" = "no" ]; then
3828 GBY=" "
3829 GBN="+"
3830 else
3831 GBY="+"
3832 GBN=" "
3834 cat << EOF
3835 $GBN -no-glib ........... Do not compile Glib support.
3836 $GBY -glib .............. Compile Glib support.
3841 [ "x$ERROR" = "xyes" ] && exit 1
3842 exit 0
3843 fi # Help
3846 # -----------------------------------------------------------------------------
3847 # LICENSING, INTERACTIVE PART
3848 # -----------------------------------------------------------------------------
3850 if [ "$PLATFORM_QWS" = "yes" ]; then
3851 Platform="Qt for Embedded Linux"
3852 elif [ "$PLATFORM_MAC" = "yes" ]; then
3853 Platform="Qt/Mac"
3854 else
3855 PLATFORM_X11=yes
3856 Platform="Qt/X11"
3859 echo
3860 echo "This is the $Platform ${EditionString} Edition."
3861 echo
3863 if [ "$Edition" = "NokiaInternalBuild" ]; then
3864 echo "Detected -nokia-developer option"
3865 echo "Nokia employees and agents are allowed to use this software under"
3866 echo "the authority of Nokia Corporation and/or its subsidiary(-ies)"
3867 elif [ "$Edition" = "OpenSource" ]; then
3868 while true; do
3869 echo "You are licensed to use this software under the terms of"
3870 echo "the Lesser GNU General Public License (LGPL) versions 2.1."
3871 if [ -f "$relpath/LICENSE.GPL3" ]; then
3872 echo "You are also licensed to use this software under the terms of"
3873 echo "the GNU General Public License (GPL) versions 3."
3874 affix="either"
3875 else
3876 affix="the"
3878 echo
3879 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3880 echo "You have already accepted the terms of the $LicenseType license."
3881 acceptance=yes
3882 else
3883 if [ -f "$relpath/LICENSE.GPL3" ]; then
3884 echo "Type '3' to view the GNU General Public License version 3."
3886 echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
3887 echo "Type 'yes' to accept this license offer."
3888 echo "Type 'no' to decline this license offer."
3889 echo
3890 if echo '\c' | grep '\c' >/dev/null; then
3891 echo -n "Do you accept the terms of $affix license? "
3892 else
3893 echo "Do you accept the terms of $affix license? \c"
3895 read acceptance
3897 echo
3898 if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
3899 break
3900 elif [ "$acceptance" = "no" ]; then
3901 echo "You are not licensed to use this software."
3902 echo
3903 exit 1
3904 elif [ "$acceptance" = "3" ]; then
3905 more "$relpath/LICENSE.GPL3"
3906 elif [ "$acceptance" = "L" ]; then
3907 more "$relpath/LICENSE.LGPL"
3909 done
3910 elif [ "$Edition" = "Preview" ]; then
3911 TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
3912 while true; do
3914 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
3915 echo "You have already accepted the terms of the $LicenseType license."
3916 acceptance=yes
3917 else
3918 echo "You are licensed to use this software under the terms of"
3919 echo "the $TheLicense"
3920 echo
3921 echo "Type '?' to read the Preview License."
3922 echo "Type 'yes' to accept this license offer."
3923 echo "Type 'no' to decline this license offer."
3924 echo
3925 if echo '\c' | grep '\c' >/dev/null; then
3926 echo -n "Do you accept the terms of the license? "
3927 else
3928 echo "Do you accept the terms of the license? \c"
3930 read acceptance
3932 echo
3933 if [ "$acceptance" = "yes" ]; then
3934 break
3935 elif [ "$acceptance" = "no" ] ;then
3936 echo "You are not licensed to use this software."
3937 echo
3938 exit 0
3939 elif [ "$acceptance" = "?" ]; then
3940 more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
3942 done
3943 elif [ "$Edition" != "OpenSource" ]; then
3944 if [ -n "$ExpiryDate" ]; then
3945 ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
3946 [ -z "$ExpiryDate" ] && ExpiryDate="0"
3947 Today=`date +%Y%m%d`
3948 if [ "$Today" -gt "$ExpiryDate" ]; then
3949 case "$LicenseType" in
3950 Commercial|Academic|Educational)
3951 if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
3952 echo
3953 echo "NOTICE NOTICE NOTICE NOTICE"
3954 echo
3955 echo " Your support and upgrade period has expired."
3956 echo
3957 echo " You are no longer licensed to use this version of Qt."
3958 echo " Please contact qt-info@nokia.com to renew your support"
3959 echo " and upgrades for this license."
3960 echo
3961 echo "NOTICE NOTICE NOTICE NOTICE"
3962 echo
3963 exit 1
3964 else
3965 echo
3966 echo "WARNING WARNING WARNING WARNING"
3967 echo
3968 echo " Your support and upgrade period has expired."
3969 echo
3970 echo " You may continue to use your last licensed release"
3971 echo " of Qt under the terms of your existing license"
3972 echo " agreement. But you are not entitled to technical"
3973 echo " support, nor are you entitled to use any more recent"
3974 echo " Qt releases."
3975 echo
3976 echo " Please contact qt-info@nokia.com to renew your"
3977 echo " support and upgrades for this license."
3978 echo
3979 echo "WARNING WARNING WARNING WARNING"
3980 echo
3981 sleep 3
3984 Evaluation|*)
3985 echo
3986 echo "NOTICE NOTICE NOTICE NOTICE"
3987 echo
3988 echo " Your Evaluation license has expired."
3989 echo
3990 echo " You are no longer licensed to use this software. Please"
3991 echo " contact qt-info@nokia.com to purchase license, or install"
3992 echo " the Qt Open Source Edition if you intend to develop free"
3993 echo " software."
3994 echo
3995 echo "NOTICE NOTICE NOTICE NOTICE"
3996 echo
3997 exit 1
3999 esac
4002 TheLicense=`head -n 1 "$outpath/LICENSE"`
4003 while true; do
4004 if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
4005 echo "You have already accepted the terms of the $TheLicense."
4006 acceptance=yes
4007 else
4008 echo "You are licensed to use this software under the terms of"
4009 echo "the $TheLicense."
4010 echo
4011 echo "Type '?' to view the $TheLicense."
4012 echo "Type 'yes' to accept this license offer."
4013 echo "Type 'no' to decline this license offer."
4014 echo
4015 if echo '\c' | grep '\c' >/dev/null; then
4016 echo -n "Do you accept the terms of the $TheLicense? "
4017 else
4018 echo "Do you accept the terms of the $TheLicense? \c"
4020 read acceptance
4022 echo
4023 if [ "$acceptance" = "yes" ]; then
4024 break
4025 elif [ "$acceptance" = "no" ]; then
4026 echo "You are not licensed to use this software."
4027 echo
4028 exit 1
4029 else [ "$acceptance" = "?" ]
4030 more "$outpath/LICENSE"
4032 done
4035 # this should be moved somewhere else
4036 case "$PLATFORM" in
4037 aix-*)
4038 AIX_VERSION=`uname -v`
4039 if [ "$AIX_VERSION" -lt "5" ]; then
4040 QMakeVar add QMAKE_LIBS_X11 -lbind
4045 esac
4047 #-------------------------------------------------------------------------------
4048 # generate qconfig.cpp
4049 #-------------------------------------------------------------------------------
4050 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
4052 LICENSE_USER_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsuser=$Licensee"`
4053 LICENSE_PRODUCTS_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsprod=$Edition"`
4054 PREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_INSTALL_PREFIX"`
4055 DOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_INSTALL_DOCS"`
4056 HEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_INSTALL_HEADERS"`
4057 LIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_INSTALL_LIBS"`
4058 BINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_INSTALL_BINS"`
4059 PLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_INSTALL_PLUGINS"`
4060 DATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_INSTALL_DATA"`
4061 TRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_INSTALL_TRANSLATIONS"`
4062 SETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
4063 EXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
4064 DEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"`
4066 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4067 /* License Info */
4068 static const char qt_configure_licensee_str [256 + 12] = "$LICENSE_USER_STR";
4069 static const char qt_configure_licensed_products_str [256 + 12] = "$LICENSE_PRODUCTS_STR";
4072 if [ ! -z "$QT_HOST_PREFIX" ]; then
4073 HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
4074 HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
4075 HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"`
4076 HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"`
4077 HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"`
4078 HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"`
4079 HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"`
4080 HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
4081 HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
4082 HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
4083 HOSTDEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"`
4085 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4087 #if defined(QT_BOOTSTRAPPED) || defined(QT_BUILD_QMAKE)
4088 /* Installation Info */
4089 static const char qt_configure_prefix_path_str [256 + 12] = "$HOSTPREFIX_PATH_STR";
4090 static const char qt_configure_documentation_path_str[256 + 12] = "$HOSTDOCUMENTATION_PATH_STR";
4091 static const char qt_configure_headers_path_str [256 + 12] = "$HOSTHEADERS_PATH_STR";
4092 static const char qt_configure_libraries_path_str [256 + 12] = "$HOSTLIBRARIES_PATH_STR";
4093 static const char qt_configure_binaries_path_str [256 + 12] = "$HOSTBINARIES_PATH_STR";
4094 static const char qt_configure_plugins_path_str [256 + 12] = "$HOSTPLUGINS_PATH_STR";
4095 static const char qt_configure_data_path_str [256 + 12] = "$HOSTDATA_PATH_STR";
4096 static const char qt_configure_translations_path_str [256 + 12] = "$HOSTTRANSLATIONS_PATH_STR";
4097 static const char qt_configure_settings_path_str [256 + 12] = "$HOSTSETTINGS_PATH_STR";
4098 static const char qt_configure_examples_path_str [256 + 12] = "$HOSTEXAMPLES_PATH_STR";
4099 static const char qt_configure_demos_path_str [256 + 12] = "$HOSTDEMOS_PATH_STR";
4100 #else // QT_BOOTSTRAPPED
4104 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4105 /* Installation Info */
4106 static const char qt_configure_prefix_path_str [256 + 12] = "$PREFIX_PATH_STR";
4107 static const char qt_configure_documentation_path_str[256 + 12] = "$DOCUMENTATION_PATH_STR";
4108 static const char qt_configure_headers_path_str [256 + 12] = "$HEADERS_PATH_STR";
4109 static const char qt_configure_libraries_path_str [256 + 12] = "$LIBRARIES_PATH_STR";
4110 static const char qt_configure_binaries_path_str [256 + 12] = "$BINARIES_PATH_STR";
4111 static const char qt_configure_plugins_path_str [256 + 12] = "$PLUGINS_PATH_STR";
4112 static const char qt_configure_data_path_str [256 + 12] = "$DATA_PATH_STR";
4113 static const char qt_configure_translations_path_str [256 + 12] = "$TRANSLATIONS_PATH_STR";
4114 static const char qt_configure_settings_path_str [256 + 12] = "$SETTINGS_PATH_STR";
4115 static const char qt_configure_examples_path_str [256 + 12] = "$EXAMPLES_PATH_STR";
4116 static const char qt_configure_demos_path_str [256 + 12] = "$DEMOS_PATH_STR";
4119 if [ ! -z "$QT_HOST_PREFIX" ]; then
4120 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4121 #endif // QT_BOOTSTRAPPED
4126 cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
4127 /* strlen( "qt_lcnsxxxx" ) == 12 */
4128 #define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
4129 #define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
4130 #define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12;
4131 #define QT_CONFIGURE_DOCUMENTATION_PATH qt_configure_documentation_path_str + 12;
4132 #define QT_CONFIGURE_HEADERS_PATH qt_configure_headers_path_str + 12;
4133 #define QT_CONFIGURE_LIBRARIES_PATH qt_configure_libraries_path_str + 12;
4134 #define QT_CONFIGURE_BINARIES_PATH qt_configure_binaries_path_str + 12;
4135 #define QT_CONFIGURE_PLUGINS_PATH qt_configure_plugins_path_str + 12;
4136 #define QT_CONFIGURE_DATA_PATH qt_configure_data_path_str + 12;
4137 #define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12;
4138 #define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
4139 #define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;
4140 #define QT_CONFIGURE_DEMOS_PATH qt_configure_demos_path_str + 12;
4143 # avoid unecessary rebuilds by copying only if qconfig.cpp has changed
4144 if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
4145 rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
4146 else
4147 [ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
4148 mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
4149 chmod -w "$outpath/src/corelib/global/qconfig.cpp"
4152 # -----------------------------------------------------------------------------
4153 # build qmake
4154 # -----------------------------------------------------------------------------
4156 # symlink includes
4157 if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
4158 SYNCQT_OPTS=
4159 [ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
4160 if [ "$OPT_SHADOW" = "yes" ]; then
4161 "$outpath/bin/syncqt" $SYNCQT_OPTS
4162 elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ]; then
4163 QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS
4167 # $1: variable name
4168 # $2: optional transformation
4169 # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
4170 # is where the resulting variable is written to
4171 setBootstrapVariable()
4173 variableRegExp="^$1[^_A-Z0-9]"
4174 getQMakeConf | grep "$variableRegExp" | ( [ -n "$2" ] && sed "$2" ; [ -z "$2" ] && cat ) | $AWK '
4176 varLength = index($0, "=") - 1
4177 valStart = varLength + 2
4178 if (substr($0, varLength, 1) == "+") {
4179 varLength = varLength - 1
4180 valStart = valStart + 1
4182 var = substr($0, 0, varLength)
4183 gsub("[ \t]+", "", var)
4184 val = substr($0, valStart)
4185 printf "%s_%s = %s\n", var, NR, val
4187 END {
4188 if (length(var) > 0) {
4189 printf "%s =", var
4190 for (i = 1; i <= NR; ++i)
4191 printf " $(%s_%s)", var, i
4192 printf "\n"
4194 }' >> "$mkfile"
4197 # build qmake
4198 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
4199 echo "Creating qmake. Please wait..."
4201 OLD_QCONFIG_H=
4202 QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
4203 QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
4204 if [ -f "$QCONFIG_H" ]; then
4205 OLD_QCONFIG_H=$QCONFIG_H
4206 mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
4209 # create temporary qconfig.h for compiling qmake, if it doesn't exist
4210 # when building qmake, we use #defines for the install paths,
4211 # however they are real functions in the library
4212 if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
4213 mkdir -p "$outpath/src/corelib/global"
4214 [ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
4215 echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
4218 mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
4219 for conf in "$outpath/include/QtCore/qconfig.h" "$outpath/include/Qt/qconfig.h"; do
4220 if [ '!' -f "$conf" ]; then
4221 ln -s "$QCONFIG_H" "$conf"
4223 done
4225 #mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
4226 rm -f mkspecs/default
4227 ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
4228 # fix makefiles
4229 for mkfile in GNUmakefile Makefile; do
4230 EXTRA_LFLAGS=
4231 EXTRA_CFLAGS=
4232 in_mkfile="${mkfile}.in"
4233 if [ "$mkfile" = "Makefile" ]; then
4234 # if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
4235 # (cd qmake && qmake) >/dev/null 2>&1 && continue
4236 # fi
4237 in_mkfile="${mkfile}.unix"
4239 in_mkfile="$relpath/qmake/$in_mkfile"
4240 mkfile="$outpath/qmake/$mkfile"
4241 if [ -f "$mkfile" ]; then
4242 [ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
4243 rm -f "$mkfile"
4245 [ -f "$in_mkfile" ] || continue
4247 echo "########################################################################" > "$mkfile"
4248 echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
4249 echo "########################################################################" >> "$mkfile"
4250 EXTRA_OBJS=
4251 EXTRA_SRCS=
4252 EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
4253 EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
4254 EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
4256 if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
4257 EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
4260 [ -n "$CC" ] && echo "CC = $CC" >> "$mkfile"
4261 [ -n "$CXX" ] && echo "CXX = $CXX" >> "$mkfile"
4262 if [ "$CFG_SILENT" = "yes" ]; then
4263 [ -z "$CC" ] && setBootstrapVariable QMAKE_CC 's,QMAKE_CC.*=,CC=\@,'
4264 [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX 's,QMAKE_CXX.*=,CXX=\@,'
4265 else
4266 [ -z "$CC" ] && setBootstrapVariable QMAKE_CC 's,QMAKE_CC,CC,'
4267 [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX 's,QMAKE_CXX,CXX,'
4269 setBootstrapVariable QMAKE_CFLAGS
4270 setBootstrapVariable QMAKE_CXXFLAGS 's,\$\$QMAKE_CFLAGS,\$(QMAKE_CFLAGS),'
4271 setBootstrapVariable QMAKE_LFLAGS
4273 if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
4274 EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
4275 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
4277 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
4278 setBootstrapVariable QMAKE_CFLAGS_RELEASE
4279 setBootstrapVariable QMAKE_CXXFLAGS_RELEASE 's,\$\$QMAKE_CFLAGS_RELEASE,\$(QMAKE_CFLAGS_RELEASE),'
4280 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
4281 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
4282 elif [ "$CFG_DEBUG" = "yes" ]; then
4283 setBootstrapVariable QMAKE_CFLAGS_DEBUG
4284 setBootstrapVariable QMAKE_CXXFLAGS_DEBUG 's,\$\$QMAKE_CFLAGS_DEBUG,\$(QMAKE_CFLAGS_DEBUG),'
4285 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
4286 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
4289 if [ '!' -z "$RPATH_FLAGS" ] && [ '!' -z "`getQMakeConf \"$QMAKESPEC\" | grep QMAKE_RPATH | awk '{print $3;}'`" ]; then
4290 setBootstrapVariable QMAKE_RPATH 's,\$\$LITERAL_WHITESPACE, ,'
4291 for rpath in $RPATH_FLAGS; do
4292 EXTRA_LFLAGS="\$(QMAKE_RPATH)\"$rpath\" $EXTRA_LFLAGS"
4293 done
4295 if [ "$PLATFORM_MAC" = "yes" ]; then
4296 echo "export MACOSX_DEPLOYMENT_TARGET = 10.4" >> "$mkfile"
4297 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
4298 echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
4299 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
4300 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
4301 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
4302 EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
4303 EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
4304 if echo "$CFG_MAC_ARCHS" | grep x86 > /dev/null 2>&1; then # matches both x86 and x86_64
4305 X86_CFLAGS="-arch i386"
4306 X86_LFLAGS="-arch i386"
4307 EXTRA_CFLAGS="$X86_CFLAGS $EXTRA_CFLAGS"
4308 EXTRA_CXXFLAGS="$X86_CFLAGS $EXTRA_CXXFLAGS"
4309 EXTRA_LFLAGS="$EXTRA_LFLAGS $X86_LFLAGS"
4311 if echo "$CFG_MAC_ARCHS" | grep ppc > /dev/null 2>&1; then # matches both ppc and ppc64
4312 PPC_CFLAGS="-arch ppc"
4313 PPC_LFLAGS="-arch ppc"
4314 EXTRA_CFLAGS="$PPC_CFLAGS $EXTRA_CFLAGS"
4315 EXTRA_CXXFLAGS="$PPC_CFLAGS $EXTRA_CXXFLAGS"
4316 EXTRA_LFLAGS="$EXTRA_LFLAGS $PPC_LFLAGS"
4318 if [ '!' -z "$CFG_SDK" ]; then
4319 echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
4320 echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
4321 EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
4322 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
4323 EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
4326 [ "$CFG_EMBEDDED" != "no" ] && EXTRA_CFLAGS="$EXTRA_CFLAGS -DQWS"
4327 if [ '!' -z "$D_FLAGS" ]; then
4328 for DEF in $D_FLAGS; do
4329 EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
4330 done
4332 QMAKE_BIN_DIR="$QT_INSTALL_BINS"
4333 [ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
4334 QMAKE_DATA_DIR="$QT_INSTALL_DATA"
4335 [ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
4336 echo >>"$mkfile"
4337 adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
4338 adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
4339 adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
4340 sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
4341 -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
4342 -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
4343 -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
4344 -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
4345 -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
4346 -e "s,@QMAKESPEC@,$adjqmakespec,g" "$in_mkfile" >>"$mkfile"
4348 if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
4349 (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
4350 sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
4351 sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
4352 rm "$mkfile.tmp"
4354 done
4356 QMAKE_BUILD_ERROR=no
4357 (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
4358 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
4359 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
4360 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
4361 fi # Build qmake
4363 #-------------------------------------------------------------------------------
4364 # tests that need qmake
4365 #-------------------------------------------------------------------------------
4367 # detect availability of float math.h functions
4368 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
4369 CFG_USE_FLOATMATH=yes
4370 else
4371 CFG_USE_FLOATMATH=no
4374 # detect mmx support
4375 if [ "${CFG_MMX}" = "auto" ]; then
4376 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mmx "mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
4377 CFG_MMX=yes
4378 else
4379 CFG_MMX=no
4383 # detect 3dnow support
4384 if [ "${CFG_3DNOW}" = "auto" ]; then
4385 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/3dnow "3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
4386 CFG_3DNOW=yes
4387 else
4388 CFG_3DNOW=no
4392 # detect sse support
4393 if [ "${CFG_SSE}" = "auto" ]; then
4394 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse "sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
4395 CFG_SSE=yes
4396 else
4397 CFG_SSE=no
4401 # detect sse2 support
4402 if [ "${CFG_SSE2}" = "auto" ]; then
4403 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
4404 CFG_SSE2=yes
4405 else
4406 CFG_SSE2=no
4410 # check iWMMXt support
4411 if [ "$CFG_IWMMXT" = "yes" ]; then
4412 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
4413 if [ $? != "0" ]; then
4414 echo "The iWMMXt functionality test failed!"
4415 echo " Please make sure your compiler supports iWMMXt intrinsics!"
4416 exit 1
4420 # detect zlib
4421 if [ "$CFG_ZLIB" = "no" ]; then
4422 # Note: Qt no longer support builds without zlib
4423 # So we force a "no" to be "auto" here.
4424 # If you REALLY really need no zlib support, you can still disable
4425 # it by doing the following:
4426 # add "no-zlib" to mkspecs/qconfig.pri
4427 # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
4429 # There's no guarantee that Qt will build under those conditions
4431 CFG_ZLIB=auto
4432 ZLIB_FORCED=yes
4434 if [ "$CFG_ZLIB" = "auto" ]; then
4435 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
4436 CFG_ZLIB=system
4437 else
4438 CFG_ZLIB=yes
4442 # detect how jpeg should be built
4443 if [ "$CFG_JPEG" = "auto" ]; then
4444 if [ "$CFG_SHARED" = "yes" ]; then
4445 CFG_JPEG=plugin
4446 else
4447 CFG_JPEG=yes
4450 # detect jpeg
4451 if [ "$CFG_LIBJPEG" = "auto" ]; then
4452 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
4453 CFG_LIBJPEG=system
4454 else
4455 CFG_LIBJPEG=qt
4459 # detect how gif should be built
4460 if [ "$CFG_GIF" = "auto" ]; then
4461 if [ "$CFG_SHARED" = "yes" ]; then
4462 CFG_GIF=plugin
4463 else
4464 CFG_GIF=yes
4468 # detect how tiff should be built
4469 if [ "$CFG_TIFF" = "auto" ]; then
4470 if [ "$CFG_SHARED" = "yes" ]; then
4471 CFG_TIFF=plugin
4472 else
4473 CFG_TIFF=yes
4477 # detect tiff
4478 if [ "$CFG_LIBTIFF" = "auto" ]; then
4479 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
4480 CFG_LIBTIFF=system
4481 else
4482 CFG_LIBTIFF=qt
4486 # detect how mng should be built
4487 if [ "$CFG_MNG" = "auto" ]; then
4488 if [ "$CFG_SHARED" = "yes" ]; then
4489 CFG_MNG=plugin
4490 else
4491 CFG_MNG=yes
4494 # detect mng
4495 if [ "$CFG_LIBMNG" = "auto" ]; then
4496 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
4497 CFG_LIBMNG=system
4498 else
4499 CFG_LIBMNG=qt
4503 # detect png
4504 if [ "$CFG_LIBPNG" = "auto" ]; then
4505 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
4506 CFG_LIBPNG=system
4507 else
4508 CFG_LIBPNG=qt
4512 # detect accessibility
4513 if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
4514 CFG_ACCESSIBILITY=yes
4517 # auto-detect SQL-modules support
4518 for _SQLDR in $CFG_SQL_AVAILABLE; do
4519 case $_SQLDR in
4520 mysql)
4521 if [ "$CFG_SQL_mysql" != "no" ]; then
4522 [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
4523 if [ -x "$CFG_MYSQL_CONFIG" ]; then
4524 QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
4525 QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
4526 QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
4527 QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
4528 QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
4530 if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
4531 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4532 echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
4533 echo " You need MySql 4 or higher."
4534 echo " If you believe this message is in error you may use the continue"
4535 echo " switch (-continue) to $0 to continue."
4536 exit 101
4537 else
4538 CFG_SQL_mysql="no"
4539 QT_LFLAGS_MYSQL=""
4540 QT_LFLAGS_MYSQL_R=""
4541 QT_CFLAGS_MYSQL=""
4543 else
4544 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
4545 QMakeVar add CONFIG use_libmysqlclient_r
4546 if [ "$CFG_SQL_mysql" = "auto" ]; then
4547 CFG_SQL_mysql=plugin
4549 QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
4550 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
4551 if [ "$CFG_SQL_mysql" = "auto" ]; then
4552 CFG_SQL_mysql=plugin
4554 else
4555 if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4556 echo "MySQL support cannot be enabled due to functionality tests!"
4557 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4558 echo " If you believe this message is in error you may use the continue"
4559 echo " switch (-continue) to $0 to continue."
4560 exit 101
4561 else
4562 CFG_SQL_mysql=no
4563 QT_LFLAGS_MYSQL=""
4564 QT_LFLAGS_MYSQL_R=""
4565 QT_CFLAGS_MYSQL=""
4571 psql)
4572 if [ "$CFG_SQL_psql" != "no" ]; then
4573 if "$WHICH" pg_config >/dev/null 2>&1; then
4574 QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
4575 QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
4577 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
4578 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
4579 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
4580 if [ "$CFG_SQL_psql" = "auto" ]; then
4581 CFG_SQL_psql=plugin
4583 else
4584 if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4585 echo "PostgreSQL support cannot be enabled due to functionality tests!"
4586 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4587 echo " If you believe this message is in error you may use the continue"
4588 echo " switch (-continue) to $0 to continue."
4589 exit 101
4590 else
4591 CFG_SQL_psql=no
4592 QT_CFLAGS_PSQL=""
4593 QT_LFLAGS_PSQL=""
4598 odbc)
4599 if [ "$CFG_SQL_odbc" != "no" ]; then
4600 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
4601 if [ "$CFG_SQL_odbc" = "auto" ]; then
4602 CFG_SQL_odbc=plugin
4604 else
4605 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
4606 QT_LFLAGS_ODBC="-liodbc"
4607 if [ "$CFG_SQL_odbc" = "auto" ]; then
4608 CFG_SQL_odbc=plugin
4610 else
4611 if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4612 echo "ODBC support cannot be enabled due to functionality tests!"
4613 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4614 echo " If you believe this message is in error you may use the continue"
4615 echo " switch (-continue) to $0 to continue."
4616 exit 101
4617 else
4618 CFG_SQL_odbc=no
4624 oci)
4625 if [ "$CFG_SQL_oci" != "no" ]; then
4626 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
4627 if [ "$CFG_SQL_oci" = "auto" ]; then
4628 CFG_SQL_oci=plugin
4630 else
4631 if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4632 echo "Oracle (OCI) support cannot be enabled due to functionality tests!"
4633 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4634 echo " If you believe this message is in error you may use the continue"
4635 echo " switch (-continue) to $0 to continue."
4636 exit 101
4637 else
4638 CFG_SQL_oci=no
4643 tds)
4644 if [ "$CFG_SQL_tds" != "no" ]; then
4645 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
4646 if [ "$CFG_SQL_tds" = "auto" ]; then
4647 CFG_SQL_tds=plugin
4649 else
4650 if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4651 echo "TDS support cannot be enabled due to functionality tests!"
4652 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4653 echo " If you believe this message is in error you may use the continue"
4654 echo " switch (-continue) to $0 to continue."
4655 exit 101
4656 else
4657 CFG_SQL_tds=no
4662 db2)
4663 if [ "$CFG_SQL_db2" != "no" ]; then
4664 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
4665 if [ "$CFG_SQL_db2" = "auto" ]; then
4666 CFG_SQL_db2=plugin
4668 else
4669 if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4670 echo "ODBC support cannot be enabled due to functionality tests!"
4671 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4672 echo " If you believe this message is in error you may use the continue"
4673 echo " switch (-continue) to $0 to continue."
4674 exit 101
4675 else
4676 CFG_SQL_db2=no
4681 ibase)
4682 if [ "$CFG_SQL_ibase" != "no" ]; then
4683 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
4684 if [ "$CFG_SQL_ibase" = "auto" ]; then
4685 CFG_SQL_ibase=plugin
4687 else
4688 if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4689 echo "InterBase support cannot be enabled due to functionality tests!"
4690 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4691 echo " If you believe this message is in error you may use the continue"
4692 echo " switch (-continue) to $0 to continue."
4693 exit 101
4694 else
4695 CFG_SQL_ibase=no
4700 sqlite2)
4701 if [ "$CFG_SQL_sqlite2" != "no" ]; then
4702 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
4703 if [ "$CFG_SQL_sqlite2" = "auto" ]; then
4704 CFG_SQL_sqlite2=plugin
4706 else
4707 if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4708 echo "SQLite2 support cannot be enabled due to functionality tests!"
4709 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4710 echo " If you believe this message is in error you may use the continue"
4711 echo " switch (-continue) to $0 to continue."
4712 exit 101
4713 else
4714 CFG_SQL_sqlite2=no
4719 sqlite)
4720 if [ "$CFG_SQL_sqlite" != "no" ]; then
4721 SQLITE_AUTODETECT_FAILED="no"
4722 if [ "$CFG_SQLITE" = "system" ]; then
4723 if [ -n "$PKG_CONFIG" ]; then
4724 QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
4725 QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
4727 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
4728 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4729 CFG_SQL_sqlite=plugin
4731 QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
4732 else
4733 SQLITE_AUTODETECT_FAILED="yes"
4734 CFG_SQL_sqlite=no
4736 elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
4737 if [ "$CFG_SQL_sqlite" = "auto" ]; then
4738 CFG_SQL_sqlite=plugin
4740 else
4741 SQLITE_AUTODETECT_FAILED="yes"
4742 CFG_SQL_sqlite=no
4745 if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4746 echo "SQLite support cannot be enabled due to functionality tests!"
4747 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4748 echo " If you believe this message is in error you may use the continue"
4749 echo " switch (-continue) to $0 to continue."
4750 exit 101
4755 if [ "$OPT_VERBOSE" = "yes" ]; then
4756 echo "unknown SQL driver: $_SQLDR"
4759 esac
4760 done
4762 # auto-detect NIS support
4763 if [ "$CFG_NIS" != "no" ]; then
4764 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
4765 CFG_NIS=yes
4766 else
4767 if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4768 echo "NIS support cannot be enabled due to functionality tests!"
4769 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4770 echo " If you believe this message is in error you may use the continue"
4771 echo " switch (-continue) to $0 to continue."
4772 exit 101
4773 else
4774 CFG_NIS=no
4779 # auto-detect CUPS support
4780 if [ "$CFG_CUPS" != "no" ]; then
4781 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
4782 CFG_CUPS=yes
4783 else
4784 if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4785 echo "Cups support cannot be enabled due to functionality tests!"
4786 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4787 echo " If you believe this message is in error you may use the continue"
4788 echo " switch (-continue) to $0 to continue."
4789 exit 101
4790 else
4791 CFG_CUPS=no
4796 # auto-detect iconv(3) support
4797 if [ "$CFG_ICONV" != "no" ]; then
4798 if [ "$PLATFORM_QWS" = "yes" ]; then
4799 CFG_ICONV=no
4800 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
4801 CFG_ICONV=yes
4802 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
4803 CFG_ICONV=gnu
4804 else
4805 if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4806 echo "Iconv support cannot be enabled due to functionality tests!"
4807 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4808 echo " If you believe this message is in error you may use the continue"
4809 echo " switch (-continue) to $0 to continue."
4810 exit 101
4811 else
4812 CFG_ICONV=no
4817 # auto-detect libdbus-1 support
4818 if [ "$CFG_DBUS" != "no" ]; then
4819 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
4820 QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
4821 QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
4823 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
4824 [ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
4825 QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
4826 QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
4827 else
4828 if [ "$CFG_DBUS" = "auto" ]; then
4829 CFG_DBUS=no
4830 elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4831 # CFG_DBUS is "yes" or "linked" here
4833 echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
4834 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4835 echo " If you believe this message is in error you may use the continue"
4836 echo " switch (-continue) to $0 to continue."
4837 exit 101
4842 # Generate a CRC of the namespace for using in constants for the Carbon port.
4843 # This should mean that you really *can* load two Qt's and have our custom
4844 # Carbon events work.
4845 if [ "$PLATFORM_MAC" = "yes" -a ! -z "$QT_NAMESPACE" ]; then
4846 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`
4849 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
4851 # detect EGL support
4852 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
4853 # EGL specified by QMAKE_*_EGL, included with <EGL/egl.h>
4854 CFG_EGL=yes
4855 CFG_EGL_GLES_INCLUDES=no
4856 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
4857 # EGL specified by QMAKE_*_EGL, included with <GLES/egl.h>
4858 CFG_EGL=yes
4859 CFG_EGL_GLES_INCLUDES=yes
4861 if ( [ "$CFG_OPENGL" = "es1" ] || [ "$CFG_OPENGL" = "es1cl" ] || [ "$CFG_OPENGL" = "es2" ] ) && [ "$CFG_EGL" != "yes" ]; then
4862 echo "The EGL functionality test failed!"
4863 echo " EGL is required for OpenGL ES to manage contexts & surfaces."
4864 echo " You might need to modify the include and library search paths by editing"
4865 echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in"
4866 echo " ${XQMAKESPEC}."
4867 exit 1
4871 # auto-detect Glib support
4872 if [ "$CFG_GLIB" != "no" ]; then
4873 if [ -n "$PKG_CONFIG" ]; then
4874 QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
4875 QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
4877 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
4878 CFG_GLIB=yes
4879 QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
4880 QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
4881 else
4882 if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4883 echo "Glib support cannot be enabled due to functionality tests!"
4884 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4885 echo " If you believe this message is in error you may use the continue"
4886 echo " switch (-continue) to $0 to continue."
4887 exit 101
4888 else
4889 CFG_GLIB=no
4894 if [ "$CFG_PHONON" != "no" ]; then
4895 if [ "$CFG_PHONON_BACKEND" != "no" ]; then
4896 if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
4897 if [ -n "$PKG_CONFIG" ]; then
4898 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4899 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
4901 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
4902 CFG_GSTREAMER=yes
4903 QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
4904 QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
4905 else
4906 if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4907 echo "Gstreamer support cannot be enabled due to functionality tests!"
4908 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4909 echo " If you believe this message is in error you may use the continue"
4910 echo " switch (-continue) to $0 to continue."
4911 exit 101
4912 else
4913 CFG_GSTREAMER=no
4916 elif [ "$CFG_GLIB" = "no" ]; then
4917 CFG_GSTREAMER=no
4920 if [ "$CFG_GSTREAMER" = "yes" ]; then
4921 CFG_PHONON=yes
4922 else
4923 if [ "$CFG_PHONON" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
4924 echo "Phonon support cannot be enabled due to functionality tests!"
4925 echo " Turn on verbose messaging (-v) to $0 to see the final report."
4926 echo " If you believe this message is in error you may use the continue"
4927 echo " switch (-continue) to $0 to continue."
4928 exit 101
4929 else
4930 CFG_PHONON=no
4933 else
4934 CFG_PHONON=yes
4937 fi # X11/QWS
4939 # x11
4940 if [ "$PLATFORM_X11" = "yes" ]; then
4941 x11tests="$relpath/config.tests/x11"
4942 X11TESTS_FLAGS=
4944 # work around broken X11 headers when using GCC 2.95 or later
4945 NOTYPE=no
4946 "$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE=yes
4947 if [ $NOTYPE = "yes" ]; then
4948 QMakeVar add QMAKE_CXXFLAGS -fpermissive
4949 X11TESTS_FLAGS="$X11TESTS_FLAGS -fpermissive"
4952 # Check we actually have X11 :-)
4953 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4954 if [ $? != "0" ]; then
4955 echo "Basic XLib functionality test failed!"
4956 echo " You might need to modify the include and library search paths by editing"
4957 echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
4958 exit 1
4961 # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es1cl = ES 1.x common lite, es2 = OpenGL ES 2.x)
4962 if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
4963 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
4964 CFG_OPENGL=desktop
4965 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
4966 CFG_OPENGL=es2
4967 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
4968 CFG_OPENGL=es1
4969 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
4970 CFG_OPENGL=es1cl
4971 else
4972 if [ "$CFG_OPENGL" = "yes" ]; then
4973 echo "All the OpenGL functionality tests failed!"
4974 echo " You might need to modify the include and library search paths by editing"
4975 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
4976 echo " ${XQMAKESPEC}."
4977 exit 1
4979 CFG_OPENGL=no
4981 case "$PLATFORM" in
4982 hpux*)
4983 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
4984 if [ "$CFG_OPENGL" = "desktop" ]; then
4985 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
4986 if [ $? != "0" ]; then
4987 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
4993 esac
4994 elif [ "$CFG_OPENGL" = "es1cl" ]; then
4995 # OpenGL ES 1.x common lite
4996 "$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
4997 if [ $? != "0" ]; then
4998 echo "The OpenGL ES 1.x Common Lite Profile functionality test failed!"
4999 echo " You might need to modify the include and library search paths by editing"
5000 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5001 echo " ${XQMAKESPEC}."
5002 exit 1
5004 elif [ "$CFG_OPENGL" = "es1" ]; then
5005 # OpenGL ES 1.x
5006 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS
5007 if [ $? != "0" ]; then
5008 echo "The OpenGL ES 1.x functionality test failed!"
5009 echo " You might need to modify the include and library search paths by editing"
5010 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5011 echo " ${XQMAKESPEC}."
5012 exit 1
5014 elif [ "$CFG_OPENGL" = "es2" ]; then
5015 #OpenGL ES 2.x
5016 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
5017 if [ $? != "0" ]; then
5018 echo "The OpenGL ES 2.0 functionality test failed!"
5019 echo " You might need to modify the include and library search paths by editing"
5020 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5021 echo " ${XQMAKESPEC}."
5022 exit 1
5024 elif [ "$CFG_OPENGL" = "desktop" ]; then
5025 # Desktop OpenGL support
5026 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5027 if [ $? != "0" ]; then
5028 echo "The OpenGL functionality test failed!"
5029 echo " You might need to modify the include and library search paths by editing"
5030 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5031 echo " ${XQMAKESPEC}."
5032 exit 1
5034 case "$PLATFORM" in
5035 hpux*)
5036 # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
5037 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
5038 if [ $? != "0" ]; then
5039 QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
5044 esac
5047 # if opengl is disabled and the user specified graphicssystem gl, disable it...
5048 if [ "$CFG_GRAPHICS_SYSTEM" = "opengl" ] && [ "$CFG_OPENGL" = "no" ]; then
5049 echo "OpenGL Graphics System is disabled due to missing OpenGL support..."
5050 CFG_GRAPHICS_SYSTEM=default
5053 # auto-detect Xcursor support
5054 if [ "$CFG_XCURSOR" != "no" ]; then
5055 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
5056 if [ "$CFG_XCURSOR" != "runtime" ]; then
5057 CFG_XCURSOR=yes;
5059 else
5060 if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5061 echo "Xcursor support cannot be enabled due to functionality tests!"
5062 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5063 echo " If you believe this message is in error you may use the continue"
5064 echo " switch (-continue) to $0 to continue."
5065 exit 101
5066 else
5067 CFG_XCURSOR=no
5072 # auto-detect Xfixes support
5073 if [ "$CFG_XFIXES" != "no" ]; then
5074 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xfixes "Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
5075 if [ "$CFG_XFIXES" != "runtime" ]; then
5076 CFG_XFIXES=yes;
5078 else
5079 if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5080 echo "Xfixes support cannot be enabled due to functionality tests!"
5081 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5082 echo " If you believe this message is in error you may use the continue"
5083 echo " switch (-continue) to $0 to continue."
5084 exit 101
5085 else
5086 CFG_XFIXES=no
5091 # auto-detect Xrandr support (resize and rotate extension)
5092 if [ "$CFG_XRANDR" != "no" ]; then
5093 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
5094 if [ "$CFG_XRANDR" != "runtime" ]; then
5095 CFG_XRANDR=yes
5097 else
5098 if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5099 echo "Xrandr support cannot be enabled due to functionality tests!"
5100 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5101 echo " If you believe this message is in error you may use the continue"
5102 echo " switch (-continue) to $0 to continue."
5103 exit 101
5104 else
5105 CFG_XRANDR=no
5110 # auto-detect Xrender support
5111 if [ "$CFG_XRENDER" != "no" ]; then
5112 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
5113 CFG_XRENDER=yes
5114 else
5115 if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5116 echo "Xrender support cannot be enabled due to functionality tests!"
5117 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5118 echo " If you believe this message is in error you may use the continue"
5119 echo " switch (-continue) to $0 to continue."
5120 exit 101
5121 else
5122 CFG_XRENDER=no
5127 # auto-detect MIT-SHM support
5128 if [ "$CFG_MITSHM" != "no" ]; then
5129 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
5130 CFG_MITSHM=yes
5131 else
5132 if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5133 echo "MITSHM support cannot be enabled due to functionality tests!"
5134 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5135 echo " If you believe this message is in error you may use the continue"
5136 echo " switch (-continue) to $0 to continue."
5137 exit 101
5138 else
5139 CFG_MITSHM=no
5144 # auto-detect FontConfig support
5145 if [ "$CFG_FONTCONFIG" != "no" ]; then
5146 if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
5147 QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
5148 QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
5149 else
5150 QT_CFLAGS_FONTCONFIG=
5151 QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
5153 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
5154 CFG_FONTCONFIG=yes
5155 QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
5156 QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
5157 CFG_LIBFREETYPE=system
5158 else
5159 if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5160 echo "FontConfig support cannot be enabled due to functionality tests!"
5161 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5162 echo " If you believe this message is in error you may use the continue"
5163 echo " switch (-continue) to $0 to continue."
5164 exit 101
5165 else
5166 CFG_FONTCONFIG=no
5171 # auto-detect Session Management support
5172 if [ "$CFG_SM" = "auto" ]; then
5173 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
5174 CFG_SM=yes
5175 else
5176 if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5177 echo "Session Management support cannot be enabled due to functionality tests!"
5178 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5179 echo " If you believe this message is in error you may use the continue"
5180 echo " switch (-continue) to $0 to continue."
5181 exit 101
5182 else
5183 CFG_SM=no
5188 # auto-detect SHAPE support
5189 if [ "$CFG_XSHAPE" != "no" ]; then
5190 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
5191 CFG_XSHAPE=yes
5192 else
5193 if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5194 echo "XShape support cannot be enabled due to functionality tests!"
5195 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5196 echo " If you believe this message is in error you may use the continue"
5197 echo " switch (-continue) to $0 to continue."
5198 exit 101
5199 else
5200 CFG_XSHAPE=no
5205 # auto-detect XSync support
5206 if [ "$CFG_XSYNC" != "no" ]; then
5207 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
5208 CFG_XSYNC=yes
5209 else
5210 if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5211 echo "XSync support cannot be enabled due to functionality tests!"
5212 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5213 echo " If you believe this message is in error you may use the continue"
5214 echo " switch (-continue) to $0 to continue."
5215 exit 101
5216 else
5217 CFG_XSYNC=no
5222 # auto-detect Xinerama support
5223 if [ "$CFG_XINERAMA" != "no" ]; then
5224 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
5225 if [ "$CFG_XINERAMA" != "runtime" ]; then
5226 CFG_XINERAMA=yes
5228 else
5229 if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5230 echo "Xinerama support cannot be enabled due to functionality tests!"
5231 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5232 echo " If you believe this message is in error you may use the continue"
5233 echo " switch (-continue) to $0 to continue."
5234 exit 101
5235 else
5236 CFG_XINERAMA=no
5241 # auto-detect Xinput support
5242 if [ "$CFG_XINPUT" != "no" ]; then
5243 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
5244 if [ "$CFG_XINPUT" != "runtime" ]; then
5245 CFG_XINPUT=yes
5247 else
5248 if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5249 echo "Tablet and Xinput support cannot be enabled due to functionality tests!"
5250 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5251 echo " If you believe this message is in error you may use the continue"
5252 echo " switch (-continue) to $0 to continue."
5253 exit 101
5254 else
5255 CFG_XINPUT=no
5260 # auto-detect XKB support
5261 if [ "$CFG_XKB" != "no" ]; then
5262 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
5263 CFG_XKB=yes
5264 else
5265 if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5266 echo "XKB support cannot be enabled due to functionality tests!"
5267 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5268 echo " If you believe this message is in error you may use the continue"
5269 echo " switch (-continue) to $0 to continue."
5270 exit 101
5271 else
5272 CFG_XKB=no
5277 if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
5278 if [ -n "$PKG_CONFIG" ]; then
5279 QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
5280 QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
5282 if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
5283 CFG_QGTKSTYLE=yes
5284 QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
5285 QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
5286 else
5287 if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5288 echo "Gtk theme support cannot be enabled due to functionality tests!"
5289 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5290 echo " If you believe this message is in error you may use the continue"
5291 echo " switch (-continue) to $0 to continue."
5292 exit 101
5293 else
5294 CFG_QGTKSTYLE=no
5297 elif [ "$CFG_GLIB" = "no" ]; then
5298 CFG_QGTKSTYLE=no
5300 fi # X11
5303 if [ "$PLATFORM_MAC" = "yes" ]; then
5304 if [ "$CFG_PHONON" != "no" ]; then
5305 # Always enable Phonon (unless it was explicitly disabled)
5306 CFG_PHONON=yes
5310 # QWS
5311 if [ "$PLATFORM_QWS" = "yes" ]; then
5313 # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es1cl = ES 1.x common lite, es2 = OpenGL ES 2.x)
5314 if [ "$CFG_OPENGL" = "yes" ]; then
5315 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
5316 CFG_OPENGL=es2
5317 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
5318 CFG_OPENGL=es1
5319 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
5320 CFG_OPENGL=es1cl
5321 else
5322 echo "All the OpenGL ES functionality tests failed!"
5323 echo " You might need to modify the include and library search paths by editing"
5324 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5325 echo " ${XQMAKESPEC}."
5326 exit 1
5328 elif [ "$CFG_OPENGL" = "es1" ]; then
5329 # OpenGL ES 1.x
5330 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS
5331 if [ $? != "0" ]; then
5332 echo "The OpenGL ES 1.x functionality test failed!"
5333 echo " You might need to modify the include and library search paths by editing"
5334 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5335 echo " ${XQMAKESPEC}."
5336 exit 1
5338 elif [ "$CFG_OPENGL" = "es2" ]; then
5339 #OpenGL ES 2.x
5340 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
5341 if [ $? != "0" ]; then
5342 echo "The OpenGL ES 2.0 functionality test failed!"
5343 echo " You might need to modify the include and library search paths by editing"
5344 echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
5345 echo " ${XQMAKESPEC}."
5346 exit 1
5348 elif [ "$CFG_OPENGL" = "desktop" ]; then
5349 # Desktop OpenGL support
5350 echo "Desktop OpenGL support is not avaliable on Qt for Embedded Linux"
5351 exit 1
5354 # screen drivers
5355 for screen in ${CFG_GFX_ON} ${CFG_GFX_PLUGIN}; do
5356 if [ "${screen}" = "ahi" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5357 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/ahi "Ahi" $L_FLAGS $I_FLAGS $l_FLAGS
5358 if [ $? != "0" ]; then
5359 echo "The Ahi screen driver functionality test failed!"
5360 echo " You might need to modify the include and library search paths by editing"
5361 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5362 echo " ${XQMAKESPEC}."
5363 exit 1
5367 if [ "${screen}" = "svgalib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5368 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/svgalib "SVGAlib" $L_FLAGS $I_FLAGS $l_FLAGS
5369 if [ $? != "0" ]; then
5370 echo "The SVGAlib screen driver functionality test failed!"
5371 echo " You might need to modify the include and library search paths by editing"
5372 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5373 echo " ${XQMAKESPEC}."
5374 exit 1
5378 if [ "${screen}" = "directfb" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5379 if [ -n "$PKG_CONFIG" ]; then
5380 if $PKG_CONFIG --exists directfb 2>/dev/null; then
5381 QT_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
5382 QT_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
5383 elif directfb-config --version >/dev/null 2>&1; then
5384 QT_CFLAGS_DIRECTFB=`directfb-config --cflags 2>/dev/null`
5385 QT_LIBS_DIRECTFB=`directfb-config --libs 2>/dev/null`
5389 # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
5390 if [ -n "$QT_CFLAGS_DIRECTFB" ] || [ -n "$QT_LIBS_DIRECTFB" ]; then
5391 QMakeVar set QT_CFLAGS_DIRECTFB "$QT_CFLAGS_DIRECTFB"
5392 QMakeVar set QT_LIBS_DIRECTFB "$QT_LIBS_DIRECTFB"
5394 if [ "$CFG_QT3SUPPORT" = "yes" ]; then
5395 QMakeVar set QT_DEFINES_DIRECTFB "QT3_SUPPORT"
5398 "$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
5399 if [ $? != "0" ]; then
5400 echo "The DirectFB screen driver functionality test failed!"
5401 echo " You might need to modify the include and library search paths by editing"
5402 echo " QT_CFLAGS_DIRECTFB and QT_LIBS_DIRECTFB in"
5403 echo " ${XQMAKESPEC}."
5404 exit 1
5408 done
5410 # mouse drivers
5411 for mouse in ${CFG_MOUSE_ON} ${CFG_MOUSE_PLUGIN}; do
5412 if [ "${mouse}" = "tslib" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
5413 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tslib "tslib" $L_FLAGS $I_FLAGS $l_FLAGS
5414 if [ $? != "0" ]; then
5415 echo "The tslib functionality test failed!"
5416 echo " You might need to modify the include and library search paths by editing"
5417 echo " QMAKE_INCDIR and QMAKE_LIBDIR in"
5418 echo " ${XQMAKESPEC}."
5419 exit 1
5422 done
5424 CFG_QGTKSTYLE=no
5426 # sound
5427 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/sound "sound" $L_FLAGS $I_FLAGS $l_FLAGS
5428 if [ $? != "0" ]; then
5429 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SOUND"
5432 fi # QWS
5434 # freetype support
5435 [ "x$CFG_EMBEDDED" != "xno" ] && CFG_LIBFREETYPE="$CFG_QWS_FREETYPE"
5436 [ "x$PLATFORM_MAC" = "xyes" ] && CFG_LIBFREETYPE=no
5437 if [ "$CFG_LIBFREETYPE" = "auto" ]; then
5438 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
5439 CFG_LIBFREETYPE=system
5440 else
5441 CFG_LIBFREETYPE=yes
5445 if [ "$CFG_ENDIAN" = "auto" ]; then
5446 if [ "$PLATFORM_MAC" = "yes" ]; then
5447 true #leave as auto
5448 else
5449 "$unixtests/endian.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5450 F="$?"
5451 if [ "$F" -eq 0 ]; then
5452 CFG_ENDIAN="Q_LITTLE_ENDIAN"
5453 elif [ "$F" -eq 1 ]; then
5454 CFG_ENDIAN="Q_BIG_ENDIAN"
5455 else
5456 echo
5457 echo "The target system byte order could not be detected!"
5458 echo "Turn on verbose messaging (-v) to see the final report."
5459 echo "You can use the -little-endian or -big-endian switch to"
5460 echo "$0 to continue."
5461 exit 101
5466 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
5467 if [ "$PLATFORM_MAC" = "yes" ]; then
5468 true #leave as auto
5469 else
5470 "$unixtests/endian.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5471 F="$?"
5472 if [ "$F" -eq 0 ]; then
5473 CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
5474 elif [ "$F" -eq 1 ]; then
5475 CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
5476 else
5477 echo
5478 echo "The host system byte order could not be detected!"
5479 echo "Turn on verbose messaging (-v) to see the final report."
5480 echo "You can use the -host-little-endian or -host-big-endian switch to"
5481 echo "$0 to continue."
5482 exit 101
5487 if [ "$CFG_ARMFPA" != "auto" ]; then
5488 if [ "$CFG_ARMFPA" = "yes" ]; then
5489 if [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5490 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
5491 else
5492 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
5494 else
5495 CFG_DOUBLEFORMAT="normal"
5500 if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then
5501 if [ "$PLATFORM_QWS" != "yes" ]; then
5502 CFG_DOUBLEFORMAT=normal
5503 else
5504 "$unixtests/doubleformat.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
5505 F="$?"
5506 if [ "$F" -eq 10 ] && [ "$CFG_ENDIAN" = "Q_LITTLE_ENDIAN" ]; then
5507 CFG_DOUBLEFORMAT=normal
5508 elif [ "$F" -eq 11 ] && [ "$CFG_ENDIAN" = "Q_BIG_ENDIAN" ]; then
5509 CFG_DOUBLEFORMAT=normal
5510 elif [ "$F" -eq 10 ]; then
5511 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE"
5512 elif [ "$F" -eq 11 ]; then
5513 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG"
5514 elif [ "$F" -eq 12 ]; then
5515 CFG_DOUBLEFORMAT="Q_DOUBLE_LITTLE_SWAPPED"
5516 CFG_ARMFPA="yes"
5517 elif [ "$F" -eq 13 ]; then
5518 CFG_DOUBLEFORMAT="Q_DOUBLE_BIG_SWAPPED"
5519 CFG_ARMFPA="yes"
5520 else
5521 echo
5522 echo "The system floating point format could not be detected."
5523 echo "This may cause data to be generated in a wrong format"
5524 echo "Turn on verbose messaging (-v) to see the final report."
5525 # we do not fail on this since this is a new test, and if it fails,
5526 # the old behavior should be correct in most cases
5527 CFG_DOUBLEFORMAT=normal
5532 HAVE_STL=no
5533 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
5534 HAVE_STL=yes
5537 if [ "$CFG_STL" != "no" ]; then
5538 if [ "$HAVE_STL" = "yes" ]; then
5539 CFG_STL=yes
5540 else
5541 if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5542 echo "STL support cannot be enabled due to functionality tests!"
5543 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5544 echo " If you believe this message is in error you may use the continue"
5545 echo " switch (-continue) to $0 to continue."
5546 exit 101
5547 else
5548 CFG_STL=no
5553 # find if the platform supports IPv6
5554 if [ "$CFG_IPV6" != "no" ]; then
5555 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
5556 CFG_IPV6=yes
5557 else
5558 if [ "$CFG_IPV6" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5559 echo "IPv6 support cannot be enabled due to functionality tests!"
5560 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5561 echo " If you believe this message is in error you may use the continue"
5562 echo " switch (-continue) to $0 to continue."
5563 exit 101
5564 else
5565 CFG_IPV6=no
5570 # detect POSIX clock_gettime()
5571 if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
5572 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
5573 CFG_CLOCK_GETTIME=yes
5574 else
5575 CFG_CLOCK_GETTIME=no
5579 # detect POSIX monotonic clocks
5580 if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
5581 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
5582 CFG_CLOCK_MONOTONIC=yes
5583 else
5584 CFG_CLOCK_MONOTONIC=no
5586 elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
5587 CFG_CLOCK_MONOTONIC=no
5590 # detect mremap
5591 if [ "$CFG_MREMAP" = "auto" ]; then
5592 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
5593 CFG_MREMAP=yes
5594 else
5595 CFG_MREMAP=no
5599 # find if the platform provides getaddrinfo (ipv6 dns lookups)
5600 if [ "$CFG_GETADDRINFO" != "no" ]; then
5601 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
5602 CFG_GETADDRINFO=yes
5603 else
5604 if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5605 echo "getaddrinfo support cannot be enabled due to functionality tests!"
5606 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5607 echo " If you believe this message is in error you may use the continue"
5608 echo " switch (-continue) to $0 to continue."
5609 exit 101
5610 else
5611 CFG_GETADDRINFO=no
5616 # find if the platform provides inotify
5617 if [ "$CFG_INOTIFY" != "no" ]; then
5618 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
5619 CFG_INOTIFY=yes
5620 else
5621 if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5622 echo "inotify support cannot be enabled due to functionality tests!"
5623 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5624 echo " If you believe this message is in error you may use the continue"
5625 echo " switch (-continue) to $0 to continue."
5626 exit 101
5627 else
5628 CFG_INOTIFY=no
5633 # find if the platform provides if_nametoindex (ipv6 interface name support)
5634 if [ "$CFG_IPV6IFNAME" != "no" ]; then
5635 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
5636 CFG_IPV6IFNAME=yes
5637 else
5638 if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5639 echo "IPv6 interface name support cannot be enabled due to functionality tests!"
5640 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5641 echo " If you believe this message is in error you may use the continue"
5642 echo " switch (-continue) to $0 to continue."
5643 exit 101
5644 else
5645 CFG_IPV6IFNAME=no
5650 # find if the platform provides getifaddrs (network interface enumeration)
5651 if [ "$CFG_GETIFADDRS" != "no" ]; then
5652 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
5653 CFG_GETIFADDRS=yes
5654 else
5655 if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5656 echo "getifaddrs support cannot be enabled due to functionality tests!"
5657 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5658 echo " If you believe this message is in error you may use the continue"
5659 echo " switch (-continue) to $0 to continue."
5660 exit 101
5661 else
5662 CFG_GETIFADDRS=no
5667 # find if the platform supports X/Open Large File compilation environment
5668 if [ "$CFG_LARGEFILE" != "no" ]; then
5669 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
5670 CFG_LARGEFILE=yes
5671 else
5672 if [ "$CFG_LARGEFILE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5673 echo "X/Open Large File support cannot be enabled due to functionality tests!"
5674 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5675 echo " If you believe this message is in error you may use the continue"
5676 echo " switch (-continue) to $0 to continue."
5677 exit 101
5678 else
5679 CFG_LARGEFILE=no
5684 # detect OpenSSL
5685 if [ "$CFG_OPENSSL" != "no" ]; then
5686 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
5687 if [ "$CFG_OPENSSL" = "auto" ]; then
5688 CFG_OPENSSL=yes
5690 else
5691 if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5692 echo "OpenSSL support cannot be enabled due to functionality tests!"
5693 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5694 echo " If you believe this message is in error you may use the continue"
5695 echo " switch (-continue) to $0 to continue."
5696 exit 101
5697 else
5698 CFG_OPENSSL=no
5703 # detect OpenVG support
5704 if [ "$CFG_OPENVG" != "no" ]; then
5705 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
5706 if [ "$CFG_OPENVG" = "auto" ]; then
5707 CFG_OPENVG=yes
5709 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
5710 if [ "$CFG_OPENVG" = "auto" ]; then
5711 CFG_OPENVG=yes
5713 CFG_OPENVG_ON_OPENGL=yes
5714 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
5715 if [ "$CFG_OPENVG" = "auto" ]; then
5716 CFG_OPENVG=yes
5718 CFG_OPENVG_LC_INCLUDES=yes
5719 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
5720 if [ "$CFG_OPENVG" = "auto" ]; then
5721 CFG_OPENVG=yes
5723 CFG_OPENVG_LC_INCLUDES=yes
5724 CFG_OPENVG_ON_OPENGL=yes
5725 else
5726 if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
5727 echo "$CFG_OPENVG was specified for OpenVG but cannot be enabled due to functionality tests!"
5728 echo " Turn on verbose messaging (-v) to $0 to see the final report."
5729 echo " If you believe this message is in error you may use the continue"
5730 echo " switch (-continue) to $0 to continue."
5731 exit 101
5732 else
5733 CFG_OPENVG=no
5736 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
5737 CFG_OPENVG_SHIVA=yes
5741 # if openvg is disabled and the user specified graphicssystem vg, disable it...
5742 if [ "$CFG_GRAPHICS_SYSTEM" = "openvg" ] && [ "$CFG_OPENVG" = "no" ]; then
5743 echo "OpenVG Graphics System is disabled due to missing OpenVG support..."
5744 CFG_GRAPHICS_SYSTEM=default
5747 if [ "$CFG_PTMALLOC" != "no" ]; then
5748 # build ptmalloc, copy .a file to lib/
5749 echo "Building ptmalloc. Please wait..."
5750 (cd "$relpath/src/3rdparty/ptmalloc/"; "$MAKE" "clean" ; "$MAKE" "posix"
5751 mkdir "$outpath/lib/" ; cp "libptmalloc3.a" "$outpath/lib/")
5753 QMakeVar add QMAKE_LFLAGS "$outpath/lib/libptmalloc3.a"
5756 if [ "$CFG_ALSA" = "auto" ]; then
5757 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
5758 CFG_ALSA=yes
5759 else
5760 CFG_ALSA=no
5764 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
5765 if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then
5766 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
5767 if [ $? != "0" ]; then
5768 CFG_JAVASCRIPTCORE_JIT=no
5773 if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
5774 QMakeVar set JAVASCRIPTCORE_JIT yes
5775 elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
5776 QMakeVar set JAVASCRIPTCORE_JIT no
5779 #-------------------------------------------------------------------------------
5780 # ask for all that hasn't been auto-detected or specified in the arguments
5781 #-------------------------------------------------------------------------------
5783 ### fix this: user input should be validated in a loop
5784 if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PLATFORM_QWS" = "yes" ]; then
5785 echo
5786 echo "Choose pixel-depths to support:"
5787 echo
5788 echo " 1. 1bpp, black/white"
5789 echo " 4. 4bpp, grayscale"
5790 echo " 8. 8bpp, paletted"
5791 echo " 12. 12bpp, rgb 4-4-4"
5792 echo " 15. 15bpp, rgb 5-5-5"
5793 echo " 16. 16bpp, rgb 5-6-5"
5794 echo " 18. 18bpp, rgb 6-6-6"
5795 echo " 24. 24bpp, rgb 8-8-8"
5796 echo " 32. 32bpp, argb 8-8-8-8 and rgb 8-8-8"
5797 echo " all. All supported depths"
5798 echo
5799 echo "Your choices (default 8,16,32):"
5800 read CFG_QWS_DEPTHS
5801 if [ -z "$CFG_QWS_DEPTHS" ] || [ "$CFG_QWS_DEPTHS" = "yes" ]; then
5802 CFG_QWS_DEPTHS=8,16,32
5805 if [ -n "$CFG_QWS_DEPTHS" -a "$PLATFORM_QWS" = "yes" ]; then
5806 if [ "$CFG_QWS_DEPTHS" = "all" ]; then
5807 CFG_QWS_DEPTHS="1 4 8 12 15 16 18 24 32 generic"
5809 for D in `echo "$CFG_QWS_DEPTHS" | sed -e 's/,/ /g'`; do
5810 case $D in
5811 1|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
5812 generic) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_GENERIC";;
5813 esac
5814 done
5817 # enable dwarf2 support on Mac
5818 if [ "$CFG_MAC_DWARF2" = "yes" ]; then
5819 QT_CONFIG="$QT_CONFIG dwarf2"
5822 # Set the default arch.
5823 # Carbon builds: 32 bit x86/ppc.
5824 # For "-cocoa" builds on snow leopard : compiler default (64-bit).
5825 # For "-cocoa" builds on leopard : compiler default (32-bit).
5826 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_ARCHS" = "" ]; then
5827 source "$mactests/defaultarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests"
5829 if [ "$CFG_MAC_COCOA" != "yes" ]; then
5830 if [ "$QT_MAC_DEFAULT_ARCH" = "x86_64" ]; then
5831 CFG_MAC_ARCHS=" x86"
5832 elif [ "$QT_MAC_DEFAULT_ARCH" = "ppc64" ]; then
5833 CFG_MAC_ARCHS=" ppc"
5834 else
5835 CFG_MAC_ARCHS=" $QT_MAC_DEFAULT_ARCH"
5837 else
5838 CFG_MAC_ARCHS=" $QT_MAC_DEFAULT_ARCH"
5841 [ "$OPT_VERBOSE" = "yes" ] && echo "Setting Mac architechture to$CFG_MAC_ARCHS."
5844 # enable cocoa and/or carbon on Mac
5845 if [ "$CFG_MAC_COCOA" = "yes" ]; then
5846 # -cocoa on the command line disables carbon completely (i.e. use cocoa for 32-bit as well)
5847 CFG_MAC_CARBON="no"
5848 else
5849 # check which archs are in use, enable cocoa if we find a 64-bit one
5850 if echo "$CFG_MAC_ARCHS" | grep 64 > /dev/null 2>&1; then
5851 CFG_MAC_COCOA="yes";
5852 CFG_MAC_CARBON="no";
5853 if echo "$CFG_MAC_ARCHS" | grep -w ppc > /dev/null 2>&1; then
5854 CFG_MAC_CARBON="yes";
5856 if echo "$CFG_MAC_ARCHS" | grep -w x86 > /dev/null 2>&1; then
5857 CFG_MAC_CARBON="yes";
5859 else
5860 # no 64-bit archs found.
5861 CFG_MAC_COCOA="no"
5865 # set the global Mac deployment target. This is overridden on an arch-by-arch basis
5866 # in some cases, see code further down
5867 case "$PLATFORM,$CFG_MAC_COCOA" in
5868 macx*,yes)
5869 # Cocoa
5870 QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET 10.5
5872 macx*,no)
5873 # gcc, Carbon
5874 QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET 10.4
5876 esac
5878 # disable Qt 3 support on VxWorks
5879 case "$XPLATFORM" in
5880 unsupported/vxworks*)
5881 CFG_QT3SUPPORT="no"
5883 esac
5885 # enable Qt 3 support functionality
5886 if [ "$CFG_QT3SUPPORT" = "yes" ]; then
5887 QT_CONFIG="$QT_CONFIG qt3support"
5890 # enable Phonon
5891 if [ "$CFG_PHONON" = "yes" ]; then
5892 QT_CONFIG="$QT_CONFIG phonon"
5893 if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
5894 QT_CONFIG="$QT_CONFIG phonon-backend"
5896 else
5897 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PHONON"
5900 # disable accessibility
5901 if [ "$CFG_ACCESSIBILITY" = "no" ]; then
5902 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
5903 else
5904 QT_CONFIG="$QT_CONFIG accessibility"
5907 # enable egl
5908 if [ "$CFG_EGL" = "no" ]; then
5909 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
5910 else
5911 QT_CONFIG="$QT_CONFIG egl"
5912 if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
5913 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GLES_EGL"
5917 # enable openvg
5918 if [ "$CFG_OPENVG" = "no" ]; then
5919 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
5920 else
5921 QT_CONFIG="$QT_CONFIG openvg"
5922 if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
5923 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
5925 if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
5926 QT_CONFIG="$QT_CONFIG openvg_on_opengl"
5928 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
5929 QT_CONFIG="$QT_CONFIG shivavg"
5930 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
5934 # enable opengl
5935 if [ "$CFG_OPENGL" = "no" ]; then
5936 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
5937 else
5938 QT_CONFIG="$QT_CONFIG opengl"
5941 if [ "$CFG_OPENGL" = "es1" ] || [ "$CFG_OPENGL" = "es1cl" ] || [ "$CFG_OPENGL" = "es2" ]; then
5942 if [ "$PLATFORM_QWS" = "yes" ]; then
5943 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_BACKINGSTORE_SUBSURFACES"
5944 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_USE_EGLWINDOWSURFACE"
5946 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
5949 if [ "$CFG_OPENGL" = "es1" ]; then
5950 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_1"
5951 QT_CONFIG="$QT_CONFIG opengles1"
5954 if [ "$CFG_OPENGL" = "es1cl" ]; then
5955 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_1_CL"
5956 QT_CONFIG="$QT_CONFIG opengles1cl"
5959 if [ "$CFG_OPENGL" = "es2" ]; then
5960 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
5961 QT_CONFIG="$QT_CONFIG opengles2"
5964 # safe execution environment
5965 if [ "$CFG_SXE" != "no" ]; then
5966 QT_CONFIG="$QT_CONFIG sxe"
5969 # build up the variables for output
5970 if [ "$CFG_DEBUG" = "yes" ]; then
5971 QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
5972 QMAKE_CONFIG="$QMAKE_CONFIG debug"
5973 elif [ "$CFG_DEBUG" = "no" ]; then
5974 QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
5975 QMAKE_CONFIG="$QMAKE_CONFIG release"
5977 if [ "$CFG_SHARED" = "yes" ]; then
5978 QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
5979 QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
5980 elif [ "$CFG_SHARED" = "no" ]; then
5981 QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
5982 QMAKE_CONFIG="$QMAKE_CONFIG static"
5984 if [ "$PLATFORM_QWS" = "yes" ]; then
5985 QMAKE_OUTDIR="${QMAKE_OUTDIR}-emb-$CFG_EMBEDDED"
5986 QMAKE_CONFIG="$QMAKE_CONFIG embedded"
5987 QT_CONFIG="$QT_CONFIG embedded"
5988 rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
5990 QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
5991 QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
5992 QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
5993 QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
5994 QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
5995 if [ "$CFG_LARGEFILE" = "yes" ]; then
5996 QMAKE_CONFIG="$QMAKE_CONFIG largefile"
5998 if [ "$CFG_STL" = "no" ]; then
5999 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STL"
6000 else
6001 QMAKE_CONFIG="$QMAKE_CONFIG stl"
6003 if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
6004 QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
6006 [ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
6007 [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
6008 [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
6009 if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
6010 QMakeVar add QMAKE_CFLAGS -g
6011 QMakeVar add QMAKE_CXXFLAGS -g
6012 QMAKE_CONFIG="$QMAKE_CONFIG separate_debug_info"
6014 [ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mmx"
6015 [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow"
6016 [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse"
6017 [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
6018 [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
6019 [ "$PLATFORM_MAC" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG $CFG_MAC_ARCHS"
6020 if [ "$CFG_IPV6" = "yes" ]; then
6021 QT_CONFIG="$QT_CONFIG ipv6"
6023 if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
6024 QT_CONFIG="$QT_CONFIG clock-gettime"
6026 if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
6027 QT_CONFIG="$QT_CONFIG clock-monotonic"
6029 if [ "$CFG_MREMAP" = "yes" ]; then
6030 QT_CONFIG="$QT_CONFIG mremap"
6032 if [ "$CFG_GETADDRINFO" = "yes" ]; then
6033 QT_CONFIG="$QT_CONFIG getaddrinfo"
6035 if [ "$CFG_IPV6IFNAME" = "yes" ]; then
6036 QT_CONFIG="$QT_CONFIG ipv6ifname"
6038 if [ "$CFG_GETIFADDRS" = "yes" ]; then
6039 QT_CONFIG="$QT_CONFIG getifaddrs"
6041 if [ "$CFG_INOTIFY" = "yes" ]; then
6042 QT_CONFIG="$QT_CONFIG inotify"
6044 if [ "$CFG_LIBJPEG" = "no" ]; then
6045 CFG_JPEG="no"
6046 elif [ "$CFG_LIBJPEG" = "system" ]; then
6047 QT_CONFIG="$QT_CONFIG system-jpeg"
6049 if [ "$CFG_JPEG" = "no" ]; then
6050 QT_CONFIG="$QT_CONFIG no-jpeg"
6051 elif [ "$CFG_JPEG" = "yes" ]; then
6052 QT_CONFIG="$QT_CONFIG jpeg"
6054 if [ "$CFG_LIBMNG" = "no" ]; then
6055 CFG_MNG="no"
6056 elif [ "$CFG_LIBMNG" = "system" ]; then
6057 QT_CONFIG="$QT_CONFIG system-mng"
6059 if [ "$CFG_MNG" = "no" ]; then
6060 QT_CONFIG="$QT_CONFIG no-mng"
6061 elif [ "$CFG_MNG" = "yes" ]; then
6062 QT_CONFIG="$QT_CONFIG mng"
6064 if [ "$CFG_LIBPNG" = "no" ]; then
6065 CFG_PNG="no"
6067 if [ "$CFG_LIBPNG" = "system" ]; then
6068 QT_CONFIG="$QT_CONFIG system-png"
6070 if [ "$CFG_PNG" = "no" ]; then
6071 QT_CONFIG="$QT_CONFIG no-png"
6072 elif [ "$CFG_PNG" = "yes" ]; then
6073 QT_CONFIG="$QT_CONFIG png"
6075 if [ "$CFG_GIF" = "no" ]; then
6076 QT_CONFIG="$QT_CONFIG no-gif"
6077 elif [ "$CFG_GIF" = "yes" ]; then
6078 QT_CONFIG="$QT_CONFIG gif"
6080 if [ "$CFG_LIBTIFF" = "no" ]; then
6081 CFG_TIFF="no"
6082 elif [ "$CFG_LIBTIFF" = "system" ]; then
6083 QT_CONFIG="$QT_CONFIG system-tiff"
6085 if [ "$CFG_TIFF" = "no" ]; then
6086 QT_CONFIG="$QT_CONFIG no-tiff"
6087 elif [ "$CFG_TIFF" = "yes" ]; then
6088 QT_CONFIG="$QT_CONFIG tiff"
6090 if [ "$CFG_LIBFREETYPE" = "no" ]; then
6091 QT_CONFIG="$QT_CONFIG no-freetype"
6092 elif [ "$CFG_LIBFREETYPE" = "system" ]; then
6093 QT_CONFIG="$QT_CONFIG system-freetype"
6094 else
6095 QT_CONFIG="$QT_CONFIG freetype"
6098 if [ "x$PLATFORM_MAC" = "xyes" ]; then
6099 #On Mac we implicitly link against libz, so we
6100 #never use the 3rdparty stuff.
6101 [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
6103 if [ "$CFG_ZLIB" = "yes" ]; then
6104 QT_CONFIG="$QT_CONFIG zlib"
6105 elif [ "$CFG_ZLIB" = "system" ]; then
6106 QT_CONFIG="$QT_CONFIG system-zlib"
6109 [ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
6110 [ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
6111 [ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
6112 [ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
6113 [ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
6114 [ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
6115 [ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
6116 [ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
6117 [ "$CFG_NAS" = "system" ] && QT_CONFIG="$QT_CONFIG nas"
6118 [ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
6119 [ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
6121 if [ "$PLATFORM_X11" = "yes" ]; then
6122 [ "$CFG_SM" = "yes" ] && QT_CONFIG="$QT_CONFIG x11sm"
6124 # for some reason, the following libraries are not always built shared,
6125 # so *every* program/lib (including Qt) has to link against them
6126 if [ "$CFG_XSHAPE" = "yes" ]; then
6127 QT_CONFIG="$QT_CONFIG xshape"
6129 if [ "$CFG_XSYNC" = "yes" ]; then
6130 QT_CONFIG="$QT_CONFIG xsync"
6132 if [ "$CFG_XINERAMA" = "yes" ]; then
6133 QT_CONFIG="$QT_CONFIG xinerama"
6134 QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11'
6136 if [ "$CFG_XCURSOR" = "yes" ]; then
6137 QT_CONFIG="$QT_CONFIG xcursor"
6138 QMakeVar set QMAKE_LIBS_X11 '-lXcursor $$QMAKE_LIBS_X11'
6140 if [ "$CFG_XFIXES" = "yes" ]; then
6141 QT_CONFIG="$QT_CONFIG xfixes"
6142 QMakeVar set QMAKE_LIBS_X11 '-lXfixes $$QMAKE_LIBS_X11'
6144 if [ "$CFG_XRANDR" = "yes" ]; then
6145 QT_CONFIG="$QT_CONFIG xrandr"
6146 if [ "$CFG_XRENDER" != "yes" ]; then
6147 # libXrandr uses 1 function from libXrender, so we always have to have it :/
6148 QMakeVar set QMAKE_LIBS_X11 '-lXrandr -lXrender $$QMAKE_LIBS_X11'
6149 else
6150 QMakeVar set QMAKE_LIBS_X11 '-lXrandr $$QMAKE_LIBS_X11'
6153 if [ "$CFG_XRENDER" = "yes" ]; then
6154 QT_CONFIG="$QT_CONFIG xrender"
6155 QMakeVar set QMAKE_LIBS_X11 '-lXrender $$QMAKE_LIBS_X11'
6157 if [ "$CFG_MITSHM" = "yes" ]; then
6158 QT_CONFIG="$QT_CONFIG mitshm"
6160 if [ "$CFG_FONTCONFIG" = "yes" ]; then
6161 QT_CONFIG="$QT_CONFIG fontconfig"
6163 if [ "$CFG_XINPUT" = "yes" ]; then
6164 QMakeVar set QMAKE_LIBS_X11 '-lXi $$QMAKE_LIBS_X11'
6166 if [ "$CFG_XINPUT" = "yes" ]; then
6167 QT_CONFIG="$QT_CONFIG xinput tablet"
6169 if [ "$CFG_XKB" = "yes" ]; then
6170 QT_CONFIG="$QT_CONFIG xkb"
6174 [ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS"
6175 [ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
6176 [ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
6178 if [ "$PLATFORM_MAC" = "yes" ]; then
6179 if [ "$CFG_RPATH" = "yes" ]; then
6180 QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
6182 elif [ -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_RPATH | awk '{print $3;}'`" ]; then
6183 if [ -n "$RPATH_FLAGS" ]; then
6184 echo
6185 echo "ERROR: -R cannot be used on this platform as \$QMAKE_RPATH is"
6186 echo " undefined."
6187 echo
6188 exit 1
6189 elif [ "$CFG_RPATH" = "yes" ]; then
6190 RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
6191 CFG_RPATH=no
6193 else
6194 if [ "$CFG_RPATH" = "yes" ]; then
6195 # set the default rpath to the library installation directory
6196 RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
6198 if [ -n "$RPATH_FLAGS" ]; then
6199 # add the user defined rpaths
6200 QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
6204 if [ '!' -z "$I_FLAGS" ]; then
6205 # add the user define include paths
6206 QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
6207 QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
6210 # turn off exceptions for the compilers that support it
6211 if [ "$PLATFORM_QWS" = "yes" ]; then
6212 COMPILER=`echo $XPLATFORM | cut -f 3- -d-`
6213 else
6214 COMPILER=`echo $PLATFORM | cut -f 2- -d-`
6216 if [ "$CFG_EXCEPTIONS" = "unspecified" -a "$PLATFORM_QWS" = "yes" ]; then
6217 CFG_EXCEPTIONS=no
6220 if [ "$CFG_EXCEPTIONS" != "no" ]; then
6221 QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
6224 if [ "$CFG_ALSA" = "yes" ]; then
6225 QT_CONFIG="$QT_CONFIG alsa"
6229 # Some Qt modules are too advanced in C++ for some old compilers
6230 # Detect here the platforms where they are known to work.
6232 # See Qt documentation for more information on which features are
6233 # supported and on which compilers.
6235 canBuildQtXmlPatterns="yes"
6236 canBuildWebKit="$HAVE_STL"
6237 canBuildQtConcurrent="yes"
6239 # WebKit requires stdint.h
6240 "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stdint "Stdint" $L_FLAGS $I_FLAGS $l_FLAGS
6241 if [ $? != "0" ]; then
6242 canBuildWebKit="no"
6245 case "$XPLATFORM" in
6246 hpux-g++*)
6247 # PA-RISC's assembly is too limited
6248 # gcc 3.4 on that platform can't build QtXmlPatterns
6249 # the assembly it generates cannot be compiled
6251 # Check gcc's version
6252 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
6255 3.4*)
6256 canBuildQtXmlPatterns="no"
6259 canBuildWebKit="no"
6260 canBuildQtXmlPatterns="no"
6262 esac
6264 unsupported/vxworks-*-g++*)
6265 canBuildWebKit="no"
6267 unsupported/vxworks-*-dcc*)
6268 canBuildWebKit="no"
6269 canBuildQtXmlPatterns="no"
6271 *-g++*)
6272 # Check gcc's version
6273 case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
6274 4*|3.4*)
6276 3.3*)
6277 canBuildWebKit="no"
6280 canBuildWebKit="no"
6281 canBuildQtXmlPatterns="no"
6283 esac
6285 solaris-cc*)
6286 # Check the compiler version
6287 case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
6288 5.[012345678])
6289 canBuildWebKit="no"
6290 canBuildQtXmlPatterns="no"
6291 canBuildQtConcurrent="no"
6293 5.9)
6294 canBuildWebKit="no"
6295 canBuildQtConcurrent="no"
6297 esac
6299 hpux-acc*)
6300 canBuildWebKit="no"
6301 canBuildQtXmlPatterns="no"
6302 canBuildQtConcurrent="no"
6304 hpuxi-acc*)
6305 canBuildWebKit="no"
6307 aix-xlc*)
6308 # Get the xlC version
6309 cat > xlcver.c <<EOF
6310 #include <stdio.h>
6311 int main()
6313 printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
6314 return 0;
6317 xlcver=
6318 if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
6319 xlcver=`./xlcver 2>/dev/null`
6320 rm -f ./xlcver
6322 if [ "$OPT_VERBOSE" = "yes" ]; then
6323 if [ -n "$xlcver" ]; then
6324 echo Found IBM xlC version: $xlcver.
6325 else
6326 echo Could not determine IBM xlC version, assuming oldest supported.
6330 case "$xlcver" in
6331 [123456].*)
6332 canBuildWebKit="no"
6333 canBuildQtXmlPatterns="no"
6334 canBuildQtConcurrent="no"
6337 canBuildWebKit="no"
6338 canBuildQtConcurrent="no"
6340 esac
6342 irix-cc*)
6343 canBuildWebKit="no"
6344 canBuildQtConcurrent="no"
6346 esac
6348 CFG_CONCURRENT="yes"
6349 if [ "$canBuildQtConcurrent" = "no" ]; then
6350 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
6351 CFG_CONCURRENT="no"
6354 if [ "$CFG_XMLPATTERNS" = "yes" -a "$CFG_EXCEPTIONS" = "no" ]; then
6355 echo "QtXmlPatterns was requested, but it can't be built due to exceptions being disabled."
6356 exit 1
6358 if [ "$CFG_XMLPATTERNS" = "auto" -a "$CFG_EXCEPTIONS" != "no" ]; then
6359 CFG_XMLPATTERNS="$canBuildQtXmlPatterns"
6360 elif [ "$CFG_EXCEPTIONS" = "no" ]; then
6361 CFG_XMLPATTERNS="no"
6363 if [ "$CFG_XMLPATTERNS" = "yes" ]; then
6364 QT_CONFIG="$QT_CONFIG xmlpatterns"
6365 else
6366 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XMLPATTERNS"
6369 if [ "$CFG_MULTIMEDIA" = "no" ]; then
6370 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MULTIMEDIA"
6371 else
6372 QT_CONFIG="$QT_CONFIG multimedia"
6375 if [ "$CFG_SVG" = "yes" ]; then
6376 QT_CONFIG="$QT_CONFIG svg"
6377 else
6378 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SVG"
6381 if [ "$CFG_WEBKIT" = "auto" ]; then
6382 CFG_WEBKIT="$canBuildWebKit"
6385 if [ "$CFG_WEBKIT" = "yes" ]; then
6386 QT_CONFIG="$QT_CONFIG webkit"
6387 # The reason we set CFG_WEBKIT, is such that the printed overview of what will be enabled, shows correctly.
6388 CFG_WEBKIT="yes"
6389 else
6390 CFG_WEBKIT="no"
6391 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_WEBKIT"
6394 if [ "$CFG_SCRIPT" = "auto" ]; then
6395 CFG_SCRIPT="yes"
6398 if [ "$CFG_SCRIPT" = "yes" ]; then
6399 QT_CONFIG="$QT_CONFIG script"
6400 else
6401 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SCRIPT"
6404 if [ "$CFG_SCRIPTTOOLS" = "yes" -a "$CFG_SCRIPT" = "no" ]; then
6405 echo "QtScriptTools was requested, but it can't be built due to QtScript being disabled."
6406 exit 1
6408 if [ "$CFG_SCRIPTTOOLS" = "auto" -a "$CFG_SCRIPT" != "no" ]; then
6409 CFG_SCRIPTTOOLS="yes"
6410 elif [ "$CFG_SCRIPT" = "no" ]; then
6411 CFG_SCRIPTTOOLS="no"
6414 if [ "$CFG_SCRIPTTOOLS" = "yes" ]; then
6415 QT_CONFIG="$QT_CONFIG scripttools"
6416 else
6417 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SCRIPTTOOLS"
6420 if [ "$CFG_EXCEPTIONS" = "no" ]; then
6421 case "$COMPILER" in
6422 g++*)
6423 QMakeVar add QMAKE_CFLAGS -fno-exceptions
6424 QMakeVar add QMAKE_CXXFLAGS -fno-exceptions
6425 QMakeVar add QMAKE_LFLAGS -fno-exceptions
6427 cc*)
6428 case "$PLATFORM" in
6429 irix-cc*)
6430 QMakeVar add QMAKE_CFLAGS -LANG:exceptions=off
6431 QMakeVar add QMAKE_CXXFLAGS -LANG:exceptions=off
6432 QMakeVar add QMAKE_LFLAGS -LANG:exceptions=off
6434 *) ;;
6435 esac
6437 *) ;;
6438 esac
6439 QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off"
6442 # On Mac, set the minimum deployment target for the different architechtures
6443 # using the Xarch compiler option when supported (10.5 and up). On 10.4 the
6444 # deployment version is set to 10.4 globally using the QMAKE_MACOSX_DEPLOYMENT_TARGET
6445 # env. variable. "-cocoa" on the command line means Cocoa is used in 32-bit mode also,
6446 # in this case fall back on QMAKE_MACOSX_DEPLOYMENT_TARGET which will be set to 10.5.
6447 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_XARCH" != "no" ] && [ "$COMMANDLINE_MAC_COCOA" != "yes" ]; then
6448 if echo "$CFG_MAC_ARCHS" | grep '\<x86\>' > /dev/null 2>&1; then
6449 QMakeVar add QMAKE_CFLAGS "-Xarch_i386 -mmacosx-version-min=10.4"
6450 QMakeVar add QMAKE_CXXFLAGS "-Xarch_i386 -mmacosx-version-min=10.4"
6451 QMakeVar add QMAKE_LFLAGS "-Xarch_i386 -mmacosx-version-min=10.4"
6452 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_X86 "-arch i386 -Xarch_i386 -mmacosx-version-min=10.4"
6454 if echo "$CFG_MAC_ARCHS" | grep '\<ppc\>' > /dev/null 2>&1; then
6455 QMakeVar add QMAKE_CFLAGS "-Xarch_ppc -mmacosx-version-min=10.4"
6456 QMakeVar add QMAKE_CXXFLAGS "-Xarch_ppc -mmacosx-version-min=10.4"
6457 QMakeVar add QMAKE_LFLAGS "-Xarch_ppc -mmacosx-version-min=10.4"
6458 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_PPC "-arch ppc -Xarch_ppc -mmacosx-version-min=10.4"
6460 if echo "$CFG_MAC_ARCHS" | grep '\<x86_64\>' > /dev/null 2>&1; then
6461 QMakeVar add QMAKE_CFLAGS "-Xarch_x86_64 -mmacosx-version-min=10.5"
6462 QMakeVar add QMAKE_CXXFLAGS "-Xarch_x86_64 -mmacosx-version-min=10.5"
6463 QMakeVar add QMAKE_LFLAGS "-Xarch_x86_64 -mmacosx-version-min=10.5"
6464 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_X86_64 "-arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5"
6466 if echo "$CFG_MAC_ARCHS" | grep '\<ppc64\>' > /dev/null 2>&1; then
6467 QMakeVar add QMAKE_CFLAGS "-Xarch_ppc64 -mmacosx-version-min=10.5"
6468 QMakeVar add QMAKE_CXXFLAGS "-Xarch_ppc64 -mmacosx-version-min=10.5"
6469 QMakeVar add QMAKE_LFLAGS "-Xarch_ppc64 -mmacosx-version-min=10.5"
6470 QMakeVar add QMAKE_OBJECTIVE_CFLAGS_PPC_64 "-arch ppc64 -Xarch_ppc64 -mmacosx-version-min=10.5"
6474 #-------------------------------------------------------------------------------
6475 # generate QT_BUILD_KEY
6476 #-------------------------------------------------------------------------------
6478 # some compilers generate binary incompatible code between different versions,
6479 # so we need to generate a build key that is different between these compilers
6480 case "$COMPILER" in
6481 g++*)
6482 # GNU C++
6483 COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
6485 case "$COMPILER_VERSION" in
6486 *.*.*)
6487 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
6488 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
6489 QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
6491 *.*)
6492 QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
6493 QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
6494 QT_GCC_PATCH_VERSION=0
6496 esac
6498 case "$COMPILER_VERSION" in
6499 2.95.*)
6500 COMPILER_VERSION="2.95.*"
6502 3.*)
6503 COMPILER_VERSION="3.*"
6505 4.*)
6506 COMPILER_VERSION="4"
6510 esac
6511 [ '!' -z "$COMPILER_VERSION" ] && COMPILER="g++-${COMPILER_VERSION}"
6516 esac
6518 # QT_CONFIG can contain the following:
6520 # Things that affect the Qt API/ABI:
6522 # Options:
6523 # minimal-config small-config medium-config large-config full-config
6525 # Different edition modules:
6526 # network canvas table xml opengl sql
6528 # Things that do not affect the Qt API/ABI:
6529 # stl
6530 # system-jpeg no-jpeg jpeg
6531 # system-mng no-mng mng
6532 # system-png no-png png
6533 # system-zlib no-zlib zlib
6534 # system-libtiff no-libtiff
6535 # no-gif gif
6536 # debug release
6537 # dll staticlib
6539 # nocrosscompiler
6540 # GNUmake
6541 # largefile
6542 # nis
6543 # nas
6544 # tablet
6545 # ipv6
6547 # X11 : x11sm xinerama xcursor xfixes xrandr xrender mitshm fontconfig xkb
6548 # Embedded: embedded freetype
6550 ALL_OPTIONS=
6551 BUILD_CONFIG=
6552 BUILD_OPTIONS=
6554 # determine the build options
6555 for config_option in $QMAKE_CONFIG $QT_CONFIG; do
6556 SKIP="yes"
6557 case "$config_option" in
6558 *-config)
6559 # take the last *-config setting. this is the highest config being used,
6560 # and is the one that we will use for tagging plugins
6561 BUILD_CONFIG="$config_option"
6564 *) # skip all other options since they don't affect the Qt API/ABI.
6566 esac
6568 if [ "$SKIP" = "no" ]; then
6569 BUILD_OPTIONS="$BUILD_OPTIONS $config_option"
6571 done
6573 # put the options that we are missing into .options
6574 rm -f .options
6575 for opt in `echo $ALL_OPTIONS`; do
6576 SKIP="no"
6577 if echo $BUILD_OPTIONS | grep $opt >/dev/null 2>&1; then
6578 SKIP="yes"
6580 if [ "$SKIP" = "no" ]; then
6581 echo "$opt" >> .options
6583 done
6585 # reconstruct BUILD_OPTIONS with a sorted negative feature list
6586 # (ie. only things that are missing are will be put into the build key)
6587 BUILD_OPTIONS=
6588 if [ -f .options ]; then
6589 for opt in `sort -f .options | uniq`; do
6590 BUILD_OPTIONS="$BUILD_OPTIONS no-$opt"
6591 done
6593 rm -f .options
6595 # QT_NO* defines affect the Qt API (and binary compatibility). they need
6596 # to be included in the build key
6597 for build_option in $D_FLAGS; do
6598 build_option=`echo $build_option | cut -d \" -f 2 -`
6599 case "$build_option" in
6600 QT_NO*)
6601 echo "$build_option" >> .options
6604 # skip all other compiler defines
6606 esac
6607 done
6609 # sort the compile time defines (helps ensure that changes in this configure
6610 # script don't affect the QT_BUILD_KEY generation)
6611 if [ -f .options ]; then
6612 for opt in `sort -f .options | uniq`; do
6613 BUILD_OPTIONS="$BUILD_OPTIONS $opt"
6614 done
6616 rm -f .options
6618 BUILD_OPTIONS="$BUILD_CONFIG $BUILD_OPTIONS"
6619 # extract the operating system from the XPLATFORM
6620 TARGET_OPERATING_SYSTEM=`echo $XPLATFORM | cut -f 2- -d/ | cut -f -1 -d-`
6622 # when cross-compiling, don't include build-host information (build key is target specific)
6623 QT_BUILD_KEY="$CFG_USER_BUILD_KEY $CFG_ARCH $TARGET_OPERATING_SYSTEM $COMPILER $BUILD_OPTIONS"
6624 if [ -n "$QT_NAMESPACE" ]; then
6625 QT_BUILD_KEY="$QT_BUILD_KEY $QT_NAMESPACE"
6627 MAC_NEED_TWO_BUILD_KEYS="no"
6628 if [ "$PLATFORM_MAC" = "yes" -a "$CFG_MAC_COCOA" = "yes" ]; then
6629 QT_BUILD_KEY_CARBON=$QT_BUILD_KEY
6630 TARGET_OPERATING_SYSTEM="$TARGET_OPERATING_SYSTEM-cocoa"
6631 QT_BUILD_KEY_COCOA="$CFG_USER_BUILD_KEY $CFG_ARCH $TARGET_OPERATING_SYSTEM $COMPILER $BUILD_OPTIONS"
6632 if [ "$CFG_MAC_CARBON" = "no" ]; then
6633 QT_BUILD_KEY=$QT_BUILD_KEY_COCOA
6634 else
6635 MAC_NEED_TWO_BUILD_KEYS="yes"
6638 # don't break loading plugins build with an older version of Qt
6639 QT_BUILD_KEY_COMPAT=
6640 if [ "$QT_CROSS_COMPILE" = "no" ]; then
6641 # previous versions of Qt used a build key built from the uname
6642 QT_BUILD_KEY_COMPAT="$CFG_USER_BUILD_KEY $UNAME_MACHINE $UNAME_SYSTEM $COMPILER $BUILD_OPTIONS"
6643 if [ -n "$QT_NAMESPACE" ]; then
6644 QT_BUILD_KEY_COMPAT="$QT_BUILD_KEY_COMPAT $QT_NAMESPACE"
6647 # strip out leading/trailing/extra whitespace
6648 QT_BUILD_KEY=`echo $QT_BUILD_KEY | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
6649 QT_BUILD_KEY_COMPAT=`echo $QT_BUILD_KEY_COMPAT | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
6651 #-------------------------------------------------------------------------------
6652 # part of configuration information goes into qconfig.h
6653 #-------------------------------------------------------------------------------
6655 case "$CFG_QCONFIG" in
6656 full)
6657 echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
6660 tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
6661 echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
6662 cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
6663 echo "#endif" >>"$tmpconfig"
6665 esac
6667 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6669 /* Qt Edition */
6670 #ifndef QT_EDITION
6671 # define QT_EDITION $QT_EDITION
6672 #endif
6674 /* Machine byte-order */
6675 #define Q_BIG_ENDIAN 4321
6676 #define Q_LITTLE_ENDIAN 1234
6679 if [ "$MAC_NEED_TWO_BUILD_KEYS" = "no" ]; then
6680 echo "#define QT_BUILD_KEY \"$QT_BUILD_KEY\"" \
6681 >> "$outpath/src/corelib/global/qconfig.h.new"
6682 else
6683 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6685 #define QT_BUILD_KEY_CARBON "$QT_BUILD_KEY_CARBON"
6686 #define QT_BUILD_KEY_COCOA "$QT_BUILD_KEY_COCOA"
6690 if [ -n "$QT_BUILD_KEY_COMPAT" ]; then
6691 echo "#define QT_BUILD_KEY_COMPAT \"$QT_BUILD_KEY_COMPAT\"" \
6692 >> "$outpath/src/corelib/global/qconfig.h.new"
6694 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6696 echo "#ifdef QT_BOOTSTRAPPED" >>"$outpath/src/corelib/global/qconfig.h.new"
6697 if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
6698 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6699 #if defined(__BIG_ENDIAN__)
6700 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6701 #elif defined(__LITTLE_ENDIAN__)
6702 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6703 #else
6704 # error "Unable to determine byte order!"
6705 #endif
6707 else
6708 echo "#define Q_BYTE_ORDER $CFG_HOST_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6710 echo "#else" >>"$outpath/src/corelib/global/qconfig.h.new"
6711 if [ "$CFG_ENDIAN" = "auto" ]; then
6712 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6713 #if defined(__BIG_ENDIAN__)
6714 # define Q_BYTE_ORDER Q_BIG_ENDIAN
6715 #elif defined(__LITTLE_ENDIAN__)
6716 # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
6717 #else
6718 # error "Unable to determine byte order!"
6719 #endif
6721 else
6722 echo "#define Q_BYTE_ORDER $CFG_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
6724 echo "#endif" >>"$outpath/src/corelib/global/qconfig.h.new"
6726 if [ "$CFG_DOUBLEFORMAT" != "normal" ]; then
6727 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6728 /* Non-IEEE double format */
6729 #define Q_DOUBLE_LITTLE "01234567"
6730 #define Q_DOUBLE_BIG "76543210"
6731 #define Q_DOUBLE_LITTLE_SWAPPED "45670123"
6732 #define Q_DOUBLE_BIG_SWAPPED "32107654"
6733 #define Q_DOUBLE_FORMAT $CFG_DOUBLEFORMAT
6736 if [ "$CFG_ARMFPA" = "yes" ]; then
6737 if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
6738 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6739 #ifndef QT_BOOTSTRAPPED
6740 # define QT_ARMFPA
6741 #endif
6743 else
6744 echo "#define QT_ARMFPA" >>"$outpath/src/corelib/global/qconfig.h.new"
6748 CFG_ARCH_STR=`echo $CFG_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6749 CFG_HOST_ARCH_STR=`echo $CFG_HOST_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6750 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6751 /* Machine Architecture */
6752 #ifndef QT_BOOTSTRAPPED
6753 # define QT_ARCH_${CFG_ARCH_STR}
6754 #else
6755 # define QT_ARCH_${CFG_HOST_ARCH_STR}
6756 #endif
6759 echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
6760 [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
6762 if [ "$CFG_LARGEFILE" = "yes" ]; then
6763 echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
6766 # if both carbon and cocoa are specified, enable the autodetection code.
6767 if [ "$CFG_MAC_COCOA" = "yes" -a "$CFG_MAC_CARBON" = "yes" ]; then
6768 echo "#define AUTODETECT_COCOA 1" >>"$outpath/src/corelib/global/qconfig.h.new"
6769 elif [ "$CFG_MAC_COCOA" = "yes" ]; then
6770 echo "#define QT_MAC_USE_COCOA 1" >>"$outpath/src/corelib/global/qconfig.h.new"
6773 if [ "$CFG_FRAMEWORK" = "yes" ]; then
6774 echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
6777 if [ "$PLATFORM_MAC" = "yes" ]; then
6778 cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
6779 #if defined(__LP64__)
6780 # define QT_POINTER_SIZE 8
6781 #else
6782 # define QT_POINTER_SIZE 4
6783 #endif
6785 else
6786 "$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
6787 echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
6791 echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
6793 if [ "$CFG_DEV" = "yes" ]; then
6794 echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
6797 # Embedded compile time options
6798 if [ "$PLATFORM_QWS" = "yes" ]; then
6799 # Add QWS to config.h
6800 QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QWS"
6802 # Add excluded decorations to $QCONFIG_FLAGS
6803 decors=`grep '^decorations -= ' "$QMAKE_VARS_FILE" | ${AWK} '{print $3}'`
6804 for decor in $decors; do
6805 NODECORATION=`echo $decor | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6806 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_NO_QWS_DECORATION_${NODECORATION}"
6807 done
6809 # Figure which embedded drivers which are turned off
6810 CFG_GFX_OFF="$CFG_GFX_AVAILABLE"
6811 for ADRIVER in $CFG_GFX_ON; do
6812 CFG_GFX_OFF=`echo "${CFG_GFX_OFF} " | sed "s,${ADRIVER} ,,g"`
6813 done
6815 CFG_KBD_OFF="$CFG_KBD_AVAILABLE"
6816 # the um driver is currently not in the available list for external builds
6817 if [ "$CFG_DEV" = "no" ]; then
6818 CFG_KBD_OFF="$CFG_KBD_OFF um"
6820 for ADRIVER in $CFG_KBD_ON; do
6821 CFG_KBD_OFF=`echo "${CFG_KBD_OFF} " | sed "s,${ADRIVER} ,,g"`
6822 done
6824 CFG_MOUSE_OFF="$CFG_MOUSE_AVAILABLE"
6825 for ADRIVER in $CFG_MOUSE_ON; do
6826 CFG_MOUSE_OFF=`echo "${CFG_MOUSE_OFF} " | sed "s,${ADRIVER} ,,g"`
6827 done
6829 for DRIVER in $CFG_GFX_OFF; do
6830 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6831 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_$NODRIVER"
6832 done
6834 for DRIVER in $CFG_KBD_OFF; do
6835 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6836 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_KBD_$NODRIVER"
6837 done
6839 for DRIVER in $CFG_MOUSE_OFF; do
6840 NODRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6841 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_QWS_MOUSE_$NODRIVER"
6842 done
6843 fi # QWS
6845 if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
6846 QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
6849 # Add turned on SQL drivers
6850 for DRIVER in $CFG_SQL_AVAILABLE; do
6851 eval "VAL=\$CFG_SQL_$DRIVER"
6852 case "$VAL" in
6854 ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
6855 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
6856 SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
6858 plugin)
6859 SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
6861 esac
6862 done
6865 QMakeVar set sql-drivers "$SQL_DRIVERS"
6866 QMakeVar set sql-plugins "$SQL_PLUGINS"
6868 # Add other configuration options to the qconfig.h file
6869 [ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
6870 [ "$CFG_TIFF" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_TIFF"
6871 [ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
6872 [ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
6873 [ "$CFG_MNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_MNG"
6874 [ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
6875 [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
6876 [ "$CFG_IPV6" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6"
6877 [ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
6878 [ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
6880 if [ "$PLATFORM_QWS" != "yes" ]; then
6881 [ "$CFG_GRAPHICS_SYSTEM" = "raster" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_RASTER"
6882 [ "$CFG_GRAPHICS_SYSTEM" = "opengl" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_OPENGL"
6883 [ "$CFG_GRAPHICS_SYSTEM" = "openvg" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_OPENVG"
6886 # X11/Unix/Mac only configs
6887 [ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
6888 [ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
6889 [ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
6890 [ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
6891 [ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
6892 [ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
6893 [ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
6894 [ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
6895 [ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
6896 [ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
6897 [ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
6898 [ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NAS"
6899 [ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
6900 [ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL"
6901 [ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
6903 [ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
6904 [ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
6905 [ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
6906 [ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
6907 [ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
6908 [ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
6909 [ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
6910 [ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
6911 [ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
6912 [ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
6913 [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
6914 [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
6916 [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
6917 [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
6918 [ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
6919 [ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
6920 [ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
6921 [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
6923 # sort QCONFIG_FLAGS for neatness if we can
6924 [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
6925 QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
6927 if [ -n "$QCONFIG_FLAGS" ]; then
6928 for cfg in $QCONFIG_FLAGS; do
6929 cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
6930 cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
6931 # figure out define logic, so we can output the correct
6932 # ifdefs to override the global defines in a project
6933 cfgdNeg=
6934 if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
6935 # QT_NO_option can be forcefully turned on by QT_option
6936 cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
6937 elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
6938 # QT_option can be forcefully turned off by QT_NO_option
6939 cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
6942 if [ -z $cfgdNeg ]; then
6943 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6944 #ifndef $cfgd
6945 # define $cfg
6946 #endif
6949 else
6950 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6951 #if defined($cfgd) && defined($cfgdNeg)
6952 # undef $cfgd
6953 #elif !defined($cfgd) && !defined($cfgdNeg)
6954 # define $cfg
6955 #endif
6959 done
6962 if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
6963 cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
6964 #define QT_VISIBILITY_AVAILABLE
6969 # avoid unecessary rebuilds by copying only if qconfig.h has changed
6970 if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
6971 rm -f "$outpath/src/corelib/global/qconfig.h.new"
6972 else
6973 [ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
6974 mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
6975 chmod -w "$outpath/src/corelib/global/qconfig.h"
6976 for conf in "$outpath/include/QtCore/qconfig.h" "$outpath/include/Qt/qconfig.h"; do
6977 if [ '!' -f "$conf" ]; then
6978 ln -s "$outpath/src/corelib/global/qconfig.h" "$conf"
6980 done
6983 #-------------------------------------------------------------------------------
6984 # save configuration into qconfig.pri
6985 #-------------------------------------------------------------------------------
6987 QTCONFIG="$outpath/mkspecs/qconfig.pri"
6988 QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
6989 [ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
6990 if [ "$CFG_DEBUG" = "yes" ]; then
6991 QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
6992 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6993 QT_CONFIG="$QT_CONFIG release"
6995 QT_CONFIG="$QT_CONFIG debug"
6996 elif [ "$CFG_DEBUG" = "no" ]; then
6997 QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
6998 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
6999 QT_CONFIG="$QT_CONFIG debug"
7001 QT_CONFIG="$QT_CONFIG release"
7003 if [ "$CFG_STL" = "yes" ]; then
7004 QTCONFIG_CONFIG="$QTCONFIG_CONFIG stl"
7006 if [ "$CFG_FRAMEWORK" = "no" ]; then
7007 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
7008 else
7009 QT_CONFIG="$QT_CONFIG qt_framework"
7010 QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
7012 if [ "$PLATFORM_MAC" = "yes" ]; then
7013 QT_CONFIG="$QT_CONFIG $CFG_MAC_ARCHS"
7015 if [ "$CFG_DEV" = "yes" ]; then
7016 QT_CONFIG="$QT_CONFIG private_tests"
7019 # Make the application arch follow the Qt arch for single arch builds.
7020 # (for multiple-arch builds, set CONFIG manually in the application .pro file)
7021 if [ `echo "$CFG_MAC_ARCHS" | wc -w` -eq 1 ]; then
7022 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $CFG_MAC_ARCHS"
7025 cat >>"$QTCONFIG.tmp" <<EOF
7026 #configuration
7027 CONFIG += $QTCONFIG_CONFIG
7028 QT_ARCH = $CFG_ARCH
7029 QT_EDITION = $Edition
7030 QT_CONFIG += $QT_CONFIG
7032 #versioning
7033 QT_VERSION = $QT_VERSION
7034 QT_MAJOR_VERSION = $QT_MAJOR_VERSION
7035 QT_MINOR_VERSION = $QT_MINOR_VERSION
7036 QT_PATCH_VERSION = $QT_PATCH_VERSION
7038 #namespaces
7039 QT_LIBINFIX = $QT_LIBINFIX
7040 QT_NAMESPACE = $QT_NAMESPACE
7041 QT_NAMESPACE_MAC_CRC = $QT_NAMESPACE_MAC_CRC
7044 if [ "$CFG_RPATH" = "yes" ]; then
7045 echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
7047 if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
7048 echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
7049 echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
7050 echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
7052 # replace qconfig.pri if it differs from the newly created temp file
7053 if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
7054 rm -f "$QTCONFIG.tmp"
7055 else
7056 mv -f "$QTCONFIG.tmp" "$QTCONFIG"
7059 #-------------------------------------------------------------------------------
7060 # save configuration into .qmake.cache
7061 #-------------------------------------------------------------------------------
7063 CACHEFILE="$outpath/.qmake.cache"
7064 [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
7065 cat >>"$CACHEFILE.tmp" <<EOF
7066 CONFIG += $QMAKE_CONFIG dylib create_prl link_prl depend_includepath fix_output_dirs QTDIR_build
7067 QT_SOURCE_TREE = \$\$quote($relpath)
7068 QT_BUILD_TREE = \$\$quote($outpath)
7069 QT_BUILD_PARTS = $CFG_BUILD_PARTS
7070 QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
7071 QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
7073 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
7074 QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
7075 QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
7076 QMAKE_UIC3 = \$\$QT_BUILD_TREE/bin/uic3
7077 QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
7078 QMAKE_QDBUSXML2CPP = \$\$QT_BUILD_TREE/bin/qdbusxml2cpp
7079 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
7080 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
7084 # Ensure we can link to uninistalled libraries
7085 if linkerSupportsFlag -rpath-link "$outpath/lib"; then
7086 echo "QMAKE_LFLAGS += -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib" >> "$CACHEFILE.tmp"
7089 if [ -n "$QT_CFLAGS_PSQL" ]; then
7090 echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$CACHEFILE.tmp"
7092 if [ -n "$QT_LFLAGS_PSQL" ]; then
7093 echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$CACHEFILE.tmp"
7095 if [ -n "$QT_CFLAGS_MYSQL" ]; then
7096 echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$CACHEFILE.tmp"
7098 if [ -n "$QT_LFLAGS_MYSQL" ]; then
7099 echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$CACHEFILE.tmp"
7101 if [ -n "$QT_CFLAGS_SQLITE" ]; then
7102 echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$CACHEFILE.tmp"
7104 if [ -n "$QT_LFLAGS_SQLITE" ]; then
7105 echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$CACHEFILE.tmp"
7107 if [ -n "$QT_LFLAGS_ODBC" ]; then
7108 echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$CACHEFILE.tmp"
7111 if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
7112 echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$CACHEFILE.tmp"
7115 #dump in the OPENSSL_LIBS info
7116 if [ '!' -z "$OPENSSL_LIBS" ]; then
7117 echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$CACHEFILE.tmp"
7118 elif [ "$CFG_OPENSSL" = "linked" ]; then
7119 echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$CACHEFILE.tmp"
7122 #dump in the SDK info
7123 if [ '!' -z "$CFG_SDK" ]; then
7124 echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$CACHEFILE.tmp"
7127 # mac gcc -Xarch support
7128 if [ "$CFG_MAC_XARCH" = "no" ]; then
7129 echo "QMAKE_MAC_XARCH = no" >> "$CACHEFILE.tmp"
7132 #dump the qmake spec
7133 if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
7134 echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
7135 else
7136 echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
7139 # cmdline args
7140 cat "$QMAKE_VARS_FILE" >> "$CACHEFILE.tmp"
7141 rm -f "$QMAKE_VARS_FILE" 2>/dev/null
7143 # incrementals
7144 INCREMENTAL=""
7145 [ "$CFG_INCREMENTAL" = "auto" ] && "$WHICH" p4 >/dev/null 2>&1 && [ "$CFG_DEV" = "yes" ] && CFG_INCREMENTAL="yes"
7146 if [ "$CFG_INCREMENTAL" = "yes" ]; then
7147 find "$relpath" -perm u+w -mtime -3 | grep 'cpp$' | while read f; do
7148 # don't need to worry about generated files
7149 [ -r `echo $f | sed "s,cpp$,ui,"` ] && continue
7150 basename "$f" | grep '^moc_' >/dev/null 2>&1 && continue
7151 # done
7152 INCREMENTAL="$INCREMENTAL `basename \"$f\" | sed 's,.cpp,.o,'`"
7153 done
7154 [ '!' -z "$INCREMENTAL" ] && echo "QMAKE_INCREMENTAL += $INCREMENTAL" >> "$CACHEFILE.tmp"
7155 [ -r "$outpath/.qmake.incremental" ] && echo "include($outpath/.qmake.incremental)" >> "$CACHEFILE.tmp"
7158 # replace .qmake.cache if it differs from the newly created temp file
7159 if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
7160 rm -f "$CACHEFILE.tmp"
7161 else
7162 mv -f "$CACHEFILE.tmp" "$CACHEFILE"
7165 #-------------------------------------------------------------------------------
7166 # give feedback on configuration
7167 #-------------------------------------------------------------------------------
7169 case "$COMPILER" in
7170 g++*)
7171 if [ "$CFG_EXCEPTIONS" != "no" ]; then
7172 cat <<EOF
7174 This target is using the GNU C++ compiler ($PLATFORM).
7176 Recent versions of this compiler automatically include code for
7177 exceptions, which increase both the size of the Qt libraries and
7178 the amount of memory taken by your applications.
7180 You may choose to re-run `basename $0` with the -no-exceptions
7181 option to compile Qt without exceptions. This is completely binary
7182 compatible, and existing applications will continue to work.
7187 cc*)
7188 case "$PLATFORM" in
7189 irix-cc*)
7190 if [ "$CFG_EXCEPTIONS" != "no" ]; then
7191 cat <<EOF
7193 This target is using the MIPSpro C++ compiler ($PLATFORM).
7195 You may choose to re-run `basename $0` with the -no-exceptions
7196 option to compile Qt without exceptions. This will make the
7197 size of the Qt library smaller and reduce the amount of memory
7198 taken by your applications.
7203 *) ;;
7204 esac
7206 *) ;;
7207 esac
7209 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "no" ] && [ "$CFG_WEBKIT" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
7210 cat <<EOF
7211 WARNING: DWARF2 debug symbols are not enabled. Linking webkit
7212 in debug mode will run out of memory on systems with 2GB or less.
7213 Install Xcode 2.4.1 or higher to enable DWARF2, or configure with
7214 -no-webkit or -release to skip webkit debug.
7218 echo
7219 if [ "$XPLATFORM" = "$PLATFORM" ]; then
7220 echo "Build type: $PLATFORM"
7221 else
7222 echo "Building on: $PLATFORM"
7223 echo "Building for: $XPLATFORM"
7226 if [ "$PLATFORM_MAC" = "yes" ]; then
7227 echo "Architecture: $CFG_ARCH ($CFG_MAC_ARCHS )"
7228 else
7229 echo "Architecture: $CFG_ARCH"
7232 if [ "$PLATFORM_QWS" = "yes" ]; then
7233 echo "Host architecture: $CFG_HOST_ARCH"
7236 if [ "$PLATFORM_MAC" = "yes" ]; then
7237 if [ "$CFG_MAC_COCOA" = "yes" ]; then
7238 if [ "$CFG_MAC_CARBON" = "yes" ]; then
7239 echo "Using framework: Carbon for 32-bit, Cocoa for 64-bit"
7240 else
7241 echo "Using framework: Cocoa"
7243 else
7244 echo "Using framework: Carbon"
7248 if [ -n "$PLATFORM_NOTES" ]; then
7249 echo "Platform notes:"
7250 echo "$PLATFORM_NOTES"
7251 else
7252 echo
7255 if [ "$OPT_VERBOSE" = "yes" ]; then
7256 if echo '\c' | grep '\c' >/dev/null; then
7257 echo -n "qmake vars .......... "
7258 else
7259 echo "qmake vars .......... \c"
7261 cat "$QMAKE_VARS_FILE" | tr '\n' ' '
7262 echo "qmake switches ...... $QMAKE_SWITCHES"
7265 [ "$CFG_INCREMENTAL" = "yes" ] && [ '!' -z "$INCREMENTAL" ] && echo "Incremental ......... $INCREMENTAL"
7266 echo "Build ............... $CFG_BUILD_PARTS"
7267 echo "Configuration ....... $QMAKE_CONFIG $QT_CONFIG"
7268 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
7269 echo "Debug ............... yes (combined)"
7270 if [ "$CFG_DEBUG" = "yes" ]; then
7271 echo "Default Link ........ debug"
7272 else
7273 echo "Default Link ........ release"
7275 else
7276 echo "Debug ............... $CFG_DEBUG"
7278 echo "Qt 3 compatibility .. $CFG_QT3SUPPORT"
7279 [ "$CFG_DBUS" = "no" ] && echo "QtDBus module ....... no"
7280 [ "$CFG_DBUS" = "yes" ] && echo "QtDBus module ....... yes (run-time)"
7281 [ "$CFG_DBUS" = "linked" ] && echo "QtDBus module ....... yes (linked)"
7282 echo "QtConcurrent code.... $CFG_CONCURRENT"
7283 echo "QtScript module ..... $CFG_SCRIPT"
7284 echo "QtScriptTools module $CFG_SCRIPTTOOLS"
7285 echo "QtXmlPatterns module $CFG_XMLPATTERNS"
7286 echo "Phonon module ....... $CFG_PHONON"
7287 echo "Multimedia module ... $CFG_MULTIMEDIA"
7288 echo "SVG module .......... $CFG_SVG"
7289 echo "WebKit module ....... $CFG_WEBKIT"
7290 if [ "$CFG_WEBKIT" = "yes" ]; then
7291 if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
7292 echo "JavaScriptCore JIT .. To be decided by JavaScriptCore"
7293 else
7294 echo "JavaScriptCore JIT .. $CFG_JAVASCRIPTCORE_JIT"
7297 echo "STL support ......... $CFG_STL"
7298 echo "PCH support ......... $CFG_PRECOMPILE"
7299 echo "MMX/3DNOW/SSE/SSE2.. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}"
7300 if [ "${CFG_ARCH}" = "arm" ]; then
7301 echo "iWMMXt support ...... ${CFG_IWMMXT}"
7303 [ "${PLATFORM_QWS}" != "yes" ] && echo "Graphics System ..... $CFG_GRAPHICS_SYSTEM"
7304 echo "IPv6 support ........ $CFG_IPV6"
7305 echo "IPv6 ifname support . $CFG_IPV6IFNAME"
7306 echo "getaddrinfo support . $CFG_GETADDRINFO"
7307 echo "getifaddrs support .. $CFG_GETIFADDRS"
7308 echo "Accessibility ....... $CFG_ACCESSIBILITY"
7309 echo "NIS support ......... $CFG_NIS"
7310 echo "CUPS support ........ $CFG_CUPS"
7311 echo "Iconv support ....... $CFG_ICONV"
7312 echo "Glib support ........ $CFG_GLIB"
7313 echo "GStreamer support ... $CFG_GSTREAMER"
7314 echo "Large File support .. $CFG_LARGEFILE"
7315 echo "GIF support ......... $CFG_GIF"
7316 if [ "$CFG_TIFF" = "no" ]; then
7317 echo "TIFF support ........ $CFG_TIFF"
7318 else
7319 echo "TIFF support ........ $CFG_TIFF ($CFG_LIBTIFF)"
7321 if [ "$CFG_JPEG" = "no" ]; then
7322 echo "JPEG support ........ $CFG_JPEG"
7323 else
7324 echo "JPEG support ........ $CFG_JPEG ($CFG_LIBJPEG)"
7326 if [ "$CFG_PNG" = "no" ]; then
7327 echo "PNG support ......... $CFG_PNG"
7328 else
7329 echo "PNG support ......... $CFG_PNG ($CFG_LIBPNG)"
7331 if [ "$CFG_MNG" = "no" ]; then
7332 echo "MNG support ......... $CFG_MNG"
7333 else
7334 echo "MNG support ......... $CFG_MNG ($CFG_LIBMNG)"
7336 echo "zlib support ........ $CFG_ZLIB"
7337 echo "Session management .. $CFG_SM"
7338 if [ "$PLATFORM_QWS" = "yes" ]; then
7339 echo "Embedded support .... $CFG_EMBEDDED"
7340 if [ "$CFG_QWS_FREETYPE" = "auto" ]; then
7341 echo "Freetype2 support ... $CFG_QWS_FREETYPE ($CFG_LIBFREETYPE)"
7342 else
7343 echo "Freetype2 support ... $CFG_QWS_FREETYPE"
7345 # Normalize the decoration output first
7346 CFG_GFX_ON=`echo ${CFG_GFX_ON}`
7347 CFG_GFX_PLUGIN=`echo ${CFG_GFX_PLUGIN}`
7348 echo "Graphics (qt) ....... ${CFG_GFX_ON}"
7349 echo "Graphics (plugin) ... ${CFG_GFX_PLUGIN}"
7350 CFG_DECORATION_ON=`echo ${CFG_DECORATION_ON}`
7351 CFG_DECORATION_PLUGIN=`echo ${CFG_DECORATION_PLUGIN}`
7352 echo "Decorations (qt) .... $CFG_DECORATION_ON"
7353 echo "Decorations (plugin) $CFG_DECORATION_PLUGIN"
7354 CFG_KBD_ON=`echo ${CFG_KBD_ON}`
7355 CFG_KBD_PLUGIN=`echo ${CFG_KBD_PLUGIN}`
7356 echo "Keyboard driver (qt). ${CFG_KBD_ON}"
7357 echo "Keyboard driver (plugin) ${CFG_KBD_PLUGIN}"
7358 CFG_MOUSE_ON=`echo ${CFG_MOUSE_ON}`
7359 CFG_MOUSE_PLUGIN=`echo ${CFG_MOUSE_PLUGIN}`
7360 echo "Mouse driver (qt) ... $CFG_MOUSE_ON"
7361 echo "Mouse driver (plugin) $CFG_MOUSE_PLUGIN"
7363 if [ "$CFG_OPENGL" = "desktop" ]; then
7364 echo "OpenGL support ...... yes (Desktop OpenGL)"
7365 elif [ "$CFG_OPENGL" = "es1" ]; then
7366 echo "OpenGL support ...... yes (OpenGL ES 1.x Common profile)"
7367 elif [ "$CFG_OPENGL" = "es1cl" ]; then
7368 echo "OpenGL support ...... yes (OpenGL ES 1.x Common Lite profile)"
7369 elif [ "$CFG_OPENGL" = "es2" ]; then
7370 echo "OpenGL support ...... yes (OpenGL ES 2.x)"
7371 else
7372 echo "OpenGL support ...... no"
7374 if [ "$CFG_EGL" != "no" ]; then
7375 if [ "$CFG_EGL_GLES_INCLUDES" != "no" ]; then
7376 echo "EGL support ......... yes <GLES/egl.h>"
7377 else
7378 echo "EGL support ......... yes <EGL/egl.h>"
7381 if [ "$CFG_OPENVG" ]; then
7382 if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
7383 echo "OpenVG support ...... ShivaVG"
7384 else
7385 echo "OpenVG support ...... $CFG_OPENVG"
7388 if [ "$PLATFORM_X11" = "yes" ]; then
7389 echo "NAS sound support ... $CFG_NAS"
7390 echo "XShape support ...... $CFG_XSHAPE"
7391 echo "XSync support ....... $CFG_XSYNC"
7392 echo "Xinerama support .... $CFG_XINERAMA"
7393 echo "Xcursor support ..... $CFG_XCURSOR"
7394 echo "Xfixes support ...... $CFG_XFIXES"
7395 echo "Xrandr support ...... $CFG_XRANDR"
7396 echo "Xrender support ..... $CFG_XRENDER"
7397 echo "Xi support .......... $CFG_XINPUT"
7398 echo "MIT-SHM support ..... $CFG_MITSHM"
7399 echo "FontConfig support .. $CFG_FONTCONFIG"
7400 echo "XKB Support ......... $CFG_XKB"
7401 echo "immodule support .... $CFG_IM"
7402 echo "GTK theme support ... $CFG_QGTKSTYLE"
7404 [ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support ....... $CFG_SQL_mysql"
7405 [ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support .. $CFG_SQL_psql"
7406 [ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........ $CFG_SQL_odbc"
7407 [ "$CFG_SQL_oci" != "no" ] && echo "OCI support ......... $CFG_SQL_oci"
7408 [ "$CFG_SQL_tds" != "no" ] && echo "TDS support ......... $CFG_SQL_tds"
7409 [ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ......... $CFG_SQL_db2"
7410 [ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ... $CFG_SQL_ibase"
7411 [ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support .... $CFG_SQL_sqlite2"
7412 [ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ...... $CFG_SQL_sqlite ($CFG_SQLITE)"
7414 OPENSSL_LINKAGE=""
7415 if [ "$CFG_OPENSSL" = "yes" ]; then
7416 OPENSSL_LINKAGE="(run-time)"
7417 elif [ "$CFG_OPENSSL" = "linked" ]; then
7418 OPENSSL_LINKAGE="(linked)"
7420 echo "OpenSSL support ..... $CFG_OPENSSL $OPENSSL_LINKAGE"
7422 [ "$CFG_PTMALLOC" != "no" ] && echo "Use ptmalloc ........ $CFG_PTMALLOC"
7424 # complain about not being able to use dynamic plugins if we are using a static build
7425 if [ "$CFG_SHARED" = "no" ]; then
7426 echo
7427 echo "WARNING: Using static linking will disable the use of dynamically"
7428 echo "loaded plugins. Make sure to import all needed static plugins,"
7429 echo "or compile needed modules into the library."
7430 echo
7432 if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
7433 echo
7434 echo "NOTE: When linking against OpenSSL, you can override the default"
7435 echo "library names through OPENSSL_LIBS."
7436 echo "For example:"
7437 echo " ./configure -openssl-linked OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto'"
7438 echo
7440 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
7441 echo
7442 echo "NOTE: Mac OS X frameworks implicitly build debug and release Qt libraries."
7443 echo
7445 echo "alsa support ........ $CFG_ALSA"
7446 echo
7448 sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
7449 PROCS=1
7450 EXEC=""
7453 #-------------------------------------------------------------------------------
7454 # build makefiles based on the configuration
7455 #-------------------------------------------------------------------------------
7457 echo "Finding project files. Please wait..."
7458 "$outpath/bin/qmake" -prl -r "${relpath}/projects.pro"
7459 if [ -f "${relpath}/projects.pro" ]; then
7460 mkfile="${outpath}/Makefile"
7461 [ -f "$mkfile" ] && chmod +w "$mkfile"
7462 QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/projects.pro" -o "$mkfile"
7465 # .projects -> projects to process
7466 # .projects.1 -> qt and moc
7467 # .projects.2 -> subdirs and libs
7468 # .projects.3 -> the rest
7469 rm -f .projects .projects.1 .projects.2 .projects.3
7471 QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
7472 if [ -z "$AWK" ]; then
7473 for p in `echo $QMAKE_PROJECTS`; do
7474 echo "$p" >> .projects
7475 done
7476 else
7477 cat >projects.awk <<EOF
7478 BEGIN {
7479 files = 0
7480 target_file = ""
7481 input_file = ""
7483 first = "./.projects.1.tmp"
7484 second = "./.projects.2.tmp"
7485 third = "./.projects.3.tmp"
7488 FNR == 1 {
7489 if ( input_file ) {
7490 if ( ! target_file )
7491 target_file = third
7492 print input_file >target_file
7495 matched_target = 0
7496 template_lib = 0
7497 input_file = FILENAME
7498 target_file = ""
7501 /^(TARGET.*=)/ {
7502 if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
7503 target_file = first
7504 matched_target = 1
7508 matched_target == 0 && /^(TEMPLATE.*=)/ {
7509 if ( \$3 == "subdirs" )
7510 target_file = second
7511 else if ( \$3 == "lib" )
7512 template_lib = 1
7513 else
7514 target_file = third
7517 matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
7518 if ( \$0 ~ /plugin/ )
7519 target_file = third
7520 else
7521 target_file = second
7524 END {
7525 if ( input_file ) {
7526 if ( ! target_file )
7527 target_file = third
7528 print input_file >>target_file
7534 rm -f .projects.all
7535 for p in `echo $QMAKE_PROJECTS`; do
7536 echo "$p" >> .projects.all
7537 done
7539 # if you get errors about the length of the command line to awk, change the -l arg
7540 # to split below
7541 split -l 100 .projects.all .projects.all.
7542 for p in .projects.all.*; do
7543 "$AWK" -f projects.awk `cat $p`
7544 [ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
7545 [ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
7546 [ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
7547 rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
7548 done
7549 rm -f .projects.all* projects.awk
7551 [ -f .projects.1 ] && cat .projects.1 >>.projects
7552 [ -f .projects.2 ] && cat .projects.2 >>.projects
7553 rm -f .projects.1 .projects.2
7554 if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
7555 cat .projects.3 >>.projects
7556 rm -f .projects.3
7559 # don't sort Qt and MOC in with the other project files
7560 # also work around a segfaulting uniq(1)
7561 if [ -f .sorted.projects.2 ]; then
7562 sort .sorted.projects.2 > .sorted.projects.2.new
7563 mv -f .sorted.projects.2.new .sorted.projects.2
7564 cat .sorted.projects.2 >> .sorted.projects.1
7566 [ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
7567 rm -f .sorted.projects.2 .sorted.projects.1
7569 NORM_PROJECTS=0
7570 FAST_PROJECTS=0
7571 if [ -f .projects ]; then
7572 uniq .projects >.tmp
7573 mv -f .tmp .projects
7574 NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
7576 if [ -f .projects.3 ]; then
7577 uniq .projects.3 >.tmp
7578 mv -f .tmp .projects.3
7579 FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
7581 echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
7582 echo
7584 PART_ROOTS=
7585 for part in $CFG_BUILD_PARTS; do
7586 case "$part" in
7587 tools) PART_ROOTS="$PART_ROOTS tools" ;;
7588 libs) PART_ROOTS="$PART_ROOTS src" ;;
7589 examples) PART_ROOTS="$PART_ROOTS examples demos" ;;
7590 *) ;;
7591 esac
7592 done
7594 if [ "$CFG_DEV" = "yes" ]; then
7595 PART_ROOTS="$PART_ROOTS tests"
7598 echo "Creating makefiles. Please wait..."
7599 for file in .projects .projects.3; do
7600 [ '!' -f "$file" ] && continue
7601 for a in `cat $file`; do
7602 IN_ROOT=no
7603 for r in $PART_ROOTS; do
7604 if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
7605 IN_ROOT=yes
7606 break
7608 done
7609 [ "$IN_ROOT" = "no" ] && continue
7611 case $a in
7612 *winmain/winmain.pro) continue ;;
7613 *s60main/s60main.pro) continue ;;
7614 *examples/activeqt/*) continue ;;
7615 */qmake/qmake.pro) continue ;;
7616 *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*) SPEC=$QMAKESPEC ;;
7617 *) SPEC=$XQMAKESPEC ;;
7618 esac
7619 dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
7620 test -d "$dir" || mkdir -p "$dir"
7621 OUTDIR="$outpath/$dir"
7622 if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
7623 # fast configure - the makefile exists, skip it
7624 # since the makefile exists, it was generated by qmake, which means we
7625 # can skip it, since qmake has a rule to regenerate the makefile if the .pro
7626 # file changes...
7627 [ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
7628 continue;
7630 QMAKE_SPEC_ARGS="-spec $SPEC"
7631 if echo '\c' | grep '\c' >/dev/null; then
7632 echo -n " for $a"
7633 else
7634 echo " for $a\c"
7637 QMAKE="$outpath/bin/qmake"
7638 QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
7639 if [ "$file" = ".projects.3" ]; then
7640 if echo '\c' | grep '\c' >/dev/null; then
7641 echo -n " (fast)"
7642 else
7643 echo " (fast)\c"
7645 echo
7647 cat >"${OUTDIR}/Makefile" <<EOF
7648 # ${OUTDIR}/Makefile: generated by configure
7650 # WARNING: This makefile will be replaced with a real makefile.
7651 # All changes made to this file will be lost.
7653 [ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
7655 cat >>"${OUTDIR}/Makefile" <<EOF
7656 QMAKE = "$QMAKE"
7657 all clean install qmake first Makefile: FORCE
7658 \$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
7659 cd "$OUTDIR"
7660 \$(MAKE) \$@
7662 FORCE:
7665 else
7666 if [ "$OPT_VERBOSE" = "yes" ]; then
7667 echo " (`basename $SPEC`)"
7668 echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7669 else
7670 echo
7673 [ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
7674 QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
7676 done
7677 done
7678 rm -f .projects .projects.3
7680 #-------------------------------------------------------------------------------
7681 # XShape is important, DnD in the Designer doens't work without it
7682 #-------------------------------------------------------------------------------
7683 if [ "$PLATFORM_X11" = "yes" ] && [ "$CFG_XSHAPE" = "no" ]; then
7684 cat <<EOF
7686 NOTICE: Qt will not be built with XShape support.
7688 As a result, drag-and-drop in the Qt Designer will NOT
7689 work. We recommend that you enable XShape support by passing
7690 the -xshape switch to $0.
7694 #-------------------------------------------------------------------------------
7695 # check for platforms that we don't yet know about
7696 #-------------------------------------------------------------------------------
7697 if [ "$CFG_ARCH" = "generic" ]; then
7698 cat <<EOF
7700 NOTICE: Atomic operations are not yet supported for this
7701 architecture.
7703 Qt will use the 'generic' architecture instead, which uses a
7704 single pthread_mutex_t to protect all atomic operations. This
7705 implementation is the slow (but safe) fallback implementation
7706 for architectures Qt does not yet support.
7710 #-------------------------------------------------------------------------------
7711 # check if the user passed the -no-zlib option, which is no longer supported
7712 #-------------------------------------------------------------------------------
7713 if [ -n "$ZLIB_FORCED" ]; then
7714 which_zlib="supplied"
7715 if [ "$CFG_ZLIB" = "system" ]; then
7716 which_zlib="system"
7719 cat <<EOF
7721 NOTICE: The -no-zlib option was supplied but is no longer
7722 supported.
7724 Qt now requires zlib support in all builds, so the -no-zlib
7725 option was ignored. Qt will be built using the $which_zlib
7726 zlib.
7730 #-------------------------------------------------------------------------------
7731 # finally save the executed command to another script
7732 #-------------------------------------------------------------------------------
7733 if [ `basename $0` != "config.status" ]; then
7734 CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
7736 # add the system variables
7737 for varname in $SYSTEM_VARIABLES; do
7738 cmd=`echo \
7739 'if [ -n "\$'${varname}'" ]; then
7740 CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
7741 fi'`
7742 eval "$cmd"
7743 done
7745 echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
7747 [ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
7748 echo "#!/bin/sh" > "$outpath/config.status"
7749 echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
7750 echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
7751 echo "else" >> "$outpath/config.status"
7752 echo " $CONFIG_STATUS" >> "$outpath/config.status"
7753 echo "fi" >> "$outpath/config.status"
7754 chmod +x "$outpath/config.status"
7757 if [ -n "$RPATH_MESSAGE" ]; then
7758 echo
7759 echo "$RPATH_MESSAGE"
7762 MAKE=`basename "$MAKE"`
7763 echo
7764 echo Qt is now configured for building. Just run \'$MAKE\'.
7765 if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
7766 echo Once everything is built, Qt is installed.
7767 echo You should not run \'$MAKE install\'.
7768 else
7769 echo Once everything is built, you must run \'$MAKE install\'.
7770 echo Qt will be installed into $QT_INSTALL_PREFIX
7772 echo
7773 echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.
7774 echo