#!/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 #------------------------------------------------------------------------------- # Free license only: no check for other licenses #------------------------------------------------------------------------------- [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes [ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=yes Edition="free" Licensee="Free" Products="qt-free" # modules depending on free license MODULES="styles tools kernel widgets dialogs iconview workspace inputmethod \ 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-