#!/bin/sh # # # Configures to build the Qt library # # Copyright (C) 1999-2008 Trolltech ASA. All rights reserved. # #------------------------------------------------------------------------------- # script initialization #------------------------------------------------------------------------------- # the name of this script relconf=`basename $0` # the directory of this script is the "source tree" relpath=`dirname $0` relpath=`(cd $relpath; /bin/pwd)` # the current directory is the "build tree" or "object tree" outpath=`/bin/pwd` # later cache the command line in config.status OPT_CMDLINE=`echo $@ | sed "s,-v ,,g; s,-v$,,g"` # initialize global variables QMAKE_SWITCHES= QMAKE_VARS= QMAKE_CONFIG= SUPPORTED= #------------------------------------------------------------------------------- # operating system detection #------------------------------------------------------------------------------- # need that throughout the script UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown #------------------------------------------------------------------------------- # window system detection #------------------------------------------------------------------------------- PLATFORM_X11=no PLATFORM_MAC=no PLATFORM_QWS=no PLATFORM_QNX=no if [ -f $relpath/src/kernel/qapplication_mac.cpp ] && [ -d /System/Library/Frameworks/Carbon.framework ]; then # Qt/Mac # ~ the Carbon SDK exists # ~ src/kernel/qapplication_mac.cpp is present # ~ this is the internal edition and Qt/Mac sources exist PLATFORM_MAC=maybe elif [ -f $relpath/src/kernel/qapplication_qws.cpp ]; then # Qt/Embedded # ~ src/kernel/qapplication_qws.cpp is present # ~ this is the open source or commercial edition # ~ this is the internal edition and Qt/Embedded is explicitly enabled # ~ this is the internal edition and the OS is QNX if [ "$UNAME_SYSTEM" = "QNX" ]; then PLATFORM_QNX=maybe else PLATFORM_QWS=maybe fi fi #------------------------------------------------------------------------------- # check commercial license #------------------------------------------------------------------------------- # Qtopia Edition. if [ -f $relpath/LICENSE.Qtopia ]; then Edition="qtopia" Licensee="Qtopia" Products="qt-enterprise" # Open Source Edition - may only be used under the terms of the QPL or GPL. # Qt/X11, Qt/Embedded elif [ -f $relpath/LICENSE.QPL -o -f $relpath/LICENSE.GPL2 -o -f $relpath/LICENSE.GPL3 ]; then [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes [ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=yes Edition="free" Licensee="Free" Products="qt-free" # Evaluation version. # Qt/X11, Qt/Embedded, Qt/Mac elif [ -f $relpath/LICENSE.EVAL ]; then [ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=yes Edition="eval" Licensee="Evaluation" Products="qt-eval" # Internal Trolltech edition. # Qt/X11, Qt/Embedded, Qt/Mac, Qt/QNX elif [ -f $relpath/LICENSE.TROLL ]; then [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes [ "$PLATFORM_QNX" = "maybe" ] && PLATFORM_QNX=yes Edition="troll" Licensee="Trolltech" Products="qt-internal" # Commercial edition - needs a license. # Qt/X11, Qt/Embedded, Qt/Mac elif [ -f $relpath/.LICENSE ]; then [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes [ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=yes echo Desc="" if [ -f $HOME/.qt-license ]; then . $HOME/.qt-license >/dev/null 2>&1 if [ -z "$LicenseKey" ]; then echo echo "You are using an old license file." echo echo "Please install the license file supplied by Trolltech," echo "or install the Qt Open Source Edition if you intend to develop" echo "open source software." exit 1 fi else if [ -z "$LicenseKey" ]; then echo if echo '\c' | grep '\c' >/dev/null; then echo -n "Please enter your license key: " else echo "Please enter your license key: \c" fi read LicenseKey fi fi if echo $LicenseKey | grep "....-....-...." >/dev/null 2>&1; then # get the first character of the key keyTest=`echo $LicenseKey | cut -b1` # this character should fit the platform if [ "$PLATFORM_QWS" = "yes" ]; then case $keyTest in A|B|C|D|E|F|G|H|a|b|c|d|e|f|g|h) # Qt/Embedded echo ;; *) echo echo "You are not licensed for the Qt/Embedded platform." echo echo "Please contact sales@trolltech.com to upgrade your license" echo "to include the Qt/Embedded platform, or install the" echo "Qt Open Source Edition if you intend to develop open source" echo "software." exit 1 ;; esac elif [ "$PLATFORM_MAC" = "yes" ]; then case $keyTest in *) ### # Qt/Mac echo ;; *) echo echo "You are not licensed for the Qt/Mac platform." echo echo "Please contact sales@trolltech.com to upgrade your license" echo "to include the Qt/Mac platform." exit 1 ;; esac else case $keyTest in 6|7|8|9|E|F|G|H|e|f|g|h) # Qt/X11 echo ;; *) echo echo "You are not licensed for the Qt/X11 platform." echo echo "Please contact sales@trolltech.com to upgrade your license to" echo "include the Qt/X11 platform, or install the Qt Open Source Edition" echo "if you intend to develop open source software." exit 1 ;; esac fi case $keyTest in 4|5|8|9|C|D|G|H|c|d|g|h) # Enterprise Products=qt-enterprise Desc="Enterprise" Edition="ent" ;; *) # Professional Products=qt-professional Desc="Professional" Edition="pro" ;; esac case $keyTest in 3|5|7|9|B|D|F|H|b|d|f|h) # US cp -f $relpath/.LICENSE-US $relpath/LICENSE ;; *) cp -f $relpath/.LICENSE $relpath/LICENSE ;; esac else echo echo "Invalid license key. Please check the license key." exit 1 fi else echo "The LICENSE, LICENSE.QPL, or LICENSE.GPL2 file shipped with" echo "this software has disappeared." echo echo "Sorry, you are not licensed to use this software." echo "Try re-installing." echo exit 1 fi # licensed modules depend on type of commercial license MODULES="styles tools kernel widgets dialogs iconview workspace inputmethod" [ "$PLATFORM_QWS" = "yes" ] && [ "$Products" = "qt-professional" ] && MODULES="$MODULES network" [ "$Products" != "qt-professional" ] && MODULES="$MODULES network canvas table xml opengl sql" CFG_MODULES_AVAILABLE=$MODULES QMAKE_VARS="$QMAKE_VARS \"QT_PRODUCT=$Products\"" QMAKE_VARS="$QMAKE_VARS \"styles += windows motif mac platinum sgi cde motifplus\"" QMAKE_VARS="$QMAKE_VARS \"kbd-drivers += tty\" \"mouse-drivers += pc\"" #------------------------------------------------------------------------------- # initalize variables #------------------------------------------------------------------------------- # QTDIR may be set and point to an old or system-wide Qt installation unset QTDIR # initalize internal variables CFG_CONFIGURE_EXIT_ON_ERROR=yes CFG_PROFILE=no CFG_EXCEPTION_SUPPORT=unspecified CFG_INCREMENTAL=auto CFG_QCONFIG=full CFG_EMBEDDED=no CFG_DEBUG=no CFG_SHARED=yes CFG_GIF=no CFG_THREAD=auto CFG_SM=auto CFG_XSHAPE=auto CFG_XINERAMA=auto CFG_BIG_CODECS=yes CFG_ZLIB=yes CFG_PNG=yes CFG_LIBPNG=qt CFG_JPEG=auto CFG_LIBJPEG=qt CFG_MNG=auto CFG_LIBMNG=qt CFG_XCURSOR=auto CFG_XRANDR=auto CFG_XRENDER=auto CFG_FREETYPE=auto CFG_QWS_FREETYPE=yes CFG_SQL_AVAILABLE= CFG_SQL_AUTODETECTED= CFG_GFX_AVAILABLE= CFG_STYLE_AVAILABLE= #Keep this position for CFG_IM* to avoid patch rejection CFG_IM=yes CFG_IM_EXT=no CFG_TABLET=auto CFG_XKB=auto CFG_NIS=auto CFG_CUPS=auto CFG_LARGEFILE=auto CFG_NEWABI=no ### need to break ABI for full Large File support... CFG_STL=auto CFG_PRECOMPILE=no CFG_IPV6=auto CFG_NAS=no CFG_QWS_DEPTHS=prompted CFG_USER_BUILD_KEY= CFG_ACCESSIBILITY=auto CFG_DLOPEN_OPENGL=no CFG_ENDIAN=auto D_FLAGS= I_FLAGS= L_FLAGS= R_FLAGS= l_FLAGS= QCONFIG_FLAGS= XPLATFORM= PLATFORM=$QMAKESPEC QMAKE_PROJECTS= QMAKE_IGNORE_PROJECTS= OPT_CONCURRENT=0 OPT_SHADOW=maybe OPT_FAST=auto OPT_VERBOSE=no OPT_HELP= # initalize variables used for installation QT_INSTALL_PREFIX= QT_INSTALL_DOCS= QT_INSTALL_HEADERS= QT_INSTALL_LIBS= QT_INSTALL_BINS= QT_INSTALL_PLUGINS= QT_INSTALL_DATA= QT_INSTALL_TRANSLATIONS= QT_INSTALL_SYSCONF= #------------------------------------------------------------------------------- # check SQL drivers and styles available in this package #------------------------------------------------------------------------------- CFG_SQL_AVAILABLE=`find $relpath/plugins/src/sqldrivers/* -prune -type d -exec basename {} \;` # normalize whitespace CFG_SQL_AVAILABLE=`echo $CFG_SQL_AVAILABLE` CFG_STYLE_AVAILABLE=`find $relpath/plugins/src/styles/* -prune -type d -exec basename {} \;` # normalize whitespace CFG_STYLE_AVAILABLE=`echo $CFG_STYLE_AVAILABLE` #------------------------------------------------------------------------------- # parse command line arguments #------------------------------------------------------------------------------- # parse the arguments, setting things to "yes" or "no" while [ "$#" -gt 0 ]; do CURRENT_OPT="$1" UNKNOWN_ARG=no case $1 in #Autoconf style options --enable-*) VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"` VAL=yes ;; --disable-*) VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"` VAL=no ;; --*=*) VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"` VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"` ;; --no-*) VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"` VAL=no ;; --*) VAR=`echo $1 | sed "s,^--\(.*\),\1,"` VAL=yes ;; #Qt plugin options -no-*-*|-plugin-*-*|-qt-*-*) VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"` VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"` ;; #Qt style no options -no-*) VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"` VAL=no ;; #Qt style yes options -incremental|-qvfb|-profile|-shared|-static|-sm|-thread|-xinerama|-xshape|-tablet|-pch|-stl|-ipv6|-freetype|-big-codecs|-xcursor|-xrandr|-xrender|-xft|-xkb|-nis|-cups|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-version-script|-dlopen-opengl) VAR=`echo $1 | sed "s,^-\(.*\),\1,"` VAL=yes ;; #Qt style options that pass an argument -qconfig) if [ "$PLATFORM_QWS" = "yes" ]; then CFG_QCONFIG="$VAL" VAR=`echo $1 | sed "s,^-\(.*\),\1,"` shift VAL=$1 else UNKNOWN_ARG=yes fi ;; -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey) VAR=`echo $1 | sed "s,^-\(.*\),\1,"` shift VAL=$1 ;; #Qt style complex options in one command -enable-*|-disable-*) VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"` VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"` ;; #Qt Builtin/System style options -no-*|-system-*|-qt-*) VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"` VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"` ;; #Options that cannot be generalized -k|-continue) VAR=fatal_error VAL=no ;; #Qt style yes options for immodule #Keep this place to avoid patch rejection -inputmethod|-inputmethod-ext) VAR=`echo $1 | sed "s,^-\(.*\),\1,"` VAL=yes ;; -embedded) VAR=embedded # this option may or may not be followed by an argument if [ -z $2 ] || echo $2 | grep '^-' >/dev/null 2>&1; then VAL=auto else shift; VAL=$1 fi ;; -*-endian) VAR=endian VAL=`echo $1 | sed "s,^-\(.*\)-.*,\1,"` ;; -j?*) VAR="concurrent" VAL="`echo $1 | sed 's,-j,,'`" ;; -D?*|-D) VAR="define" if [ "$1" = "-D" ]; then shift VAL="$1" else VAL=`echo $1 | sed 's,-D,,'` fi ;; -I?*|-I) VAR="ipath" if [ "$1" = "-I" ]; then shift VAL="$1" else VAL=`echo $1 | sed 's,-I,,'` fi ;; -L?*|-L) VAR="lpath" if [ "$1" = "-L" ]; then shift VAL="$1" else VAL=`echo $1 | sed 's,-L,,'` fi ;; -R?*|-R) VAR="rpath" if [ "$1" = "-R" ]; then shift VAL="$1" else VAL=`echo $1 | sed 's,-R,,'` fi ;; -l?*) VAR="link" VAL=`echo $1 | sed 's,-l,,'` ;; *) UNKNOWN_ARG=yes ;; esac if [ "$UNKNOWN_ARG" = "yes" ]; then echo "$1: unknown argument" OPT_HELP=yes ERROR=yes shift continue fi shift UNKNOWN_OPT=no case $VAR in accessibility) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_ACCESSIBILITY="$VAL" else UNKNOWN_OPT=yes fi ;; prefix) QT_INSTALL_PREFIX="$VAL" ;; docdir) QT_INSTALL_DOCS="$VAL" ;; headerdir) QT_INSTALL_HEADERS="$VAL" ;; plugindir) QT_INSTALL_PLUGINS="$VAL" ;; datadir) QT_INSTALL_DATA="$VAL" ;; libdir) QT_INSTALL_LIBS="$VAL" ;; translationdir) QT_INSTALL_TRANSLATIONS="$VAL" ;; sysconfdir) QT_INSTALL_SYSCONF="$VAL" ;; qconfig) CFG_QCONFIG="$VAL" ;; bindir) QT_INSTALL_BINS="$VAL" ;; buildkey) CFG_USER_BUILD_KEY="$VAL" ;; embedded) CFG_EMBEDDED="$VAL" if [ "$PLATFORM_QNX" != "no" -o "$PLATFORM_QWS" != "no" ]; then if [ "$PLATFORM_QNX" = "maybe" ]; then PLATFORM_QNX=yes elif [ "$PLATFORM_QWS" = "maybe" ]; then PLATFORM_QWS=yes fi else echo "No license exists to enable Qt/Embedded. Disabling." CFG_EMBEDDED=no fi ;; endian) if [ "$VAL" = "little" ]; then CFG_ENDIAN="Q_LITTLE_ENDIAN" elif [ "$VAL" = "big" ]; then CFG_ENDIAN="Q_BIG_ENDIAN" else UNKNOWN_OPT=yes fi ;; depths) CFG_QWS_DEPTHS="$VAL" ;; qvfb) # left for commandline compatibility, not documented if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then [ "$VAL" = "yes" ] && QMAKE_VARS="$QMAKE_VARS \"gfx-drivers += qvfb\"" else UNKNOWN_OPT=yes fi ;; nomake) QMAKE_IGNORE_PROJECTS="$QMAKE_IGNORE_PROJECTS $VAL" ;; make) if [ -f $relpath/$VAL ]; then QMAKE_PROJECTS="$QMAKE_PROJECTS $relpath/$VAL" else if [ -d $relpath/$VAL ]; then QMAKE_PROJECTS="$QMAKE_PROJECTS `find $relpath/$VAL -name '*.pro' -print`" else QMAKE_PROJECTS="$QMAKE_PROJECTS `find $relpath/. -name '*.pro' -print`" fi fi ;; x11) if [ "$Edition" = "troll" ] && [ "$VAL" = "yes" ]; then if [ "$PLATFORM_MAC" = "yes" ]; then PLATFORM_MAC=no elif [ "$PLATFORM_QWS" = "yes" ]; then PLATFORM_QWS=no fi PLATFORM_X11=yes else UNKNOWN_OPT=yes fi ;; profile) if [ "$VAL" = "yes" ]; then CFG_PROFILE=yes QMAKE_VARS="$QMAKE_VARS QMAKE_CFLAGS+=-pg QMAKE_CXXFLAGS+=-pg" QMAKE_VARS="$QMAKE_VARS QMAKE_LFLAGS+=-pg" else UNKNOWN_OPT=yes fi ;; exceptions|g++-exceptions) if [ "$VAL" = "no" ]; then CFG_EXCEPTION_SUPPORT=no else UNKNOWN_OPT=yes fi ;; version-script) if [ "$VAL" = "yes" ]; then QMAKE_CONFIG="$QMAKE_CONFIG version_script" fi ;; platform) PLATFORM="$VAL" # keep compatibility with old platform names case $PLATFORM in aix-64) PLATFORM=aix-xlc-64 ;; hpux-o64) PLATFORM=hpux-acc-o64 ;; hpux-n64) PLATFORM=hpux-acc-64 ;; hpux-acc-n64) PLATFORM=hpux-acc-64 ;; irix-o32) PLATFORM=irix-cc-o32 ;; irix-n32) PLATFORM=irix-cc ;; irix-64) PLATFORM=irix-cc-64 ;; irix-cc-n64) PLATFORM=irix-cc-64 ;; reliant-64) PLATFORM=reliant-cds-64 ;; solaris-64) PLATFORM=solaris-cc-64 ;; solaris-64) PLATFORM=solaris-cc-64 ;; openunix-cc) PLATFORM=unixware-cc ;; openunix-g++) PLATFORM=unixware-g++ ;; unixware7-cc) PLATFORM=unixware-cc ;; unixware7-g++) PLATFORM=unixware-g++ ;; esac ;; xplatform) XPLATFORM="$VAL" ;; release) if [ "$VAL" = "yes" ]; then CFG_DEBUG=no elif [ "$VAL" = "no" ]; then CFG_DEBUG=yes else UNKNOWN_OPT=yes fi ;; debug) CFG_DEBUG="$VAL" ;; static) if [ "$VAL" = "yes" ]; then CFG_SHARED=no elif [ "$VAL" = "no" ]; then CFG_SHARED=yes else UNKNOWN_OPT=yes fi ;; incremental) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_INCREMENTAL="$VAL" else UNKNOWN_OPT=yes fi ;; fatal_error) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_CONFIGURE_EXIT_ON_ERROR="$VAL" else UNKNOWN_OPT=yes fi ;; shared) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_SHARED="$VAL" else UNKNOWN_OPT=yes fi ;; gif) [ "$VAL" = "qt" ] && VAL=yes if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_GIF="$VAL" else UNKNOWN_OPT=yes fi ;; sm) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_SM="$VAL" else UNKNOWN_OPT=yes fi ;; thread) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_THREAD="$VAL" else UNKNOWN_OPT=yes fi ;; xinerama) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_XINERAMA="$VAL" else UNKNOWN_OPT=yes fi ;; xshape) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_XSHAPE="$VAL" else UNKNOWN_OPT=yes fi ;; tablet) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_TABLET="$VAL" else UNKNOWN_OPT=yes fi ;; stl) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_STL="$VAL" else UNKNOWN_OPT=yes fi ;; pch) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_PRECOMPILE="$VAL" else UNKNOWN_OPT=yes fi ;; ipv6) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_IPV6="$VAL" else UNKNOWN_OPT=yes fi ;; freetype) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_QWS_FREETYPE="$VAL" else UNKNOWN_OPT=yes fi ;; zlib) [ "$VAL" = "qt" ] && VAL=yes if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then CFG_ZLIB="$VAL" else UNKNOWN_OPT=yes fi [ "$VAL" = "no" ] && CFG_LIBPNG=no ;; libpng) [ "$VAL" = "yes" ] && VAL=qt if [ "$VAL" = "no " ]; then echo "-no-png is left for compatibility, in the future please use -no-imgfmt-png" CFG_PNG=no fi if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then CFG_LIBPNG="$VAL" else UNKNOWN_OPT=yes fi ;; libmng) [ "$VAL" = "yes" ] && VAL=qt if [ "$VAL" = "no " ]; then echo "-no-mng is left for compatibility, in the future please use -no-imgfmt-mng" CFG_MNG=no fi if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then CFG_LIBMNG="$VAL" else UNKNOWN_OPT=yes fi ;; libjpeg|jpeg) [ "$VAL" = "yes" ] && VAL=qt if [ "$VAR" = "jpeg" ]; then echo "-${VAL}-jpeg is left for compatibility, in the future please use -${VAL}-libjpeg" fi if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then CFG_LIBJPEG="$VAL" else UNKNOWN_OPT=yes fi if [ "$VAL" = "no " ]; then echo "-no-jpeg is left for compatibility, in the future please use -no-imgfmt-jpeg" CFG_JPEG=no fi ;; nas-sound) if [ "$VAL" = "system" ] || [ "$VAL" = "no" ]; then CFG_NAS="$VAL" else UNKNOWN_OPT=yes fi ;; big-codecs) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_BIG_CODECS="$VAL" else UNKNOWN_OPT=yes fi ;; xcursor) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_XCURSOR="$VAL" else UNKNOWN_OPT=yes fi ;; xrandr) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_XRANDR="$VAL" else UNKNOWN_OPT=yes fi ;; xrender) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_XRENDER="$VAL" else UNKNOWN_OPT=yes fi ;; xft) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_FREETYPE="$VAL" else UNKNOWN_OPT=yes fi ;; xkb) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_XKB="$VAL" else UNKNOWN_OPT=yes fi ;; cups) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_CUPS="$VAL" else UNKNOWN_OPT=yes fi ;; nis) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_NIS="$VAL" else UNKNOWN_OPT=yes fi ;; largefile) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_LARGEFILE="$VAL" else UNKNOWN_OPT=yes fi ;; newabi) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_NEWABI="$VAL" else UNKNOWN_OPT=yes fi ;; enable) #left for commandline compatibility, not documented MODULE="$VAL" if [ -n $MODULE -a -d "$relpath/src/$MODULE" ]; then if echo "${MODULES}" | grep $MODULE >/dev/null 2>&1; then MODULES="$MODULES $MODULE" fi fi ;; disable) MODULE="$VAL" if [ -d "$relpath/src/$MODULE" ]; then MODULES=`echo $MODULES | sed -e "s/$MODULE//"` else echo "Unknown module disabled: $MODULE" fi ;; h|help) if [ "$VAL" = "yes" ]; then OPT_HELP="$VAL" else UNKNOWN_OPT=yes fi ;; imgfmt-*|style-*|sql-*|gfx-*|kbd-*|mouse-*) # if Qt style options were used, $VAL can be "no", "qt", or "plugin" # if autoconf style options were used, $VAL can be "yes" or "no" [ "$VAL" = "yes" ] && VAL=qt # now $VAL should be "no", "qt", or "plugin"... double-check if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then UNKNOWN_OPT=yes fi # now $VAL is "no", "qt", or "plugin" OPT="$VAL" VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"` VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"` ERROR=no # now $OPT is "no", "qt", or "plugin" if [ "$VAR" = "imgfmt" ]; then [ "$OPT" = "qt" ] && OPT=yes # now $OPT is "no", "yes", or "plugin" case "$VAL" in jpeg) CFG_JPEG=$OPT ;; mng) CFG_MNG=$OPT ;; png) CFG_PNG=$OPT ;; *) ERROR=yes ;; esac else if [ "$VAR" = "style" ]; then ERROR=yes for d in $CFG_STYLE_AVAILABLE; do if [ "$VAL" = "$d" ]; then ERROR=no break fi done elif [ "$VAR" = "sql" ]; then ERROR=yes for d in $CFG_SQL_AVAILABLE; do if [ "$VAL" = "$d" ]; then ERROR=no break fi done fi if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then if [ "$OPT" = "plugin" ]; then [ "$VAR" = "style" ] && QMAKE_VARS="$QMAKE_VARS \"${VAR}s -= $VAL\"" VAR="${VAR}-${OPT}" else if [ "$VAR" = "sql" ] || [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "mouse" ]; then VAR="${VAR}-driver" fi fi QMAKE_VARS="$QMAKE_VARS \"${VAR}s += $VAL\"" elif [ "$OPT" = "no" ]; then PLUG_VAR="${VAR}-plugin" if [ "$VAR" = "sql" ] || [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "mouse" ]; then IN_VAR="${VAR}-driver" else IN_VAR="${VAR}" fi QMAKE_VARS="$QMAKE_VARS \"${IN_VAR}s -= $VAL\" \"${PLUG_VAR}s -= $VAL\"" fi fi if [ "$ERROR" = "yes" ]; then echo "$CURRENT_OPT: unknown argument" OPT_HELP=yes; fi ;; v|verbose) if [ "$VAL" = "yes" ]; then if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs QMAKE_SWITCHES="$QMAKE_SWITCHES -d" else OPT_VERBOSE=yes fi elif [ "$VAL" = "no" ]; then if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"` else OPT_VERBOSE=no fi else UNKNOWN_OPT=yes fi ;; fast) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then OPT_FAST="$VAL" else UNKNOWN_OPT=yes fi ;; concurrent) OPT_CONCURRENT="$VAL" ;; define) D_FLAGS="$D_FLAGS $VAL" ;; ipath) I_FLAGS="$I_FLAGS -I${VAL}" ;; lpath) L_FLAGS="$L_FLAGS -L${VAL}" ;; rpath) R_FLAGS="$R_FLAGS \$\${QMAKE_RPATH}${VAL}" ;; link) l_FLAGS="$l_FLAGS -l${VAL}" ;; dlopen-opengl) CFG_DLOPEN_OPENGL="$VAL" ;; inputmethod) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_IM="$VAL" else UNKNOWN_OPT=yes fi ;; inputmethod-ext) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_IM_EXT="$VAL" else UNKNOWN_OPT=yes fi ;; *) UNKNOWN_OPT=yes ;; esac if [ "$UNKNOWN_OPT" = "yes" ]; then echo "${CURRENT_OPT}: invalid command-line switch" OPT_HELP=yes ERROR=yes fi done #------------------------------------------------------------------------------- # post initialize QT_INSTALL_* variables, and generate qconfig.cpp #------------------------------------------------------------------------------- # default $outpath [ -z "$QT_INSTALL_PREFIX" ] && QT_INSTALL_PREFIX=$outpath # default PREFIX/doc [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS=$QT_INSTALL_PREFIX/doc # default PREFIX/include [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS=$QT_INSTALL_PREFIX/include # default PREFIX/lib [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS=$QT_INSTALL_PREFIX/lib # default PREFIX/bin [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS=$QT_INSTALL_PREFIX/bin # default PREFIX/plugins [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS=$QT_INSTALL_PREFIX/plugins # default PREFIX [ -z "$QT_INSTALL_DATA" ] && QT_INSTALL_DATA=$QT_INSTALL_PREFIX # default PREFIX/translations [ -z "$QT_INSTALL_TRANSLATIONS" ] && QT_INSTALL_TRANSLATIONS=$QT_INSTALL_PREFIX/translations # default PREFIX/etc/settings [ -z "$QT_INSTALL_SYSCONF" ] && QT_INSTALL_SYSCONF=$QT_INSTALL_PREFIX/etc/settings # generate qconfig.cpp [ -d $outpath/src/tools ] || mkdir -p $outpath/src/tools cat > $outpath/src/tools/qconfig.cpp.new <>$outpath/include/qmake/qconfig.h <>$outpath/include/qmake/qmodules.h <&2 exit 1 fi # symlink the qmake directory for a in `find $relpath/qmake`; do my_a=`echo $a | sed "s,^${relpath}/,${outpath}/,"` if [ '!' -f $my_a ]; then if [ -d $a ]; then # directories are created... mkdir -p $my_a else a_dir=`dirname $my_a` [ -d $a_dir ] || mkdir -p $a_dir # ... and files are symlinked case `basename $a` in *.o|*.d|GNUmakefile*|qmake) ;; *) rm -f $my_a ln -s $a $my_a ;; esac fi fi done # symlink the mkspecs directory mkdir -p $outpath/mkspecs rm -f $outpath/mkspecs/* ln -s $relpath/mkspecs/* $outpath/mkspecs rm -f $outpath/mkspecs/default # symlink the linguist/doc directory (to make the assistant happy) mkdir -p $outpath/tools/linguist rm -f $outpath/tools/linguist/doc ln -s $relpath/tools/linguist/doc $outpath/tools/linguist/doc # symlink the designer/templates directory (to make the designer find # the templates) mkdir -p $outpath/tools/designer rm -f $outpath/tools/designer/templates ln -s $relpath/tools/designer/templates $outpath/tools/designer/templates # symlink the designer/interfaces directory (for the validator) rm -f $outpath/tools/designer/interfaces ln -s $relpath/tools/designer/interfaces $outpath/tools/designer/interfaces # symlink designer/editor/editor.h, dlldefs.h, viewmanager.h (for the validator) mkdir -p $outpath/tools/designer/editor rm -f $outpath/tools/designer/editor/editor.h ln -s $relpath/tools/designer/editor/editor.h $outpath/tools/designer/editor/editor.h rm -f $outpath/tools/designer/editor/dlldefs.h ln -s $relpath/tools/designer/editor/dlldefs.h $outpath/tools/designer/editor/dlldefs.h rm -f $outpath/tools/designer/editor/viewmanager.h ln -s $relpath/tools/designer/editor/viewmanager.h $outpath/tools/designer/editor/viewmanager.h # symlink the doc directory rm -f $outpath/doc ln -s $relpath/doc $outpath/doc else # override the Windows Makefile if [ -f "$relpath/GNUmakefile" ]; then [ "$Edition" = "troll" ] && $WHICH chflags >/dev/null 2>&1 && chflags nouchg $outpath/Makefile rm -f $outpath/Makefile cp $relpath/GNUmakefile $outpath/Makefile chmod +w $outpath/Makefile fi fi # binaries from qt QMAKE_VARS="$QMAKE_VARS \"QMAKE_MOC=$outpath/bin/moc\"" QMAKE_VARS="$QMAKE_VARS \"QMAKE_UIC=$outpath/bin/uic -L \$\$QT_BUILD_TREE/plugins\"" QMAKE_VARS="$QMAKE_VARS \"QMAKE_QMAKE=$outpath/bin/qmake\"" # hacky src line QMAKE_VARS="$QMAKE_VARS \"QMAKE_MOC_SRC=$outpath/src/moc\"" # find out which awk we want to use, prefer gawk, then nawk, then regular awk AWK= for e in gawk nawk awk; do if $WHICH $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then AWK=$e break fi done if [ "$OPT_FAST" = "auto" ]; then if [ ! -z "$AWK" ] && [ "$Edition" = "troll" ]; then OPT_FAST=yes else OPT_FAST=no fi fi # find a make command MAKE= for mk in gmake make; do if $WHICH $mk >/dev/null 2>&1; then MAKE=`$WHICH $mk` break fi done if [ -z "$MAKE" ]; then echo "You don't seem to have 'make' or 'gmake' in your PATH." echo "Cannot proceed." exit 1 fi fi ### help #------------------------------------------------------------------------------- # auto-detect all that hasn't been specified in the arguments #------------------------------------------------------------------------------- [ "$PLATFORM_QWS" = "yes" -a "$CFG_EMBEDDED" = "no" ] && CFG_EMBEDDED=auto if [ "$CFG_EMBEDDED" != "no" ]; then case "$UNAME_SYSTEM:$UNAME_RELEASE" in QNX:*) [ -z "$PLATFORM" ] && PLATFORM=qws/qnx-rtp-g++ # [ "$CFG_EMBEDDED" = "qnx4" ] && PLATFORM_QNX=qws/qnx4-cc if [ -z "$XPLATFORM" ]; then [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic XPLATFORM="$PLATFORM" fi CFG_STL=no CFG_QWS_QVFB=no ;; Darwin:*) [ -z "$PLATFORM" ] && PLATFORM=qws/macx-generic-g++ if [ -z "$XPLATFORM" ]; then [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic XPLATFORM="qws/macx-$CFG_EMBEDDED-g++" fi ;; FreeBSD:*) [ -z "$PLATFORM" ] && PLATFORM=qws/freebsd-generic-g++ if [ -z "$XPLATFORM" ]; then [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic XPLATFORM="qws/freebsd-$CFG_EMBEDDED-g++" fi ;; SunOS:5*) [ -z "$PLATFORM" ] && PLATFORM=qws/solaris-generic-g++ if [ -z "$XPLATFORM" ]; then [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic XPLATFORM="qws/solaris-$CFG_EMBEDDED-g++" fi ;; Linux:*|GNU:*|GNU/*:*) if [ -z "$PLATFORM" ]; then case "$UNAME_MACHINE" in *86) PLATFORM=qws/linux-x86-g++ ;; *) PLATFORM=qws/linux-generic-g++ ;; esac fi if [ -z "$XPLATFORM" ]; then if [ "$CFG_EMBEDDED" = "auto" ]; then case "$UNAME_MACHINE" in *86) CFG_EMBEDDED=x86 ;; *) CFG_EMBEDDED=generic ;; esac fi XPLATFORM="qws/linux-$CFG_EMBEDDED-g++" fi ;; *) echo "Qt/Embedded is not supported on this platform. Disabling." CFG_EMBEDDED=no PLATFORM_QWS=no PLATFORM_QNX=no ;; esac fi if [ -z "$PLATFORM" ]; then PLATFORM_NOTES= case "$UNAME_SYSTEM:$UNAME_RELEASE" in Darwin:*) if [ "$PLATFORM_MAC" = "yes" ]; then PLATFORM=macx-g++ # PLATFORM=macx-pbuilder else PLATFORM=darwin-g++ fi ;; AIX:*) #PLATFORM=aix-g++ PLATFORM=aix-xlc #PLATFORM=aix-xlc-64 PLATFORM_NOTES=" - Also available for AIX: aix-g++ aix-xlc-64 " ;; QNX:*) PLATFORM=qnx-g++ ;; dgux:*) PLATFORM=dgux-g++ ;; # DYNIX/ptx:4*) # PLATFORM=dynix-g++ # ;; ULTRIX:*) PLATFORM=ultrix-g++ ;; FreeBSD:*) PLATFORM=freebsd-g++ ;; OpenBSD:*) PLATFORM=openbsd-g++ ;; NetBSD:*) PLATFORM=netbsd-g++ ;; BSD/OS:*|BSD/386:*) PLATFORM=bsdi-g++ ;; IRIX*:*) #PLATFORM=irix-g++ PLATFORM=irix-cc #PLATFORM=irix-cc-64 PLATFORM_NOTES=" - Also available for IRIX: irix-g++ irix-cc-64 " ;; HP-UX:*) #PLATFORM=hpux-g++ PLATFORM=hpux-acc #PLATFORM=hpux-acc-64 #PLATFORM=hpux-cc #PLATFORM=hpux-acc-o64 PLATFORM_NOTES=" - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64 " ;; OSF1:*) #PLATFORM=tru64-g++ PLATFORM=tru64-cxx PLATFORM_NOTES=" - Also available for Tru64: tru64-g++ " ;; Linux:*|GNU:*|GNU/*:*) PLATFORM=linux-g++ PLATFORM_NOTES=" - Also available for Linux: linux-kcc linux-icc linux-cxx " ;; SunOS:5*) #PLATFORM=solaris-g++ PLATFORM=solaris-cc #PLATFORM=solaris-cc64 PLATFORM_NOTES=" - Also available for Solaris: solaris-g++ solaris-cc-64 " ;; ReliantUNIX-*:*|SINIX-*:*) PLATFORM=reliant-cds #PLATFORM=reliant-cds-64 PLATFORM_NOTES=" - Also available for Reliant UNIX: reliant-cds-64 " ;; CYGWIN*:*) PLATFORM=cygwin-g++ ;; LynxOS*:*) PLATFORM=lynxos-g++ ;; OpenUNIX:*) #PLATFORM=unixware-g++ PLATFORM=unixware-cc PLATFORM_NOTES=" - Also available for OpenUNIX: unixware-g++ " ;; UnixWare:*) #PLATFORM=unixware-g++ PLATFORM=unixware-cc PLATFORM_NOTES=" - Also available for UnixWare: unixware-g++ " ;; SCO_SV:*) #PLATFORM=sco-g++ PLATFORM=sco-cc PLATFORM_NOTES=" - Also available for SCO OpenServer: sco-g++ " ;; UNIX_SV:*) PLATFORM=unixware-g++ ;; *) if [ "$OPT_HELP" != "yes" ]; then echo for p in $PLATFORMS; do echo " $relconf $* -platform $p" done echo >&2 echo " The build script does not currently recognize all" >&2 echo " platforms supported by Qt." >&2 echo " Rerun this script with a -platform option listed to" >&2 echo " set the system/compiler combination you use." >&2 echo >&2 exit 2 fi esac fi if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QNX" = "yes" ]; then CFG_SM=no MODULES=`echo $MODULES | sed -e 's/opengl//'` PLATFORMS=`find $relpath/mkspecs/qws | sed "s,$relpath/mkspecs/qws/,,"` else PLATFORMS=`find $relpath/mkspecs/ -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"` fi ##if [ "$OPT_CONCURRENT" = "0" ] && echo $MAKEFLAGS | grep '.* *-j[0-9]* *.*' >/dev/null 2>&1; then # OPT_CONCURRENT=`echo $MAKEFLAGS | sed "s,.* *-j\([0-9]*\) *.*,\1,"` #fi [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM" if [ -d "$PLATFORM" ]; then QMAKESPEC="$PLATFORM" else QMAKESPEC="$relpath/mkspecs/${PLATFORM}" fi if [ -d "$XPLATFORM" ]; then XQMAKESPEC="$XPLATFORM" else XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}" fi if [ "$QMAKESPEC" = "$XQMAKESPEC" ]; then QMAKE_CONFIG="$QMAKE_CONFIG nocrosscompiler" fi if [ "$PLATFORM_MAC" = "yes" ]; then if [ `basename $QMAKESPEC` = "macx-pbuilder" ] || [ `basename $XQMAKESPEC` = "macx-pbuilder" ]; then echo >&2 echo " Platform 'macx-pbuilder' should not be used when building Qt/Mac." >&2 echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2 echo " use mac-pbuilder on your application code it can link to a Qt/Mac" >&2 echo " built with 'macx-g++'" >&2 echo >&2 exit 2 fi fi # check specified platforms are supported if [ '!' -d "$QMAKESPEC" ]; then echo echo " The specified system/compiler is not supported:" echo echo " $QMAKESPEC" echo echo " Please see the PLATFORMS file for a complete list." echo exit 2 fi if [ '!' -d "$XQMAKESPEC" ]; then echo echo " The specified system/compiler is not supported:" echo echo " $XQMAKESPEC" echo echo " Please see the PLATFORMS file for a complete list." echo exit 2 fi if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then echo echo " The specified system/compiler port is not complete:" echo echo " $XQMAKESPEC/qplatformdefs.h" echo echo " Please contact qt-bugs@trolltech.com." echo exit 2 fi # now look at the configs and figure out what platform we are config'd for [ '!' -z "`grep QMAKE_LIBS_X11 $XQMAKESPEC/qmake.conf | awk '{print $3;}'`" ] && PLATFORM_X11=yes ### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes # find default thread option for target if grep >/dev/null '^QMAKE_LIBS_THREAD' $XQMAKESPEC/qmake.conf; then AUTOTHREAD=yes AUTOTHREAD=no ### leave off for now else AUTOTHREAD=never fi # common qmake.conf file but dependency on OS version if [ "$UNAME_SYSTEM" = "HP-UX" ]; then if echo $UNAME_RELEASE | grep -E "^B\.(09|10)" >/dev/null 2>&1; then AUTOTHREAD=never fi fi if [ "$UNAME_SYSTEM" = "SunOS" ]; then # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris >=7 if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then sed -e "s,-lrt,-lposix4," $XQMAKESPEC/qmake.conf > $XQMAKESPEC/qmake.conf.new mv $XQMAKESPEC/qmake.conf.new $XQMAKESPEC/qmake.conf fi fi if [ $AUTOTHREAD = never ]; then if [ "$CFG_THREAD" = "yes" ]; then echo echo "ERROR: Qt is not configured to support threading on this platform" echo " See the THREAD settings in $XQMAKESPEC/qmake.conf" echo exit 2 fi AUTOTHREAD=no fi [ "$CFG_THREAD" = "auto" ] && CFG_THREAD=$AUTOTHREAD #------------------------------------------------------------------------------- # tests that don't need qmake (must be run before displaying help) #------------------------------------------------------------------------------- # auto-detect precompiled header support if [ "$CFG_PRECOMPILE" = "auto" ]; then if $unixtests/precomp.test $XQMAKESPEC $OPT_VERBOSE; then CFG_PRECOMPILE=no else CFG_PRECOMPILE=yes fi fi # auto-detect SQL-modules support if echo $MODULES | grep sql >/dev/null; then MYSQL_REQ="-lmysqlclient mysql.h" OCI_REQ="-lclntsh -lwtc8 oci.h" PSQL_REQ="-lpq postgres.h libpq/libpq-fs.h catalog/pg_type.h libpq-fe.h" ODBC_REQ="-lodbc sql.h sqlext.h" TDS_REQ="-lsybdb sybfront.h sybdb.h" DB2_REQ="-ldb2 sqlcli.h sqlcli1.h" IBASE_REQ="-lfbclient ibase.h" for _SQLDR in $CFG_SQL_AVAILABLE; do case $_SQLDR in mysql) $unixtests/checkavail "MySQL" $OPT_VERBOSE $MYSQL_REQ $L_FLAGS $I_FLAGS && CFG_SQL_AUTODETECTED="$CFG_SQL_AUTODETECTED mysql" ;; psql) $unixtests/checkavail "PostgreSQL" $OPT_VERBOSE $PSQL_REQ $L_FLAGS $I_FLAGS && CFG_SQL_AUTODETECTED="$CFG_SQL_AUTODETECTED psql" ;; odbc) $unixtests/checkavail "ODBC" $OPT_VERBOSE $ODBC_REQ $L_FLAGS $I_FLAGS && CFG_SQL_AUTODETECTED="$CFG_SQL_AUTODETECTED odbc" ;; oci) $unixtests/checkavail "OCI" $OPT_VERBOSE $OCI_REQ $L_FLAGS $I_FLAGS && CFG_SQL_AUTODETECTED="$CFG_SQL_AUTODETECTED oci" ;; tds) $unixtests/checkavail "TDS" $OPT_VERBOSE $TDS_REQ $L_FLAGS $I_FLAGS && CFG_SQL_AUTODETECTED="$CFG_SQL_AUTODETECTED tds" ;; db2) $unixtests/checkavail "DB2" $OPT_VERBOSE $DB2_REQ $L_FLAGS $I_FLAGS && CFG_SQL_AUTODETECTED="$CFG_SQL_AUTODETECTED db2" ;; ibase) $unixtests/checkavail "IBASE" $OPT_VERBOSE $IBASE_REQ $L_FLAGS $I_FLAGS && CFG_SQL_AUTODETECTED="$CFG_SQL_AUTODETECTED ibase" ;; sqlite) if [ -f $relpath/src/3rdparty/sqlite/sqlite.h ]; then CFG_SQL_AUTODETECTED="$CFG_SQL_AUTODETECTED sqlite" fi ;; *) if [ "$OPT_VERBOSE" = "yes" ]; then echo "unknown SQL driver: $_SQLDR" fi ;; esac done fi # auto-detect NIS support if [ "$CFG_NIS" != "no" ]; then if $unixtests/nis.test $XQMAKESPEC $OPT_VERBOSE $L_FLAGS $I_FLAGS; then if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then echo "NIS support cannot be enabled due to functionality tests!" echo " Turn on verbose messaging (-v) to $0 to see the final report." echo " If you believe this message is in error you may use the continue" echo " switch (-continue) to $0 to continue." exit 101 else CFG_NIS=no fi else CFG_NIS=yes fi fi # auto-detect CUPS support if [ "$CFG_CUPS" != "no" ]; then if $unixtests/cups.test $XQMAKESPEC $OPT_VERBOSE $L_FLAGS $I_FLAGS; then if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then echo "Cups support cannot be enabled due to functionality tests!" echo " Turn on verbose messaging (-v) to $0 to see the final report." echo " If you believe this message is in error you may use the continue" echo " switch (-continue) to $0 to continue." exit 101 else CFG_CUPS=no fi else CFG_CUPS=yes fi fi #mac QT_MAC_VERSION= if [ "$PLATFORM_MAC" = "yes" ]; then mactests=$relpath/config.tests/mac QT_MAC_VERSION=`$mactests/mac_version.test "$OPT_VERBOSE" "$relpath" "$outpath"` if [ "$CFG_TABLET" = "auto" ]; then CFG_TABLET=yes fi fi # x11 if [ "$PLATFORM_X11" = "yes" ]; then x11tests=$relpath/config.tests/x11 # auto-detect OpenGL support if echo $MODULES | grep opengl >/dev/null; then if $x11tests/opengl.test $XQMAKESPEC $CFG_THREAD $OPT_VERBOSE $L_FLAGS $I_FLAGS; then MODULES=`echo $MODULES | sed -e 's/opengl//'` else if [ "$CFG_DLOPEN_OPENGL" = "yes" ]; then QMAKE_CONFIG="$QMAKE_CONFIG dlopen_opengl" fi fi fi # auto-detect Xcursor support if [ "$CFG_XCURSOR" != "no" ]; then if $x11tests/xcursor.test $XQMAKESPEC $OPT_VERBOSE $L_FLAGS $I_FLAGS; then if [ "$CFG_XCURSOR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then echo "Xcursor support cannot be enabled due to functionality tests!" echo " Turn on verbose messaging (-v) to $0 to see the final report." echo " If you believe this message is in error you may use the continue" echo " switch (-continue) to $0 to continue." exit 101 else CFG_XCURSOR=no fi else CFG_XCURSOR=yes fi fi # auto-detect XRandR support (resize and rotate extension) if [ "$CFG_XRANDR" != "no" ]; then if $x11tests/xrandr.test $XQMAKESPEC $OPT_VERBOSE $L_FLAGS $I_FLAGS; then if [ "$CFG_XRANDR" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then echo "XRandR support cannot be enabled due to functionality tests!" echo " Turn on verbose messaging (-v) to $0 to see the final report." echo " If you believe this message is in error you may use the continue" echo " switch (-continue) to $0 to continue." exit 101 else CFG_XRANDR=no fi else CFG_XRANDR=yes fi fi # auto-detect XRender support if [ "$CFG_XRENDER" != "no" ]; then if $x11tests/xrender.test $XQMAKESPEC $OPT_VERBOSE $L_FLAGS $I_FLAGS; then if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then echo "XRender support cannot be enabled due to functionality tests!" echo " Turn on verbose messaging (-v) to $0 to see the final report." echo " If you believe this message is in error you may use the continue" echo " switch (-continue) to $0 to continue." exit 101 else CFG_XRENDER=no CFG_FREETYPE=no fi else CFG_XRENDER=yes fi else CFG_FREETYPE=no fi # auto-detect Xft support if [ "$CFG_XRENDER" = "yes" ] && [ "$CFG_FREETYPE" != "no" ]; then mkdir -p $outpath/config.tests/x11 if $x11tests/xfreetype.test $XQMAKESPEC $OPT_VERBOSE $relpath $outpath $L_FLAGS $I_FLAGS; then if [ "$CFG_FREETYPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then echo "Xft support cannot be enabled due to functionality tests!" echo " Turn on verbose messaging (-v) to $0 to see the final report." echo " If you believe this message is in error you may use the continue" echo " switch (-continue) to $0 to continue." exit 101 else CFG_FREETYPE=no fi else CFG_FREETYPE=yes fi fi # add freetype2 include path if [ "$CFG_FREETYPE" = "yes" ] && [ -f $outpath/config.tests/x11/xft.inc ];then QMAKE_VARS="$QMAKE_VARS \"INCLUDEPATH+=`cat $outpath/config.tests/x11/xft.inc`\"" fi rm -f $outpath/config.tests/x11/xft.inc # add Xft specific libraries if [ "$CFG_FREETYPE" = "yes" ] && [ -f $outpath/config.tests/x11/xft.lib ]; then QMAKE_VARS="$QMAKE_VARS \"QMAKE_LIBS_X11=`cat $outpath/config.tests/x11/xft.lib` \$\$QMAKE_LIBS_X11\"" fi rm -f $outpath/config.tests/x11/xft.lib # add Xft specific config options if [ "$CFG_FREETYPE" = "yes" ] && [ -f $outpath/config.tests/x11/xft.cfg ]; then QMAKE_CONFIG="$QMAKE_CONFIG `cat $outpath/config.tests/x11/xft.cfg`" fi rm -f $outpath/config.tests/x11/xft.cfg # auto-detect Session Management support if [ "$CFG_SM" = "auto" ]; then if $x11tests/sm.test $XQMAKESPEC $OPT_VERBOSE $L_FLAGS $I_FLAGS; then if [ "$CFG_SM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then echo "Session Management support cannot be enabled due to functionality tests!" echo " Turn on verbose messaging (-v) to $0 to see the final report." echo " If you believe this message is in error you may use the continue" echo " switch (-continue) to $0 to continue." exit 101 else CFG_SM=no fi else CFG_SM=yes fi fi # auto-detect SHAPE support if [ "$CFG_XSHAPE" != "no" ]; then if $x11tests/xshape.test $XQMAKESPEC $OPT_VERBOSE $L_FLAGS $I_FLAGS; then if [ "$CFG_XSHAPE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then echo "XShape support cannot be enabled due to functionality tests!" echo " Turn on verbose messaging (-v) to $0 to see the final report." echo " If you believe this message is in error you may use the continue" echo " switch (-continue) to $0 to continue." exit 101 else CFG_XSHAPE=no fi else CFG_XSHAPE=yes fi fi # auto-detect Xinerama support if [ "$CFG_XINERAMA" != "no" ]; then if $x11tests/xinerama.test $XQMAKESPEC $OPT_VERBOSE $L_FLAGS $I_FLAGS; then if [ "$CFG_XINERAMA" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then echo "Xinerama support cannot be enabled due to functionality tests!" echo " Turn on verbose messaging (-v) to $0 to see the final report." echo " If you believe this message is in error you may use the continue" echo " switch (-continue) to $0 to continue." exit 101 else CFG_XINERAMA=no fi else CFG_XINERAMA=yes fi fi # auto-detect tablet support (currenlty only in IRIX) if [ "$CFG_TABLET" = "auto" ]; then case $PLATFORM in irix-*) if $x11tests/xinput.test $XQMAKESPEC $OPT_VERBOSE $L_FLAGS $I_FLAGS; then if [ "$CFG_TABLET" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then echo "Tablet support cannot be enabled due to functionality tests!" echo " Turn on verbose messaging (-v) to $0 to see the final report." echo " If you believe this message is in error you may use the continue" echo " switch (-continue) to $0 to continue." exit 101 else CFG_TABLET=no fi else CFG_TABLET=yes fi ;; *) CFG_TABLET=no ### add error message for the "yes" case on non-IRIX systems ;; esac fi # auto-detect XKB support if [ "$CFG_XKB" != "no" ]; then if $x11tests/xkb.test $XQMAKESPEC $OPT_VERBOSE $L_FLAGS $I_FLAGS; then if [ "$CFG_XKB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then echo "XKB support cannot be enabled due to functionality tests!" echo " Turn on verbose messaging (-v) to $0 to see the final report." echo " If you believe this message is in error you may use the continue" echo " switch (-continue) to $0 to continue." exit 101 else CFG_XKB=no fi else CFG_XKB=yes fi fi fi # embedded graphics if [ "$PLATFORM_QWS" = "yes" ]; then CFG_GFX_AVAILABLE=`find $relpath/plugins/src/gfxdrivers/* -prune -type d -print | awk -F/ '{print $NF}'` CFG_GFX_AVAILABLE=`echo $CFG_GFX_AVAILABLE` fi # immodule extensions if [ "$CFG_IM" = "no" ]; then CFG_IM_EXT=no fi if [ "$CFG_IM_EXT" = "yes" ]; then CFG_IM=yes fi #------------------------------------------------------------------------------- # help - interactive parts of the script _after_ this section please #------------------------------------------------------------------------------- # next, emit a usage message if something failed. if [ "$OPT_HELP" = "yes" ]; then [ "x$ERROR" = "xyes" ] && echo if [ "$CFG_THREAD" = "yes" ]; then THY="*" THN=" " else THY=" " THN="*" fi if [ "$CFG_NIS" = "no" ]; then NSY=" " NSN="*" else NSY="*" NSN=" " fi if [ "$CFG_CUPS" = "no" ]; then CUY=" " CUN="*" else CUY="*" CUN=" " fi if [ "$CFG_LARGEFILE" = "no" ]; then LFSY=" " LFSN="*" else LFSY="*" LFSN=" " fi if [ "$CFG_STL" = "auto" ]; then SHY="*" SHN=" " else SHY=" " SHN="*" fi if [ "$CFG_PRECOMPILE" = "auto" ]; then PHY="*" PHN=" " else PHY=" " PHN="*" fi if [ "$CFG_IPV6" = "auto" ]; then I6Y="*" I6N=" " else I6Y=" " I6N="*" fi cat <] [-with-] [-without-] [-fast] [-no-fast] Installation options: These are optional, but you may specify install directories. -prefix dir ........ This will install everything relative dir (default $QT_INSTALL_PREFIX) You may use these to separate different parts of the install: -bindir dir ........ Executables will be installed to dir (default PREFIX/bin) -libdir dir ........ Libraries will be installed to dir (default PREFIX/lib) -docdir dir ........ Documentation will be installed to dir (default PREFIX/doc) -headerdir dir ..... Headers will be installed to dir (default PREFIX/include) -plugindir dir ..... Plugins will be installed to dir (default PREFIX/plugins) -datadir dir ....... Data used by Qt programs will be installed to dir (default PREFIX) -translationdir dir Translations of Qt programs will be installed to dir (default PREFIX/translations) -sysconfdir dir ... Settings used by Qt programs will be looked for in dir (default PREFIX/etc/settings) You may use these options to turn on strict plugin loading. -buildkey key ...... Build the Qt library and plugins using the specified key. When the library loads plugins, it will only load those that have a matching key. Configure options: The defaults (*) are usually acceptable. If marked with a plus (+) a test for that feature has not been done yet, but will be evaluated later, the plus simply denotes the default value. Here is a short explanation of each option: * -release ........... Compile and link Qt with debugging turned off. -debug ............. Compile and link Qt with debugging turned on. * -shared ............ Create and use a shared Qt library (libqt.so). -static ............ Create and use a static Qt library (libqt.a). * -no-gif ............ Do not compile in GIF reading support. -qt-gif ............ Compile in GIF reading support. See src/kernel/qgif.h * -qt-zlib ........... Use the zlib bundled with Qt. -system-zlib ....... Use zlib from the operating system. See http://www.gzip.org/zlib -fast .............. Configure Qt quickly by generating Makefiles only for library and subdirectory targets. All other Makefiles are created as wrappers, which will in turn run qmake. * -no-fast ........... Configure Qt normally by generating Makefiles for all project files. -no-exceptions ..... Disable exceptions on platforms that support it. -version-script .... Use a version script when linking the Qt library. Internal symbols will be marked as local. Requires a recent GNU binutils package. WARNING: Experimental, may be removed in future versions. -platform target ... The operating system and compiler you are building on ($PLATFORM). -xplatform target .. The target platform when cross-compiling. See the PLATFORMS file for a list of supported operating systems and compilers. -Dstring ........... Add an explicit define to the preprocessor. -Istring ........... Add an explicit include path. -Lstring ........... Add an explicit library path. -Rstring ........... Add an explicit dynamic library runtime search path. -lstring ........... Add an explicit library. -disable- ..... Disable where module is one of: [ $CFG_MODULES_AVAILABLE ] -qt-sql- ...... Enable a SQL in the Qt Library, by default none are turned on. -plugin-sql- .. Enable SQL as a plugin to be linked to at run time. -no-sql- ...... Disable SQL entirely. Possible values for : [ $CFG_SQL_AVAILABLE ] Auto-Detected on this system: [$CFG_SQL_AUTODETECTED ] By default none of the SQL drivers are built, even if they are auto-detected. -qt-style-