Workaround crash when multiple QNetworkAccessManager instances are used
[qt:qt.git] / configure
1 #!/bin/sh
2 #############################################################################
3 ##
4 ## Copyright (C) 2011 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.
16 ##
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.
24 ##
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.
28 ##
29 ## If you have questions regarding the use of this file, please contact
30 ## Nokia at qt-info@nokia.com.
31 ##
32 ##
33 ##
34 ##
35 ##
36 ##
37 ##
38 ##
39 ## $QT_END_LICENSE$
40 ##
41 #############################################################################
42
43 #-------------------------------------------------------------------------------
44 # script initialization
45 #-------------------------------------------------------------------------------
46
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`
54
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"
61 fi
62
63 # later cache the command line in config.status
64 OPT_CMDLINE=`echo $@ | sed "s,-v ,,g; s,-v$,,g"`
65
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
74
75 :> "$QMAKE_VARS_FILE"
76
77 #-------------------------------------------------------------------------------
78 # utility functions
79 #-------------------------------------------------------------------------------
80
81 shellEscape()
82 {
83     echo "$@" | sed 's/ /\ /g'
84 }
85
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()
90 {
91     case "$1" in
92         set)
93             eq="="
94             ;;
95         add)
96             eq="+="
97             ;;
98         del)
99             eq="-="
100             ;;
101         *)
102             echo >&2 "BUG: wrong command to QMakeVar: $1"
103             ;;
104     esac
105
106     echo "$2" "$eq" "$3" >> "$QMAKE_VARS_FILE"
107 }
108
109 # Helper function for getQMakeConf. It parses include statements in
110 # qmake.conf and prints out the expanded file
111 getQMakeConf1()
112 {
113     while read line; do case "$line" in
114         include*)
115             inc_file=`echo "$line" | sed -n -e "/^include.*(.*)/s/include.*(\(.*\)).*$/\1/p"`
116             current_dir=`dirname "$1"`
117             conf_file="$current_dir/$inc_file"
118             if [ ! -f  "$conf_file" ]; then
119                 echo "WARNING: Unable to find file $conf_file" >&2
120                 continue
121             fi
122             getQMakeConf1 "$conf_file"
123         ;;
124         *)
125             echo "$line"
126         ;;
127     esac; done < "$1"
128 }
129
130
131 # relies on $QMAKESPEC being set correctly. parses include statements in
132 # qmake.conf and prints out the expanded file
133 getQMakeConf()
134 {
135     tmpSPEC="$QMAKESPEC"
136     if [ -n "$1" ]; then
137         tmpSPEC="$1"
138     fi
139     getQMakeConf1 "$tmpSPEC/qmake.conf"
140 }
141
142 # relies on $TEST_COMPILER being set correctly
143 compilerSupportsFlag()
144 {
145     cat >conftest.cpp <<EOF
146 int main() { return 0; }
147 EOF
148     "$TEST_COMPILER" "$@" -o conftest.o conftest.cpp
149     ret=$?
150     rm -f conftest.cpp conftest.o
151     return $ret
152 }
153
154 # relies on $TEST_COMPILER being set correctly
155 linkerSupportsFlag()
156 {
157     lflags=-Wl
158     for flag
159     do
160         safe_flag=`shellEscape "$flag"`
161         lflags=$lflags,$safe_flag
162     done
163     compilerSupportsFlag "$lflags" >/dev/null 2>&1
164 }
165
166 #-------------------------------------------------------------------------------
167 # operating system detection
168 #-------------------------------------------------------------------------------
169
170 # need that throughout the script
171 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
172 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
173 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
174 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
175
176 # detect the "echo without newline" style. usage: echo $ECHO_N "<string>$ECHO_C"
177 if echo '\c' | grep '\c' >/dev/null; then
178     ECHO_N=-n
179 else
180     ECHO_C='\c'
181 fi
182
183 #-------------------------------------------------------------------------------
184 # window system detection
185 #-------------------------------------------------------------------------------
186
187 PLATFORM_X11=no
188 PLATFORM_MAC=no
189 PLATFORM_QWS=no
190
191 if [ -f "$relpath"/src/gui/kernel/qapplication_mac.mm ] && [ -d /System/Library/Frameworks/Carbon.framework ]; then
192     # Qt/Mac
193     # ~ the Carbon SDK exists
194     # ~ src/gui/base/qapplication_mac.cpp is present
195     # ~ this is the internal edition and Qt/Mac sources exist
196     PLATFORM_MAC=maybe
197 elif [ -f "$relpath"/src/gui/kernel/qapplication_qws.cpp ]; then
198     # Qt Embedded
199     # ~ src/gui/base/qapplication_qws.cpp is present
200     # ~ this is the free or commercial edition
201     # ~ this is the internal edition and Qt Embedded is explicitly enabled
202     if [ -f "$relpath"/src/gui/kernel/qapplication_mac.mm ]; then
203         # This is a depot build, or an all-platforms package
204         PLATFORM_QWS=maybe
205     else
206         # This must be the embedded package, since the Qt/Mac source files are not present
207         PLATFORM_QWS=yes
208     fi
209 fi
210
211 #-----------------------------------------------------------------------------
212 # Qt version detection
213 #-----------------------------------------------------------------------------
214 QT_VERSION=`grep '^# *define *QT_VERSION_STR' "$relpath"/src/corelib/global/qglobal.h`
215 QT_MAJOR_VERSION=
216 QT_MINOR_VERSION=0
217 QT_PATCH_VERSION=0
218 if [ -n "$QT_VERSION" ]; then
219    QT_VERSION=`echo $QT_VERSION | sed 's,^# *define *QT_VERSION_STR *"*\([^ ]*\)"$,\1,'`
220    MAJOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
221    if [ -n "$MAJOR" ]; then
222      MINOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
223       PATCH=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
224       QT_MAJOR_VERSION="$MAJOR"
225       [ -z "$MINOR" ] || QT_MINOR_VERSION="$MINOR"
226       [ -z "$PATCH" ] || QT_PATCH_VERSION="$PATCH"
227    fi
228 fi
229 if [ -z "$QT_MAJOR_VERSION" ]; then
230    echo "Cannot process version from qglobal.h: $QT_VERSION"
231    echo "Cannot proceed."
232    exit 1
233 fi
234
235 QT_PACKAGEDATE=`grep '^# *define *QT_PACKAGEDATE_STR' "$relpath"/src/corelib/global/qglobal.h | sed -e 's,^# *define *QT_PACKAGEDATE_STR *"\([^ ]*\)"$,\1,' -e s,-,,g`
236 if [ -z "$QT_PACKAGEDATE" ]; then
237    echo "Unable to determine package date from qglobal.h: '$QT_PACKAGEDATE'"
238    echo "Cannot proceed"
239    exit 1
240 fi
241
242 #-------------------------------------------------------------------------------
243 # check the license
244 #-------------------------------------------------------------------------------
245 COMMERCIAL_USER=ask
246 CFG_DEV=no
247 CFG_NOKIA=no
248 CFG_EMBEDDED=no
249 CFG_RTOS_ENABLED=yes
250 EditionString=Commercial
251
252 earlyArgParse()
253 {
254     # parse the arguments, setting things to "yes" or "no"
255     while [ "$#" -gt 0 ]; do
256         CURRENT_OPT="$1"
257         UNKNOWN_ARG=no
258         case "$1" in
259         #Autoconf style options
260         --enable-*)
261             VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
262             VAL=yes
263             ;;
264         --disable-*)
265             VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
266             VAL=no
267             ;;
268         --*=*)
269             VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
270             VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
271             ;;
272         --no-*)
273             VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
274             VAL=no
275             ;;
276         -embedded)
277             VAR=embedded
278             # this option may or may not be followed by an argument
279             if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
280                 VAL=auto
281             else
282                 shift;
283                 VAL=$1
284             fi
285             ;;
286         -h|help|--help|-help)
287             if [ "$VAL" = "yes" ]; then
288                 OPT_HELP="$VAL"
289                 COMMERCIAL_USER="no" #doesn't matter we will display the help
290             else
291                 UNKNOWN_OPT=yes
292                 COMMERCIAL_USER="no" #doesn't matter we will display the help
293             fi
294             ;;
295         --*)
296             VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
297             VAL=yes
298             ;;
299         -*)
300             VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
301             VAL="unknown"
302             ;;
303         *)
304             UNKNOWN_ARG=yes
305             ;;
306         esac
307         if [ "$UNKNOWN_ARG" = "yes" ]; then
308             shift
309             continue
310         fi
311         shift
312
313         UNKNOWN_OPT=no
314         case "$VAR" in
315         embedded)
316             CFG_EMBEDDED="$VAL"
317             if [ "$PLATFORM_QWS" != "no" ]; then
318                 if [ "$PLATFORM_QWS" = "maybe" ]; then
319                     PLATFORM_X11=no
320                     PLATFORM_MAC=no
321                     PLATFORM_QWS=yes
322                 fi
323             else
324                 echo "No license exists to enable Qt for Embedded Linux. Disabling."
325                 CFG_EMBEDDED=no
326             fi
327             ;;
328         developer-build)
329             CFG_DEV="yes"
330             ;;
331         nokia-developer)
332             CFG_DEV="yes"
333             CFG_NOKIA="yes"
334             COMMERCIAL_USER="no"
335             ;;
336         commercial)
337             COMMERCIAL_USER="yes"
338             ;;
339         opensource)
340             COMMERCIAL_USER="no"
341             ;;
342         *)
343             UNKNOWN_OPT=yes
344             ;;
345         esac
346     done
347 }
348
349 earlyArgParse "$@"
350
351 if [ "$COMMERCIAL_USER" = "ask" ]; then
352     while true; do
353         echo "Which edition of Qt do you want to use ?"
354         echo
355         echo "Type 'c' if you want to use the Commercial Edition."
356         echo "Type 'o' if you want to use the Open Source Edition."
357         echo
358         read commercial
359         echo
360         if [ "$commercial" = "c" ]; then
361             COMMERCIAL_USER="yes"
362             break
363         elif [ "$commercial" = "o" ]; then
364             COMMERCIAL_USER="no"
365             break
366         fi
367     done
368 fi
369
370 if [ "$CFG_NOKIA" = "yes" ]; then
371     Licensee="Nokia"
372     Edition="NokiaInternalBuild"
373     EditionString="Nokia Internal Build"
374     QT_EDITION="QT_EDITION_OPENSOURCE"
375     [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
376 elif [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes" ]; then
377     # Commercial preview release
378     [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
379     Licensee="Preview"
380     Edition="Preview"
381     QT_EDITION="QT_EDITION_DESKTOP"
382     LicenseType="Technology Preview"
383 elif [ $COMMERCIAL_USER = "yes" ]; then
384     # one of commercial editions
385     [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
386     [ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=no
387
388     # read in the license file
389     if [ -f "$LICENSE_FILE" ]; then
390         . "$LICENSE_FILE" >/dev/null 2>&1
391         if [ -z "$LicenseKeyExt" ]; then
392             echo
393             echo "You are using an old license file."
394             echo
395             echo "Please install the license file supplied by Nokia,"
396             echo "or install the Qt Open Source Edition if you intend to"
397             echo "develop free software."
398             exit 1
399         fi
400         if [ -z "$Licensee" ]; then
401             echo
402             echo "Invalid license key. Please check the license key."
403             exit 1
404         fi
405     else
406         if [ -z "$LicenseKeyExt" ]; then
407             echo
408             echo $ECHO_N "Please enter your license key: $ECHO_C"
409             read LicenseKeyExt
410             Licensee="Unknown user"
411         fi
412     fi
413
414     # Key verification
415     echo "$LicenseKeyExt" | grep ".....*-....*-....*-....*-.....*-.....*-...." >/dev/null 2>&1 \
416         && LicenseValid="yes" \
417         || LicenseValid="no"
418     if [ "$LicenseValid" != "yes" ]; then
419         echo
420         echo "Invalid license key. Please check the license key."
421         exit 1
422     fi
423     ProductCode=`echo $LicenseKeyExt | cut -f 1 -d - | cut -b 1`
424     PlatformCode=`echo $LicenseKeyExt | cut -f 2 -d -`
425     LicenseTypeCode=`echo $LicenseKeyExt | cut -f 3 -d -`
426     LicenseFeatureCode=`echo $LicenseKeyExt | cut -f 4 -d - | cut -b 1`
427
428     # determine which edition we are licensed to use
429     case "$LicenseTypeCode" in
430     F4M)
431         LicenseType="Commercial"
432         case $ProductCode in
433         F)
434             Edition="Universal"
435             QT_EDITION="QT_EDITION_UNIVERSAL"
436             ;;
437         B)
438             Edition="FullFramework"
439             EditionString="Full Framework"
440             QT_EDITION="QT_EDITION_DESKTOP"
441             ;;
442         L)
443             Edition="GUIFramework"
444             EditionString="GUI Framework"
445             QT_EDITION="QT_EDITION_DESKTOPLIGHT"
446             ;;
447         esac
448         ;;
449     Z4M|R4M|Q4M)
450         LicenseType="Evaluation"
451         QMakeVar add DEFINES QT_EVAL
452         case $ProductCode in
453          B)
454             Edition="Evaluation"
455             QT_EDITION="QT_EDITION_EVALUATION"
456             ;;
457         esac
458         ;;
459     esac
460     if [ -z "$LicenseType" -o -z "$Edition" -o -z "$QT_EDITION" ]; then
461         echo
462         echo "Invalid license key. Please check the license key."
463         exit 1
464     fi
465
466     # verify that we are licensed to use Qt on this platform
467     LICENSE_EXTENSION=
468     case "$PlatformCode" in
469         *L)
470             CFG_RTOS_ENABLED=yes
471             PlatformCode=`echo "$PlatformCode" | sed 'h;y/8NPQRTZ/UCWX9M7/;x;G;s/\(.\)....\(.\)./\1\2/'`
472             ;;
473         *)
474             CFG_RTOS_ENABLED=no
475             PlatformCode=`echo "$PlatformCode" | sed 's/.$//'`
476             ;;
477     esac
478     case "$PlatformCode,$PLATFORM_MAC,$PLATFORM_QWS" in
479         X9,* | XC,* | XU,* | XW,* | XM,*)
480             # Qt All-OS
481             LICENSE_EXTENSION="-ALLOS"
482             ;;
483         8M,* | KM,* | S9,* | SC,* | SM,* | SU,* | SW,* | X9,* | XC,* | XU,* | XW,*)
484             # Qt for Embedded Linux
485             LICENSE_EXTENSION="-EMBEDDED"
486             ;;
487         6M,*,no | N7,*,no | N9,*,no | NX,*,no)
488             # Embedded no-deploy
489             LICENSE_EXTENSION="-EMBEDDED"
490             ;;
491         FM,*,no | LM,yes,* | ZM,no,no)
492             # Desktop
493             LICENSE_EXTENSION="-DESKTOP"
494             ;;
495         *)
496             Platform=Linux/X11
497             [ "$PLATFORM_MAC" = "yes" ] && Platform='Mac OS X'
498             [ "$PLATFORM_QWS" = "yes" ] && Platform='Embedded Linux'
499             echo
500             echo "You are not licensed for the $Platform platform."
501             echo
502             echo "Please contact qt-info@nokia.com to upgrade your license to"
503             echo "include the $Platform platform, or install the Qt Open Source Edition"
504             echo "if you intend to develop free software."
505             exit 1
506             ;;
507     esac
508
509     if test -r "$relpath/.LICENSE"; then
510         # Generic, non-final license
511         LICENSE_EXTENSION=""
512         line=`sed 'y/a-z/A-Z/;q' "$relpath"/.LICENSE`
513         case "$line" in
514             *BETA*)
515                 Edition=Beta
516                 ;;
517             *TECHNOLOGY?PREVIEW*)
518                 Edition=Preview
519                 ;;
520             *EVALUATION*)
521                 Edition=Evaluation
522                 ;;
523             *)
524                 echo >&2 "Invalid license files; cannot continue"
525                 exit 1
526                 ;;
527         esac
528         Licensee="$Edition"
529         EditionString="$Edition"
530         QT_EDITION="QT_EDITION_DESKTOP"
531     fi
532
533     case "$LicenseFeatureCode" in
534     B|G|L|Y)
535         # US
536         case "$LicenseType" in
537         Commercial)
538             cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}-US" "$outpath/LICENSE"
539             ;;
540         Evaluation)
541             cp -f "$relpath/.LICENSE-EVALUATION-US" "$outpath/LICENSE"
542             ;;
543         esac
544         ;;
545     2|4|5|F)
546         # non-US
547         case "$LicenseType" in
548         Commercial)
549             cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}" "$outpath/LICENSE"
550             ;;
551         Evaluation)
552             cp -f "$relpath/.LICENSE-EVALUATION" "$outpath/LICENSE"
553             ;;
554         esac
555         ;;
556     *)
557         echo
558         echo "Invalid license key. Please check the license key."
559         exit 1
560         ;;
561     esac
562     case "$LicenseFeatureCode" in
563         4|B|F|Y)
564             CFG_RTOS_ENABLED=yes
565             ;;
566         2|5|G|L)
567             CFG_RTOS_ENABLED=no
568             ;;
569     esac
570     if [ '!' -f "$outpath/LICENSE" ]; then
571         echo "The LICENSE, LICENSE.GPL3 LICENSE.LGPL file shipped with"
572         echo "this software has disappeared."
573         echo
574         echo "Sorry, you are not licensed to use this software."
575         echo "Try re-installing."
576         echo
577         exit 1
578     fi
579 elif [ $COMMERCIAL_USER = "no" ]; then
580     # Open Source edition - may only be used under the terms of the GPL or LGPL.
581     [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
582     Licensee="Open Source"
583     Edition="OpenSource"
584     EditionString="Open Source"
585     QT_EDITION="QT_EDITION_OPENSOURCE"
586 fi
587
588 #-------------------------------------------------------------------------------
589 # initalize variables
590 #-------------------------------------------------------------------------------
591
592 SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS"
593 for varname in $SYSTEM_VARIABLES; do
594     qmakevarname="${varname}"
595     # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
596     if [ "${varname}" = "LDFLAGS" ]; then
597         qmakevarname="LFLAGS"
598     fi
599     cmd=`echo \
600 'if [ -n "\$'${varname}'" ]; then
601     QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'"
602 fi'`
603     eval "$cmd"
604 done
605 # Use CC/CXX to run config.tests
606 mkdir -p "$outpath/config.tests"
607 rm -f "$outpath/config.tests/.qmake.cache"
608 cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
609
610 QMakeVar add styles "cde mac motif plastique cleanlooks windows"
611 QMakeVar add decorations "default windows styled"
612 QMakeVar add mouse-drivers "pc"
613 if [ "$UNAME_SYSTEM" = "Linux" ] ; then
614     QMakeVar add gfx-drivers "linuxfb"
615     QMakeVar add mouse-drivers "linuxtp"
616 fi
617 QMakeVar add kbd-drivers "tty"
618
619 if [ "$CFG_DEV" = "yes" ]; then
620     QMakeVar add kbd-drivers "um"
621 fi
622
623 # QTDIR may be set and point to an old or system-wide Qt installation
624 unset QTDIR
625
626 # the minimum version of libdbus-1 that we require:
627 MIN_DBUS_1_VERSION=0.93
628
629 # initalize internal variables
630 CFG_CONFIGURE_EXIT_ON_ERROR=yes
631 CFG_PROFILE=no
632 CFG_EXCEPTIONS=unspecified
633 CFG_GUI=auto # (yes|no|auto)
634 CFG_SCRIPT=auto # (yes|no|auto)
635 CFG_SCRIPTTOOLS=auto # (yes|no|auto)
636 CFG_XMLPATTERNS=auto # (yes|no|auto)
637 CFG_INCREMENTAL=auto
638 CFG_QCONFIG=full
639 CFG_DEBUG=auto
640 CFG_MYSQL_CONFIG=
641 CFG_DEBUG_RELEASE=no
642 CFG_SHARED=yes
643 CFG_SM=auto
644 CFG_XSHAPE=auto
645 CFG_XSYNC=auto
646 CFG_XVIDEO=auto
647 CFG_XINERAMA=runtime
648 CFG_XFIXES=runtime
649 CFG_ZLIB=auto
650 CFG_SYMBIAN_DEFFILES=auto
651 CFG_S60=auto
652 CFG_SQLITE=qt
653 CFG_GIF=auto
654 CFG_TIFF=auto
655 CFG_LIBTIFF=auto
656 CFG_PNG=yes
657 CFG_LIBPNG=auto
658 CFG_JPEG=auto
659 CFG_LIBJPEG=auto
660 CFG_MNG=auto
661 CFG_LIBMNG=auto
662 CFG_XCURSOR=runtime
663 CFG_XRANDR=runtime
664 CFG_XRENDER=auto
665 CFG_MITSHM=auto
666 CFG_OPENGL=auto
667 CFG_OPENVG=no
668 CFG_OPENVG_LC_INCLUDES=no
669 CFG_OPENVG_SHIVA=no
670 CFG_OPENVG_ON_OPENGL=no
671 CFG_EGL=no
672 CFG_EGL_GLES_INCLUDES=no
673 CFG_SSE=auto
674 CFG_FONTCONFIG=auto
675 CFG_QWS_FREETYPE=auto
676 CFG_LIBFREETYPE=auto
677 CFG_SQL_AVAILABLE=
678 QT_DEFAULT_BUILD_PARTS="libs tools examples demos docs translations"
679 CFG_BUILD_PARTS=""
680 CFG_NOBUILD_PARTS=""
681 CFG_RELEASE_QMAKE=no
682 CFG_PHONON=auto
683 CFG_PHONON_BACKEND=yes
684 CFG_MULTIMEDIA=auto
685 CFG_AUDIO_BACKEND=auto
686 CFG_SVG=auto
687 CFG_DECLARATIVE=auto
688 CFG_DECLARATIVE_DEBUG=yes
689 CFG_WEBKIT=auto # (yes|no|auto|debug)
690 CFG_JAVASCRIPTCORE_JIT=auto
691
692 CFG_GFX_AVAILABLE="linuxfb transformed qvfb vnc multiscreen directfb"
693 CFG_GFX_ON="linuxfb multiscreen"
694 CFG_GFX_PLUGIN_AVAILABLE=
695 CFG_GFX_PLUGIN=
696 CFG_GFX_OFF=
697 CFG_KBD_AVAILABLE="tty linuxinput qvfb"
698 CFG_KBD_ON="tty"    #default, see QMakeVar above
699 CFG_MOUSE_AVAILABLE="pc linuxtp linuxinput tslib qvfb"
700 CFG_MOUSE_ON="pc linuxtp"   #default, see QMakeVar above
701
702 if [ -f "$relpath/src/gui/embedded/qscreenqnx_qws.cpp" ]; then
703     CFG_KBD_AVAILABLE="${CFG_KBD_AVAILABLE} qnx"
704     CFG_MOUSE_AVAILABLE="${CFG_MOUSE_AVAILABLE} qnx"
705     CFG_GFX_AVAILABLE="${CFG_GFX_AVAILABLE} qnx"
706 fi
707
708 CFG_ARCH=
709 CFG_HOST_ARCH=
710 CFG_KBD_PLUGIN_AVAILABLE=
711 CFG_KBD_PLUGIN=
712 CFG_KBD_OFF=
713 CFG_MOUSE_PLUGIN_AVAILABLE=
714 CFG_MOUSE_PLUGIN=
715 CFG_MOUSE_OFF=
716 CFG_USE_GNUMAKE=no
717 CFG_IM=yes
718 CFG_DECORATION_AVAILABLE="styled windows default"
719 CFG_DECORATION_ON="${CFG_DECORATION_AVAILABLE}" # all on by default
720 CFG_DECORATION_PLUGIN_AVAILABLE=
721 CFG_DECORATION_PLUGIN=
722 CFG_XINPUT=runtime
723 CFG_XKB=auto
724 CFG_NIS=auto
725 CFG_CUPS=auto
726 CFG_ICONV=auto
727 CFG_DBUS=auto
728 CFG_GLIB=auto
729 CFG_GSTREAMER=auto
730 CFG_QGTKSTYLE=auto
731 CFG_QS60STYLE=auto
732 CFG_LARGEFILE=auto
733 CFG_OPENSSL=auto
734 CFG_PTMALLOC=no
735 CFG_STL=auto
736 CFG_PRECOMPILE=auto
737 CFG_SEPARATE_DEBUG_INFO=no
738 CFG_SEPARATE_DEBUG_INFO_NOCOPY=no
739 CFG_REDUCE_EXPORTS=auto
740 CFG_MMX=auto
741 CFG_3DNOW=auto
742 CFG_SSE=auto
743 CFG_SSE2=auto
744 CFG_SSE3=auto
745 CFG_SSSE3=auto
746 CFG_SSE4_1=auto
747 CFG_SSE4_2=auto
748 CFG_AVX=auto
749 CFG_REDUCE_RELOCATIONS=no
750 CFG_IPV6=auto
751 CFG_NAS=no
752 CFG_QWS_DEPTHS=all
753 CFG_USER_BUILD_KEY=
754 CFG_ACCESSIBILITY=auto
755 CFG_QT3SUPPORT=yes
756 CFG_ENDIAN=auto
757 CFG_HOST_ENDIAN=auto
758 CFG_DOUBLEFORMAT=auto
759 CFG_ARMFPA=auto
760 CFG_IWMMXT=no
761 CFG_NEON=auto
762 CFG_CLOCK_GETTIME=auto
763 CFG_CLOCK_MONOTONIC=auto
764 CFG_MREMAP=auto
765 CFG_GETADDRINFO=auto
766 CFG_IPV6IFNAME=auto
767 CFG_GETIFADDRS=auto
768 CFG_INOTIFY=auto
769 CFG_RPATH=yes
770 CFG_FRAMEWORK=auto
771 CFG_MAC_ARCHS=
772 MAC_CONFIG_TEST_COMMANDLINE=  # used to make the configure tests run with the correct arch's and SDK settings
773 CFG_MAC_DWARF2=auto
774 CFG_MAC_XARCH=auto
775 CFG_MAC_CARBON=no
776 CFG_MAC_COCOA=yes
777 COMMANDLINE_MAC_CARBON=no
778 CFG_SXE=no
779 CFG_PREFIX_INSTALL=yes
780 CFG_SDK=
781 D_FLAGS=
782 I_FLAGS=
783 L_FLAGS=
784 RPATH_FLAGS=
785 l_FLAGS=
786 QCONFIG_FLAGS=
787 XPLATFORM=              # This seems to be the QMAKESPEC, like "linux-g++" or "symbian/linux-gcce"
788 XPLATFORM_MINGW=no      # Whether target platform is MinGW (win32-g++*)
789 PLATFORM=$QMAKESPEC
790 QT_CROSS_COMPILE=no
791 OPT_CONFIRM_LICENSE=no
792 OPT_SHADOW=maybe
793 OPT_FAST=auto
794 OPT_VERBOSE=no
795 OPT_HELP=
796 CFG_SILENT=no
797 CFG_GRAPHICS_SYSTEM=default
798 CFG_RUNTIME_SYSTEM=
799 CFG_ALSA=auto
800 CFG_PULSEAUDIO=auto
801 CFG_COREWLAN=auto
802 CFG_ICD=auto
803 CFG_NOPROCESS=no
804
805 # initalize variables used for installation
806 QT_INSTALL_PREFIX=
807 QT_INSTALL_DOCS=
808 QT_INSTALL_HEADERS=
809 QT_INSTALL_LIBS=
810 QT_INSTALL_BINS=
811 QT_INSTALL_PLUGINS=
812 QT_INSTALL_IMPORTS=
813 QT_INSTALL_DATA=
814 QT_INSTALL_TRANSLATIONS=
815 QT_INSTALL_SETTINGS=
816 QT_INSTALL_EXAMPLES=
817 QT_INSTALL_DEMOS=
818 QT_HOST_PREFIX=
819
820 #flags for SQL drivers
821 QT_CFLAGS_PSQL=
822 QT_LFLAGS_PSQL=
823 QT_CFLAGS_MYSQL=
824 QT_LFLAGS_MYSQL=
825 QT_LFLAGS_MYSQL_R=
826 QT_CFLAGS_SQLITE=
827 QT_LFLAGS_SQLITE=
828 QT_LFLAGS_ODBC="-lodbc"
829 QT_LFLAGS_TDS=
830
831 # flags for libdbus-1
832 QT_CFLAGS_DBUS=
833 QT_LIBS_DBUS=
834
835 # flags for Glib (X11 only)
836 QT_CFLAGS_GLIB=
837 QT_LIBS_GLIB=
838
839 # flags for GStreamer (X11 only)
840 QT_CFLAGS_GSTREAMER=
841 QT_LIBS_GSTREAMER=
842
843 #flag for Symbian fpu settings
844 QT_CFLAGS_FPU=
845
846 # flags for libconnsettings0 (used for Maemo ICD bearer management plugin)
847 QT_CFLAGS_CONNSETTINGS=
848 QT_LIBS_CONNSETTINGS=
849
850 #-------------------------------------------------------------------------------
851 # check SQL drivers, mouse drivers and decorations available in this package
852 #-------------------------------------------------------------------------------
853
854 # opensource version removes some drivers, so force them to be off
855 CFG_SQL_tds=no
856 CFG_SQL_oci=no
857 CFG_SQL_db2=no
858
859 CFG_SQL_AVAILABLE=
860 if [ -d "$relpath/src/plugins/sqldrivers" ]; then
861   for a in "$relpath/src/plugins/sqldrivers/"*; do
862      if [ -d "$a" ]; then
863          base_a=`basename "$a"`
864          CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
865          eval "CFG_SQL_${base_a}=auto"
866      fi
867   done
868 fi
869
870 CFG_DECORATION_PLUGIN_AVAILABLE=
871 if [ -d "$relpath/src/plugins/decorations" ]; then
872   for a in "$relpath/src/plugins/decorations/"*; do
873      if [ -d "$a" ]; then
874          base_a=`basename "$a"`
875          CFG_DECORATION_PLUGIN_AVAILABLE="${CFG_DECORATION_PLUGIN_AVAILABLE} ${base_a}"
876      fi
877   done
878 fi
879
880 CFG_KBD_PLUGIN_AVAILABLE=
881 if [ -d "$relpath/src/plugins/kbddrivers" ]; then
882   for a in "$relpath/src/plugins/kbddrivers/"*; do
883      if [ -d "$a" ]; then
884          base_a=`basename "$a"`
885          CFG_KBD_PLUGIN_AVAILABLE="${CFG_KBD_PLUGIN_AVAILABLE} ${base_a}"
886      fi
887   done
888 fi
889
890 CFG_MOUSE_PLUGIN_AVAILABLE=
891 if [ -d "$relpath/src/plugins/mousedrivers" ]; then
892   for a in "$relpath/src/plugins/mousedrivers/"*; do
893      if [ -d "$a" ]; then
894          base_a=`basename "$a"`
895          CFG_MOUSE_PLUGIN_AVAILABLE="${CFG_MOUSE_PLUGIN_AVAILABLE} ${base_a}"
896      fi
897   done
898 fi
899
900 CFG_GFX_PLUGIN_AVAILABLE=
901 if [ -d "$relpath/src/plugins/gfxdrivers" ]; then
902   for a in "$relpath/src/plugins/gfxdrivers/"*; do
903      if [ -d "$a" ]; then
904          base_a=`basename "$a"`
905          CFG_GFX_PLUGIN_AVAILABLE="${CFG_GFX_PLUGIN_AVAILABLE} ${base_a}"
906      fi
907   done
908   CFG_GFX_OFF="$CFG_GFX_AVAILABLE" # assume all off
909 fi
910
911 #-------------------------------------------------------------------------------
912 # parse command line arguments
913 #-------------------------------------------------------------------------------
914
915 # parse the arguments, setting things to "yes" or "no"
916 while [ "$#" -gt 0 ]; do
917     CURRENT_OPT="$1"
918     UNKNOWN_ARG=no
919     case "$1" in
920     #Autoconf style options
921     --enable-*)
922         VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"`
923         VAL=yes
924         ;;
925     --disable-*)
926         VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"`
927         VAL=no
928         ;;
929     --*=*)
930         VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"`
931         VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"`
932         ;;
933     --no-*)
934         VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"`
935         VAL=no
936         ;;
937     --*)
938         VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
939         VAL=yes
940         ;;
941     #Qt plugin options
942     -no-*-*|-plugin-*-*|-qt-*-*)
943         VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
944         VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"`
945         ;;
946     #WebKit options
947     -webkit)
948         VAR="webkit"
949         VAL="yes"
950         ;;
951     -webkit-debug)
952         VAR="webkit"
953         VAL="debug"
954         ;;
955     -no-webkit)
956         VAR="webkit"
957         VAL="no"
958         ;;
959     #Qt style no options
960     -no-*)
961         VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"`
962         VAL=no
963         ;;
964     #Qt style yes options
965         -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-egl|-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|-carbon|-universal|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-audio-backend|-svg|-declarative|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config|-s60|-usedeffiles)
966         VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
967         VAL=yes
968         ;;
969     #Qt style options that pass an argument
970     -qconfig)
971         if [ "$PLATFORM_QWS" != "yes" ]; then
972             echo
973             echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
974             echo
975         fi
976         CFG_QCONFIG="$VAL"
977         VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
978         shift
979         VAL=$1
980         ;;
981     -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config)
982         VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
983         shift
984         VAL="$1"
985         ;;
986     #Qt style complex options in one command
987     -enable-*|-disable-*)
988         VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
989         VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
990         ;;
991     #Qt Builtin/System style options
992     -no-*|-system-*|-qt-*)
993         VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"`
994         VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"`
995         ;;
996     #Options that cannot be generalized
997     -k|-continue)
998         VAR=fatal_error
999         VAL=no
1000         ;;
1001     -embedded)
1002         VAR=embedded
1003         # this option may or may not be followed by an argument
1004         if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1005             VAL=auto
1006         else
1007             shift;
1008             VAL=$1
1009         fi
1010         ;;
1011     -opengl)
1012         VAR=opengl
1013         # this option may or may not be followed by an argument
1014         if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1015             VAL=yes
1016         else
1017             shift;
1018             VAL=$1
1019         fi
1020         ;;
1021     -openvg)
1022         VAR=openvg
1023         # this option may or may not be followed by an argument
1024         if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1025             VAL=yes
1026         else
1027             shift;
1028             VAL=$1
1029         fi
1030         ;;
1031     -hostprefix)
1032         VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1033         # this option may or may not be followed by an argument
1034         if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1035             VAL=$outpath
1036         else
1037             shift;
1038             VAL=$1
1039         fi
1040         ;;
1041     -host-*-endian)
1042         VAR=host_endian
1043         VAL=`echo $1 | sed "s,^-.*-\(.*\)-.*,\1,"`
1044         ;;
1045     -*-endian)
1046         VAR=endian
1047         VAL=`echo $1 | sed "s,^-\(.*\)-.*,\1,"`
1048         ;;
1049     -qtnamespace)
1050         VAR="qtnamespace"
1051         shift
1052         VAL="$1"
1053         ;;
1054     -graphicssystem)
1055         VAR="graphicssystem"
1056         shift
1057         VAL=$1
1058         ;;
1059     -runtimegraphicssystem)
1060         VAR="runtimegraphicssystem"
1061         shift
1062         VAL=$1
1063         ;;
1064     -qtlibinfix)
1065         VAR="qtlibinfix"
1066         shift
1067         VAL="$1"
1068         ;;
1069     -D?*|-D)
1070         VAR="add_define"
1071         if [ "$1" = "-D" ]; then
1072             shift
1073             VAL="$1"
1074         else
1075             VAL=`echo $1 | sed 's,-D,,'`
1076         fi
1077         ;;
1078     -fpu)
1079         VAR="fpu"
1080         # this option may or may not be followed by an argument
1081         if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
1082             VAL=no
1083         else
1084             shift
1085             VAL=$1
1086         fi
1087         ;;
1088     -I?*|-I)
1089         VAR="add_ipath"
1090         if [ "$1" = "-I" ]; then
1091             shift
1092             VAL="$1"
1093         else
1094             VAL=`echo $1 | sed 's,-I,,'`
1095         fi
1096         ;;
1097     -L?*|-L)
1098         VAR="add_lpath"
1099         if [ "$1" = "-L" ]; then
1100             shift
1101             VAL="$1"
1102         else
1103             VAL=`echo $1 | sed 's,-L,,'`
1104         fi
1105         ;;
1106     -R?*|-R)
1107         VAR="add_rpath"
1108         if [ "$1" = "-R" ]; then
1109             shift
1110             VAL="$1"
1111         else
1112             VAL=`echo $1 | sed 's,-R,,'`
1113         fi
1114         ;;
1115     -l?*)
1116         VAR="add_link"
1117         VAL=`echo $1 | sed 's,-l,,'`
1118         ;;
1119     -F?*|-F)
1120         VAR="add_fpath"
1121         if [ "$1" = "-F" ]; then
1122             shift
1123             VAL="$1"
1124         else
1125             VAL=`echo $1 | sed 's,-F,,'`
1126         fi
1127         ;;
1128     -fw?*|-fw)
1129         VAR="add_framework"
1130         if [ "$1" = "-fw" ]; then
1131             shift
1132             VAL="$1"
1133         else
1134             VAL=`echo $1 | sed 's,-fw,,'`
1135         fi
1136         ;;
1137     -*)
1138         VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
1139         VAL="unknown"
1140         ;;
1141     *)
1142         UNKNOWN_ARG=yes
1143         ;;
1144     esac
1145     if [ "$UNKNOWN_ARG" = "yes" ]; then
1146         echo "$1: unknown argument"
1147         OPT_HELP=yes
1148         ERROR=yes
1149         shift
1150         continue
1151      fi
1152     shift
1153
1154     UNKNOWN_OPT=no
1155     case "$VAR" in
1156     qt3support)
1157         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1158             CFG_QT3SUPPORT="$VAL"
1159         else
1160             UNKNOWN_OPT=yes
1161         fi
1162         ;;
1163     accessibility)
1164         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1165             CFG_ACCESSIBILITY="$VAL"
1166         else
1167             UNKNOWN_OPT=yes
1168         fi
1169         ;;
1170     license)
1171         LICENSE_FILE="$VAL"
1172         ;;
1173     gnumake)
1174         CFG_USE_GNUMAKE="$VAL"
1175         ;;
1176     mysql_config)
1177         CFG_MYSQL_CONFIG="$VAL"
1178         ;;
1179     prefix)
1180         QT_INSTALL_PREFIX="$VAL"
1181         ;;
1182     hostprefix)
1183         QT_HOST_PREFIX="$VAL"
1184         ;;
1185     force-pkg-config)
1186         QT_FORCE_PKGCONFIG=yes
1187         ;;
1188     docdir)
1189         QT_INSTALL_DOCS="$VAL"
1190         ;;
1191     headerdir)
1192         QT_INSTALL_HEADERS="$VAL"
1193         ;;
1194     plugindir)
1195         QT_INSTALL_PLUGINS="$VAL"
1196         ;;
1197     importdir)
1198         QT_INSTALL_IMPORTS="$VAL"
1199         ;;
1200     datadir)
1201         QT_INSTALL_DATA="$VAL"
1202         ;;
1203     libdir)
1204         QT_INSTALL_LIBS="$VAL"
1205         ;;
1206     qtnamespace)
1207         QT_NAMESPACE="$VAL"
1208         ;;
1209     qtlibinfix)
1210         QT_LIBINFIX="$VAL"
1211         ;;
1212     translationdir)
1213         QT_INSTALL_TRANSLATIONS="$VAL"
1214         ;;
1215     sysconfdir|settingsdir)
1216         QT_INSTALL_SETTINGS="$VAL"
1217         ;;
1218     examplesdir)
1219         QT_INSTALL_EXAMPLES="$VAL"
1220         ;;
1221     demosdir)
1222         QT_INSTALL_DEMOS="$VAL"
1223         ;;
1224     qconfig)
1225         CFG_QCONFIG="$VAL"
1226         ;;
1227     bindir)
1228         QT_INSTALL_BINS="$VAL"
1229         ;;
1230     buildkey)
1231         CFG_USER_BUILD_KEY="$VAL"
1232         ;;
1233     sxe)
1234         CFG_SXE="$VAL"
1235         ;;
1236     embedded)
1237         CFG_EMBEDDED="$VAL"
1238         if [ "$PLATFORM_QWS" != "no" ]; then
1239             if [ "$PLATFORM_QWS" = "maybe" ]; then
1240                 PLATFORM_X11=no
1241                 PLATFORM_MAC=no
1242                 PLATFORM_QWS=yes
1243             fi
1244         else
1245             echo "No license exists to enable Qt for Embedded Linux. Disabling."
1246             CFG_EMBEDDED=no
1247         fi
1248         ;;
1249     sse)
1250         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1251             CFG_SSE="$VAL"
1252         else
1253             UNKNOWN_OPT=yes
1254         fi
1255         ;;
1256     endian)
1257         if [ "$VAL" = "little" ]; then
1258             CFG_ENDIAN="Q_LITTLE_ENDIAN"
1259         elif [ "$VAL" = "big" ]; then
1260             CFG_ENDIAN="Q_BIG_ENDIAN"
1261         else
1262             UNKNOWN_OPT=yes
1263         fi
1264         ;;
1265     host_endian)
1266         if [ "$VAL" = "little" ]; then
1267             CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
1268         elif [ "$VAL" = "big" ]; then
1269             CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
1270         else
1271             UNKNOWN_OPT=yes
1272         fi
1273         ;;
1274     armfpa)
1275         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1276             CFG_ARMFPA="$VAL"
1277         else
1278             UNKNOWN_OPT=yes
1279         fi
1280         ;;
1281     depths)
1282         CFG_QWS_DEPTHS="$VAL"
1283         ;;
1284     opengl)
1285         if  [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
1286             [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
1287             [ "$VAL" = "es1" ] || [ "$VAL" = "es2" ]; then
1288             CFG_OPENGL="$VAL"
1289             if  [ "$VAL" = "es1" ] || [ "$VAL" = "es2" ]; then
1290                 CFG_EGL="yes"
1291             fi
1292         else
1293             UNKNOWN_OPT=yes
1294         fi
1295         ;;
1296     openvg)
1297         if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1298             CFG_OPENVG="$VAL"
1299             CFG_EGL="auto"
1300         else
1301             UNKNOWN_OPT=yes
1302         fi
1303         ;;
1304     graphicssystem)
1305         if [ "$PLATFORM_QWS" = "yes" ]; then
1306             echo "Error: Graphics System plugins are not supported on QWS."
1307             echo "   On QWS, the graphics system API is part of the QScreen plugin architecture "
1308             echo "   rather than existing as a separate plugin."
1309             echo ""
1310             UNKNOWN_OPT=yes
1311         else
1312             if  [ "$VAL" = "opengl" ]; then
1313                 CFG_GRAPHICS_SYSTEM="opengl"
1314             elif [ "$VAL" = "openvg" ]; then
1315                 CFG_GRAPHICS_SYSTEM="openvg"
1316             elif [ "$VAL" = "raster" ]; then
1317                 CFG_GRAPHICS_SYSTEM="raster"
1318             elif [ "$VAL" = "runtime" ]; then
1319                 CFG_GRAPHICS_SYSTEM="runtime"
1320             else
1321                 UNKNOWN_OPT=yes
1322             fi
1323         fi
1324         ;;
1325     runtimegraphicssystem)
1326         if  [ "$VAL" != "runtime" ]; then
1327             CFG_RUNTIME_SYSTEM="$VAL"
1328         fi
1329         ;;
1330
1331     qvfb) # left for commandline compatibility, not documented
1332         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1333             if [ "$VAL" = "yes" ]; then
1334                 QMakeVar add gfx-drivers qvfb
1335                 QMakeVar add kbd-drivers qvfb
1336                 QMakeVar add mouse-drivers qvfb
1337                 CFG_GFX_ON="$CFG_GFX_ON qvfb"
1338                 CFG_KBD_ON="$CFG_KBD_ON qvfb"
1339                 CFG_MOUSE_ON="$CFG_MOUSE_ON qvfb"
1340             fi
1341         else
1342             UNKNOWN_OPT=yes
1343         fi
1344         ;;
1345     nomake)
1346         CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
1347         ;;
1348     make)
1349         CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
1350         ;;
1351     x11)
1352         if [ "$PLATFORM_MAC" = "yes" ]; then
1353             PLATFORM_MAC=no
1354         elif [ "$PLATFORM_QWS" = "yes" ]; then
1355             PLATFORM_QWS=no
1356         fi
1357         if [ "$CFG_FRAMEWORK" = "auto" ]; then
1358             CFG_FRAMEWORK=no
1359         fi
1360         PLATFORM_X11=yes
1361         ;;
1362     sdk)
1363         if [ "$PLATFORM_MAC" = "yes" ]; then
1364             CFG_SDK="$VAL"
1365         else
1366             UNKNOWN_OPT=yes
1367         fi
1368         ;;
1369      dwarf2)
1370         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1371             CFG_MAC_DWARF2="$VAL"
1372         else
1373             UNKNOWN_OPT=yes
1374         fi
1375         ;;
1376     arch)
1377         # if this is a Mac then "windows" probably means
1378         # we are cross-compiling for MinGW
1379         if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" != "windows" ]; then
1380             CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL"
1381         else
1382             CFG_ARCH=$VAL
1383         fi
1384         ;;
1385     host-arch)
1386         CFG_HOST_ARCH=$VAL
1387         ;;
1388     universal)
1389         if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1390             CFG_MAC_ARCHS="$CFG_MAC_ARCHS x86 ppc"
1391         else
1392             UNKNOWN_OPT=yes
1393         fi
1394         ;;
1395     cocoa)
1396 #       do nothing - Cocoa is the default.
1397         ;;
1398     carbon)
1399         if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
1400             CFG_MAC_CARBON="$VAL"
1401             COMMANDLINE_MAC_CARBON="$VAL"
1402         else
1403             UNKNOWN_OPT=yes
1404         fi
1405         ;;
1406
1407     framework)
1408         if [ "$PLATFORM_MAC" = "yes" ]; then
1409             CFG_FRAMEWORK="$VAL"
1410         else
1411             UNKNOWN_OPT=yes
1412         fi
1413         ;;
1414     profile)
1415         if [ "$VAL" = "yes" ]; then
1416             CFG_PROFILE=yes
1417             QMakeVar add QMAKE_CFLAGS -pg
1418             QMakeVar add QMAKE_CXXFLAGS -pg
1419             QMakeVar add QMAKE_LFLAGS -pg
1420             QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
1421         else
1422             UNKNOWN_OPT=yes
1423         fi
1424         ;;
1425     exceptions|g++-exceptions)
1426         if [ "$VAL" = "no" ]; then
1427             CFG_EXCEPTIONS=no
1428         elif [ "$VAL" = "yes" ]; then
1429             CFG_EXCEPTIONS=yes
1430         else
1431             UNKNOWN_OPT=yes
1432         fi
1433         ;;
1434     platform)
1435         PLATFORM="$VAL"
1436         # keep compatibility with old platform names
1437         case $PLATFORM in
1438         aix-64)
1439             PLATFORM=aix-xlc-64
1440             ;;
1441         hpux-o64)
1442             PLATFORM=hpux-acc-o64
1443             ;;
1444         hpux-n64)
1445             PLATFORM=hpux-acc-64
1446             ;;
1447         hpux-acc-n64)
1448             PLATFORM=hpux-acc-64
1449             ;;
1450         irix-n32)
1451             PLATFORM=irix-cc
1452             ;;
1453         irix-64)
1454             PLATFORM=irix-cc-64
1455             ;;
1456         irix-cc-n64)
1457             PLATFORM=irix-cc-64
1458             ;;
1459         reliant-64)
1460             PLATFORM=reliant-cds-64
1461             ;;
1462         solaris-64)
1463             PLATFORM=solaris-cc-64
1464             ;;
1465         openunix-cc)
1466             PLATFORM=unixware-cc
1467             ;;
1468         openunix-g++)
1469             PLATFORM=unixware-g++
1470             ;;
1471         unixware7-cc)
1472             PLATFORM=unixware-cc
1473             ;;
1474         unixware7-g++)
1475             PLATFORM=unixware-g++
1476             ;;
1477         macx-g++-64)
1478             PLATFORM=macx-g++
1479             NATIVE_64_ARCH=
1480             case `uname -p` in
1481             i386) NATIVE_64_ARCH="x86_64" ;;
1482             powerpc) NATIVE_64_ARCH="ppc64" ;;
1483             *)   echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
1484             esac
1485             if [ ! -z "$NATIVE_64_ARCH" ]; then
1486                 QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
1487                 CFG_MAC_ARCHS="$CFG_MAC_ARCHS $NATIVE_64_ARCH"
1488             fi
1489             ;;
1490         esac
1491         ;;
1492     xplatform)
1493         XPLATFORM="$VAL"
1494         case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
1495         ;;
1496     debug-and-release)
1497         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1498             CFG_DEBUG_RELEASE="$VAL"
1499         else
1500             UNKNOWN_OPT=yes
1501         fi
1502         ;;
1503     optimized-qmake)
1504         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1505             CFG_RELEASE_QMAKE="$VAL"
1506         else
1507             UNKNOWN_OPT=yes
1508         fi
1509         ;;
1510     release)
1511         if [ "$VAL" = "yes" ]; then
1512             CFG_DEBUG=no
1513         elif [ "$VAL" = "no" ]; then
1514             CFG_DEBUG=yes
1515         else
1516             UNKNOWN_OPT=yes
1517         fi
1518         ;;
1519     prefix-install)
1520         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1521             CFG_PREFIX_INSTALL="$VAL"
1522         else
1523             UNKNOWN_OPT=yes
1524         fi
1525         ;;
1526     debug)
1527         CFG_DEBUG="$VAL"
1528         ;;
1529     developer-build|commercial|opensource|nokia-developer)
1530         # These switches have been dealt with already
1531         ;;
1532     static)
1533         if [ "$VAL" = "yes" ]; then
1534             CFG_SHARED=no
1535         elif [ "$VAL" = "no" ]; then
1536             CFG_SHARED=yes
1537         else
1538             UNKNOWN_OPT=yes
1539         fi
1540         ;;
1541     incremental)
1542         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1543             CFG_INCREMENTAL="$VAL"
1544         else
1545             UNKNOWN_OPT=yes
1546         fi
1547         ;;
1548     fatal_error)
1549         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1550             CFG_CONFIGURE_EXIT_ON_ERROR="$VAL"
1551         else
1552             UNKNOWN_OPT=yes
1553         fi
1554         ;;
1555     feature-*)
1556             FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
1557             if [ "$VAL" = "no" ]; then
1558                 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
1559             elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
1560                 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
1561             else
1562                 UNKNOWN_OPT=yes
1563             fi
1564         ;;
1565     shared)
1566         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1567             CFG_SHARED="$VAL"
1568         else
1569             UNKNOWN_OPT=yes
1570         fi
1571         ;;
1572     gif)
1573         [ "$VAL" = "qt" ] && VAL=auto
1574         if [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
1575             CFG_GIF="$VAL"
1576         else
1577             UNKNOWN_OPT=yes
1578         fi
1579         ;;
1580     sm)
1581         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1582             CFG_SM="$VAL"
1583         else
1584             UNKNOWN_OPT=yes
1585         fi
1586
1587         ;;
1588     xinerama)
1589         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1590             CFG_XINERAMA="$VAL"
1591         else
1592             UNKNOWN_OPT=yes
1593         fi
1594         ;;
1595     xshape)
1596         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1597             CFG_XSHAPE="$VAL"
1598         else
1599             UNKNOWN_OPT=yes
1600         fi
1601         ;;
1602     xvideo)
1603         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1604             CFG_XVIDEO="$VAL"
1605         else
1606             UNKNOWN_OPT=yes
1607         fi
1608         ;;
1609     xsync)
1610         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1611             CFG_XSYNC="$VAL"
1612         else
1613             UNKNOWN_OPT=yes
1614         fi
1615         ;;
1616     xinput)
1617         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1618             CFG_XINPUT="$VAL"
1619         else
1620             UNKNOWN_OPT=yes
1621         fi
1622         ;;
1623     egl)
1624         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1625             CFG_EGL="$VAL"
1626         else
1627             UNKNOWN_OPT=yes
1628         fi
1629         ;;
1630     stl)
1631         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1632             CFG_STL="$VAL"
1633         else
1634             UNKNOWN_OPT=yes
1635         fi
1636         ;;
1637     pch)
1638         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1639             CFG_PRECOMPILE="$VAL"
1640         else
1641             UNKNOWN_OPT=yes
1642         fi
1643         ;;
1644     separate-debug-info)
1645         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1646             CFG_SEPARATE_DEBUG_INFO="$VAL"
1647         elif [ "$VAL" = "nocopy" ] ; then
1648             CFG_SEPARATE_DEBUG_INFO="yes"
1649             CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
1650         else
1651             UNKNOWN_OPT=yes
1652         fi
1653         ;;
1654     reduce-exports)
1655         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1656             CFG_REDUCE_EXPORTS="$VAL"
1657         else
1658             UNKNOWN_OPT=yes
1659         fi
1660         ;;
1661     mmx)
1662         if [ "$VAL" = "no" ]; then
1663             CFG_MMX="$VAL"
1664         else
1665             UNKNOWN_OPT=yes
1666         fi
1667         ;;
1668     3dnow)
1669         if [ "$VAL" = "no" ]; then
1670             CFG_3DNOW="$VAL"
1671         else
1672             UNKNOWN_OPT=yes
1673         fi
1674         ;;
1675     sse)
1676         if [ "$VAL" = "no" ]; then
1677             CFG_SSE="$VAL"
1678         else
1679             UNKNOWN_OPT=yes
1680         fi
1681         ;;
1682     sse2)
1683         if [ "$VAL" = "no" ]; then
1684             CFG_SSE2="$VAL"
1685         else
1686             UNKNOWN_OPT=yes
1687         fi
1688         ;;
1689     sse3)
1690         if [ "$VAL" = "no" ]; then
1691             CFG_SSE3="$VAL"
1692         else
1693             UNKNOWN_OPT=yes
1694         fi
1695         ;;
1696     ssse3)
1697         if [ "$VAL" = "no" ]; then
1698             CFG_SSSE3="$VAL"
1699         else
1700             UNKNOWN_OPT=yes
1701         fi
1702         ;;
1703     sse4.1)
1704         if [ "$VAL" = "no" ]; then
1705             CFG_SSE4_1="$VAL"
1706         else
1707             UNKNOWN_OPT=yes
1708         fi
1709         ;;
1710     sse4.2)
1711         if [ "$VAL" = "no" ]; then
1712             CFG_SSE4_2="$VAL"
1713         else
1714             UNKNOWN_OPT=yes
1715         fi
1716         ;;
1717     avx)
1718         if [ "$VAL" = "no" ]; then
1719             CFG_AVX="$VAL"
1720         else
1721             UNKNOWN_OPT=yes
1722         fi
1723         ;;
1724     iwmmxt)
1725         CFG_IWMMXT="yes"
1726         ;;
1727     neon)
1728         if [ "$VAL" = "no" ]; then
1729             CFG_NEON="$VAL"
1730         else
1731             UNKNOWN_OPT=yes
1732         fi
1733         ;;
1734     reduce-relocations)
1735         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1736             CFG_REDUCE_RELOCATIONS="$VAL"
1737         else
1738             UNKNOWN_OPT=yes
1739         fi
1740         ;;
1741     freetype)
1742         [ "$VAL" = "qt" ] && VAL=yes
1743         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1744             CFG_QWS_FREETYPE="$VAL"
1745         else
1746             UNKNOWN_OPT=yes
1747         fi
1748         ;;
1749     zlib)
1750         [ "$VAL" = "qt" ] && VAL=yes
1751         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1752             CFG_ZLIB="$VAL"
1753         else
1754             UNKNOWN_OPT=yes
1755         fi
1756         # No longer supported:
1757         #[ "$VAL" = "no" ] && CFG_LIBPNG=no
1758         ;;
1759     s60)
1760         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1761             CFG_S60="$VAL"
1762         else
1763             UNKNOWN_OPT=yes
1764         fi
1765         ;;
1766     usedeffiles)
1767         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1768             CFG_SYMBIAN_DEFFILES="$VAL"
1769         else
1770             UNKNOWN_OPT=yes
1771         fi
1772         ;;
1773     sqlite)
1774         if [ "$VAL" = "system" ]; then
1775             CFG_SQLITE=system
1776         else
1777             UNKNOWN_OPT=yes
1778         fi
1779         ;;
1780     libpng)
1781         [ "$VAL" = "yes" ] && VAL=qt
1782         if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1783             CFG_LIBPNG="$VAL"
1784         else
1785             UNKNOWN_OPT=yes
1786         fi
1787         ;;
1788     libjpeg)
1789         [ "$VAL" = "yes" ] && VAL=qt
1790         if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1791             CFG_LIBJPEG="$VAL"
1792         else
1793             UNKNOWN_OPT=yes
1794         fi
1795         ;;
1796     libmng)
1797         [ "$VAL" = "yes" ] && VAL=qt
1798         if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1799             CFG_LIBMNG="$VAL"
1800         else
1801             UNKNOWN_OPT=yes
1802         fi
1803         ;;
1804     libtiff)
1805         [ "$VAL" = "yes" ] && VAL=qt
1806         if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
1807             CFG_LIBTIFF="$VAL"
1808         else
1809             UNKNOWN_OPT=yes
1810         fi
1811         ;;
1812     nas-sound)
1813         if [ "$VAL" = "system" ] || [ "$VAL" = "no" ]; then
1814             CFG_NAS="$VAL"
1815         else
1816             UNKNOWN_OPT=yes
1817         fi
1818         ;;
1819     xcursor)
1820         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1821             CFG_XCURSOR="$VAL"
1822         else
1823             UNKNOWN_OPT=yes
1824         fi
1825         ;;
1826     xfixes)
1827         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1828             CFG_XFIXES="$VAL"
1829         else
1830             UNKNOWN_OPT=yes
1831         fi
1832         ;;
1833     xrandr)
1834         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
1835             CFG_XRANDR="$VAL"
1836         else
1837             UNKNOWN_OPT=yes
1838         fi
1839         ;;
1840     xrender)
1841         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1842             CFG_XRENDER="$VAL"
1843         else
1844             UNKNOWN_OPT=yes
1845         fi
1846         ;;
1847     mitshm)
1848         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1849             CFG_MITSHM="$VAL"
1850         else
1851             UNKNOWN_OPT=yes
1852         fi
1853         ;;
1854     fontconfig)
1855         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1856             CFG_FONTCONFIG="$VAL"
1857         else
1858             UNKNOWN_OPT=yes
1859         fi
1860         ;;
1861     xkb)
1862         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1863             CFG_XKB="$VAL"
1864         else
1865             UNKNOWN_OPT=yes
1866         fi
1867         ;;
1868     cups)
1869         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1870             CFG_CUPS="$VAL"
1871         else
1872             UNKNOWN_OPT=yes
1873         fi
1874         ;;
1875     iconv)
1876         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1877             CFG_ICONV="$VAL"
1878         else
1879             UNKNOWN_OPT=yes
1880         fi
1881         ;;
1882     glib)
1883         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1884             CFG_GLIB="$VAL"
1885         else
1886             UNKNOWN_OPT=yes
1887         fi
1888         ;;
1889     gstreamer)
1890         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1891             CFG_GSTREAMER="$VAL"
1892         else
1893             UNKNOWN_OPT=yes
1894         fi
1895         ;;
1896     gtkstyle)
1897         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1898             CFG_QGTKSTYLE="$VAL"
1899         else
1900             UNKNOWN_OPT=yes
1901         fi
1902         ;;
1903     style-s60)
1904         if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ]; then
1905             CFG_QS60STYLE="$VAL"
1906         else
1907             UNKNOWN_OPT=yes
1908         fi
1909         ;;
1910     gui)
1911         if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1912             CFG_GUI="yes"
1913         else
1914             if [ "$VAL" = "no" ]; then
1915                 CFG_GUI="no"
1916             else
1917                 UNKNOWN_OPT=yes
1918             fi
1919         fi
1920         ;;
1921     qdbus|dbus)
1922         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
1923             CFG_DBUS="$VAL"
1924         elif [ "$VAL" = "runtime" ]; then
1925             CFG_DBUS="yes"
1926         else
1927             UNKNOWN_OPT=yes
1928         fi
1929         ;;
1930     dbus-linked)
1931         if [ "$VAL" = "yes" ]; then
1932             CFG_DBUS="linked"
1933         else
1934             UNKNOWN_OPT=yes
1935         fi
1936         ;;
1937     nis)
1938         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1939             CFG_NIS="$VAL"
1940         else
1941             UNKNOWN_OPT=yes
1942         fi
1943         ;;
1944     largefile)
1945         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1946             CFG_LARGEFILE="$VAL"
1947         else
1948             UNKNOWN_OPT=yes
1949         fi
1950         ;;
1951     openssl)
1952         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
1953             CFG_OPENSSL="$VAL"
1954         else
1955             UNKNOWN_OPT=yes
1956         fi
1957         ;;
1958     openssl-linked)
1959         if [ "$VAL" = "yes" ]; then
1960             CFG_OPENSSL="linked"
1961         else
1962             UNKNOWN_OPT=yes
1963         fi
1964         ;;
1965     ptmalloc)
1966         if [ "$VAL" = "yes" ]; then
1967             CFG_PTMALLOC="yes"
1968         else
1969             UNKNOWN_OPT=yes
1970         fi
1971         ;;
1972
1973     xmlpatterns)
1974         if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1975             CFG_XMLPATTERNS="yes"
1976         else
1977             if [ "$VAL" = "no" ]; then
1978                 CFG_XMLPATTERNS="no"
1979             else
1980                 UNKNOWN_OPT=yes
1981             fi
1982         fi
1983         ;;
1984     script)
1985         if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1986             CFG_SCRIPT="yes"
1987         else
1988             if [ "$VAL" = "no" ]; then
1989                 CFG_SCRIPT="no"
1990             else
1991                 UNKNOWN_OPT=yes
1992             fi
1993         fi
1994         ;;
1995     scripttools)
1996         if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
1997             CFG_SCRIPTTOOLS="yes"
1998         else
1999             if [ "$VAL" = "no" ]; then
2000                 CFG_SCRIPTTOOLS="no"
2001             else
2002                 UNKNOWN_OPT=yes
2003             fi
2004         fi
2005         ;;
2006     svg)
2007         if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
2008             CFG_SVG="yes"
2009         else
2010             if [ "$VAL" = "no" ]; then
2011                 CFG_SVG="no"
2012             else
2013                 UNKNOWN_OPT=yes
2014             fi
2015         fi
2016         ;;
2017     declarative)
2018         if [ "$VAL" = "yes" ]; then
2019             CFG_DECLARATIVE="yes"
2020         else
2021             if [ "$VAL" = "no" ]; then
2022                 CFG_DECLARATIVE="no"
2023             else
2024                 UNKNOWN_OPT=yes
2025             fi
2026         fi
2027         ;;
2028     declarative-debug)
2029         if [ "$VAL" = "yes" ]; then
2030             CFG_DECLARATIVE_DEBUG="yes"
2031         else
2032             if [ "$VAL" = "no" ]; then
2033                 CFG_DECLARATIVE_DEBUG="no"
2034             else
2035                 UNKNOWN_OPT=yes
2036             fi
2037         fi
2038         ;;
2039     webkit)
2040         [ "$VAL" = "auto" ] && VAL="yes"
2041         CFG_WEBKIT="$VAL"
2042         ;;
2043     javascript-jit)
2044         if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then 
2045             CFG_JAVASCRIPTCORE_JIT="$VAL"
2046         else
2047             UNKNOWN_OPT=yes
2048         fi
2049         ;;
2050     confirm-license)
2051         if [ "$VAL" = "yes" ]; then
2052             OPT_CONFIRM_LICENSE="$VAL"
2053         else
2054             UNKNOWN_OPT=yes
2055         fi
2056         ;;
2057     h|help)
2058         if [ "$VAL" = "yes" ]; then
2059             OPT_HELP="$VAL"
2060         else
2061             UNKNOWN_OPT=yes
2062         fi
2063         ;;
2064     sql-*|gfx-*|decoration-*|kbd-*|mouse-*)
2065         # if Qt style options were used, $VAL can be "no", "qt", or "plugin"
2066         # if autoconf style options were used, $VAL can be "yes" or "no"
2067         [ "$VAL" = "yes" ] && VAL=qt
2068         # now $VAL should be "no", "qt", or "plugin"... double-check
2069         if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then
2070             UNKNOWN_OPT=yes
2071         fi
2072         # now $VAL is "no", "qt", or "plugin"
2073         OPT="$VAL"
2074         VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"`
2075         VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"`
2076
2077         # Grab the available values
2078         case "$VAR" in
2079         sql)
2080             avail="$CFG_SQL_AVAILABLE"
2081             ;;
2082         gfx)
2083             avail="$CFG_GFX_AVAILABLE"
2084             if [ "$OPT" = "plugin" ]; then
2085                 avail="$CFG_GFX_PLUGIN_AVAILABLE"
2086             fi
2087             ;;
2088         decoration)
2089             avail="$CFG_DECORATION_AVAILABLE"
2090             if [ "$OPT" = "plugin" ]; then
2091                 avail="$CFG_DECORATION_PLUGIN_AVAILABLE"
2092             fi
2093             ;;
2094         kbd)
2095             avail="$CFG_KBD_AVAILABLE"
2096             if [ "$OPT" = "plugin" ]; then
2097                 avail="$CFG_KBD_PLUGIN_AVAILABLE"
2098             fi
2099             ;;
2100         mouse)
2101             avail="$CFG_MOUSE_AVAILABLE"
2102             if [ "$OPT" = "plugin" ]; then
2103                 avail="$CFG_MOUSE_PLUGIN_AVAILABLE"
2104             fi
2105             ;;
2106         *)
2107             avail=""
2108             echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
2109             ;;
2110         esac
2111
2112         # Check that that user's value is available.
2113         found=no
2114         for d in $avail; do
2115             if [ "$VAL" = "$d" ]; then
2116                 found=yes
2117                 break
2118             fi
2119         done
2120         [ "$found" = yes ] || ERROR=yes
2121
2122         if [ "$VAR" = "sql" ]; then
2123             # set the CFG_SQL_driver
2124             eval "CFG_SQL_$VAL=\$OPT"
2125             continue
2126         fi
2127
2128         if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
2129             if [ "$OPT" = "plugin" ]; then
2130                 [ "$VAR" = "decoration" ] && QMakeVar del "${VAR}s" "$VAL"
2131                 [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"` && CFG_DECORATION_PLUGIN="$CFG_DECORATION_PLUGIN ${VAL}"
2132                 [ "$VAR" = "kbd" ] && QMakeVar del "${VAR}s" "$VAL"
2133                 [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"` && CFG_KBD_PLUGIN="$CFG_KBD_PLUGIN ${VAL}"
2134                 [ "$VAR" = "mouse" ] && QMakeVar del "${VAR}s" "$VAL"
2135                 [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_MOUSE_PLUGIN="$CFG_MOUSE_PLUGIN ${VAL}"
2136                 [ "$VAR" = "gfx" ] && QMakeVar del "${VAR}s" "$VAL"
2137                 [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"` && CFG_GFX_PLUGIN="${CFG_GFX_PLUGIN} ${VAL}"
2138                 VAR="${VAR}-${OPT}"
2139             else
2140                 if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "decoration" ] || [ "$VAR" = "mouse" ]; then
2141                     [ "$VAR" = "gfx" ] && CFG_GFX_ON="$CFG_GFX_ON $VAL"
2142                     [ "$VAR" = "kbd" ] && CFG_KBD_ON="$CFG_KBD_ON $VAL"
2143                     [ "$VAR" = "decoration" ] && CFG_DECORATION_ON="$CFG_DECORATION_ON $VAL"
2144                     [ "$VAR" = "mouse" ] && CFG_MOUSE_ON="$CFG_MOUSE_ON $VAL"
2145                     VAR="${VAR}-driver"
2146                 fi
2147             fi
2148             QMakeVar add "${VAR}s" "${VAL}"
2149         elif [ "$OPT" = "no" ]; then
2150             PLUG_VAR="${VAR}-plugin"
2151             if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "mouse" ]; then
2152                 IN_VAR="${VAR}-driver"
2153             else
2154                 IN_VAR="${VAR}"
2155             fi
2156             [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"`
2157             [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"`
2158             [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"`
2159             [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"`
2160             QMakeVar del "${IN_VAR}s" "$VAL"
2161             QMakeVar del "${PLUG_VAR}s" "$VAL"
2162         fi
2163         if [ "$ERROR" = "yes" ]; then
2164            echo "$CURRENT_OPT: unknown argument"
2165            OPT_HELP=yes
2166         fi
2167         ;;
2168     v|verbose)
2169         if [ "$VAL" = "yes" ]; then
2170             if [ "$OPT_VERBOSE" = "$VAL" ]; then            # takes two verboses to turn on qmake debugs
2171                 QMAKE_SWITCHES="$QMAKE_SWITCHES -d"
2172             else
2173                 OPT_VERBOSE=yes
2174             fi
2175         elif [ "$VAL" = "no" ]; then
2176             if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then
2177                 QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"`
2178             else
2179                 OPT_VERBOSE=no
2180             fi
2181         else
2182             UNKNOWN_OPT=yes
2183         fi
2184         ;;
2185     fast)
2186         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2187             OPT_FAST="$VAL"
2188         else
2189             UNKNOWN_OPT=yes
2190         fi
2191         ;;
2192     rpath)
2193         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2194             CFG_RPATH="$VAL"
2195         else
2196             UNKNOWN_OPT=yes
2197         fi
2198         ;;
2199     add_define)
2200         D_FLAGS="$D_FLAGS \"$VAL\""
2201         ;;
2202     add_ipath)
2203         I_FLAGS="$I_FLAGS -I\"${VAL}\""
2204         ;;
2205     add_lpath)
2206         L_FLAGS="$L_FLAGS -L\"${VAL}\""
2207         ;;
2208     add_rpath)
2209         RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
2210         ;;
2211     add_link)
2212         l_FLAGS="$l_FLAGS -l\"${VAL}\""
2213         ;;
2214     add_fpath)
2215         if [ "$PLATFORM_MAC" = "yes" ]; then
2216             L_FLAGS="$L_FLAGS -F\"${VAL}\""
2217             I_FLAGS="$I_FLAGS -F\"${VAL}\""
2218         else
2219             UNKNOWN_OPT=yes
2220         fi
2221         ;;
2222     add_framework)
2223         if [ "$PLATFORM_MAC" = "yes" ]; then
2224             l_FLAGS="$l_FLAGS -framework \"${VAL}\""
2225         else
2226             UNKNOWN_OPT=yes
2227         fi
2228         ;;
2229     silent)
2230         CFG_SILENT="$VAL"
2231         ;;
2232     phonon)
2233         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2234             CFG_PHONON="$VAL"
2235         else
2236             UNKNOWN_OPT=yes
2237         fi
2238         ;;
2239     phonon-backend)
2240         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2241             CFG_PHONON_BACKEND="$VAL"
2242         else
2243             UNKNOWN_OPT=yes
2244         fi
2245         ;;
2246     multimedia)
2247         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2248             CFG_MULTIMEDIA="$VAL"
2249         else
2250             UNKNOWN_OPT=yes
2251         fi
2252         ;;
2253     dont-process)
2254         CFG_NOPROCESS=yes
2255         ;;
2256     process)
2257         CFG_NOPROCESS=no
2258         ;;
2259     audio-backend)
2260         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
2261             CFG_AUDIO_BACKEND="$VAL"
2262         else
2263             UNKNOWN_OPT=yes
2264         fi
2265         ;;
2266     fpu)
2267        if [ "$VAL" != "no" ]; then
2268           QT_CFLAGS_FPU=$VAL
2269        fi
2270        ;;
2271     *)
2272         UNKNOWN_OPT=yes
2273         ;;
2274     esac
2275     if [ "$UNKNOWN_OPT" = "yes" ]; then
2276         echo "${CURRENT_OPT}: invalid command-line switch"
2277         OPT_HELP=yes
2278         ERROR=yes
2279     fi
2280 done
2281
2282 if [ "$CFG_QCONFIG" != "full" ] && [ "$CFG_QT3SUPPORT" = "yes" ]; then
2283     echo "Warning: '-qconfig $CFG_QCONFIG' will disable the qt3support library."
2284     CFG_QT3SUPPORT="no"
2285 fi
2286 if [ "$CFG_GUI" = "no" ]; then
2287     echo "Warning: -no-gui will disable the qt3support library."
2288     CFG_QT3SUPPORT="no"
2289 fi
2290
2291 # update QT_CONFIG to show our current predefined configuration
2292 case "$CFG_QCONFIG" in
2293 minimal|small|medium|large|full)
2294     # these are a sequence of increasing functionality
2295     for c in minimal small medium large full; do
2296         QT_CONFIG="$QT_CONFIG $c-config"
2297         [ "$CFG_QCONFIG" = $c ] && break
2298     done
2299     ;;
2300 *)
2301     # not known to be sufficient for anything
2302     if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
2303         echo >&2 "Error: configuration file not found:"
2304         echo >&2 "  $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
2305         echo >&2 "  or"
2306         echo >&2 "  `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
2307         OPT_HELP=yes
2308     fi
2309 esac
2310
2311 #-------------------------------------------------------------------------------
2312 # build tree initialization
2313 #-------------------------------------------------------------------------------
2314
2315 # where to find which..
2316 unixtests="$relpath/config.tests/unix"
2317 mactests="$relpath/config.tests/mac"
2318 symbiantests="$relpath/config.tests/symbian"
2319 WHICH="$unixtests/which.test"
2320
2321 PERL=`$WHICH perl 2>/dev/null`
2322
2323 # find out which awk we want to use, prefer gawk, then nawk, then regular awk
2324 AWK=
2325 for e in gawk nawk awk; do
2326     if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then
2327         AWK=$e
2328         break
2329     fi
2330 done
2331
2332 # find perl
2333 PERL="/usr/bin/perl"
2334 if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
2335     PERL=`$WHICH perl`
2336 fi
2337
2338 ### skip this if the user just needs help...
2339 if [ "$OPT_HELP" != "yes" ]; then
2340
2341 # is this a shadow build?
2342 if [ "$OPT_SHADOW" = "maybe" ]; then
2343     OPT_SHADOW=no
2344     if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
2345         if [ -h "$outpath" ]; then
2346             [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
2347         else
2348             OPT_SHADOW=yes
2349         fi
2350     fi
2351 fi
2352 if [ "$OPT_SHADOW" = "yes" ]; then
2353     if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
2354         echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
2355         echo >&2 "Cannot proceed."
2356         exit 1
2357     fi
2358     [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
2359 fi
2360
2361 if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2362     echo
2363     echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
2364     echo "Qt can be built in release mode with separate debug information, so"
2365     echo "-debug-and-release is not necessary anymore"
2366     echo
2367 fi
2368
2369 # detect build style
2370 if [ "$CFG_DEBUG" = "auto" ]; then
2371     if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
2372         CFG_DEBUG_RELEASE=yes
2373         CFG_DEBUG=yes
2374     elif [ "$CFG_DEV" = "yes" ]; then
2375         CFG_DEBUG_RELEASE=no
2376         CFG_DEBUG=yes
2377     else
2378         CFG_DEBUG_RELEASE=no
2379         CFG_DEBUG=no
2380     fi
2381 fi
2382 if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
2383     QMAKE_CONFIG="$QMAKE_CONFIG build_all"
2384 fi
2385
2386 if [ "$CFG_SILENT" = "yes" ]; then
2387     QMAKE_CONFIG="$QMAKE_CONFIG silent"
2388 fi
2389
2390 # if the source tree is different from the build tree,
2391 # symlink or copy part of the sources
2392 if [ "$OPT_SHADOW" = "yes" ]; then
2393     echo "Preparing build tree..."
2394
2395     if [ -z "$PERL" ]; then
2396         echo
2397         echo "You need perl in your PATH to make a shadow build."
2398         echo "Cannot proceed."
2399         exit 1
2400     fi
2401
2402     [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
2403
2404     # symlink the qmake directory
2405     find "$relpath/qmake" | while read a; do
2406         my_a=`echo "$a" | sed "s,^${relpath}/,${outpath}/,"`
2407         if [ '!' -f "$my_a" ]; then
2408             if [ -d "$a" ]; then
2409                 # directories are created...
2410                 mkdir -p "$my_a"
2411             else
2412                 a_dir=`dirname "$my_a"`
2413                 [ -d "$a_dir" ] || mkdir -p "$a_dir"
2414                 # ... and files are symlinked
2415                 case `basename "$a"` in
2416                 *.o|*.d|GNUmakefile*|qmake)
2417                     ;;
2418                 *)
2419                     rm -f "$my_a"
2420                     ln -s "$a" "$my_a"
2421                     ;;
2422                 esac
2423             fi
2424         fi
2425     done
2426
2427     # make a syncqt script that can be used in the shadow
2428     rm -f "$outpath/bin/syncqt"
2429     if [ -x "$relpath/bin/syncqt" ]; then
2430         mkdir -p "$outpath/bin"
2431         echo "#!/bin/sh" >"$outpath/bin/syncqt"
2432         echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/syncqt"
2433         echo "perl \"$relpath/bin/syncqt\" -outdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
2434         chmod 755 "$outpath/bin/syncqt"
2435     fi
2436
2437     for i in elf2e32_qtwrapper createpackage patch_capabilities; do
2438         rm -f "$outpath/bin/$i"
2439         if [ -x "$relpath/bin/$i" ]; then
2440             mkdir -p "$outpath/bin"
2441             echo "#!/bin/sh" >"$outpath/bin/$i"
2442             echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
2443             echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
2444             chmod 755 "$outpath/bin/$i"
2445         fi
2446     done
2447
2448     # symlink the mkspecs directory
2449     mkdir -p "$outpath/mkspecs"
2450     rm -rf "$outpath"/mkspecs/*
2451     ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
2452     rm -f "$outpath/mkspecs/default"
2453
2454     ShadowMkspecs()
2455     {
2456         rm -rf "$outpath/mkspecs/$1"
2457         find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
2458         find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
2459     }
2460
2461     # Special case for mkspecs/features directory.
2462     # To be able to place .prf files into a shadow build directory,
2463     # we're creating links for files only. The directory structure is reproduced.
2464     ShadowMkspecs features
2465
2466     # The modules dir is special, too.
2467     ShadowMkspecs modules
2468
2469     # symlink the doc directory
2470     rm -rf "$outpath/doc"
2471     ln -s "$relpath/doc" "$outpath/doc"
2472
2473     # make sure q3porting.xml can be found
2474     mkdir -p "$outpath/tools/porting/src"
2475     rm -f "$outpath/tools/porting/src/q3porting.xml"
2476     ln -s "$relpath/tools/porting/src/q3porting.xml" "$outpath/tools/porting/src"
2477 fi
2478
2479 # symlink fonts to be able to run application from build directory
2480 if [ "$PLATFORM_QWS" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
2481     if [ "$PLATFORM" = "$XPLATFORM" ]; then
2482         mkdir -p "${outpath}/lib"
2483         ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
2484     fi
2485 fi
2486
2487 if [ "$OPT_FAST" = "auto" ]; then
2488    if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
2489        OPT_FAST=yes
2490    else
2491        OPT_FAST=no
2492    fi
2493 fi
2494
2495 # find a make command
2496 if [ -z "$MAKE" ]; then
2497     MAKE=
2498     for mk in gmake make; do
2499         if "$WHICH" $mk >/dev/null 2>&1; then
2500             MAKE=`"$WHICH" $mk`
2501             break
2502         fi
2503     done
2504     if [ -z "$MAKE" ]; then
2505         echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
2506         echo >&2 "Cannot proceed."
2507         exit 1
2508     fi
2509     # export MAKE, we need it later in the config.tests
2510     export MAKE
2511 fi
2512
2513 fi ### help
2514
2515 #-------------------------------------------------------------------------------
2516 # auto-detect all that hasn't been specified in the arguments
2517 #-------------------------------------------------------------------------------
2518
2519 [ "$PLATFORM_QWS" = "yes" -a "$CFG_EMBEDDED" = "no" ] && CFG_EMBEDDED=auto
2520 if [ "$CFG_EMBEDDED" != "no" ]; then
2521     case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2522     Darwin:*)
2523         [ -z "$PLATFORM" ] && PLATFORM=qws/macx-generic-g++
2524         if [ -z "$XPLATFORM" ]; then
2525             [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2526             XPLATFORM="qws/macx-$CFG_EMBEDDED-g++"
2527         fi
2528         ;;
2529     FreeBSD:*)
2530         [ -z "$PLATFORM" ] && PLATFORM=qws/freebsd-generic-g++
2531         if [ -z "$XPLATFORM" ]; then
2532             [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2533             XPLATFORM="qws/freebsd-$CFG_EMBEDDED-g++"
2534         fi
2535         ;;
2536     SunOS:5*)
2537         [ -z "$PLATFORM" ] && PLATFORM=qws/solaris-generic-g++
2538         if [ -z "$XPLATFORM" ]; then
2539             [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2540             XPLATFORM="qws/solaris-$CFG_EMBEDDED-g++"
2541         fi
2542         ;;
2543     Linux:*)
2544         if [ -z "$PLATFORM" ]; then
2545             case "$UNAME_MACHINE" in
2546             *86)
2547                 PLATFORM=qws/linux-x86-g++
2548                 ;;
2549             *86_64)
2550                 PLATFORM=qws/linux-x86_64-g++
2551                 ;;
2552             *)
2553                 PLATFORM=qws/linux-generic-g++
2554                 ;;
2555             esac
2556         fi
2557         if [ -z "$XPLATFORM" ]; then
2558             if [ "$CFG_EMBEDDED" = "auto" ]; then
2559                 if [ -n "$CFG_ARCH" ]; then
2560                     CFG_EMBEDDED=$CFG_ARCH
2561                 else
2562                     case "$UNAME_MACHINE" in
2563                     *86)
2564                         CFG_EMBEDDED=x86
2565                         ;;
2566                     *86_64)
2567                         CFG_EMBEDDED=x86_64
2568                         ;;
2569                     *)
2570                         CFG_EMBEDDED=generic
2571                         ;;
2572                     esac
2573                 fi
2574             fi
2575             XPLATFORM="qws/linux-$CFG_EMBEDDED-g++"
2576         fi
2577         ;;
2578     QNX:*)
2579         [ -z "$PLATFORM" ] && PLATFORM=unsupported/qws/qnx-generic-g++
2580         if [ -z "$XPLATFORM" ]; then
2581             [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
2582             XPLATFORM="unsupported/qws/qnx-$CFG_EMBEDDED-g++"
2583         fi
2584         ;;
2585     CYGWIN*:*)
2586         if [ -z "$XPLATFORM" ]; then
2587                 CFG_EMBEDDED=x86
2588         fi
2589         ;;
2590     *)
2591         echo "Qt for Embedded Linux is not supported on this platform. Disabling."
2592         CFG_EMBEDDED=no
2593         PLATFORM_QWS=no
2594         ;;
2595     esac
2596 fi
2597 if [ -z "$PLATFORM" ]; then
2598     PLATFORM_NOTES=
2599     case "$UNAME_SYSTEM:$UNAME_RELEASE" in
2600      Darwin:*)
2601         if [ "$PLATFORM_MAC" = "yes" ]; then
2602           PLATFORM=macx-g++
2603         # PLATFORM=macx-xcode
2604         else
2605           PLATFORM=darwin-g++
2606         fi
2607         ;;
2608      AIX:*)
2609         #PLATFORM=aix-g++
2610         #PLATFORM=aix-g++-64
2611         PLATFORM=aix-xlc
2612         #PLATFORM=aix-xlc-64
2613         PLATFORM_NOTES="
2614             - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
2615         "
2616         ;;
2617      GNU:*)
2618         PLATFORM=hurd-g++
2619         ;;
2620      dgux:*)
2621         PLATFORM=dgux-g++
2622         ;;
2623 #     DYNIX/ptx:4*)
2624 #       PLATFORM=dynix-g++
2625 #       ;;
2626      ULTRIX:*)
2627         PLATFORM=ultrix-g++
2628         ;;
2629      FreeBSD:*)
2630         PLATFORM=freebsd-g++
2631         PLATFORM_NOTES="
2632             - Also available for FreeBSD: freebsd-icc
2633         "
2634         ;;
2635      OpenBSD:*)
2636         PLATFORM=openbsd-g++
2637         ;;
2638      NetBSD:*)
2639         PLATFORM=netbsd-g++
2640         ;;
2641      BSD/OS:*|BSD/386:*)
2642         PLATFORM=bsdi-g++
2643         ;;
2644      IRIX*:*)
2645         #PLATFORM=irix-g++
2646         PLATFORM=irix-cc
2647         #PLATFORM=irix-cc-64
2648         PLATFORM_NOTES="
2649             - Also available for IRIX: irix-g++ irix-cc-64
2650         "
2651         ;;
2652      HP-UX:*)
2653         case "$UNAME_MACHINE" in
2654             ia64)
2655                 #PLATFORM=hpuxi-acc-32
2656                 PLATFORM=hpuxi-acc-64
2657                 PLATFORM_NOTES="
2658                     - Also available for HP-UXi: hpuxi-acc-32
2659                 "
2660             ;;
2661             *)
2662                 #PLATFORM=hpux-g++
2663                 PLATFORM=hpux-acc
2664                 #PLATFORM=hpux-acc-64
2665                 #PLATFORM=hpux-cc
2666                 #PLATFORM=hpux-acc-o64
2667                 PLATFORM_NOTES="
2668                     - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64
2669                 "
2670             ;;
2671         esac
2672         ;;
2673      OSF1:*)
2674         #PLATFORM=tru64-g++
2675         PLATFORM=tru64-cxx
2676         PLATFORM_NOTES="
2677             - Also available for Tru64: tru64-g++
2678         "
2679         ;;
2680      Linux:*)
2681         case "$UNAME_MACHINE" in
2682             x86_64|s390x|ppc64)
2683                 PLATFORM=linux-g++-64
2684                 ;;
2685             *)
2686                 PLATFORM=linux-g++
2687                 ;;
2688         esac
2689         PLATFORM_NOTES="
2690             - Also available for Linux: linux-kcc linux-icc linux-cxx
2691         "
2692         ;;
2693      SunOS:5*)
2694         if [ "$XPLATFORM_MINGW" = "yes" ]; then
2695             PLATFORM="solaris-g++"
2696         else
2697             #PLATFORM=solaris-g++
2698             PLATFORM=solaris-cc
2699             #PLATFORM=solaris-cc64
2700         fi
2701         PLATFORM_NOTES="
2702             - Also available for Solaris: solaris-g++ solaris-cc-64
2703         "
2704         ;;
2705      ReliantUNIX-*:*|SINIX-*:*)
2706         PLATFORM=reliant-cds
2707         #PLATFORM=reliant-cds-64
2708         PLATFORM_NOTES="
2709             - Also available for Reliant UNIX: reliant-cds-64
2710         "
2711         ;;
2712      CYGWIN*:*)
2713         PLATFORM=cygwin-g++
2714         ;;
2715      LynxOS*:*)
2716         PLATFORM=lynxos-g++
2717         ;;
2718      OpenUNIX:*)
2719         #PLATFORM=unixware-g++
2720         PLATFORM=unixware-cc
2721         PLATFORM_NOTES="
2722             - Also available for OpenUNIX: unixware-g++
2723         "
2724         ;;
2725      UnixWare:*)
2726         #PLATFORM=unixware-g++
2727         PLATFORM=unixware-cc
2728         PLATFORM_NOTES="
2729             - Also available for UnixWare: unixware-g++
2730         "
2731         ;;
2732      SCO_SV:*)
2733         #PLATFORM=sco-g++
2734         PLATFORM=sco-cc
2735         PLATFORM_NOTES="
2736             - Also available for SCO OpenServer: sco-g++
2737         "
2738         ;;
2739      UNIX_SV:*)
2740         PLATFORM=unixware-g++
2741         ;;
2742      QNX:*)
2743         PLATFORM=unsupported/qnx-g++
2744         ;;
2745      *)
2746         if [ "$OPT_HELP" != "yes" ]; then
2747             echo
2748             for p in $PLATFORMS; do
2749                 echo "    $relconf $* -platform $p"
2750             done
2751             echo >&2
2752             echo "   The build script does not currently recognize all" >&2
2753             echo "   platforms supported by Qt." >&2
2754             echo "   Rerun this script with a -platform option listed to" >&2
2755             echo "   set the system/compiler combination you use." >&2
2756             echo >&2
2757             exit 2
2758         fi
2759     esac
2760 fi
2761
2762 if [ "$PLATFORM_QWS" = "yes" ]; then
2763     CFG_SM=no
2764     PLATFORMS=`find "$relpath/mkspecs/qws" | sed "s,$relpath/mkspecs/qws/,,"`
2765 else
2766     PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
2767 fi
2768
2769 [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
2770
2771 case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
2772
2773 if [ -d "$PLATFORM" ]; then
2774   QMAKESPEC="$PLATFORM"
2775 else
2776   QMAKESPEC="$relpath/mkspecs/${PLATFORM}"
2777 fi
2778 if [ -d "$XPLATFORM" ]; then
2779   XQMAKESPEC="$XPLATFORM"
2780 else
2781   XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
2782 fi
2783 if [ "$PLATFORM" != "$XPLATFORM" ]; then
2784     QT_CROSS_COMPILE=yes
2785     QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
2786 fi
2787
2788 if [ "$PLATFORM_MAC" = "yes" ]; then
2789    if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
2790       echo >&2
2791       echo "   Platform 'macx-xcode' should not be used when building Qt/Mac." >&2
2792       echo "   Please build Qt/Mac with 'macx-g++', then if you would like to" >&2
2793       echo "   use mac-xcode on your application code it can link to a Qt/Mac" >&2
2794       echo "   built with 'macx-g++'" >&2
2795       echo >&2
2796       exit 2
2797     fi
2798 fi
2799
2800 # check specified platforms are supported
2801 if [ '!' -d "$QMAKESPEC" ]; then
2802     echo
2803     echo "   The specified system/compiler is not supported:"
2804     echo
2805     echo "      $QMAKESPEC"
2806     echo
2807     echo "   Please see the README file for a complete list."
2808     echo
2809     exit 2
2810 fi
2811 if [ '!' -d "$XQMAKESPEC" ]; then
2812     echo
2813     echo "   The specified system/compiler is not supported:"
2814     echo
2815     echo "      $XQMAKESPEC"
2816     echo
2817     echo "   Please see the README file for a complete list."
2818     echo
2819     exit 2
2820 fi
2821 if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
2822     echo
2823     echo "   The specified system/compiler port is not complete:"
2824     echo
2825     echo "      $XQMAKESPEC/qplatformdefs.h"
2826     echo
2827     echo "   Please contact qt-bugs@trolltech.com."
2828     echo
2829     exit 2
2830 fi
2831
2832 # now look at the configs and figure out what platform we are config'd for
2833 [ "$CFG_EMBEDDED" = "no" ] \
2834   && [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ] \
2835   && PLATFORM_X11=yes
2836 ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
2837
2838 if [ "$UNAME_SYSTEM" = "SunOS" ]; then
2839     # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
2840     if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then
2841         sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new"
2842         mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf"
2843     fi
2844 fi
2845
2846 #-------------------------------------------------------------------------------
2847 # determine the system architecture
2848 #-------------------------------------------------------------------------------
2849 if [ "$OPT_VERBOSE" = "yes" ]; then
2850     echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
2851 fi
2852
2853 if [ "$CFG_EMBEDDED" != "no" -a "$CFG_EMBEDDED" != "auto" ] && [ -n "$CFG_ARCH" ]; then
2854     if [ "$CFG_ARCH" != "$CFG_EMBEDDED" ]; then
2855         echo ""
2856         echo "You have specified a target architecture with -embedded and -arch."
2857         echo "The two architectures you have specified are different, so we can"
2858         echo "not proceed. Either set both to be the same, or only use -embedded."
2859         echo ""
2860         exit 1
2861     fi
2862 fi
2863
2864 if [ "$CFG_RTOS_ENABLED" = "no" ]; then
2865     case `basename "$XPLATFORM"` in
2866         qnx-* | vxworks-*)
2867             echo ""
2868             echo "You are not licensed for Qt for `basename $XPLATFORM`."
2869             echo ""
2870             echo "Please contact qt-info@nokia.com to upgrade your license to"
2871             echo "include this platform, or install the Qt Open Source Edition"
2872             echo "if you intend to develop free software."
2873             exit 1
2874             ;;
2875     esac
2876 fi
2877
2878 if [ -z "${CFG_HOST_ARCH}" ]; then
2879     case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
2880     GNU:*:*)
2881         CFG_HOST_ARCH=`echo ${UNAME_MACHINE} | sed -e 's,[-/].*$,,'`
2882         case "$CFG_HOST_ARCH" in
2883             i?86)
2884                 CFG_HOST_ARCH=i386
2885                 ;;
2886         esac
2887         if [ "$OPT_VERBOSE" = "yes" ]; then
2888             echo "    GNU/Hurd ($CFG_HOST_ARCH)"
2889         fi
2890         ;;
2891     IRIX*:*:*)
2892         CFG_HOST_ARCH=`uname -p`
2893         if [ "$OPT_VERBOSE" = "yes" ]; then
2894             echo "    SGI ($CFG_HOST_ARCH)"
2895         fi
2896         ;;
2897     SunOS:5*:*)
2898         case "$UNAME_MACHINE" in
2899         sun4u*|sun4v*)
2900             if [ "$OPT_VERBOSE" = "yes" ]; then
2901                 echo "    Sun SPARC (sparc)"
2902             fi
2903             CFG_HOST_ARCH=sparc
2904             ;;
2905         i86pc)
2906             case "$PLATFORM" in
2907             *-64*)
2908                 if [ "$OPT_VERBOSE" = "yes" ]; then
2909                     echo "    64-bit AMD 80x86 (x86_64)"
2910                 fi
2911                 CFG_HOST_ARCH=x86_64
2912                 ;;
2913             *)
2914                 if [ "$OPT_VERBOSE" = "yes" ]; then
2915                     echo "    32-bit Intel 80x86 (i386)"
2916                 fi
2917                 CFG_HOST_ARCH=i386
2918                 ;;
2919             esac
2920         esac
2921         ;;
2922     Darwin:*:*)
2923         case "$UNAME_MACHINE" in
2924             Power?Macintosh)
2925                 if [ "$OPT_VERBOSE" = "yes" ]; then
2926                     echo "    32-bit Apple PowerPC (powerpc)"
2927                 fi
2928                 ;;
2929             x86)
2930                 if [ "$OPT_VERBOSE" = "yes" ]; then
2931                     echo "    32-bit Intel 80x86 (i386)"
2932                 fi
2933                 ;;
2934         esac
2935         CFG_HOST_ARCH=macosx
2936         ;;
2937     AIX:*:00????????00)
2938         if [ "$OPT_VERBOSE" = "yes" ]; then
2939         echo "    64-bit IBM PowerPC (powerpc)"
2940         fi
2941         CFG_HOST_ARCH=powerpc
2942         ;;
2943     HP-UX:*:9000*)
2944         if [ "$OPT_VERBOSE" = "yes" ]; then
2945             echo "    HP PA-RISC (parisc)"
2946         fi
2947         CFG_HOST_ARCH=parisc
2948         ;;
2949     *:*:i?86)
2950         if [ "$OPT_VERBOSE" = "yes" ]; then
2951             echo "    32-bit Intel 80x86 (i386)"
2952         fi
2953         CFG_HOST_ARCH=i386
2954         ;;
2955     *:*:x86_64|*:*:amd64)
2956         if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
2957             if [ "$OPT_VERBOSE" = "yes" ]; then
2958                 echo "    32 bit on 64-bit AMD 80x86 (i386)"
2959             fi
2960             CFG_HOST_ARCH=i386
2961         else
2962             if [ "$OPT_VERBOSE" = "yes" ]; then
2963                 echo "    64-bit AMD 80x86 (x86_64)"
2964             fi
2965             CFG_HOST_ARCH=x86_64
2966         fi
2967         ;;
2968     *:*:ppc)
2969         if [ "$OPT_VERBOSE" = "yes" ]; then
2970             echo "    32-bit PowerPC (powerpc)"
2971         fi
2972         CFG_HOST_ARCH=powerpc
2973         ;;
2974     *:*:ppc64)
2975         if [ "$OPT_VERBOSE" = "yes" ]; then
2976             echo "    64-bit PowerPC (powerpc)"
2977         fi
2978         CFG_HOST_ARCH=powerpc
2979         ;;
2980     *:*:s390*)
2981         if [ "$OPT_VERBOSE" = "yes" ]; then
2982             echo "    IBM S/390 (s390)"
2983         fi
2984         CFG_HOST_ARCH=s390
2985         ;;
2986     *:*:arm*)
2987         if [ "$OPT_VERBOSE" = "yes" ]; then
2988             echo "    ARM (arm)"
2989         fi
2990         CFG_HOST_ARCH=arm
2991         ;;
2992     Linux:*:sparc*)
2993         if [ "$OPT_VERBOSE" = "yes" ]; then
2994             echo "    Linux on SPARC"
2995         fi
2996         CFG_HOST_ARCH=sparc
2997         ;;
2998     QNX:*:*)
2999         case "$UNAME_MACHINE" in
3000         x86pc)
3001             if [ "$OPT_VERBOSE" = "yes" ]; then
3002                 echo "    QNX on Intel 80x86 (i386)"
3003             fi
3004             CFG_HOST_ARCH=i386
3005             ;;
3006         esac
3007         ;;
3008     *:*:*)
3009         if [ "$OPT_VERBOSE" = "yes" ]; then
3010             echo "    Trying '$UNAME_MACHINE'..."
3011         fi
3012         CFG_HOST_ARCH="$UNAME_MACHINE"
3013         ;;
3014     esac
3015 fi
3016
3017 if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
3018     if [ -n "$CFG_ARCH" ]; then
3019         CFG_EMBEDDED=$CFG_ARCH
3020     fi
3021
3022     case "$CFG_EMBEDDED" in
3023     x86)
3024         CFG_ARCH=i386
3025         ;;
3026     x86_64)
3027         CFG_ARCH=x86_64
3028         ;;
3029     ipaq|sharp)
3030         CFG_ARCH=arm
3031         ;;
3032     dm7000)
3033         CFG_ARCH=powerpc
3034         ;;
3035     dm800)
3036         CFG_ARCH=mips
3037         ;;
3038     sh4al)
3039         CFG_ARCH=sh4a
3040         ;;
3041     *)
3042         CFG_ARCH="$CFG_EMBEDDED"
3043         ;;
3044     esac
3045 elif [ "$XPLATFORM_MINGW" = "yes" ]; then
3046     [ -z "$CFG_ARCH" ] && CFG_ARCH="windows"
3047 elif echo "$XPLATFORM" | grep symbian > /dev/null; then
3048     CFG_ARCH=symbian
3049 elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
3050     CFG_ARCH=$CFG_HOST_ARCH
3051 fi
3052
3053 if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
3054     if [ "$OPT_VERBOSE" = "yes" ]; then
3055         echo "    '$CFG_ARCH' is supported"
3056     fi
3057 else
3058     if [ "$OPT_VERBOSE" = "yes" ]; then
3059         echo "    '$CFG_ARCH' is unsupported, using 'generic'"
3060     fi
3061     CFG_ARCH=generic
3062 fi
3063 if [ "$CFG_HOST_ARCH" != "$CFG_ARCH" ]; then
3064     if [ -d "$relpath/src/corelib/arch/$CFG_HOST_ARCH" ]; then
3065         if [ "$OPT_VERBOSE" = "yes" ]; then
3066             echo "    '$CFG_HOST_ARCH' is supported"
3067         fi
3068     else
3069         if [ "$OPT_VERBOSE" = "yes" ]; then
3070             echo "    '$CFG_HOST_ARCH' is unsupported, using 'generic'"
3071         fi
3072         CFG_HOST_ARCH=generic
3073     fi
3074 fi
3075
3076 if [ "$OPT_VERBOSE" = "yes" ]; then
3077     echo "System architecture: '$CFG_ARCH'"
3078     if [ "$PLATFORM_QWS" = "yes" ]; then
3079         echo "Host architecture: '$CFG_HOST_ARCH'"
3080     fi
3081 fi
3082
3083 #-------------------------------------------------------------------------------
3084 # tests that don't need qmake (must be run before displaying help)
3085 #-------------------------------------------------------------------------------
3086
3087 if [ -z "$PKG_CONFIG" ]; then
3088     # See if PKG_CONFIG is set in the mkspec:
3089     PKG_CONFIG=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%PKG_CONFIG[^_].*=%%p' | tr '\n' ' '`
3090 fi
3091 if [ -z "$PKG_CONFIG" ]; then
3092     PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
3093 fi
3094
3095 # Work out if we can use pkg-config
3096 if [ "$QT_CROSS_COMPILE" = "yes" ]; then
3097     if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
3098         echo >&2 ""
3099         echo >&2 "You have asked to use pkg-config and are cross-compiling."
3100         echo >&2 "Please make sure you have a correctly set-up pkg-config"
3101         echo >&2 "environment!"
3102         echo >&2 ""
3103         if [ -z "$PKG_CONFIG_PATH" ]; then
3104             echo >&2 ""
3105             echo >&2 "Warning: PKG_CONFIG_PATH has not been set.  This could mean"
3106             echo >&2 "the host compiler's .pc files will be used. This is probably"
3107             echo >&2 "not what you want."
3108             echo >&2 ""
3109         elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
3110             echo >&2 ""
3111             echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
3112             echo >&2 "been set. This means your toolchain's .pc files must contain"
3113             echo >&2 "the paths to the toolchain's libraries & headers. If configure"
3114             echo >&2 "tests are failing, please check these files."
3115             echo >&2 ""
3116         fi
3117     else
3118         echo >&2 ""
3119         echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
3120         echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
3121         echo >&2 "dependencies"
3122         echo >&2 ""
3123         PKG_CONFIG=""
3124     fi
3125 fi
3126
3127 # process CFG_MAC_ARCHS
3128 if [ "$PLATFORM_MAC" = "yes" ]; then
3129 #   check -arch arguments for validity.
3130     ALLOWED="x86 ppc x86_64 ppc64 i386"
3131     # Save the list so we can re-write it using only valid values
3132     CFG_MAC_ARCHS_IN="$CFG_MAC_ARCHS"
3133     CFG_MAC_ARCHS=
3134     for i in $CFG_MAC_ARCHS_IN
3135     do 
3136         if echo "$ALLOWED" | grep -w -v "$i" > /dev/null 2>&1; then
3137             echo "Unknown architecture: \"$i\". Supported architectures: x86[i386] ppc x86_64 ppc64";
3138             exit 2;
3139         fi
3140         if [ "$i" = "i386" -o "$i" = "x86" ]; then
3141             # These are synonymous values
3142             # CFG_MAC_ARCHS requires x86 while GCC requires i386
3143             CFG_MAC_ARCHS="$CFG_MAC_ARCHS x86"
3144             MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -arch i386"
3145         else
3146             CFG_MAC_ARCHS="$CFG_MAC_ARCHS $i"
3147             MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -arch $i"
3148         fi
3149     done
3150 fi
3151
3152 # pass on $CFG_SDK to the configure tests.
3153 if [ '!' -z "$CFG_SDK" ]; then
3154     MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
3155 fi
3156
3157 # find the default framework value
3158 if [ "$PLATFORM_MAC" = "yes" ] && [ "$PLATFORM" != "macx-xlc" ]; then
3159     if [ "$CFG_FRAMEWORK" = "auto" ]; then
3160         CFG_FRAMEWORK="$CFG_SHARED"
3161     elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
3162         echo
3163         echo "WARNING: Using static linking will disable the use of Mac frameworks."
3164         echo
3165         CFG_FRAMEWORK="no"
3166     fi
3167 else
3168     CFG_FRAMEWORK=no
3169 fi
3170
3171 QMAKE_CONF_COMPILER=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | tail -1`
3172 TEST_COMPILER="$CXX"
3173
3174 [ -z "$TEST_COMPILER" ] && TEST_COMPILER=$QMAKE_CONF_COMPILER
3175 if [ "$XPLATFORM" != "symbian-sbsv2" ]; then
3176     #for Symbian we don't need this checking
3177     if [ -z "$TEST_COMPILER" ]; then
3178         echo "ERROR: Cannot set the compiler for the configuration tests"
3179         exit 1
3180     fi
3181 fi
3182
3183
3184 # auto-detect precompiled header support
3185 if [ "$CFG_PRECOMPILE" = "auto" ]; then
3186     if [ `echo "$CFG_MAC_ARCHS" | wc -w` -gt 1 ]; then
3187        CFG_PRECOMPILE=no
3188     elif "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
3189        CFG_PRECOMPILE=no
3190     else
3191        CFG_PRECOMPILE=yes
3192     fi
3193 elif [ "$CFG_PRECOMPILE" = "yes" ] && [ `echo "$CFG_MAC_ARCHS" | wc -w` -gt 1 ]; then
3194     echo
3195     echo "WARNING: Using universal binaries disables precompiled headers."
3196     echo
3197     CFG_PRECOMPILE=no
3198 fi
3199
3200 #auto-detect DWARF2 on the mac
3201 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
3202     if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
3203         CFG_MAC_DWARF2=no
3204     else
3205         CFG_MAC_DWARF2=yes
3206     fi
3207 fi
3208
3209 # auto-detect support for -Xarch on the mac
3210 if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_XARCH" = "auto" ]; then
3211     if "$mactests/xarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
3212         CFG_MAC_XARCH=no
3213     else
3214         CFG_MAC_XARCH=yes
3215     fi
3216 fi
3217
3218 # don't autodetect support for separate debug info on objcopy when
3219 # cross-compiling as lots of toolchains seems to have problems with this
3220 if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
3221     CFG_SEPARATE_DEBUG_INFO="no"
3222 fi
3223
3224 # auto-detect support for separate debug info in objcopy
3225 if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
3226     TEST_COMPILER_CFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CFLAGS[^_=]*[+*]*=%%p' | tr '\n' ' '`
3227     TEST_COMPILER_CXXFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CXXFLAGS[^_=]*[+*]*=%%p' | tr '\n' ' '`
3228     TEST_OBJCOPY=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_OBJCOPY" | sed "s%.* *= *\(.*\)$%\1%" | tail -1`
3229     COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
3230     COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
3231     if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
3232        CFG_SEPARATE_DEBUG_INFO=no
3233     else
3234        case "$PLATFORM" in
3235        hpux-*)
3236            # binutils on HP-UX is buggy; default to no.
3237            CFG_SEPARATE_DEBUG_INFO=no
3238            ;;
3239        *)
3240            CFG_SEPARATE_DEBUG_INFO=yes
3241            ;;
3242        esac
3243     fi
3244 fi
3245
3246 # auto-detect -fvisibility support
3247 if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then
3248     if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
3249        CFG_REDUCE_EXPORTS=no
3250     else
3251        CFG_REDUCE_EXPORTS=yes
3252     fi
3253 fi
3254
3255 # detect the availability of the -Bsymbolic-functions linker optimization
3256 if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
3257     if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
3258         CFG_REDUCE_RELOCATIONS=no
3259     else
3260         CFG_REDUCE_RELOCATIONS=yes
3261     fi
3262 fi
3263
3264 # auto-detect GNU make support
3265 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
3266    CFG_USE_GNUMAKE=yes
3267 fi
3268
3269 # If -opengl wasn't specified, don't try to auto-detect
3270 if [ "$PLATFORM_QWS" = "yes" ] && [ "$CFG_OPENGL" = "auto" ]; then
3271         CFG_OPENGL=no
3272 fi
3273
3274 # mac
3275 if [ "$PLATFORM_MAC" = "yes" ]; then
3276     if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
3277         CFG_OPENGL=desktop
3278     fi
3279 fi
3280
3281 # find the default framework value
3282 if [ "$PLATFORM_MAC" = "yes" ] && [ "$PLATFORM" != "macx-xlc" ]; then
3283     if [ "$CFG_FRAMEWORK" = "auto" ]; then
3284         CFG_FRAMEWORK="$CFG_SHARED"
3285     elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
3286         echo
3287         echo "WARNING: Using static linking will disable the use of Mac frameworks."
3288         echo
3289         CFG_FRAMEWORK="no"
3290     fi
3291 else
3292     CFG_FRAMEWORK=no
3293 fi
3294
3295 # Print a warning if configure was called with the 10.4u SDK option on Snow Leopard
3296 # with the default mkspec. The 10.4u SDK does not support gcc 4.2.
3297 if [ "$PLATFORM_MAC" = "yes" ] && [ '!' -z "$CFG_SDK" ]; then
3298     # get the darwin version. 10.0.0 and up means snow leopard.
3299     VERSION=`uname -r | tr '.' ' ' | awk '{print $1}'`
3300     if [ "$VERSION" -gt 9 ] && [ "$CFG_SDK" == "/Developer/SDKs/MacOSX10.4u.sdk/" ] && [ "$PLATFORM" == "macx-g++" ]; then
3301         echo
3302         echo "WARNING: The 10.4u SDK does not support gcc 4.2. Configure with -platform macx-g++40. "
3303         echo
3304     fi
3305 fi
3306
3307 # x11 tests are done after qmake is built
3308
3309
3310 #setup the build parts
3311 if [ -z "$CFG_BUILD_PARTS" ]; then
3312     CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
3313
3314     # don't build tools by default when cross-compiling
3315     if [ "$PLATFORM" != "$XPLATFORM" ]; then
3316         CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
3317     fi
3318 fi
3319 for nobuild in $CFG_NOBUILD_PARTS; do
3320     CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
3321 done
3322 if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
3323 #    echo
3324 #    echo "WARNING: libs is a required part of the build."
3325 #    echo
3326     CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
3327 fi
3328
3329 #-------------------------------------------------------------------------------
3330 # post process QT_INSTALL_* variables
3331 #-------------------------------------------------------------------------------
3332
3333 #prefix
3334 if [ -z "$QT_INSTALL_PREFIX" ]; then
3335     if [ "$CFG_DEV" = "yes" ]; then
3336         QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
3337     elif [ "$PLATFORM_QWS" = "yes" ]; then
3338         QT_INSTALL_PREFIX="/usr/local/Trolltech/QtEmbedded-${QT_VERSION}"
3339         if [ "$PLATFORM" != "$XPLATFORM" ]; then
3340             QT_INSTALL_PREFIX="${QT_INSTALL_PREFIX}-${CFG_ARCH}"
3341         fi
3342     elif [ -d "$EPOCROOT" ] && echo $XPLATFORM | grep symbian > /dev/null; then
3343         QT_INSTALL_PREFIX="$EPOCROOT/epoc32/"
3344         QT_INSTALL_LIBS="$EPOCROOT/epoc32/release/armv5/lib/"
3345     else
3346         QT_INSTALL_PREFIX="/usr/local/Trolltech/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Trolltech/Qt-$QT_VERSION
3347     fi
3348 fi
3349 QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
3350
3351 if echo $XPLATFORM | grep symbian > /dev/null; then
3352     [ -z "$QT_HOST_PREFIX" ] && QT_HOST_PREFIX="$QT_INSTALL_PREFIX"
3353     [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS=
3354     [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS=
3355     [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS=
3356     [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS=
3357     [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="\\\\resource\\\\qt$QT_LIBINFIX\\\\plugins"
3358     [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="\\\\resource\\\\qt$QT_LIBINFIX\\\\imports"
3359     [ -z "$QT_INSTALL_DATA" ] && QT_INSTALL_DATA=
3360     [ -z "$QT_INSTALL_TRANSLATIONS" ] && QT_INSTALL_TRANSLATIONS="\\\\resource\\\\qt$QT_LIBINFIX\\\\translations"
3361     [ -z "$QT_INSTALL_SETTINGS" ] && QT_INSTALL_SETTINGS=
3362     [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES=
3363     [ -z "$QT_INSTALL_DEMOS" ] && QT_INSTALL_DEMOS=
3364 else
3365     #docs
3366     if [ -z "$QT_INSTALL_DOCS" ]; then #default
3367         if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3368             if [ "$PLATFORM_MAC" = "yes" ]; then
3369                 QT_INSTALL_DOCS="/Developer/Documentation/Qt"
3370             fi
3371         fi
3372         [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
3373
3374     fi
3375     QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
3376
3377     #headers
3378     if [ -z "$QT_INSTALL_HEADERS" ]; then #default
3379         if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3380             if [ "$PLATFORM_MAC" = "yes" ]; then
3381                 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3382                     QT_INSTALL_HEADERS=
3383                 fi
3384             fi
3385         fi
3386         [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
3387
3388     fi
3389     QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
3390
3391     #libs
3392     if [ -z "$QT_INSTALL_LIBS" ]; then #default
3393         if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3394             if [ "$PLATFORM_MAC" = "yes" ]; then
3395                 if [ "$CFG_FRAMEWORK" = "yes" ]; then
3396                     QT_INSTALL_LIBS="/Libraries/Frameworks"
3397                 fi
3398             fi
3399         fi
3400         [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
3401     fi
3402     QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
3403
3404     #bins
3405     if [ -z "$QT_INSTALL_BINS" ]; then #default
3406         if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3407             if [ "$PLATFORM_MAC" = "yes" ]; then
3408                 QT_INSTALL_BINS="/Developer/Applications/Qt"
3409             fi
3410         fi
3411         [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
3412
3413     fi
3414     QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
3415
3416     #plugins
3417     if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
3418         if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3419             if [ "$PLATFORM_MAC" = "yes" ]; then
3420                 QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
3421             fi
3422         fi
3423         [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
3424     fi
3425     QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
3426
3427     #imports
3428     if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
3429         if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3430             if [ "$PLATFORM_MAC" = "yes" ]; then
3431                 QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
3432             fi
3433         fi
3434         [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
3435     fi
3436     QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
3437
3438     #data
3439     if [ -z "$QT_INSTALL_DATA" ]; then #default
3440         QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
3441     fi
3442     QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
3443
3444     #translations
3445     if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
3446         QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
3447     fi
3448     QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
3449
3450     #settings
3451     if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
3452         if [ "$PLATFORM_MAC" = "yes" ]; then
3453             QT_INSTALL_SETTINGS=/Library/Preferences/Qt
3454         else
3455             QT_INSTALL_SETTINGS=/etc/xdg
3456         fi
3457     fi
3458     QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
3459
3460     #examples
3461     if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
3462         if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3463             if [ "$PLATFORM_MAC" = "yes" ]; then
3464                 QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
3465             fi
3466         fi
3467         [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
3468     fi
3469     QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
3470
3471     #demos
3472     if [ -z "$QT_INSTALL_DEMOS" ]; then #default
3473         if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
3474             if [ "$PLATFORM_MAC" = "yes" ]; then
3475                 QT_INSTALL_DEMOS="/Developer/Examples/Qt/Demos"
3476             fi
3477         fi
3478         [ -z "$QT_INSTALL_DEMOS" ] && QT_INSTALL_DEMOS="$QT_INSTALL_PREFIX/demos"
3479     fi
3480     QT_INSTALL_DEMOS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DEMOS"`
3481 fi
3482
3483 #-------------------------------------------------------------------------------
3484 # help - interactive parts of the script _after_ this section please
3485 #-------------------------------------------------------------------------------
3486
3487 # next, emit a usage message if something failed.
3488 if [ "$OPT_HELP" = "yes" ]; then
3489     [ "x$ERROR" = "xyes" ] && echo
3490     if [ "$CFG_NIS" = "no" ]; then
3491         NSY=" "
3492         NSN="*"
3493     else
3494         NSY="*"
3495         NSN=" "
3496     fi
3497     if [ "$CFG_CUPS" = "no" ]; then
3498         CUY=" "
3499         CUN="*"
3500     else
3501         CUY="*"
3502         CUN=" "
3503     fi
3504     if [ "$CFG_ICONV" = "no" ]; then
3505         CIY=" "
3506         CIN="*"
3507     else
3508         CIY="*"
3509         CIN=" "
3510     fi
3511     if [ "$CFG_LARGEFILE" = "no" ]; then
3512         LFSY=" "
3513         LFSN="*"
3514     else
3515         LFSY="*"
3516         LFSN=" "
3517     fi
3518     if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then
3519         SHY="*"
3520         SHN=" "
3521     else
3522         SHY=" "
3523         SHN="*"
3524     fi
3525     if [ "$CFG_IPV6" = "auto" ]; then
3526         I6Y="*"
3527         I6N=" "
3528     fi
3529     if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
3530         PHY=" "
3531         PHN="*"
3532     else
3533         PHY="*"
3534         PHN=" "
3535     fi
3536
3537     cat <<EOF
3538 Usage:  $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
3539         [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
3540         [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>]
3541         [-demosdir <dir>] [-buildkey <key>] [-release] [-debug]
3542         [-debug-and-release] [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
3543         [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
3544         [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
3545         [-plugin-sql-<driver>] [-system-sqlite] [-no-qt3support] [-qt3support]
3546         [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
3547         [-qt-zlib] [-system-zlib] [-no-gif] [-qt-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff]
3548         [-no-libpng] [-qt-libpng] [-system-libpng] [-no-libmng] [-qt-libmng]
3549         [-system-libmng] [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
3550         [-nomake <part>] [-R <string>]  [-l <string>] [-no-rpath]  [-rpath] [-continue]
3551         [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
3552         [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
3553         [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
3554         [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
3555         [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] [-armfpa]
3556         [-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns] [-xmlpatterns]
3557         [-no-multimedia] [-multimedia] [-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend]
3558         [-no-media-backend] [-media-backend] [-no-audio-backend] [-audio-backend] 
3559         [-no-openssl] [-openssl] [-openssl-linked]
3560         [-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit] [-webkit-debug]
3561         [-no-javascript-jit] [-javascript-jit]
3562         [-no-script] [-script] [-no-scripttools] [-scripttools] 
3563         [-no-declarative] [-declarative][-no-declarative-debug] [-declarative-debug]
3564         [additional platform specific options (see below)]
3565
3566
3567 Installation options:
3568
3569  These are optional, but you may specify install directories.
3570
3571     -prefix <dir> ...... This will install everything relative to <dir>
3572                          (default $QT_INSTALL_PREFIX)
3573 EOF
3574 if [ "$PLATFORM_QWS" = "yes" ]; then
3575 cat <<EOF
3576
3577     -hostprefix [dir] .. Tools and libraries needed when developing
3578                          applications are installed in [dir]. If [dir] is
3579                          not given, the current build directory will be used.
3580 EOF
3581 fi
3582 cat <<EOF
3583
3584   * -prefix-install .... Force a sandboxed "local" installation of
3585                          Qt. This will install into
3586                          $QT_INSTALL_PREFIX, if this option is
3587                          disabled then some platforms will attempt a
3588                          "system" install by placing default values to
3589                          be placed in a system location other than
3590                          PREFIX.
3591
3592  You may use these to separate different parts of the install:
3593
3594     -bindir <dir> ......... Executables will be installed to <dir>
3595                             (default PREFIX/bin)
3596     -libdir <dir> ......... Libraries will be installed to <dir>
3597                             (default PREFIX/lib)
3598     -docdir <dir> ......... Documentation will be installed to <dir>
3599                             (default PREFIX/doc)
3600     -headerdir <dir> ...... Headers will be installed to <dir>
3601                             (default PREFIX/include)
3602     -plugindir <dir> ...... Plugins will be installed to <dir>
3603                             (default PREFIX/plugins)
3604     -importdir <dir> ...... Imports for QML will be installed to <dir>
3605                             (default PREFIX/imports)
3606     -datadir <dir> ........ Data used by Qt programs will be installed to <dir>
3607                             (default PREFIX)
3608     -translationdir <dir> . Translations of Qt programs will be installed to <dir>
3609                             (default PREFIX/translations)
3610     -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
3611                             (default PREFIX/etc/settings)
3612     -examplesdir <dir> .... Examples will be installed to <dir>
3613                             (default PREFIX/examples)
3614     -demosdir <dir> ....... Demos will be installed to <dir>
3615                             (default PREFIX/demos)
3616
3617  You may use these options to turn on strict plugin loading.
3618
3619     -buildkey <key> .... Build the Qt library and plugins using the specified
3620                          <key>.  When the library loads plugins, it will only
3621                          load those that have a matching key.
3622
3623 Configure options:
3624
3625  The defaults (*) are usually acceptable. A plus (+) denotes a default value
3626  that needs to be evaluated. If the evaluation succeeds, the feature is
3627  included. Here is a short explanation of each option:
3628
3629  *  -release ........... Compile and link Qt with debugging turned off.
3630     -debug ............. Compile and link Qt with debugging turned on.
3631     -debug-and-release . Compile and link two versions of Qt, with and without
3632                          debugging turned on (Mac only).
3633
3634     -developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
3635
3636     -opensource ........ Compile and link the Open-Source Edition of Qt.
3637     -commercial ........ Compile and link the Commercial Edition of Qt.
3638
3639
3640  *  -shared ............ Create and use shared Qt libraries.
3641     -static ............ Create and use static Qt libraries.
3642
3643  *  -no-fast ........... Configure Qt normally by generating Makefiles for all
3644                          project files.
3645     -fast .............. Configure Qt quickly by generating Makefiles only for
3646                          library and subdirectory targets.  All other Makefiles
3647                          are created as wrappers, which will in turn run qmake.
3648
3649     -no-largefile ...... Disables large file support.
3650  +  -largefile ......... Enables Qt to access files larger than 4 GB.
3651
3652 EOF
3653 if [ "$PLATFORM_QWS" = "yes" ]; then
3654     EXCN="*"
3655     EXCY=" "
3656 else
3657     EXCN=" "
3658     EXCY="*"
3659 fi
3660 if [ "$CFG_DBUS" = "no" ]; then
3661     DBY=" "
3662     DBN="+"
3663 else
3664     DBY="+"
3665     DBN=" "
3666 fi
3667
3668     cat << EOF
3669  $EXCN  -no-exceptions ..... Disable exceptions on compilers that support it.
3670  $EXCY  -exceptions ........ Enable exceptions on compilers that support it.
3671
3672     -no-accessibility .. Do not compile Accessibility support.
3673  *  -accessibility ..... Compile Accessibility support.
3674
3675  $SHN  -no-stl ............ Do not compile STL support.
3676  $SHY  -stl ............... Compile STL support.
3677
3678     -no-sql-<driver> ... Disable SQL <driver> entirely.
3679     -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
3680                          none are turned on.
3681     -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
3682                          at run time.
3683
3684                          Possible values for <driver>:
3685                          [ $CFG_SQL_AVAILABLE ]
3686
3687     -system-sqlite ..... Use sqlite from the operating system.
3688
3689     -no-qt3support ..... Disables the Qt 3 support functionality.
3690  *  -qt3support ........ Enables the Qt 3 support functionality.
3691
3692     -no-xmlpatterns .... Do not build the QtXmlPatterns module.
3693  +  -xmlpatterns ....... Build the QtXmlPatterns module.
3694                          QtXmlPatterns is built if a decent C++ compiler
3695                          is used and exceptions are enabled.
3696
3697     -no-multimedia ..... Do not build the QtMultimedia module.
3698  +  -multimedia ........ Build the QtMultimedia module.
3699
3700     -no-audio-backend .. Do not build the platform audio backend into QtMultimedia.
3701  +  -audio-backend ..... Build the platform audio backend into QtMultimedia if available.
3702
3703     -no-phonon ......... Do not build the Phonon module.
3704  +  -phonon ............ Build the Phonon module.
3705                          Phonon is built if a decent C++ compiler is used.
3706     -no-phonon-backend.. Do not build the platform phonon plugin.
3707  +  -phonon-backend..... Build the platform phonon plugin.
3708
3709     -no-svg ............ Do not build the SVG module.
3710  +  -svg ............... Build the SVG module.
3711
3712     -no-webkit ......... Do not build the WebKit module.
3713  +  -webkit ............ Build the WebKit module.
3714                          WebKit is built if a decent C++ compiler is used.
3715     -webkit-debug ...... Build the WebKit module with debug symbols.
3716
3717     -no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
3718  +  -javascript-jit .... Build the JavaScriptCore JIT compiler.
3719
3720     -no-script ......... Do not build the QtScript module.
3721  +  -script ............ Build the QtScript module.
3722
3723     -no-scripttools .... Do not build the QtScriptTools module.
3724  +  -scripttools ....... Build the QtScriptTools module.
3725
3726     -no-declarative ..... Do not build the declarative module.
3727  +  -declarative ....... Build the declarative module.
3728
3729     -no-declarative-debug ..... Do not build the declarative debugging support.
3730  +  -declarative-debug ....... Build the declarative debugging support.
3731
3732     -platform target ... The operating system and compiler you are building
3733                          on ($PLATFORM).
3734
3735                          See the README file for a list of supported
3736                          operating systems and compilers.
3737 EOF
3738 if [ "${PLATFORM_QWS}" != "yes" ]; then
3739 cat << EOF
3740     -graphicssystem <sys> Sets an alternate graphics system. Available options are:
3741                            raster - Software rasterizer
3742                            opengl - Rendering via OpenGL, Experimental!
3743                            openvg - Rendering via OpenVG, Experimental!
3744
3745 EOF
3746 fi
3747 cat << EOF
3748
3749     -no-mmx ............ Do not compile with use of MMX instructions.
3750     -no-3dnow .......... Do not compile with use of 3DNOW instructions.
3751     -no-sse ............ Do not compile with use of SSE instructions.
3752     -no-sse2 ........... Do not compile with use of SSE2 instructions.
3753     -no-sse3 ........... Do not compile with use of SSE3 instructions.
3754     -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
3755     -no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
3756     -no-sse4.2.......... Do not compile with use of SSE4.2 instructions.