d964981252
Remove the -armfpa option the config.tests/unix/doubleformat* detection. The places where we used QT_ARMFPA and Q_DOUBLE_FORMAT has been removed as well. Rationale: ARM FPA with GCC does not work with EABI. Qt currently does not support compiling without EABI, making ARM FPA an impossibility. It is unknown whether other compilers provide ARM FPA support with EABI. Support for ARM FPA can be re-added in the future should the need arise, but since ARM VFP is available for ARMv5 and up, we should encourage implementors to instead use soft-floats or VFP. Change-Id: I3671aba575118ae3e3e6d769759301c8f2f496f5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
7426 lines
251 KiB
Bash
Executable File
7426 lines
251 KiB
Bash
Executable File
#!/bin/sh
|
|
#############################################################################
|
|
##
|
|
## Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
|
## Contact: http://www.qt-project.org/
|
|
##
|
|
## This file is the build configuration utility of the Qt Toolkit.
|
|
##
|
|
## $QT_BEGIN_LICENSE:LGPL$
|
|
## GNU Lesser General Public License Usage
|
|
## This file may be used under the terms of the GNU Lesser General Public
|
|
## License version 2.1 as published by the Free Software Foundation and
|
|
## appearing in the file LICENSE.LGPL included in the packaging of this
|
|
## file. Please review the following information to ensure the GNU Lesser
|
|
## General Public License version 2.1 requirements will be met:
|
|
## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
##
|
|
## In addition, as a special exception, Nokia gives you certain additional
|
|
## rights. These rights are described in the Nokia Qt LGPL Exception
|
|
## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
##
|
|
## GNU General Public License Usage
|
|
## Alternatively, this file may be used under the terms of the GNU General
|
|
## Public License version 3.0 as published by the Free Software Foundation
|
|
## and appearing in the file LICENSE.GPL included in the packaging of this
|
|
## file. Please review the following information to ensure the GNU General
|
|
## Public License version 3.0 requirements will be met:
|
|
## http://www.gnu.org/copyleft/gpl.html.
|
|
##
|
|
## Other Usage
|
|
## Alternatively, this file may be used in accordance with the terms and
|
|
## conditions contained in a signed written agreement between you and Nokia.
|
|
##
|
|
##
|
|
##
|
|
##
|
|
##
|
|
##
|
|
## $QT_END_LICENSE$
|
|
##
|
|
#############################################################################
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# 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`
|
|
|
|
#license file location
|
|
LICENSE_FILE="$QT_LICENSE_FILE"
|
|
[ -z "$LICENSE_FILE" ] && LICENSE_FILE="$HOME/.qt-license"
|
|
if [ -f "$LICENSE_FILE" ]; then
|
|
tr -d '\r' <"$LICENSE_FILE" >"${LICENSE_FILE}.tmp"
|
|
diff "${LICENSE_FILE}.tmp" "${LICENSE_FILE}" >/dev/null 2>&1 || LICENSE_FILE="${LICENSE_FILE}.tmp"
|
|
fi
|
|
|
|
# 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=
|
|
QTCONFIG_CONFIG=
|
|
QT_CONFIG=
|
|
SUPPORTED=
|
|
QMAKE_VARS_FILE=.qmake.vars
|
|
|
|
:> "$QMAKE_VARS_FILE"
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# utility functions
|
|
#-------------------------------------------------------------------------------
|
|
|
|
shellEscape()
|
|
{
|
|
echo "$@" | sed 's/ /\ /g'
|
|
}
|
|
|
|
# Adds a new qmake variable to the cache
|
|
# Usage: QMakeVar mode varname contents
|
|
# where mode is one of: set, add, del
|
|
QMakeVar()
|
|
{
|
|
case "$1" in
|
|
set)
|
|
eq="="
|
|
;;
|
|
add)
|
|
eq="+="
|
|
;;
|
|
del)
|
|
eq="-="
|
|
;;
|
|
*)
|
|
echo >&2 "BUG: wrong command to QMakeVar: $1"
|
|
;;
|
|
esac
|
|
|
|
echo "$2" "$eq" "$3" >> "$QMAKE_VARS_FILE"
|
|
}
|
|
|
|
# Helper function for getQMakeConf. It parses include statements in
|
|
# qmake.conf and prints out the expanded file
|
|
getQMakeConf1()
|
|
{
|
|
while read line; do case "$line" in
|
|
include*)
|
|
inc_file=`echo "$line" | sed -n -e "/^include.*(.*)/s/include.*(\(.*\)).*$/\1/p"`
|
|
current_dir=`dirname "$1"`
|
|
conf_file="$current_dir/$inc_file"
|
|
if [ ! -f "$conf_file" ]; then
|
|
echo "WARNING: Unable to find file $conf_file" >&2
|
|
continue
|
|
fi
|
|
getQMakeConf1 "$conf_file"
|
|
;;
|
|
*)
|
|
echo "$line"
|
|
;;
|
|
esac; done < "$1"
|
|
}
|
|
|
|
getQMakeConf2()
|
|
{
|
|
$AWK '
|
|
BEGIN {
|
|
values["LITERAL_WHITESPACE"] = " "
|
|
values["LITERAL_DOLLAR"] = "$"
|
|
}
|
|
/^[_A-Z0-9.]+[ \t]*\+?=/ {
|
|
valStart = index($0, "=") + 1
|
|
|
|
append = 0
|
|
if (substr($0, valStart - 2, 1) == "+") {
|
|
append = 1
|
|
}
|
|
|
|
variable = substr($0, 0, valStart - 2 - append)
|
|
value = substr($0, valStart)
|
|
gsub("[ \t]+", "", variable)
|
|
gsub("^[ \t]+", "", value)
|
|
gsub("[ \t]+$", "", value)
|
|
|
|
ovalue = ""
|
|
while (match(value, /\$\$(\{[_A-Z0-9.]+\}|[_A-Z0-9.]+)/)) {
|
|
ovalue = ovalue substr(value, 1, RSTART - 1)
|
|
var = substr(value, RSTART + 2, RLENGTH - 2)
|
|
value = substr(value, RSTART + RLENGTH)
|
|
if (var ~ /^{/) {
|
|
var = substr(var, 2, length(var) - 2)
|
|
}
|
|
ovalue = ovalue values[var]
|
|
}
|
|
ovalue = ovalue value
|
|
|
|
combinedValue = values[variable]
|
|
if (append == 1 && length(combinedValue) > 0) {
|
|
combinedValue = combinedValue " " ovalue
|
|
} else {
|
|
combinedValue = ovalue
|
|
}
|
|
values[variable] = combinedValue
|
|
}
|
|
END {
|
|
for (var in values) {
|
|
print var "=" values[var]
|
|
}
|
|
}
|
|
'
|
|
}
|
|
|
|
getQMakeConf3()
|
|
{
|
|
echo "$2" | $AWK "/^($1)=/ { print substr(\$0, index(\$0, \"=\") + 1) }"
|
|
}
|
|
|
|
# relies on $QMAKESPEC being set correctly. parses include statements in
|
|
# qmake.conf and prints out the expanded file
|
|
getQMakeConf()
|
|
{
|
|
if [ -z "$specvals" ]; then
|
|
specvals=`getQMakeConf1 "$QMAKESPEC/qmake.conf" | getQMakeConf2`
|
|
fi
|
|
getQMakeConf3 "$1" "$specvals"
|
|
}
|
|
|
|
getXQMakeConf()
|
|
{
|
|
if [ -z "$xspecvals" ]; then
|
|
xspecvals=`getQMakeConf1 "$XQMAKESPEC/qmake.conf" | getQMakeConf2`
|
|
fi
|
|
getQMakeConf3 "$1" "$xspecvals"
|
|
}
|
|
|
|
# relies on $TEST_COMPILER being set correctly
|
|
compilerSupportsFlag()
|
|
{
|
|
cat >conftest.cpp <<EOF
|
|
int main() { return 0; }
|
|
EOF
|
|
"$TEST_COMPILER" "$@" -o conftest.o conftest.cpp
|
|
ret=$?
|
|
rm -f conftest.cpp conftest.o
|
|
return $ret
|
|
}
|
|
|
|
# relies on $TEST_COMPILER being set correctly
|
|
linkerSupportsFlag()
|
|
{
|
|
lflags=-Wl
|
|
for flag
|
|
do
|
|
safe_flag=`shellEscape "$flag"`
|
|
lflags=$lflags,$safe_flag
|
|
done
|
|
compilerSupportsFlag "$lflags" >/dev/null 2>&1
|
|
}
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# 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
|
|
|
|
# detect the "echo without newline" style. usage: echo $ECHO_N "<string>$ECHO_C"
|
|
if echo '\c' | grep '\c' >/dev/null; then
|
|
ECHO_N=-n
|
|
else
|
|
ECHO_C='\c'
|
|
fi
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# window system detection
|
|
#-------------------------------------------------------------------------------
|
|
|
|
PLATFORM_X11=no
|
|
PLATFORM_QPA=yes
|
|
BUILD_ON_MAC=no
|
|
PLATFORM_MAC=no
|
|
if [ -d /System/Library/Frameworks/Carbon.framework ]; then
|
|
BUILD_ON_MAC=yes
|
|
PLATFORM_MAC=maybe
|
|
fi
|
|
|
|
#-----------------------------------------------------------------------------
|
|
# Qt version detection
|
|
#-----------------------------------------------------------------------------
|
|
QT_VERSION=`grep '^# *define *QT_VERSION_STR' "$relpath"/src/corelib/global/qglobal.h`
|
|
QT_MAJOR_VERSION=
|
|
QT_MINOR_VERSION=0
|
|
QT_PATCH_VERSION=0
|
|
if [ -n "$QT_VERSION" ]; then
|
|
QT_VERSION=`echo $QT_VERSION | sed 's,^# *define *QT_VERSION_STR *"*\([^ ]*\)"$,\1,'`
|
|
MAJOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
|
|
if [ -n "$MAJOR" ]; then
|
|
MINOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
|
|
PATCH=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
|
|
QT_MAJOR_VERSION="$MAJOR"
|
|
[ -z "$MINOR" ] || QT_MINOR_VERSION="$MINOR"
|
|
[ -z "$PATCH" ] || QT_PATCH_VERSION="$PATCH"
|
|
fi
|
|
fi
|
|
if [ -z "$QT_MAJOR_VERSION" ]; then
|
|
echo "Cannot process version from qglobal.h: $QT_VERSION"
|
|
echo "Cannot proceed."
|
|
exit 1
|
|
fi
|
|
|
|
QT_PACKAGEDATE=`grep '^# *define *QT_PACKAGEDATE_STR' "$relpath"/src/corelib/global/qglobal.h | sed -e 's,^# *define *QT_PACKAGEDATE_STR *"\([^ ]*\)"$,\1,' -e s,-,,g`
|
|
if [ -z "$QT_PACKAGEDATE" ]; then
|
|
echo "Unable to determine package date from qglobal.h: '$QT_PACKAGEDATE'"
|
|
echo "Cannot proceed"
|
|
exit 1
|
|
fi
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# check the license
|
|
#-------------------------------------------------------------------------------
|
|
COMMERCIAL_USER=ask
|
|
CFG_DEV=no
|
|
CFG_RTOS_ENABLED=yes
|
|
EditionString=Commercial
|
|
|
|
earlyArgParse()
|
|
{
|
|
# 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
|
|
;;
|
|
-embedded-lite|-qpa)
|
|
VAR=qpa
|
|
# 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
|
|
;;
|
|
-h|help|--help|-help)
|
|
if [ "$VAL" = "yes" ]; then
|
|
OPT_HELP="$VAL"
|
|
COMMERCIAL_USER="no" #doesn't matter we will display the help
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
COMMERCIAL_USER="no" #doesn't matter we will display the help
|
|
fi
|
|
;;
|
|
--*)
|
|
VAR=`echo $1 | sed "s,^--\(.*\),\1,"`
|
|
VAL=yes
|
|
;;
|
|
-*)
|
|
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
|
|
VAL="unknown"
|
|
;;
|
|
*)
|
|
UNKNOWN_ARG=yes
|
|
;;
|
|
esac
|
|
if [ "$UNKNOWN_ARG" = "yes" ]; then
|
|
shift
|
|
continue
|
|
fi
|
|
shift
|
|
|
|
UNKNOWN_OPT=no
|
|
case "$VAR" in
|
|
qpa)
|
|
if [ "$PLATFORM_QPA" != "no" ]; then
|
|
if [ "$PLATFORM_QPA" = "maybe" ]; then
|
|
PLATFORM_X11=no
|
|
PLATFORM_QPA=yes
|
|
fi
|
|
else
|
|
echo "No license exists to enable Qt QPA. Disabling."
|
|
fi
|
|
;;
|
|
developer-build)
|
|
CFG_DEV="yes"
|
|
;;
|
|
commercial)
|
|
COMMERCIAL_USER="yes"
|
|
;;
|
|
opensource)
|
|
COMMERCIAL_USER="no"
|
|
;;
|
|
*)
|
|
UNKNOWN_OPT=yes
|
|
;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
earlyArgParse "$@"
|
|
|
|
if [ "$COMMERCIAL_USER" = "ask" ]; then
|
|
while true; do
|
|
echo "Which edition of Qt do you want to use ?"
|
|
echo
|
|
echo "Type 'c' if you want to use the Commercial Edition."
|
|
echo "Type 'o' if you want to use the Open Source Edition."
|
|
echo
|
|
read commercial
|
|
echo
|
|
if [ "$commercial" = "c" ]; then
|
|
COMMERCIAL_USER="yes"
|
|
break
|
|
elif [ "$commercial" = "o" ]; then
|
|
COMMERCIAL_USER="no"
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes" ]; then
|
|
# Commercial preview release
|
|
[ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
|
|
Licensee="Preview"
|
|
Edition="Preview"
|
|
QT_EDITION="QT_EDITION_DESKTOP"
|
|
LicenseType="Technology Preview"
|
|
elif [ $COMMERCIAL_USER = "yes" ]; then
|
|
# one of commercial editions
|
|
[ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
|
|
[ "$PLATFORM_QPA" = "maybe" ] && PLATFORM_QPA=no
|
|
|
|
# read in the license file
|
|
if [ -f "$LICENSE_FILE" ]; then
|
|
. "$LICENSE_FILE" >/dev/null 2>&1
|
|
if [ -z "$LicenseKeyExt" ]; then
|
|
echo
|
|
echo "You are using an old license file."
|
|
echo
|
|
echo "Please install the license file supplied by Nokia,"
|
|
echo "or install the Qt Open Source Edition if you intend to"
|
|
echo "develop free software."
|
|
exit 1
|
|
fi
|
|
if [ -z "$Licensee" ]; then
|
|
echo
|
|
echo "Invalid license key. Please check the license key."
|
|
exit 1
|
|
fi
|
|
else
|
|
if [ -z "$LicenseKeyExt" ]; then
|
|
echo
|
|
echo $ECHO_N "Please enter your license key: $ECHO_C"
|
|
read LicenseKeyExt
|
|
Licensee="Unknown user"
|
|
fi
|
|
fi
|
|
|
|
# Key verification
|
|
echo "$LicenseKeyExt" | grep ".....*-....*-....*-....*-.....*-.....*-...." >/dev/null 2>&1 \
|
|
&& LicenseValid="yes" \
|
|
|| LicenseValid="no"
|
|
if [ "$LicenseValid" != "yes" ]; then
|
|
echo
|
|
echo "Invalid license key. Please check the license key."
|
|
exit 1
|
|
fi
|
|
ProductCode=`echo $LicenseKeyExt | cut -f 1 -d - | cut -b 1`
|
|
PlatformCode=`echo $LicenseKeyExt | cut -f 2 -d -`
|
|
LicenseTypeCode=`echo $LicenseKeyExt | cut -f 3 -d -`
|
|
LicenseFeatureCode=`echo $LicenseKeyExt | cut -f 4 -d - | cut -b 1`
|
|
|
|
# determine which edition we are licensed to use
|
|
case "$LicenseTypeCode" in
|
|
F4M)
|
|
LicenseType="Commercial"
|
|
case $ProductCode in
|
|
F)
|
|
Edition="Universal"
|
|
QT_EDITION="QT_EDITION_UNIVERSAL"
|
|
;;
|
|
B)
|
|
Edition="FullFramework"
|
|
EditionString="Full Framework"
|
|
QT_EDITION="QT_EDITION_DESKTOP"
|
|
;;
|
|
L)
|
|
Edition="GUIFramework"
|
|
EditionString="GUI Framework"
|
|
QT_EDITION="QT_EDITION_DESKTOPLIGHT"
|
|
;;
|
|
esac
|
|
;;
|
|
Z4M|R4M|Q4M)
|
|
LicenseType="Evaluation"
|
|
QMakeVar add DEFINES QT_EVAL
|
|
case $ProductCode in
|
|
B)
|
|
Edition="Evaluation"
|
|
QT_EDITION="QT_EDITION_EVALUATION"
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
if [ -z "$LicenseType" -o -z "$Edition" -o -z "$QT_EDITION" ]; then
|
|
echo
|
|
echo "Invalid license key. Please check the license key."
|
|
exit 1
|
|
fi
|
|
|
|
# verify that we are licensed to use Qt on this platform
|
|
LICENSE_EXTENSION=
|
|
case "$PlatformCode" in
|
|
*L)
|
|
CFG_RTOS_ENABLED=yes
|
|
PlatformCode=`echo "$PlatformCode" | sed 'h;y/8NPQRTZ/UCWX9M7/;x;G;s/\(.\)....\(.\)./\1\2/'`
|
|
;;
|
|
*)
|
|
CFG_RTOS_ENABLED=no
|
|
PlatformCode=`echo "$PlatformCode" | sed 's/.$//'`
|
|
;;
|
|
esac
|
|
### EMBEDDED_QPA logic missing ###
|
|
case "$PlatformCode,$PLATFORM_MAC,$PLATFORM_QWS" in
|
|
X9,* | XC,* | XU,* | XW,* | XM,*)
|
|
# Qt All-OS
|
|
LICENSE_EXTENSION="-ALLOS"
|
|
;;
|
|
8M,* | KM,* | S9,* | SC,* | SM,* | SU,* | SW,* | X9,* | XC,* | XU,* | XW,*)
|
|
# Qt for Embedded Linux
|
|
LICENSE_EXTENSION="-EMBEDDED"
|
|
;;
|
|
6M,*,no | N7,*,no | N9,*,no | NX,*,no)
|
|
# Embedded no-deploy
|
|
LICENSE_EXTENSION="-EMBEDDED"
|
|
;;
|
|
FM,*,no | LM,yes,* | ZM,no,no)
|
|
# Desktop
|
|
LICENSE_EXTENSION="-DESKTOP"
|
|
;;
|
|
*)
|
|
Platform=Linux/X11
|
|
[ "$PLATFORM_MAC" = "yes" ] && Platform='Mac OS X'
|
|
echo
|
|
echo "You are not licensed for the $Platform platform."
|
|
echo
|
|
echo "Please contact qt-info@nokia.com to upgrade your license to"
|
|
echo "include the $Platform platform, or install the Qt Open Source Edition"
|
|
echo "if you intend to develop free software."
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
if test -r "$relpath/.LICENSE"; then
|
|
# Generic, non-final license
|
|
LICENSE_EXTENSION=""
|
|
line=`sed 'y/a-z/A-Z/;q' "$relpath"/.LICENSE`
|
|
case "$line" in
|
|
*BETA*)
|
|
Edition=Beta
|
|
;;
|
|
*TECHNOLOGY?PREVIEW*)
|
|
Edition=Preview
|
|
;;
|
|
*EVALUATION*)
|
|
Edition=Evaluation
|
|
;;
|
|
*)
|
|
echo >&2 "Invalid license files; cannot continue"
|
|
exit 1
|
|
;;
|
|
esac
|
|
Licensee="$Edition"
|
|
EditionString="$Edition"
|
|
QT_EDITION="QT_EDITION_DESKTOP"
|
|
fi
|
|
|
|
case "$LicenseFeatureCode" in
|
|
B|G|L|Y)
|
|
# US
|
|
case "$LicenseType" in
|
|
Commercial)
|
|
cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}-US" "$outpath/LICENSE"
|
|
;;
|
|
Evaluation)
|
|
cp -f "$relpath/.LICENSE-EVALUATION-US" "$outpath/LICENSE"
|
|
;;
|
|
esac
|
|
;;
|
|
2|4|5|F)
|
|
# non-US
|
|
case "$LicenseType" in
|
|
Commercial)
|
|
cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}" "$outpath/LICENSE"
|
|
;;
|
|
Evaluation)
|
|
cp -f "$relpath/.LICENSE-EVALUATION" "$outpath/LICENSE"
|
|
;;
|
|
esac
|
|
;;
|
|
*)
|
|
echo
|
|
echo "Invalid license key. Please check the license key."
|
|
exit 1
|
|
;;
|
|
esac
|
|
case "$LicenseFeatureCode" in
|
|
4|B|F|Y)
|
|
CFG_RTOS_ENABLED=yes
|
|
;;
|
|
2|5|G|L)
|
|
CFG_RTOS_ENABLED=no
|
|
;;
|
|
esac
|
|
if [ '!' -f "$outpath/LICENSE" ]; then
|
|
echo "The LICENSE, LICENSE.GPL3 LICENSE.LGPL 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
|
|
elif [ $COMMERCIAL_USER = "no" ]; then
|
|
# Open Source edition - may only be used under the terms of the GPL or LGPL.
|
|
[ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
|
|
Licensee="Open Source"
|
|
Edition="OpenSource"
|
|
EditionString="Open Source"
|
|
QT_EDITION="QT_EDITION_OPENSOURCE"
|
|
fi
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# initalize variables
|
|
#-------------------------------------------------------------------------------
|
|
|
|
SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
|
|
for varname in $SYSTEM_VARIABLES; do
|
|
qmakevarname="${varname}"
|
|
# use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
|
|
if [ "${varname}" = "LDFLAGS" ]; then
|
|
qmakevarname="LFLAGS"
|
|
elif [ "${varname}" = "LD" ]; then
|
|
qmakevarname="LINK"
|
|
fi
|
|
cmd=`echo \
|
|
'if [ -n "\$'${varname}'" ]; then
|
|
QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'"
|
|
fi'`
|
|
eval "$cmd"
|
|
done
|
|
# Use CC/CXX to run config.tests
|
|
mkdir -p "$outpath/config.tests"
|
|
rm -f "$outpath/config.tests/.qmake.cache"
|
|
cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
|
|
|
|
QMakeVar add styles "cde mac motif plastique cleanlooks windows"
|
|
QMakeVar add decorations "default windows styled"
|
|
QMakeVar add mouse-drivers "pc"
|
|
if [ "$UNAME_SYSTEM" = "Linux" ] ; then
|
|
QMakeVar add gfx-drivers "linuxfb"
|
|
QMakeVar add mouse-drivers "linuxtp"
|
|
fi
|
|
QMakeVar add kbd-drivers "tty"
|
|
|
|
if [ "$CFG_DEV" = "yes" ]; then
|
|
QMakeVar add kbd-drivers "um"
|
|
fi
|
|
|
|
# QTDIR may be set and point to an old or system-wide Qt installation
|
|
unset QTDIR
|
|
|
|
# the minimum version of libdbus-1 that we require:
|
|
MIN_DBUS_1_VERSION=0.93
|
|
|
|
# initalize internal variables
|
|
CFG_CONFIGURE_EXIT_ON_ERROR=yes
|
|
CFG_PROFILE=no
|
|
CFG_EXCEPTIONS=unspecified
|
|
CFG_GUI=auto # (yes|no|auto)
|
|
CFG_INCREMENTAL=auto
|
|
CFG_QCONFIG=full
|
|
CFG_DEBUG=auto
|
|
CFG_MYSQL_CONFIG=
|
|
CFG_DEBUG_RELEASE=no
|
|
CFG_SHARED=yes
|
|
CFG_SM=auto
|
|
CFG_XSHAPE=auto
|
|
CFG_XSYNC=auto
|
|
CFG_XVIDEO=auto
|
|
CFG_XINERAMA=runtime
|
|
CFG_XFIXES=runtime
|
|
CFG_ZLIB=auto
|
|
CFG_SQLITE=qt
|
|
CFG_GIF=auto
|
|
CFG_PNG=yes
|
|
CFG_LIBPNG=auto
|
|
CFG_JPEG=auto
|
|
CFG_LIBJPEG=auto
|
|
CFG_XCURSOR=runtime
|
|
CFG_XRANDR=runtime
|
|
CFG_XRENDER=auto
|
|
CFG_MITSHM=auto
|
|
CFG_OPENGL=auto
|
|
CFG_OPENVG=auto
|
|
CFG_OPENVG_LC_INCLUDES=no
|
|
CFG_OPENVG_SHIVA=auto
|
|
CFG_OPENVG_ON_OPENGL=auto
|
|
CFG_EGL=no
|
|
CFG_EGL_GLES_INCLUDES=no
|
|
CFG_SSE=auto
|
|
CFG_FONTCONFIG=auto
|
|
CFG_LIBFREETYPE=auto
|
|
CFG_SQL_AVAILABLE=
|
|
QT_DEFAULT_BUILD_PARTS="libs examples tests"
|
|
CFG_BUILD_PARTS=""
|
|
CFG_NOBUILD_PARTS=""
|
|
CFG_RELEASE_QMAKE=no
|
|
CFG_AUDIO_BACKEND=auto
|
|
CFG_V8SNAPSHOT=auto
|
|
CFG_DECLARATIVE_DEBUG=yes
|
|
CFG_JAVASCRIPTCORE_JIT=auto
|
|
|
|
CFG_GFX_AVAILABLE="linuxfb transformed qvfb vnc multiscreen directfb"
|
|
CFG_GFX_ON="linuxfb multiscreen"
|
|
CFG_GFX_PLUGIN_AVAILABLE=
|
|
CFG_GFX_PLUGIN=
|
|
CFG_GFX_OFF=
|
|
CFG_KBD_AVAILABLE="tty linuxinput qvfb"
|
|
CFG_KBD_ON="tty" #default, see QMakeVar above
|
|
CFG_MOUSE_AVAILABLE="pc linuxtp linuxinput tslib qvfb"
|
|
CFG_MOUSE_ON="pc linuxtp" #default, see QMakeVar above
|
|
|
|
CFG_ARCH=
|
|
CFG_HOST_ARCH=
|
|
CFG_KBD_PLUGIN_AVAILABLE=
|
|
CFG_KBD_PLUGIN=
|
|
CFG_KBD_OFF=
|
|
CFG_MOUSE_PLUGIN_AVAILABLE=
|
|
CFG_MOUSE_PLUGIN=
|
|
CFG_MOUSE_OFF=
|
|
CFG_USE_GNUMAKE=no
|
|
CFG_IM=yes
|
|
CFG_DECORATION_AVAILABLE="styled windows default"
|
|
CFG_DECORATION_ON="${CFG_DECORATION_AVAILABLE}" # all on by default
|
|
CFG_DECORATION_PLUGIN_AVAILABLE=
|
|
CFG_DECORATION_PLUGIN=
|
|
CFG_XINPUT2=auto
|
|
CFG_XINPUT=runtime
|
|
CFG_XKB=auto
|
|
CFG_XCB=auto
|
|
CFG_XCB_LIMITED=yes
|
|
CFG_WAYLAND=auto
|
|
CFG_LIBUDEV=auto
|
|
CFG_EVDEV=auto
|
|
CFG_NIS=auto
|
|
CFG_CUPS=auto
|
|
CFG_ICONV=auto
|
|
CFG_DBUS=auto
|
|
CFG_GLIB=auto
|
|
CFG_GSTREAMER=auto
|
|
CFG_QGTKSTYLE=auto
|
|
CFG_LARGEFILE=auto
|
|
CFG_OPENSSL=auto
|
|
CFG_STL=auto
|
|
CFG_PRECOMPILE=auto
|
|
CFG_SEPARATE_DEBUG_INFO=no
|
|
CFG_SEPARATE_DEBUG_INFO_NOCOPY=no
|
|
CFG_REDUCE_EXPORTS=auto
|
|
CFG_MMX=auto
|
|
CFG_3DNOW=auto
|
|
CFG_SSE=auto
|
|
CFG_SSE2=auto
|
|
CFG_SSE3=auto
|
|
CFG_SSSE3=auto
|
|
CFG_SSE4_1=auto
|
|
CFG_SSE4_2=auto
|
|
CFG_AVX=auto
|
|
CFG_REDUCE_RELOCATIONS=auto
|
|
CFG_NAS=no
|
|
CFG_ACCESSIBILITY=auto
|
|
CFG_ENDIAN=auto
|
|
CFG_HOST_ENDIAN=auto
|
|
CFG_IWMMXT=no
|
|
CFG_NEON=auto
|
|
CFG_CLOCK_GETTIME=auto
|
|
CFG_CLOCK_MONOTONIC=auto
|
|
CFG_MREMAP=auto
|
|
CFG_GETADDRINFO=auto
|
|
CFG_IPV6IFNAME=auto
|
|
CFG_GETIFADDRS=auto
|
|
CFG_INOTIFY=auto
|
|
CFG_RPATH=yes
|
|
CFG_FRAMEWORK=auto
|
|
CFG_MAC_ARCHS=
|
|
MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings
|
|
CFG_MAC_DWARF2=auto
|
|
CFG_MAC_HARFBUZZ=no
|
|
CFG_SXE=no
|
|
CFG_PREFIX_INSTALL=yes
|
|
CFG_SDK=
|
|
D_FLAGS=
|
|
I_FLAGS=
|
|
L_FLAGS=
|
|
RPATH_FLAGS=
|
|
l_FLAGS=
|
|
W_FLAGS=
|
|
QCONFIG_FLAGS=
|
|
XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
|
|
XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
|
|
XPLATFORM_MAEMO=no
|
|
PLATFORM=$QMAKESPEC
|
|
QT_CROSS_COMPILE=no
|
|
OPT_CONFIRM_LICENSE=no
|
|
OPT_SHADOW=maybe
|
|
OPT_FAST=auto
|
|
OPT_VERBOSE=no
|
|
OPT_HELP=
|
|
CFG_SILENT=no
|
|
CFG_ALSA=auto
|
|
CFG_PULSEAUDIO=auto
|
|
CFG_COREWLAN=auto
|
|
CFG_NOPROCESS=no
|
|
CFG_ICU=auto
|
|
CFG_FORCE_ASSERTS=no
|
|
CFG_PCRE=auto
|
|
|
|
# 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_IMPORTS=
|
|
QT_INSTALL_DATA=
|
|
QT_INSTALL_TRANSLATIONS=
|
|
QT_INSTALL_SETTINGS=
|
|
QT_INSTALL_EXAMPLES=
|
|
QT_INSTALL_TESTS=
|
|
QT_HOST_PREFIX=
|
|
|
|
#flags for SQL drivers
|
|
QT_CFLAGS_PSQL=
|
|
QT_LFLAGS_PSQL=
|
|
QT_CFLAGS_MYSQL=
|
|
QT_LFLAGS_MYSQL=
|
|
QT_LFLAGS_MYSQL_R=
|
|
QT_CFLAGS_SQLITE=
|
|
QT_LFLAGS_SQLITE=
|
|
QT_LFLAGS_ODBC="-lodbc"
|
|
QT_LFLAGS_TDS=
|
|
|
|
# flags for libdbus-1
|
|
QT_CFLAGS_DBUS=
|
|
QT_LIBS_DBUS=
|
|
|
|
# flags for Glib (X11 only)
|
|
QT_CFLAGS_GLIB=
|
|
QT_LIBS_GLIB=
|
|
|
|
# flags for GStreamer (X11 only)
|
|
QT_CFLAGS_GSTREAMER=
|
|
QT_LIBS_GSTREAMER=
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# check SQL drivers, mouse drivers and decorations available in this package
|
|
#-------------------------------------------------------------------------------
|
|
|
|
# opensource version removes some drivers, so force them to be off
|
|
CFG_SQL_tds=no
|
|
CFG_SQL_oci=no
|
|
CFG_SQL_db2=no
|
|
|
|
CFG_SQL_AVAILABLE=
|
|
if [ -d "$relpath/src/plugins/sqldrivers" ]; then
|
|
for a in "$relpath/src/plugins/sqldrivers/"*; do
|
|
if [ -d "$a" ]; then
|
|
base_a=`basename "$a"`
|
|
CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
|
|
eval "CFG_SQL_${base_a}=auto"
|
|
fi
|
|
done
|
|
fi
|
|
|
|
CFG_DECORATION_PLUGIN_AVAILABLE=
|
|
if [ -d "$relpath/src/plugins/decorations" ]; then
|
|
for a in "$relpath/src/plugins/decorations/"*; do
|
|
if [ -d "$a" ]; then
|
|
base_a=`basename "$a"`
|
|
CFG_DECORATION_PLUGIN_AVAILABLE="${CFG_DECORATION_PLUGIN_AVAILABLE} ${base_a}"
|
|
fi
|
|
done
|
|
fi
|
|
|
|
CFG_KBD_PLUGIN_AVAILABLE=
|
|
if [ -d "$relpath/src/plugins/kbddrivers" ]; then
|
|
for a in "$relpath/src/plugins/kbddrivers/"*; do
|
|
if [ -d "$a" ]; then
|
|
base_a=`basename "$a"`
|
|
CFG_KBD_PLUGIN_AVAILABLE="${CFG_KBD_PLUGIN_AVAILABLE} ${base_a}"
|
|
fi
|
|
done
|
|
fi
|
|
|
|
CFG_MOUSE_PLUGIN_AVAILABLE=
|
|
if [ -d "$relpath/src/plugins/mousedrivers" ]; then
|
|
for a in "$relpath/src/plugins/mousedrivers/"*; do
|
|
if [ -d "$a" ]; then
|
|
base_a=`basename "$a"`
|
|
CFG_MOUSE_PLUGIN_AVAILABLE="${CFG_MOUSE_PLUGIN_AVAILABLE} ${base_a}"
|
|
fi
|
|
done
|
|
fi
|
|
|
|
CFG_GFX_PLUGIN_AVAILABLE=
|
|
if [ -d "$relpath/src/plugins/gfxdrivers" ]; then
|
|
for a in "$relpath/src/plugins/gfxdrivers/"*; do
|
|
if [ -d "$a" ]; then
|
|
base_a=`basename "$a"`
|
|
CFG_GFX_PLUGIN_AVAILABLE="${CFG_GFX_PLUGIN_AVAILABLE} ${base_a}"
|
|
fi
|
|
done
|
|
CFG_GFX_OFF="$CFG_GFX_AVAILABLE" # assume all off
|
|
fi
|
|
|
|
CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
|
|
if [ -d "$relpath/src/plugins/imageformats" ]; then
|
|
for a in "$relpath/src/plugins/imageformats/"*; do
|
|
if [ -d "$a" ]; then
|
|
base_a=`basename "$a"`
|
|
CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
|
|
fi
|
|
done
|
|
fi
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# 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|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-xcb|-wayland|-nis|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-debug-and-release|-exceptions|-harfbuzz|-prefix-install|-silent|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-phonon-backend|-audio-backend|-declarative-debug|-javascript-jit|-rpath|-force-pkg-config|-icu|-force-asserts|-testcocoon)
|
|
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
|
|
VAL=yes
|
|
;;
|
|
#Qt style options that pass an argument
|
|
-qconfig)
|
|
if [ "$PLATFORM_QPA" != "yes" ]; then
|
|
echo
|
|
echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
|
|
echo
|
|
fi
|
|
CFG_QCONFIG="$VAL"
|
|
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
|
|
shift
|
|
VAL=$1
|
|
;;
|
|
-prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-testsdir|-depths|-make|-nomake|-platform|-xplatform|-sdk|-arch|-host-arch|-mysql_config|-sysroot)
|
|
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
|
|
;;
|
|
-embedded-lite|-qpa)
|
|
VAR=qpa
|
|
# 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
|
|
;;
|
|
-opengl)
|
|
VAR=opengl
|
|
# this option may or may not be followed by an argument
|
|
if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
|
|
VAL=yes
|
|
else
|
|
shift;
|
|
VAL=$1
|
|
fi
|
|
;;
|
|
-openvg)
|
|
VAR=openvg
|
|
# this option may or may not be followed by an argument
|
|
if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
|
|
VAL=yes
|
|
else
|
|
shift;
|
|
VAL=$1
|
|
fi
|
|
;;
|
|
-hostprefix)
|
|
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
|
|
# this option may or may not be followed by an argument
|
|
if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
|
|
VAL=$outpath
|
|
else
|
|
shift;
|
|
VAL=$1
|
|
fi
|
|
;;
|
|
-host-*-endian)
|
|
VAR=host_endian
|
|
VAL=`echo $1 | sed "s,^-.*-\(.*\)-.*,\1,"`
|
|
;;
|
|
-*-endian)
|
|
VAR=endian
|
|
VAL=`echo $1 | sed "s,^-\(.*\)-.*,\1,"`
|
|
;;
|
|
-qtnamespace)
|
|
VAR="qtnamespace"
|
|
shift
|
|
VAL="$1"
|
|
;;
|
|
-qtlibinfix)
|
|
VAR="qtlibinfix"
|
|
shift
|
|
VAL="$1"
|
|
;;
|
|
-D?*|-D)
|
|
VAR="add_define"
|
|
if [ "$1" = "-D" ]; then
|
|
shift
|
|
VAL="$1"
|
|
else
|
|
VAL=`echo $1 | sed 's,-D,,'`
|
|
fi
|
|
;;
|
|
-fpu)
|
|
VAR="fpu"
|
|
# this option may or may not be followed by an argument
|
|
if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
|
|
VAL=no
|
|
else
|
|
shift
|
|
VAL=$1
|
|
fi
|
|
;;
|
|
-I?*|-I)
|
|
VAR="add_ipath"
|
|
if [ "$1" = "-I" ]; then
|
|
shift
|
|
VAL="$1"
|
|
else
|
|
VAL=`echo $1 | sed 's,-I,,'`
|
|
fi
|
|
;;
|
|
-L?*|-L)
|
|
VAR="add_lpath"
|
|
if [ "$1" = "-L" ]; then
|
|
shift
|
|
VAL="$1"
|
|
else
|
|
VAL=`echo $1 | sed 's,-L,,'`
|
|
fi
|
|
;;
|
|
-R?*|-R)
|
|
VAR="add_rpath"
|
|
if [ "$1" = "-R" ]; then
|
|
shift
|
|
VAL="$1"
|
|
else
|
|
VAL=`echo $1 | sed 's,-R,,'`
|
|
fi
|
|
;;
|
|
-l?*)
|
|
VAR="add_link"
|
|
VAL=`echo $1 | sed 's,-l,,'`
|
|
;;
|
|
-F?*|-F)
|
|
VAR="add_fpath"
|
|
if [ "$1" = "-F" ]; then
|
|
shift
|
|
VAL="$1"
|
|
else
|
|
VAL=`echo $1 | sed 's,-F,,'`
|
|
fi
|
|
;;
|
|
-fw?*|-fw)
|
|
VAR="add_framework"
|
|
if [ "$1" = "-fw" ]; then
|
|
shift
|
|
VAL="$1"
|
|
else
|
|
VAL=`echo $1 | sed 's,-fw,,'`
|
|
fi
|
|
;;
|
|
-W*)
|
|
VAR="add_warn"
|
|
VAL="$1"
|
|
;;
|
|
-*)
|
|
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
|
|
VAL="unknown"
|
|
;;
|
|
*)
|
|
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
|
|
;;
|
|
license)
|
|
LICENSE_FILE="$VAL"
|
|
;;
|
|
gnumake)
|
|
CFG_USE_GNUMAKE="$VAL"
|
|
;;
|
|
mysql_config)
|
|
CFG_MYSQL_CONFIG="$VAL"
|
|
;;
|
|
prefix)
|
|
QT_INSTALL_PREFIX="$VAL"
|
|
;;
|
|
hostprefix)
|
|
QT_HOST_PREFIX="$VAL"
|
|
;;
|
|
force-pkg-config)
|
|
QT_FORCE_PKGCONFIG=yes
|
|
;;
|
|
docdir)
|
|
QT_INSTALL_DOCS="$VAL"
|
|
;;
|
|
headerdir)
|
|
QT_INSTALL_HEADERS="$VAL"
|
|
;;
|
|
plugindir)
|
|
QT_INSTALL_PLUGINS="$VAL"
|
|
;;
|
|
importdir)
|
|
QT_INSTALL_IMPORTS="$VAL"
|
|
;;
|
|
datadir)
|
|
QT_INSTALL_DATA="$VAL"
|
|
;;
|
|
libdir)
|
|
QT_INSTALL_LIBS="$VAL"
|
|
;;
|
|
qtnamespace)
|
|
QT_NAMESPACE="$VAL"
|
|
;;
|
|
qtlibinfix)
|
|
QT_LIBINFIX="$VAL"
|
|
;;
|
|
translationdir)
|
|
QT_INSTALL_TRANSLATIONS="$VAL"
|
|
;;
|
|
sysconfdir|settingsdir)
|
|
QT_INSTALL_SETTINGS="$VAL"
|
|
;;
|
|
examplesdir)
|
|
QT_INSTALL_EXAMPLES="$VAL"
|
|
;;
|
|
testsdir)
|
|
QT_INSTALL_TESTS="$VAL"
|
|
;;
|
|
qconfig)
|
|
CFG_QCONFIG="$VAL"
|
|
;;
|
|
sysroot)
|
|
CFG_SYSROOT="$VAL"
|
|
;;
|
|
bindir)
|
|
QT_INSTALL_BINS="$VAL"
|
|
;;
|
|
sxe)
|
|
CFG_SXE="$VAL"
|
|
;;
|
|
embedded-lite|qpa)
|
|
PLATFORM_X11=no
|
|
PLATFORM_QPA=yes
|
|
;;
|
|
sse)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_SSE="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
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
|
|
;;
|
|
host_endian)
|
|
if [ "$VAL" = "little" ]; then
|
|
CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
|
|
elif [ "$VAL" = "big" ]; then
|
|
CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
opengl)
|
|
if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] ||
|
|
[ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
|
|
[ "$VAL" = "es2" ]; then
|
|
CFG_OPENGL="$VAL"
|
|
if [ "$VAL" = "es2" ]; then
|
|
CFG_EGL="yes"
|
|
fi
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
openvg)
|
|
if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_OPENVG="$VAL"
|
|
if [ "$CFG_EGL" = "no" ] && [ "$VAL" != "no" ]; then
|
|
CFG_EGL=auto
|
|
fi
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
qvfb) # left for commandline compatibility, not documented
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
if [ "$VAL" = "yes" ]; then
|
|
QMakeVar add gfx-drivers qvfb
|
|
QMakeVar add kbd-drivers qvfb
|
|
QMakeVar add mouse-drivers qvfb
|
|
CFG_GFX_ON="$CFG_GFX_ON qvfb"
|
|
CFG_KBD_ON="$CFG_KBD_ON qvfb"
|
|
CFG_MOUSE_ON="$CFG_MOUSE_ON qvfb"
|
|
fi
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
nomake)
|
|
CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL"
|
|
;;
|
|
make)
|
|
CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
|
|
;;
|
|
x11)
|
|
PLATFORM_QPA=no
|
|
PLATFORM_MAC=no
|
|
PLATFORM_X11=yes
|
|
;;
|
|
sdk)
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
CFG_SDK="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
dwarf2)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_MAC_DWARF2="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
arch)
|
|
# if this is a Mac then "windows" probably means
|
|
# we are cross-compiling for MinGW
|
|
if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" != "windows" ]; then
|
|
CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL"
|
|
else
|
|
CFG_ARCH=$VAL
|
|
fi
|
|
;;
|
|
host-arch)
|
|
CFG_HOST_ARCH=$VAL
|
|
;;
|
|
harfbuzz)
|
|
if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then
|
|
CFG_MAC_HARFBUZZ="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
|
|
framework)
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
CFG_FRAMEWORK="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
profile)
|
|
if [ "$VAL" = "yes" ]; then
|
|
CFG_PROFILE=yes
|
|
QMakeVar add QMAKE_CFLAGS -pg
|
|
QMakeVar add QMAKE_CXXFLAGS -pg
|
|
QMakeVar add QMAKE_LFLAGS -pg
|
|
QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
testcocoon)
|
|
if [ "$VAL" = "yes" ]; then
|
|
QTCONFIG_CONFIG="$QTCONFIG_CONFIG testcocoon"
|
|
fi
|
|
;;
|
|
exceptions|g++-exceptions)
|
|
if [ "$VAL" = "no" ]; then
|
|
CFG_EXCEPTIONS=no
|
|
elif [ "$VAL" = "yes" ]; then
|
|
CFG_EXCEPTIONS=yes
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
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-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
|
|
;;
|
|
openunix-cc)
|
|
PLATFORM=unixware-cc
|
|
;;
|
|
openunix-g++)
|
|
PLATFORM=unixware-g++
|
|
;;
|
|
unixware7-cc)
|
|
PLATFORM=unixware-cc
|
|
;;
|
|
unixware7-g++)
|
|
PLATFORM=unixware-g++
|
|
;;
|
|
macx-g++-64)
|
|
PLATFORM=macx-g++
|
|
NATIVE_64_ARCH=
|
|
case `uname -p` in
|
|
i386) NATIVE_64_ARCH="x86_64" ;;
|
|
powerpc) NATIVE_64_ARCH="ppc64" ;;
|
|
*) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;;
|
|
esac
|
|
if [ ! -z "$NATIVE_64_ARCH" ]; then
|
|
QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH"
|
|
fi
|
|
;;
|
|
esac
|
|
;;
|
|
xplatform)
|
|
XPLATFORM="$VAL"
|
|
case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
|
|
;;
|
|
debug-and-release)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_DEBUG_RELEASE="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
optimized-qmake)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_RELEASE_QMAKE="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
release)
|
|
if [ "$VAL" = "yes" ]; then
|
|
CFG_DEBUG=no
|
|
elif [ "$VAL" = "no" ]; then
|
|
CFG_DEBUG=yes
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
prefix-install)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_PREFIX_INSTALL="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
debug)
|
|
CFG_DEBUG="$VAL"
|
|
;;
|
|
developer-build|commercial|opensource)
|
|
# These switches have been dealt with already
|
|
;;
|
|
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
|
|
;;
|
|
feature-*)
|
|
FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
|
|
if [ "$VAL" = "no" ]; then
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE"
|
|
elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
shared)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_SHARED="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
gif)
|
|
if [ "$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
|
|
|
|
;;
|
|
xinerama)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
|
|
CFG_XINERAMA="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
xshape)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_XSHAPE="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
xvideo)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_XVIDEO="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
xsync)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_XSYNC="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
xinput2)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_XINPUT2="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
xinput)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
|
|
CFG_XINPUT="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
egl)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_EGL="$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
|
|
;;
|
|
separate-debug-info)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_SEPARATE_DEBUG_INFO="$VAL"
|
|
elif [ "$VAL" = "nocopy" ] ; then
|
|
CFG_SEPARATE_DEBUG_INFO="yes"
|
|
CFG_SEPARATE_DEBUG_INFO_NOCOPY="yes"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
reduce-exports)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_REDUCE_EXPORTS="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
mmx)
|
|
if [ "$VAL" = "no" ]; then
|
|
CFG_MMX="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
3dnow)
|
|
if [ "$VAL" = "no" ]; then
|
|
CFG_3DNOW="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
sse)
|
|
if [ "$VAL" = "no" ]; then
|
|
CFG_SSE="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
sse2)
|
|
if [ "$VAL" = "no" ]; then
|
|
CFG_SSE2="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
sse3)
|
|
if [ "$VAL" = "no" ]; then
|
|
CFG_SSE3="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
ssse3)
|
|
if [ "$VAL" = "no" ]; then
|
|
CFG_SSSE3="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
sse4.1)
|
|
if [ "$VAL" = "no" ]; then
|
|
CFG_SSE4_1="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
sse4.2)
|
|
if [ "$VAL" = "no" ]; then
|
|
CFG_SSE4_2="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
avx)
|
|
if [ "$VAL" = "no" ]; then
|
|
CFG_AVX="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
iwmmxt)
|
|
CFG_IWMMXT="yes"
|
|
;;
|
|
neon)
|
|
if [ "$VAL" = "no" ]; then
|
|
CFG_NEON="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
reduce-relocations)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_REDUCE_RELOCATIONS="$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
|
|
# No longer supported:
|
|
#[ "$VAL" = "no" ] && CFG_LIBPNG=no
|
|
;;
|
|
sqlite)
|
|
if [ "$VAL" = "system" ]; then
|
|
CFG_SQLITE=system
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
libpng)
|
|
[ "$VAL" = "yes" ] && VAL=qt
|
|
if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
|
|
CFG_LIBPNG="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
libjpeg)
|
|
[ "$VAL" = "yes" ] && VAL=qt
|
|
if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
|
|
CFG_LIBJPEG="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
nas-sound)
|
|
if [ "$VAL" = "system" ] || [ "$VAL" = "no" ]; then
|
|
CFG_NAS="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
xcursor)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
|
|
CFG_XCURSOR="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
xfixes)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
|
|
CFG_XFIXES="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
xrandr)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
|
|
CFG_XRANDR="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
xrender)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_XRENDER="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
mitshm)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_MITSHM="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
fontconfig)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_FONTCONFIG="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
xkb)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_XKB="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
xcb)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_XCB="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
wayland)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_WAYLAND="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
libudev)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_LIBUDEV="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
evdev)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_EVDEV="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
cups)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_CUPS="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
iconv)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_ICONV="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
glib)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_GLIB="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
gstreamer)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_GSTREAMER="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
gtkstyle)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_QGTKSTYLE="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
gui)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
|
|
CFG_GUI="yes"
|
|
else
|
|
if [ "$VAL" = "no" ]; then
|
|
CFG_GUI="no"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
fi
|
|
;;
|
|
dbus)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
|
|
CFG_DBUS="$VAL"
|
|
elif [ "$VAL" = "runtime" ]; then
|
|
CFG_DBUS="yes"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
dbus-linked)
|
|
if [ "$VAL" = "yes" ]; then
|
|
CFG_DBUS="linked"
|
|
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
|
|
;;
|
|
openssl)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_OPENSSL="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
openssl-linked)
|
|
if [ "$VAL" = "yes" ]; then
|
|
CFG_OPENSSL="linked"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
declarative-debug)
|
|
if [ "$VAL" = "yes" ]; then
|
|
CFG_DECLARATIVE_DEBUG="yes"
|
|
else
|
|
if [ "$VAL" = "no" ]; then
|
|
CFG_DECLARATIVE_DEBUG="no"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
fi
|
|
;;
|
|
javascript-jit)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
|
|
CFG_JAVASCRIPTCORE_JIT="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
confirm-license)
|
|
if [ "$VAL" = "yes" ]; then
|
|
OPT_CONFIRM_LICENSE="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
h|help)
|
|
if [ "$VAL" = "yes" ]; then
|
|
OPT_HELP="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
sql-*|gfx-*|decoration-*|kbd-*|mouse-*|imageformat-*)
|
|
# 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,"`
|
|
|
|
# Grab the available values
|
|
case "$VAR" in
|
|
sql)
|
|
avail="$CFG_SQL_AVAILABLE"
|
|
;;
|
|
gfx)
|
|
avail="$CFG_GFX_AVAILABLE"
|
|
if [ "$OPT" = "plugin" ]; then
|
|
avail="$CFG_GFX_PLUGIN_AVAILABLE"
|
|
fi
|
|
;;
|
|
decoration)
|
|
avail="$CFG_DECORATION_AVAILABLE"
|
|
if [ "$OPT" = "plugin" ]; then
|
|
avail="$CFG_DECORATION_PLUGIN_AVAILABLE"
|
|
fi
|
|
;;
|
|
kbd)
|
|
avail="$CFG_KBD_AVAILABLE"
|
|
if [ "$OPT" = "plugin" ]; then
|
|
avail="$CFG_KBD_PLUGIN_AVAILABLE"
|
|
fi
|
|
;;
|
|
mouse)
|
|
avail="$CFG_MOUSE_AVAILABLE"
|
|
if [ "$OPT" = "plugin" ]; then
|
|
avail="$CFG_MOUSE_PLUGIN_AVAILABLE"
|
|
fi
|
|
;;
|
|
imageformat)
|
|
avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
|
|
if [ "$OPT" != "plugin" ]; then
|
|
# png is always built in
|
|
avail="$avail png"
|
|
fi
|
|
;;
|
|
*)
|
|
avail=""
|
|
echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
|
|
;;
|
|
esac
|
|
|
|
# Check that that user's value is available.
|
|
found=no
|
|
for d in $avail; do
|
|
if [ "$VAL" = "$d" ]; then
|
|
found=yes
|
|
break
|
|
fi
|
|
done
|
|
[ "$found" = yes ] || ERROR=yes
|
|
|
|
if [ "$VAR" = "sql" ]; then
|
|
# set the CFG_SQL_driver
|
|
eval "CFG_SQL_$VAL=\$OPT"
|
|
continue
|
|
elif [ "$VAR" = "imageformat" ]; then
|
|
[ "$OPT" = "qt" ] && OPT=yes
|
|
VAL="`echo $VAL |tr a-z A-Z`"
|
|
eval "CFG_$VAL=$OPT"
|
|
continue
|
|
fi
|
|
|
|
if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
|
|
if [ "$OPT" = "plugin" ]; then
|
|
[ "$VAR" = "decoration" ] && QMakeVar del "${VAR}s" "$VAL"
|
|
[ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"` && CFG_DECORATION_PLUGIN="$CFG_DECORATION_PLUGIN ${VAL}"
|
|
[ "$VAR" = "kbd" ] && QMakeVar del "${VAR}s" "$VAL"
|
|
[ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"` && CFG_KBD_PLUGIN="$CFG_KBD_PLUGIN ${VAL}"
|
|
[ "$VAR" = "mouse" ] && QMakeVar del "${VAR}s" "$VAL"
|
|
[ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_MOUSE_PLUGIN="$CFG_MOUSE_PLUGIN ${VAL}"
|
|
[ "$VAR" = "gfx" ] && QMakeVar del "${VAR}s" "$VAL"
|
|
[ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"` && CFG_GFX_PLUGIN="${CFG_GFX_PLUGIN} ${VAL}"
|
|
VAR="${VAR}-${OPT}"
|
|
else
|
|
if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "decoration" ] || [ "$VAR" = "mouse" ]; then
|
|
[ "$VAR" = "gfx" ] && CFG_GFX_ON="$CFG_GFX_ON $VAL"
|
|
[ "$VAR" = "kbd" ] && CFG_KBD_ON="$CFG_KBD_ON $VAL"
|
|
[ "$VAR" = "decoration" ] && CFG_DECORATION_ON="$CFG_DECORATION_ON $VAL"
|
|
[ "$VAR" = "mouse" ] && CFG_MOUSE_ON="$CFG_MOUSE_ON $VAL"
|
|
VAR="${VAR}-driver"
|
|
fi
|
|
fi
|
|
QMakeVar add "${VAR}s" "${VAL}"
|
|
elif [ "$OPT" = "no" ]; then
|
|
PLUG_VAR="${VAR}-plugin"
|
|
if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "mouse" ]; then
|
|
IN_VAR="${VAR}-driver"
|
|
else
|
|
IN_VAR="${VAR}"
|
|
fi
|
|
[ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"`
|
|
[ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"`
|
|
[ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"`
|
|
[ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"`
|
|
QMakeVar del "${IN_VAR}s" "$VAL"
|
|
QMakeVar del "${PLUG_VAR}s" "$VAL"
|
|
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
|
|
;;
|
|
rpath)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_RPATH="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
add_define)
|
|
D_FLAGS="$D_FLAGS \"$VAL\""
|
|
;;
|
|
add_ipath)
|
|
I_FLAGS="$I_FLAGS -I\"${VAL}\""
|
|
;;
|
|
add_lpath)
|
|
L_FLAGS="$L_FLAGS -L\"${VAL}\""
|
|
;;
|
|
add_rpath)
|
|
RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\""
|
|
;;
|
|
add_link)
|
|
l_FLAGS="$l_FLAGS -l\"${VAL}\""
|
|
;;
|
|
add_fpath)
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
L_FLAGS="$L_FLAGS -F\"${VAL}\""
|
|
I_FLAGS="$I_FLAGS -F\"${VAL}\""
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
add_framework)
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
l_FLAGS="$l_FLAGS -framework \"${VAL}\""
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
add_warn)
|
|
W_FLAGS="$W_FLAGS \"${VAL}\""
|
|
;;
|
|
silent)
|
|
CFG_SILENT="$VAL"
|
|
;;
|
|
phonon-backend)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_PHONON_BACKEND="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
dont-process)
|
|
CFG_NOPROCESS=yes
|
|
;;
|
|
process)
|
|
CFG_NOPROCESS=no
|
|
;;
|
|
audio-backend)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_AUDIO_BACKEND="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
icu)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_ICU="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
force-asserts)
|
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
|
CFG_FORCE_ASSERTS="$VAL"
|
|
else
|
|
UNKNOWN_OPT=yes
|
|
fi
|
|
;;
|
|
pcre)
|
|
if [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
|
|
CFG_PCRE="$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
|
|
|
|
# update QT_CONFIG to show our current predefined configuration
|
|
case "$CFG_QCONFIG" in
|
|
minimal|small|medium|large|full)
|
|
# these are a sequence of increasing functionality
|
|
for c in minimal small medium large full; do
|
|
QT_CONFIG="$QT_CONFIG $c-config"
|
|
[ "$CFG_QCONFIG" = $c ] && break
|
|
done
|
|
;;
|
|
*)
|
|
# not known to be sufficient for anything
|
|
if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
|
|
echo >&2 "Error: configuration file not found:"
|
|
echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
|
|
echo >&2 " or"
|
|
echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
|
|
OPT_HELP=yes
|
|
fi
|
|
esac
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# build tree initialization
|
|
#-------------------------------------------------------------------------------
|
|
|
|
# where to find which..
|
|
unixtests="$relpath/config.tests/unix"
|
|
mactests="$relpath/config.tests/mac"
|
|
WHICH="$unixtests/which.test"
|
|
|
|
PERL=`$WHICH perl 2>/dev/null`
|
|
|
|
# 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
|
|
|
|
# find perl
|
|
PERL="/usr/bin/perl"
|
|
if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
|
|
PERL=`$WHICH perl`
|
|
fi
|
|
|
|
### skip this if the user just needs help...
|
|
if [ "$OPT_HELP" != "yes" ]; then
|
|
|
|
# is this a shadow build?
|
|
if [ "$OPT_SHADOW" = "maybe" ]; then
|
|
OPT_SHADOW=no
|
|
if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then
|
|
if [ -h "$outpath" ]; then
|
|
[ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes
|
|
else
|
|
OPT_SHADOW=yes
|
|
fi
|
|
fi
|
|
fi
|
|
if [ "$OPT_SHADOW" = "yes" ]; then
|
|
if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
|
|
echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
|
|
echo >&2 "Cannot proceed."
|
|
exit 1
|
|
fi
|
|
[ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
|
|
fi
|
|
|
|
if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
|
|
echo
|
|
echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
|
|
echo "Qt can be built in release mode with separate debug information, so"
|
|
echo "-debug-and-release is not necessary anymore"
|
|
echo
|
|
fi
|
|
|
|
if [ "$CFG_SILENT" = "yes" ]; then
|
|
QMAKE_CONFIG="$QMAKE_CONFIG silent"
|
|
fi
|
|
|
|
# if the source tree is different from the build tree,
|
|
# symlink or copy part of the sources
|
|
if [ "$OPT_SHADOW" = "yes" ]; then
|
|
echo "Preparing build tree..."
|
|
|
|
if [ -z "$PERL" ]; then
|
|
echo
|
|
echo "You need perl in your PATH to make a shadow build."
|
|
echo "Cannot proceed."
|
|
exit 1
|
|
fi
|
|
|
|
[ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
|
|
|
|
# symlink the qmake directory
|
|
find "$relpath/qmake" | while read a; 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
|
|
|
|
# make a syncqt script that can be used in the shadow
|
|
rm -f "$outpath/bin/syncqt"
|
|
if [ -x "$relpath/bin/syncqt" ]; then
|
|
mkdir -p "$outpath/bin"
|
|
echo "#!/bin/sh" >"$outpath/bin/syncqt"
|
|
echo "perl \"$relpath/bin/syncqt\" -qtdir \"$outpath\" \"\$@\"" >>"$outpath/bin/syncqt"
|
|
chmod 755 "$outpath/bin/syncqt"
|
|
fi
|
|
|
|
for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
|
|
rm -f "$outpath/bin/$i"
|
|
if [ -x "$relpath/bin/$i" ]; then
|
|
mkdir -p "$outpath/bin"
|
|
echo "#!/bin/sh" >"$outpath/bin/$i"
|
|
echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/$i"
|
|
echo "\"$relpath/bin/$i\" \"\$@\"" >>"$outpath/bin/$i"
|
|
chmod 755 "$outpath/bin/$i"
|
|
fi
|
|
done
|
|
|
|
# symlink the mkspecs directory
|
|
mkdir -p "$outpath/mkspecs"
|
|
rm -rf "$outpath"/mkspecs/*
|
|
ln -s "$relpath"/mkspecs/* "$outpath/mkspecs"
|
|
rm -f "$outpath/mkspecs/default"
|
|
|
|
ShadowMkspecs()
|
|
{
|
|
rm -rf "$outpath/mkspecs/$1"
|
|
find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
|
|
find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
|
|
}
|
|
|
|
# Special case for mkspecs/features directory.
|
|
# To be able to place .prf files into a shadow build directory,
|
|
# we're creating links for files only. The directory structure is reproduced.
|
|
ShadowMkspecs features
|
|
|
|
# The modules dir is special, too.
|
|
ShadowMkspecs modules
|
|
|
|
# symlink the doc directory
|
|
rm -rf "$outpath/doc"
|
|
ln -s "$relpath/doc" "$outpath/doc"
|
|
fi
|
|
|
|
# symlink fonts to be able to run application from build directory
|
|
if [ "$PLATFORM_QPA" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
|
|
if [ "$PLATFORM" = "$XPLATFORM" ]; then
|
|
mkdir -p "${outpath}/lib"
|
|
ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
|
|
fi
|
|
fi
|
|
|
|
if [ "$OPT_FAST" = "auto" ]; then
|
|
if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
|
|
OPT_FAST=yes
|
|
else
|
|
OPT_FAST=no
|
|
fi
|
|
fi
|
|
|
|
# find a make command
|
|
if [ -z "$MAKE" ]; then
|
|
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 >&2 "You don't seem to have 'make' or 'gmake' in your PATH."
|
|
echo >&2 "Cannot proceed."
|
|
exit 1
|
|
fi
|
|
# export MAKE, we need it later in the config.tests
|
|
export MAKE
|
|
fi
|
|
|
|
fi ### help
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# auto-detect all that hasn't been specified in the arguments
|
|
#-------------------------------------------------------------------------------
|
|
|
|
if [ -z "$PLATFORM" ]; then
|
|
PLATFORM_NOTES=
|
|
case "$UNAME_SYSTEM:$UNAME_RELEASE" in
|
|
Darwin:*)
|
|
if [ "$PLATFORM_QPA" = "yes" ]; then
|
|
OSX_VERSION=`uname -r | cut -d. -f1`
|
|
if [ "$OSX_VERSION" -ge 11 ]; then
|
|
# We're on Lion or above. Check if we have a supported Clang version
|
|
case "$(clang -v 2>&1 | grep -Po '(?<=version )\d[\d.]+')" in
|
|
3.*)
|
|
PLATFORM=macx-clang
|
|
PLATFORM_NOTES="\n - Also available for Mac OS X: macx-g++\n"
|
|
;;
|
|
*)
|
|
PLATFORM=macx-g++
|
|
;;
|
|
esac
|
|
else
|
|
PLATFORM=macx-g++
|
|
fi
|
|
else
|
|
PLATFORM=darwin-g++
|
|
fi
|
|
;;
|
|
AIX:*)
|
|
#PLATFORM=aix-g++
|
|
#PLATFORM=aix-g++-64
|
|
PLATFORM=aix-xlc
|
|
#PLATFORM=aix-xlc-64
|
|
PLATFORM_NOTES="
|
|
- Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64
|
|
"
|
|
;;
|
|
GNU:*)
|
|
PLATFORM=hurd-g++
|
|
;;
|
|
dgux:*)
|
|
PLATFORM=dgux-g++
|
|
;;
|
|
# DYNIX/ptx:4*)
|
|
# PLATFORM=dynix-g++
|
|
# ;;
|
|
ULTRIX:*)
|
|
PLATFORM=ultrix-g++
|
|
;;
|
|
FreeBSD:*)
|
|
PLATFORM=freebsd-g++
|
|
PLATFORM_NOTES="
|
|
- Also available for FreeBSD: freebsd-icc
|
|
"
|
|
;;
|
|
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:*)
|
|
case "$UNAME_MACHINE" in
|
|
ia64)
|
|
#PLATFORM=hpuxi-acc-32
|
|
PLATFORM=hpuxi-acc-64
|
|
PLATFORM_NOTES="
|
|
- Also available for HP-UXi: hpuxi-acc-32
|
|
"
|
|
;;
|
|
*)
|
|
#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
|
|
"
|
|
;;
|
|
esac
|
|
;;
|
|
OSF1:*)
|
|
#PLATFORM=tru64-g++
|
|
PLATFORM=tru64-cxx
|
|
PLATFORM_NOTES="
|
|
- Also available for Tru64: tru64-g++
|
|
"
|
|
;;
|
|
Linux:*)
|
|
case "$UNAME_MACHINE" in
|
|
x86_64|s390x|ppc64)
|
|
PLATFORM=linux-g++-64
|
|
;;
|
|
*)
|
|
PLATFORM=linux-g++
|
|
;;
|
|
esac
|
|
PLATFORM_NOTES="
|
|
- Also available for Linux: linux-kcc linux-icc linux-cxx
|
|
"
|
|
;;
|
|
SunOS:5*)
|
|
if [ "$XPLATFORM_MINGW" = "yes" ]; then
|
|
PLATFORM="solaris-g++"
|
|
else
|
|
#PLATFORM=solaris-g++
|
|
PLATFORM=solaris-cc
|
|
#PLATFORM=solaris-cc64
|
|
fi
|
|
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++
|
|
;;
|
|
QNX:*)
|
|
PLATFORM=unsupported/qnx-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
|
|
|
|
PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"`
|
|
|
|
[ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
|
|
|
|
case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
|
|
case "$XPLATFORM" in linux-g++-maemo) XPLATFORM_MAEMO=yes;; esac
|
|
|
|
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 [ "$PLATFORM" != "$XPLATFORM" ]; then
|
|
QT_CROSS_COMPILE=yes
|
|
QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
|
|
fi
|
|
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
|
|
echo >&2
|
|
echo " Platform 'macx-xcode' 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-xcode 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 README 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 README 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-info@nokia.com."
|
|
echo
|
|
exit 2
|
|
fi
|
|
|
|
# now look at the configs and figure out what platform we are config'd for
|
|
[ "$PLATFORM_QPA" != "yes" ] \
|
|
&& [ -n "`getXQMakeConf QMAKE_LIBS_X11`" ] \
|
|
&& PLATFORM_X11=yes
|
|
### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
|
|
|
|
if [ "$UNAME_SYSTEM" = "SunOS" ]; then
|
|
# Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up
|
|
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
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# determine the system architecture
|
|
#-------------------------------------------------------------------------------
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
|
|
fi
|
|
|
|
if [ "$CFG_RTOS_ENABLED" = "no" ]; then
|
|
case `basename "$XPLATFORM"` in
|
|
qnx-* | vxworks-*)
|
|
echo ""
|
|
echo "You are not licensed for Qt for `basename $XPLATFORM`."
|
|
echo ""
|
|
echo "Please contact qt-info@nokia.com to upgrade your license to"
|
|
echo "include this platform, or install the Qt Open Source Edition"
|
|
echo "if you intend to develop free software."
|
|
exit 1
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
if [ -z "${CFG_HOST_ARCH}" ]; then
|
|
case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
|
|
GNU:*:*)
|
|
CFG_HOST_ARCH=`echo ${UNAME_MACHINE} | sed -e 's,[-/].*$,,'`
|
|
case "$CFG_HOST_ARCH" in
|
|
i?86)
|
|
CFG_HOST_ARCH=i386
|
|
;;
|
|
esac
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " GNU/Hurd ($CFG_HOST_ARCH)"
|
|
fi
|
|
;;
|
|
IRIX*:*:*)
|
|
CFG_HOST_ARCH=`uname -p`
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " SGI ($CFG_HOST_ARCH)"
|
|
fi
|
|
;;
|
|
SunOS:5*:*)
|
|
case "$UNAME_MACHINE" in
|
|
sun4u*|sun4v*)
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " Sun SPARC (sparc)"
|
|
fi
|
|
CFG_HOST_ARCH=sparc
|
|
;;
|
|
i86pc)
|
|
case "$PLATFORM" in
|
|
*-64*)
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " 64-bit AMD 80x86 (x86_64)"
|
|
fi
|
|
CFG_HOST_ARCH=x86_64
|
|
;;
|
|
*)
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " 32-bit Intel 80x86 (i386)"
|
|
fi
|
|
CFG_HOST_ARCH=i386
|
|
;;
|
|
esac
|
|
esac
|
|
;;
|
|
AIX:*:00????????00)
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " 64-bit IBM PowerPC (powerpc)"
|
|
fi
|
|
CFG_HOST_ARCH=powerpc
|
|
;;
|
|
HP-UX:*:9000*)
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " HP PA-RISC (parisc)"
|
|
fi
|
|
CFG_HOST_ARCH=parisc
|
|
;;
|
|
*:*:i?86)
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " 32-bit Intel 80x86 (i386)"
|
|
fi
|
|
CFG_HOST_ARCH=i386
|
|
;;
|
|
*:*:x86_64|*:*:amd64)
|
|
if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " 32 bit on 64-bit AMD 80x86 (i386)"
|
|
fi
|
|
CFG_HOST_ARCH=i386
|
|
else
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " 64-bit AMD 80x86 (x86_64)"
|
|
fi
|
|
CFG_HOST_ARCH=x86_64
|
|
fi
|
|
;;
|
|
*:*:ppc)
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " 32-bit PowerPC (powerpc)"
|
|
fi
|
|
CFG_HOST_ARCH=powerpc
|
|
;;
|
|
*:*:ppc64)
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " 64-bit PowerPC (powerpc)"
|
|
fi
|
|
CFG_HOST_ARCH=powerpc
|
|
;;
|
|
*:*:s390*)
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " IBM S/390 (s390)"
|
|
fi
|
|
CFG_HOST_ARCH=s390
|
|
;;
|
|
*:*:arm*)
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " ARM (arm)"
|
|
fi
|
|
CFG_HOST_ARCH=arm
|
|
;;
|
|
Linux:*:sparc*)
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " Linux on SPARC"
|
|
fi
|
|
CFG_HOST_ARCH=sparc
|
|
;;
|
|
QNX:*:*)
|
|
case "$UNAME_MACHINE" in
|
|
x86pc)
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " QNX on Intel 80x86 (i386)"
|
|
fi
|
|
CFG_HOST_ARCH=i386
|
|
;;
|
|
esac
|
|
;;
|
|
*:*:*)
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " Trying '$UNAME_MACHINE'..."
|
|
fi
|
|
CFG_HOST_ARCH="$UNAME_MACHINE"
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
if [ "$XPLATFORM_MINGW" = "yes" ]; then
|
|
[ -z "$CFG_ARCH" ] && CFG_ARCH="windows"
|
|
elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
|
|
CFG_ARCH=$CFG_HOST_ARCH
|
|
fi
|
|
|
|
# for compatibility
|
|
COMPAT_ARCH=
|
|
case "$CFG_ARCH" in
|
|
arm*)
|
|
# previously, armv6 was a different arch
|
|
CFG_ARCH=arm
|
|
COMPAT_ARCH=armv6
|
|
;;
|
|
esac
|
|
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo "System architecture: '$CFG_ARCH'"
|
|
if [ "$PLATFORM_QPA" = "yes" ]; then
|
|
echo "Host architecture: '$CFG_HOST_ARCH'"
|
|
fi
|
|
fi
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# tests that don't need qmake (must be run before displaying help)
|
|
#-------------------------------------------------------------------------------
|
|
|
|
# detect build style
|
|
if [ "$CFG_DEBUG" = "auto" ]; then
|
|
if [ "$PLATFORM_MAC" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
|
|
CFG_DEBUG_RELEASE=yes
|
|
CFG_DEBUG=yes
|
|
elif [ "$CFG_DEV" = "yes" ]; then
|
|
CFG_DEBUG_RELEASE=no
|
|
CFG_DEBUG=yes
|
|
else
|
|
CFG_DEBUG_RELEASE=no
|
|
CFG_DEBUG=no
|
|
fi
|
|
fi
|
|
if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG build_all"
|
|
fi
|
|
|
|
if [ -z "$PKG_CONFIG" ]; then
|
|
# See if PKG_CONFIG is set in the mkspec:
|
|
PKG_CONFIG=`getXQMakeConf PKG_CONFIG`
|
|
fi
|
|
if [ -z "$PKG_CONFIG" ]; then
|
|
PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null`
|
|
fi
|
|
|
|
# Work out if we can use pkg-config
|
|
if [ "$QT_CROSS_COMPILE" = "yes" ]; then
|
|
if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then
|
|
echo >&2 ""
|
|
echo >&2 "You have asked to use pkg-config and are cross-compiling."
|
|
echo >&2 "Please make sure you have a correctly set-up pkg-config"
|
|
echo >&2 "environment!"
|
|
echo >&2 ""
|
|
if [ -z "$PKG_CONFIG_PATH" ]; then
|
|
echo >&2 ""
|
|
echo >&2 "Warning: PKG_CONFIG_PATH has not been set. This could mean"
|
|
echo >&2 "the host compiler's .pc files will be used. This is probably"
|
|
echo >&2 "not what you want."
|
|
echo >&2 ""
|
|
elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then
|
|
echo >&2 ""
|
|
echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not"
|
|
echo >&2 "been set. This means your toolchain's .pc files must contain"
|
|
echo >&2 "the paths to the toolchain's libraries & headers. If configure"
|
|
echo >&2 "tests are failing, please check these files."
|
|
echo >&2 ""
|
|
fi
|
|
else
|
|
echo >&2 ""
|
|
echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
|
|
echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
|
|
echo >&2 "dependencies"
|
|
echo >&2 ""
|
|
PKG_CONFIG=""
|
|
fi
|
|
fi
|
|
|
|
if [ ! -n "$PKG_CONFIG" ]; then
|
|
QT_CONFIG="$QT_CONFIG no-pkg-config"
|
|
fi
|
|
|
|
# pass on $CFG_SDK to the configure tests.
|
|
if [ '!' -z "$CFG_SDK" ]; then
|
|
MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK"
|
|
fi
|
|
|
|
# find the default framework value
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
if [ "$CFG_FRAMEWORK" = "auto" ]; then
|
|
CFG_FRAMEWORK="$CFG_SHARED"
|
|
elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
|
|
echo
|
|
echo "WARNING: Using static linking will disable the use of Mac frameworks."
|
|
echo
|
|
CFG_FRAMEWORK="no"
|
|
fi
|
|
else
|
|
CFG_FRAMEWORK=no
|
|
fi
|
|
|
|
QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
|
|
|
|
TEST_COMPILER=$QMAKE_CONF_COMPILER
|
|
if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
|
|
if [ -z "$TEST_COMPILER" ]; then
|
|
echo "ERROR: Cannot set the compiler for the configuration tests"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
SYSROOT_FLAG=
|
|
if [ -n "$CFG_SYSROOT" ]; then
|
|
if compilerSupportsFlag --sysroot="$CFG_SYSROOT"; then
|
|
[ "$OPT_VERBOSE" = "yes" ] && echo "Setting sysroot to: $CFG_SYSROOT"
|
|
SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
|
|
else
|
|
echo >&2 "The compiler doesn't support the --sysroot flag, I can't set the sysroot"
|
|
exit 1
|
|
fi
|
|
fi
|
|
export SYSROOT_FLAG # used by config.tests/unix/compile.test
|
|
|
|
# auto-detect precompiled header support
|
|
if [ "$CFG_PRECOMPILE" = "auto" ]; then
|
|
if "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
|
|
CFG_PRECOMPILE=no
|
|
else
|
|
CFG_PRECOMPILE=yes
|
|
fi
|
|
fi
|
|
|
|
#auto-detect DWARF2 on the mac
|
|
if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" = "auto" ]; then
|
|
if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then
|
|
CFG_MAC_DWARF2=no
|
|
else
|
|
CFG_MAC_DWARF2=yes
|
|
fi
|
|
fi
|
|
|
|
# don't autodetect support for separate debug info on objcopy when
|
|
# cross-compiling as lots of toolchains seems to have problems with this
|
|
if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
|
|
CFG_SEPARATE_DEBUG_INFO="no"
|
|
fi
|
|
|
|
# auto-detect support for separate debug info in objcopy
|
|
if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
|
|
TEST_COMPILER_CFLAGS=`getXQMakeConf QMAKE_CFLAGS`
|
|
TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
|
|
TEST_OBJCOPY=`getXQMakeConf QMAKE_OBJCOPY`
|
|
COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
|
|
COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
|
|
if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then
|
|
CFG_SEPARATE_DEBUG_INFO=no
|
|
else
|
|
case "$PLATFORM" in
|
|
hpux-*)
|
|
# binutils on HP-UX is buggy; default to no.
|
|
CFG_SEPARATE_DEBUG_INFO=no
|
|
;;
|
|
*)
|
|
CFG_SEPARATE_DEBUG_INFO=yes
|
|
;;
|
|
esac
|
|
fi
|
|
fi
|
|
|
|
# auto-detect -fvisibility support
|
|
if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then
|
|
if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
|
|
CFG_REDUCE_EXPORTS=no
|
|
else
|
|
CFG_REDUCE_EXPORTS=yes
|
|
fi
|
|
fi
|
|
|
|
# detect the availability of the -Bsymbolic-functions linker optimization
|
|
if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
|
|
if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then
|
|
CFG_REDUCE_RELOCATIONS=no
|
|
else
|
|
CFG_REDUCE_RELOCATIONS=yes
|
|
fi
|
|
fi
|
|
|
|
# auto-detect GNU make support
|
|
if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
|
|
CFG_USE_GNUMAKE=yes
|
|
fi
|
|
|
|
# find the default framework value
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
if [ "$CFG_FRAMEWORK" = "auto" ]; then
|
|
CFG_FRAMEWORK="$CFG_SHARED"
|
|
elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then
|
|
echo
|
|
echo "WARNING: Using static linking will disable the use of Mac frameworks."
|
|
echo
|
|
CFG_FRAMEWORK="no"
|
|
fi
|
|
else
|
|
CFG_FRAMEWORK=no
|
|
fi
|
|
|
|
# x11 tests are done after qmake is built
|
|
|
|
|
|
#setup the build parts
|
|
if [ -z "$CFG_BUILD_PARTS" ]; then
|
|
CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
|
|
|
|
# don't build tools by default when cross-compiling
|
|
if [ "$PLATFORM" != "$XPLATFORM" ]; then
|
|
CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
|
|
fi
|
|
fi
|
|
for nobuild in $CFG_NOBUILD_PARTS; do
|
|
CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
|
|
done
|
|
if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
|
|
# echo
|
|
# echo "WARNING: libs is a required part of the build."
|
|
# echo
|
|
CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs"
|
|
fi
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# post process QT_INSTALL_* variables
|
|
#-------------------------------------------------------------------------------
|
|
|
|
if [ -z "$QT_INSTALL_PREFIX" ]; then
|
|
if [ "$CFG_DEV" = "yes" ]; then
|
|
QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
|
|
else
|
|
QT_INSTALL_PREFIX="/usr/local/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Qt-$QT_VERSION
|
|
fi
|
|
fi
|
|
QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
|
|
|
|
if [ -z "$QT_INSTALL_DOCS" ]; then #default
|
|
if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
QT_INSTALL_DOCS="/Developer/Documentation/Qt"
|
|
fi
|
|
fi
|
|
[ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
|
|
|
|
fi
|
|
QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"`
|
|
|
|
if [ -z "$QT_INSTALL_HEADERS" ]; then #default
|
|
if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
if [ "$CFG_FRAMEWORK" = "yes" ]; then
|
|
QT_INSTALL_HEADERS=
|
|
fi
|
|
fi
|
|
fi
|
|
[ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include"
|
|
|
|
fi
|
|
QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"`
|
|
|
|
if [ -z "$QT_INSTALL_LIBS" ]; then #default
|
|
if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
if [ "$CFG_FRAMEWORK" = "yes" ]; then
|
|
QT_INSTALL_LIBS="/Libraries/Frameworks"
|
|
fi
|
|
fi
|
|
fi
|
|
[ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
|
|
fi
|
|
QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"`
|
|
|
|
if [ -z "$QT_INSTALL_BINS" ]; then #default
|
|
if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
QT_INSTALL_BINS="/Developer/Applications/Qt"
|
|
fi
|
|
fi
|
|
[ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback
|
|
fi
|
|
QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
|
|
|
|
if [ -z "$QT_INSTALL_PLUGINS" ]; then #default
|
|
if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
|
|
fi
|
|
fi
|
|
[ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
|
|
fi
|
|
QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"`
|
|
|
|
if [ -z "$QT_INSTALL_IMPORTS" ]; then #default
|
|
if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
|
|
fi
|
|
fi
|
|
[ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
|
|
fi
|
|
QT_INSTALL_IMPORTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_IMPORTS"`
|
|
|
|
if [ -z "$QT_INSTALL_DATA" ]; then #default
|
|
QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
|
|
fi
|
|
QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
|
|
|
|
if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
|
|
QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
|
|
fi
|
|
QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
|
|
|
|
if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
QT_INSTALL_SETTINGS=/Library/Preferences/Qt
|
|
else
|
|
QT_INSTALL_SETTINGS=/etc/xdg
|
|
fi
|
|
fi
|
|
QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"`
|
|
|
|
if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default
|
|
if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
|
|
fi
|
|
fi
|
|
[ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
|
|
fi
|
|
QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"`
|
|
|
|
#tests
|
|
if [ -z "$QT_INSTALL_TESTS" ]; then #default
|
|
if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
QT_INSTALL_TESTS="/Developer/Tests/Qt"
|
|
fi
|
|
fi
|
|
[ -z "$QT_INSTALL_TESTS" ] && QT_INSTALL_TESTS="$QT_INSTALL_PREFIX/tests" #fallback
|
|
fi
|
|
QT_INSTALL_TESTS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TESTS"`
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# 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_NIS" = "no" ]; then
|
|
NSY=" "
|
|
NSN="*"
|
|
else
|
|
NSY="*"
|
|
NSN=" "
|
|
fi
|
|
if [ "$CFG_CUPS" = "no" ]; then
|
|
CUY=" "
|
|
CUN="*"
|
|
else
|
|
CUY="*"
|
|
CUN=" "
|
|
fi
|
|
if [ "$CFG_ICONV" = "no" ]; then
|
|
CIY=" "
|
|
CIN="*"
|
|
else
|
|
CIY="*"
|
|
CIN=" "
|
|
fi
|
|
if [ "$CFG_LARGEFILE" = "no" ]; then
|
|
LFSY=" "
|
|
LFSN="*"
|
|
else
|
|
LFSY="*"
|
|
LFSN=" "
|
|
fi
|
|
if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then
|
|
SHY="*"
|
|
SHN=" "
|
|
else
|
|
SHY=" "
|
|
SHN="*"
|
|
fi
|
|
if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then
|
|
PHY=" "
|
|
PHN="*"
|
|
else
|
|
PHY="*"
|
|
PHN=" "
|
|
fi
|
|
|
|
if [ "$CFG_XCB" = "no" ]; then
|
|
XCBY=" "
|
|
XCBN="*"
|
|
else
|
|
XCBY="*"
|
|
XCBN=" "
|
|
fi
|
|
|
|
if [ "$CFG_WAYLAND" = "no" ]; then
|
|
XWY=" "
|
|
XWN="*"
|
|
else
|
|
XWY="*"
|
|
XWN=" "
|
|
fi
|
|
if [ "$CFG_XINPUT2" = "no" ]; then
|
|
X2Y=" "
|
|
X2N="*"
|
|
else
|
|
X2Y="*"
|
|
X2N=" "
|
|
fi
|
|
|
|
cat <<EOF
|
|
Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
|
|
[-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
|
|
[-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-testsdir <dir>]
|
|
[-release] [-debug] [-debug-and-release]
|
|
[-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
|
|
[-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
|
|
[-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
|
|
[-plugin-sql-<driver>] [-system-sqlite]
|
|
[-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
|
|
[-qt-zlib] [-system-zlib] [-no-gif] [-no-libpng] [-qt-libpng] [-system-libpng]
|
|
[-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
|
|
[-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
|
|
[-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
|
|
[-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
|
|
[-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
|
|
[-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
|
|
[-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info]
|
|
[-no-phonon-backend] [-phonon-backend] [-no-media-backend] [-media-backend]
|
|
[-no-audio-backend] [-audio-backend]
|
|
[-no-javascript-jit] [-javascript-jit] [-no-declarative-debug] [-declarative-debug]
|
|
[-no-optimized-qmake] [-optimized-qmake]
|
|
[-no-openssl] [-openssl] [-openssl-linked]
|
|
[-no-gtkstyle] [-gtkstyle]
|
|
[-qt-pcre] [-system-pcre]
|
|
[additional platform specific options (see below)]
|
|
|
|
|
|
Installation options:
|
|
|
|
-qpa ................ This will enable the QPA build.
|
|
QPA is a window system agnostic implementation of Qt.
|
|
|
|
These are optional, but you may specify install directories.
|
|
|
|
-prefix <dir> ...... This will install everything relative to <dir>
|
|
(default $QT_INSTALL_PREFIX)
|
|
EOF
|
|
if [ "$PLATFORM_QPA" = "yes" ]; then
|
|
cat <<EOF
|
|
|
|
-hostprefix [dir] .. Tools and libraries needed when developing
|
|
applications are installed in [dir]. If [dir] is
|
|
not given, the current build directory will be used.
|
|
EOF
|
|
fi
|
|
cat <<EOF
|
|
|
|
* -prefix-install .... Force a sandboxed "local" installation of
|
|
Qt. This will install into
|
|
$QT_INSTALL_PREFIX, if this option is
|
|
disabled then some platforms will attempt a
|
|
"system" install by placing default values to
|
|
be placed in a system location other than
|
|
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)
|
|
-importdir <dir> ...... Imports for QML will be installed to <dir>
|
|
(default PREFIX/imports)
|
|
-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)
|
|
-examplesdir <dir> .... Examples will be installed to <dir>
|
|
(default PREFIX/examples)
|
|
-testsdir <dir> ....... Tests will be installed to <dir>
|
|
(default PREFIX/tests)
|
|
|
|
Configure options:
|
|
|
|
The defaults (*) are usually acceptable. A plus (+) denotes a default value
|
|
that needs to be evaluated. If the evaluation succeeds, the feature is
|
|
included. 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.
|
|
-debug-and-release . Compile and link two versions of Qt, with and without
|
|
debugging turned on (Mac only).
|
|
|
|
-developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
|
|
|
|
-opensource ........ Compile and link the Open-Source Edition of Qt.
|
|
-commercial ........ Compile and link the Commercial Edition of Qt.
|
|
|
|
|
|
* -shared ............ Create and use shared Qt libraries.
|
|
-static ............ Create and use static Qt libraries.
|
|
|
|
* -no-fast ........... Configure Qt normally by generating Makefiles for all
|
|
project files.
|
|
-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-largefile ...... Disables large file support.
|
|
+ -largefile ......... Enables Qt to access files larger than 4 GB.
|
|
|
|
EOF
|
|
if [ "$PLATFORM_QPA" = "yes" ]; then
|
|
EXCN="*"
|
|
EXCY=" "
|
|
else
|
|
EXCN=" "
|
|
EXCY="*"
|
|
fi
|
|
if [ "$CFG_DBUS" = "no" ]; then
|
|
DBY=" "
|
|
DBN="+"
|
|
else
|
|
DBY="+"
|
|
DBN=" "
|
|
fi
|
|
|
|
cat << EOF
|
|
$EXCN -no-exceptions ..... Disable exceptions on compilers that support it.
|
|
$EXCY -exceptions ........ Enable exceptions on compilers that support it.
|
|
|
|
-no-accessibility .. Do not compile Accessibility support.
|
|
* -accessibility ..... Compile Accessibility support.
|
|
|
|
$SHN -no-stl ............ Do not compile STL support.
|
|
$SHY -stl ............... Compile STL support.
|
|
|
|
-no-sql-<driver> ... Disable SQL <driver> entirely.
|
|
-qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
|
|
none are turned on.
|
|
-plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
|
|
at run time.
|
|
|
|
Possible values for <driver>:
|
|
[ $CFG_SQL_AVAILABLE ]
|
|
|
|
-system-sqlite ..... Use sqlite from the operating system.
|
|
|
|
-no-phonon-backend.. Do not build the platform phonon plugin.
|
|
+ -phonon-backend..... Build the platform phonon plugin.
|
|
|
|
-no-javascript-jit . Do not build the JavaScriptCore JIT compiler.
|
|
+ -javascript-jit .... Build the JavaScriptCore JIT compiler.
|
|
|
|
-no-declarative-debug ..... Do not build the declarative debugging support.
|
|
+ -declarative-debug ....... Build the declarative debugging support.
|
|
|
|
-platform target ... The operating system and compiler you are building
|
|
on ($PLATFORM).
|
|
|
|
See the README file for a list of supported
|
|
operating systems and compilers.
|
|
EOF
|
|
|
|
if [ "${PLATFORM_QPA}" != "yes" ]; then
|
|
cat << EOF
|
|
-graphicssystem <sys> Sets an alternate graphics system. Available options are:
|
|
raster - Software rasterizer
|
|
opengl - Rendering via OpenGL, Experimental!
|
|
openvg - Rendering via OpenVG, Experimental!
|
|
|
|
EOF
|
|
fi
|
|
|
|
cat << EOF
|
|
|
|
-no-mmx ............ Do not compile with use of MMX instructions.
|
|
-no-3dnow .......... Do not compile with use of 3DNOW instructions.
|
|
-no-sse ............ Do not compile with use of SSE instructions.
|
|
-no-sse2 ........... Do not compile with use of SSE2 instructions.
|
|
-no-sse3 ........... Do not compile with use of SSE3 instructions.
|
|
-no-ssse3 .......... Do not compile with use of SSSE3 instructions.
|
|
-no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
|
|
-no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
|
|
-no-avx ............ Do not compile with use of AVX instructions.
|
|
-no-neon ........... Do not compile with use of NEON instructions.
|
|
|
|
-qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
|
|
-qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
|
|
|
|
-testcocoon Instrument Qt with the TestCocoon code coverage tool.
|
|
|
|
-D <string> ........ Add an explicit define to the preprocessor.
|
|
-I <string> ........ Add an explicit include path.
|
|
-L <string> ........ Add an explicit library path.
|
|
|
|
-help, -h .......... Display this information.
|
|
|
|
Third Party Libraries:
|
|
|
|
-qt-zlib ........... Use the zlib bundled with Qt.
|
|
+ -system-zlib ....... Use zlib from the operating system.
|
|
See http://www.gzip.org/zlib
|
|
|
|
-no-gif ............ Do not compile GIF reading support.
|
|
|
|
-no-libpng ......... Do not compile PNG support.
|
|
-qt-libpng ......... Use the libpng bundled with Qt.
|
|
+ -system-libpng ..... Use libpng from the operating system.
|
|
See http://www.libpng.org/pub/png
|
|
|
|
-no-libjpeg ........ Do not compile JPEG support.
|
|
-qt-libjpeg ........ Use the libjpeg bundled with Qt.
|
|
+ -system-libjpeg .... Use libjpeg from the operating system.
|
|
See http://www.ijg.org
|
|
|
|
-no-openssl ........ Do not compile support for OpenSSL.
|
|
+ -openssl ........... Enable run-time OpenSSL support.
|
|
-openssl-linked .... Enabled linked OpenSSL support.
|
|
|
|
-qt-pcre ........... Use the PCRE library bundled with Qt.
|
|
+ -system-pcre ....... Use the PCRE library from the operating system.
|
|
|
|
Additional options:
|
|
|
|
-make <part> ....... Add part to the list of parts to be built at make time.
|
|
($QT_DEFAULT_BUILD_PARTS)
|
|
-nomake <part> ..... Exclude part from the list of parts to be built.
|
|
|
|
-R <string> ........ Add an explicit runtime library path to the Qt
|
|
libraries.
|
|
-l <string> ........ Add an explicit library.
|
|
|
|
-no-rpath .......... Do not use the library install path as a runtime
|
|
library path.
|
|
+ -rpath ............. Link Qt libraries and executables using the library
|
|
install path as a runtime library path. Equivalent
|
|
to -R install_libpath
|
|
|
|
-continue .......... Continue as far as possible if an error occurs.
|
|
|
|
-verbose, -v ....... Print verbose information about each step of the
|
|
configure process.
|
|
|
|
-silent ............ Reduce the build output so that warnings and errors
|
|
can be seen more easily.
|
|
|
|
* -no-optimized-qmake ... Do not build qmake optimized.
|
|
-optimized-qmake ...... Build qmake optimized.
|
|
|
|
-no-gui ............ Don't build the Qt GUI library
|
|
|
|
$NSN -no-nis ............ Do not compile NIS support.
|
|
$NSY -nis ............... Compile NIS support.
|
|
|
|
$CUN -no-cups ........... Do not compile CUPS support.
|
|
$CUY -cups .............. Compile CUPS support.
|
|
Requires cups/cups.h and libcups.so.2.
|
|
|
|
$CIN -no-iconv .......... Do not compile support for iconv(3).
|
|
$CIY -iconv ............. Compile support for iconv(3).
|
|
|
|
$PHN -no-pch ............ Do not use precompiled header support.
|
|
$PHY -pch ............... Use precompiled header support.
|
|
|
|
$DBN -no-dbus ........... Do not compile the QtDBus module.
|
|
$DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
|
|
-dbus-linked ....... Compile the QtDBus module and link to libdbus-1.
|
|
|
|
-reduce-relocations ..... Reduce relocations in the libraries through extra
|
|
linker optimizations (Qt/X11 and Qt for Embedded Linux only;
|
|
experimental; needs GNU ld >= 2.18).
|
|
|
|
-force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
|
|
|
|
EOF
|
|
|
|
if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then
|
|
if [ "$QT_CROSS_COMPILE" = "yes" ]; then
|
|
SBY=""
|
|
SBN="*"
|
|
else
|
|
SBY="*"
|
|
SBN=" "
|
|
fi
|
|
elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
|
|
SBY="*"
|
|
SBN=" "
|
|
else
|
|
SBY=" "
|
|
SBN="*"
|
|
fi
|
|
|
|
if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
|
|
|
|
cat << EOF
|
|
|
|
$SBN -no-separate-debug-info . Do not store debug information in a separate file.
|
|
$SBY -separate-debug-info .... Strip debug information into a separate .debug file.
|
|
|
|
$XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
|
|
$XCBY -xcb ............... Compile Xcb support.
|
|
|
|
$XWN -no-wayland......... Do not compile Wayland support.
|
|
$XWY -wayland .......... Compile Wayland support.
|
|
|
|
EOF
|
|
|
|
fi # X11
|
|
|
|
if [ "$XPLATFORM_MAEMO" = "yes" ]; then
|
|
|
|
cat << EOF
|
|
|
|
$X2N -no-xinput2......... Do not compile XInput2 support.
|
|
$X2Y -xinput2............ Compile XInput2 support.
|
|
|
|
EOF
|
|
|
|
fi
|
|
|
|
if [ "$PLATFORM_X11" = "yes" ]; then
|
|
if [ "$CFG_SM" = "no" ]; then
|
|
SMY=" "
|
|
SMN="*"
|
|
else
|
|
SMY="*"
|
|
SMN=" "
|
|
fi
|
|
if [ "$CFG_XSHAPE" = "no" ]; then
|
|
SHY=" "
|
|
SHN="*"
|
|
else
|
|
SHY="*"
|
|
SHN=" "
|
|
fi
|
|
if [ "$CFG_XVIDEO" = "no" ]; then
|
|
XVY=" "
|
|
XVN="*"
|
|
else
|
|
XVY="*"
|
|
XVN=" "
|
|
fi
|
|
if [ "$CFG_XINERAMA" = "no" ]; then
|
|
XAY=" "
|
|
XAN="*"
|
|
else
|
|
XAY="*"
|
|
XAN=" "
|
|
fi
|
|
if [ "$CFG_FONTCONFIG" = "no" ]; then
|
|
FCGY=" "
|
|
FCGN="*"
|
|
else
|
|
FCGY="*"
|
|
FCGN=" "
|
|
fi
|
|
if [ "$CFG_XCURSOR" = "no" ]; then
|
|
XCY=" "
|
|
XCN="*"
|
|
else
|
|
XCY="*"
|
|
XCN=" "
|
|
fi
|
|
if [ "$CFG_XFIXES" = "no" ]; then
|
|
XFY=" "
|
|
XFN="*"
|
|
else
|
|
XFY="*"
|
|
XFN=" "
|
|
fi
|
|
if [ "$CFG_XRANDR" = "no" ]; then
|
|
XZY=" "
|
|
XZN="*"
|
|
else
|
|
XZY="*"
|
|
XZN=" "
|
|
fi
|
|
if [ "$CFG_XRENDER" = "no" ]; then
|
|
XRY=" "
|
|
XRN="*"
|
|
else
|
|
XRY="*"
|
|
XRN=" "
|
|
fi
|
|
if [ "$CFG_MITSHM" = "no" ]; then
|
|
XMY=" "
|
|
XMN="*"
|
|
else
|
|
XMY="*"
|
|
XMN=" "
|
|
fi
|
|
if [ "$CFG_XINPUT" = "no" ]; then
|
|
XIY=" "
|
|
XIN="*"
|
|
else
|
|
XIY="*"
|
|
XIN=" "
|
|
fi
|
|
if [ "$CFG_XKB" = "no" ]; then
|
|
XKY=" "
|
|
XKN="*"
|
|
else
|
|
XKY="*"
|
|
XKN=" "
|
|
fi
|
|
if [ "$CFG_IM" = "no" ]; then
|
|
IMY=" "
|
|
IMN="*"
|
|
else
|
|
IMY="*"
|
|
IMN=" "
|
|
fi
|
|
cat << EOF
|
|
|
|
Qt/X11 only:
|
|
|
|
-no-gtkstyle ....... Do not build the GTK theme integration.
|
|
+ -gtkstyle .......... Build the GTK theme integration.
|
|
|
|
* -no-nas-sound ...... Do not compile in NAS sound support.
|
|
-system-nas-sound .. Use NAS libaudio from the operating system.
|
|
See http://radscan.com/nas.html
|
|
|
|
-egl ............... Use EGL instead of GLX to manage contexts.
|
|
When building for desktop OpenGL, this option will
|
|
make Qt use EGL to manage contexts rather than the
|
|
GLX, which is the default. Note: For OpenGL ES, EGL
|
|
is always used.
|
|
|
|
-no-opengl ......... Do not support OpenGL.
|
|
+ -opengl <api> ...... Enable OpenGL support.
|
|
With no parameter, this will auto-detect the "best"
|
|
OpenGL API to use. If desktop OpenGL is available, it
|
|
will be used. Use desktop or es2 for <api>
|
|
to force the use of the Desktop OpenGL or
|
|
OpenGL ES 2 APIs instead.
|
|
|
|
-no-openvg ........ Do not support OpenVG.
|
|
+ -openvg ........... Enable OpenVG support.
|
|
Requires EGL support, typically supplied by an OpenGL
|
|
or other graphics implementation.
|
|
|
|
$SMN -no-sm ............. Do not support X Session Management.
|
|
$SMY -sm ................ Support X Session Management, links in -lSM -lICE.
|
|
|
|
$SHN -no-xshape ......... Do not compile XShape support.
|
|
$SHY -xshape ............ Compile XShape support.
|
|
Requires X11/extensions/shape.h.
|
|
|
|
$XVN -no-xvideo ......... Do not compile XVideo support.
|
|
$XVY -xvideo ............ Compile XVideo support.
|
|
Requires X11/extensions/Xv.h & Xvlib.h.
|
|
|
|
$SHN -no-xsync .......... Do not compile XSync support.
|
|
$SHY -xsync ............. Compile XSync support.
|
|
Requires X11/extensions/sync.h.
|
|
|
|
$XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
|
|
$XAY -xinerama .......... Compile Xinerama support.
|
|
Requires X11/extensions/Xinerama.h and libXinerama.
|
|
By default, Xinerama support will be compiled if
|
|
available and the shared libraries are dynamically
|
|
loaded at runtime.
|
|
|
|
$XCN -no-xcursor ........ Do not compile Xcursor support.
|
|
$XCY -xcursor ........... Compile Xcursor support.
|
|
Requires X11/Xcursor/Xcursor.h and libXcursor.
|
|
By default, Xcursor support will be compiled if
|
|
available and the shared libraries are dynamically
|
|
loaded at runtime.
|
|
|
|
$XFN -no-xfixes ......... Do not compile Xfixes support.
|
|
$XFY -xfixes ............ Compile Xfixes support.
|
|
Requires X11/extensions/Xfixes.h and libXfixes.
|
|
By default, Xfixes support will be compiled if
|
|
available and the shared libraries are dynamically
|
|
loaded at runtime.
|
|
|
|
$XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
|
|
$XZY -xrandr ............ Compile Xrandr support.
|
|
Requires X11/extensions/Xrandr.h and libXrandr.
|
|
|
|
$XRN -no-xrender ........ Do not compile Xrender support.
|
|
$XRY -xrender ........... Compile Xrender support.
|
|
Requires X11/extensions/Xrender.h and libXrender.
|
|
|
|
$XMN -no-mitshm ......... Do not compile MIT-SHM support.
|
|
$XMY -mitshm ............ Compile MIT-SHM support.
|
|
Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
|
|
|
|
$FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
|
|
$FCGY -fontconfig ........ Compile FontConfig support.
|
|
Requires fontconfig/fontconfig.h, libfontconfig,
|
|
freetype.h and libfreetype.
|
|
|
|
$XIN -no-xinput ......... Do not compile Xinput support.
|
|
$XIY -xinput ............ Compile Xinput support. This also enabled tablet support
|
|
which requires IRIX with wacom.h and libXi or
|
|
XFree86 with X11/extensions/XInput.h and libXi.
|
|
|
|
$XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
|
|
$XKY -xkb ............... Compile XKB support.
|
|
|
|
EOF
|
|
fi
|
|
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
cat << EOF
|
|
|
|
Qt/Mac only:
|
|
|
|
-Fstring ........... Add an explicit framework path.
|
|
-fw string ......... Add an explicit framework.
|
|
|
|
* -framework ......... Build Qt as a series of frameworks and
|
|
link tools against those frameworks.
|
|
-no-framework ...... Do not build Qt as a series of frameworks.
|
|
|
|
* -dwarf2 ............ Enable dwarf2 debugging symbols.
|
|
-no-dwarf2 ......... Disable dwarf2 debugging symbols.
|
|
|
|
-arch <arch> ....... Build Qt for <arch>. Supported arch values: x86 x86_64.
|
|
Only one arch value can be specified.
|
|
|
|
-sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
|
|
To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
|
|
|
|
-harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
|
|
* -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
|
|
QT_ENABLE_HARFBUZZ environment variable.
|
|
|
|
EOF
|
|
fi
|
|
|
|
if [ "$PLATFORM_QPA" = "yes" ]; then
|
|
cat << EOF
|
|
Qt for QPA only:
|
|
EOF
|
|
fi
|
|
|
|
if [ "$PLATFORM_QPA" = "yes" ]; then
|
|
cat << EOF
|
|
|
|
-xplatform target ... The target platform when cross-compiling.
|
|
|
|
-no-feature-<feature> Do not compile in <feature>.
|
|
-feature-<feature> .. Compile in <feature>. The available features
|
|
are described in src/corelib/global/qfeatures.txt
|
|
|
|
-little-endian ...... Target platform is little endian (LSB first).
|
|
-big-endian ......... Target platform is big endian (MSB first).
|
|
|
|
-host-little-endian . Host platform is little endian (LSB first).
|
|
-host-big-endian .... Host platform is big endian (MSB first).
|
|
|
|
You only need to specify the endianness when
|
|
cross-compiling, otherwise the host
|
|
endianness will be used.
|
|
|
|
-no-freetype ........ Do not compile in Freetype2 support.
|
|
-qt-freetype ........ Use the libfreetype bundled with Qt.
|
|
* -system-freetype .... Use libfreetype from the operating system.
|
|
See http://www.freetype.org/
|
|
|
|
-qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
|
|
default ($CFG_QCONFIG).
|
|
|
|
-no-opengl .......... Do not support OpenGL.
|
|
-opengl <api> ....... Enable OpenGL ES support
|
|
With no parameter, this will attempt to auto-detect
|
|
OpenGL ES 2, or regular desktop OpenGL.
|
|
Use es2 for <api> to override auto-detection.
|
|
EOF
|
|
fi
|
|
|
|
if [ "$PLATFORM_QPA" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
|
|
if [ "$CFG_GLIB" = "no" ]; then
|
|
GBY=" "
|
|
GBN="+"
|
|
else
|
|
GBY="+"
|
|
GBN=" "
|
|
fi
|
|
cat << EOF
|
|
$GBN -no-glib ........... Do not compile Glib support.
|
|
$GBY -glib .............. Compile Glib support.
|
|
|
|
EOF
|
|
fi
|
|
|
|
[ "x$ERROR" = "xyes" ] && exit 1
|
|
exit 0
|
|
fi # Help
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# LICENSING, INTERACTIVE PART
|
|
# -----------------------------------------------------------------------------
|
|
|
|
if [ "$PLATFORM_QPA" = "yes" ]; then
|
|
Platform="Qt Lighthouse"
|
|
elif [ "$XPLATFORM_MINGW" = "yes" ]; then
|
|
Platform="Qt for Windows"
|
|
elif [ -n "`getXQMakeConf grep QMAKE_LIBS_X11`" ]; then
|
|
PLATFORM_X11=yes
|
|
Platform="Qt for Linux/X11"
|
|
fi
|
|
|
|
echo
|
|
echo "This is the $Platform ${EditionString} Edition."
|
|
echo
|
|
|
|
if [ "$Edition" = "OpenSource" ]; then
|
|
while true; do
|
|
echo "You are licensed to use this software under the terms of"
|
|
echo "the Lesser GNU General Public License (LGPL) versions 2.1."
|
|
if [ -f "$relpath/LICENSE.GPL3" ]; then
|
|
echo "You are also licensed to use this software under the terms of"
|
|
echo "the GNU General Public License (GPL) versions 3."
|
|
affix="either"
|
|
else
|
|
affix="the"
|
|
fi
|
|
echo
|
|
if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
|
|
echo "You have already accepted the terms of the $LicenseType license."
|
|
acceptance=yes
|
|
else
|
|
if [ -f "$relpath/LICENSE.GPL3" ]; then
|
|
echo "Type '3' to view the GNU General Public License version 3."
|
|
fi
|
|
echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
|
|
echo "Type 'yes' to accept this license offer."
|
|
echo "Type 'no' to decline this license offer."
|
|
echo
|
|
echo $ECHO_N "Do you accept the terms of $affix license? $ECHO_C"
|
|
read acceptance
|
|
fi
|
|
echo
|
|
if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
|
|
break
|
|
elif [ "$acceptance" = "no" ]; then
|
|
echo "You are not licensed to use this software."
|
|
echo
|
|
exit 1
|
|
elif [ "$acceptance" = "3" ]; then
|
|
more "$relpath/LICENSE.GPL3"
|
|
elif [ "$acceptance" = "L" ]; then
|
|
more "$relpath/LICENSE.LGPL"
|
|
fi
|
|
done
|
|
elif [ "$Edition" = "Preview" ]; then
|
|
TheLicense=`head -n 1 "$relpath/LICENSE.PREVIEW.COMMERCIAL"`
|
|
while true; do
|
|
|
|
if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
|
|
echo "You have already accepted the terms of the $LicenseType license."
|
|
acceptance=yes
|
|
else
|
|
echo "You are licensed to use this software under the terms of"
|
|
echo "the $TheLicense"
|
|
echo
|
|
echo "Type '?' to read the Preview License."
|
|
echo "Type 'yes' to accept this license offer."
|
|
echo "Type 'no' to decline this license offer."
|
|
echo
|
|
echo $ECHO_N "Do you accept the terms of the license? $ECHO_C"
|
|
read acceptance
|
|
fi
|
|
echo
|
|
if [ "$acceptance" = "yes" ]; then
|
|
break
|
|
elif [ "$acceptance" = "no" ] ;then
|
|
echo "You are not licensed to use this software."
|
|
echo
|
|
exit 0
|
|
elif [ "$acceptance" = "?" ]; then
|
|
more "$relpath/LICENSE.PREVIEW.COMMERCIAL"
|
|
fi
|
|
done
|
|
elif [ "$Edition" != "OpenSource" ]; then
|
|
if [ -n "$ExpiryDate" ]; then
|
|
ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
|
|
[ -z "$ExpiryDate" ] && ExpiryDate="0"
|
|
Today=`date +%Y%m%d`
|
|
if [ "$Today" -gt "$ExpiryDate" ]; then
|
|
case "$LicenseType" in
|
|
Commercial|Academic|Educational)
|
|
if [ "$QT_PACKAGEDATE" -gt "$ExpiryDate" ]; then
|
|
echo
|
|
echo "NOTICE NOTICE NOTICE NOTICE"
|
|
echo
|
|
echo " Your support and upgrade period has expired."
|
|
echo
|
|
echo " You are no longer licensed to use this version of Qt."
|
|
echo " Please contact qt-info@nokia.com to renew your support"
|
|
echo " and upgrades for this license."
|
|
echo
|
|
echo "NOTICE NOTICE NOTICE NOTICE"
|
|
echo
|
|
exit 1
|
|
else
|
|
echo
|
|
echo "WARNING WARNING WARNING WARNING"
|
|
echo
|
|
echo " Your support and upgrade period has expired."
|
|
echo
|
|
echo " You may continue to use your last licensed release"
|
|
echo " of Qt under the terms of your existing license"
|
|
echo " agreement. But you are not entitled to technical"
|
|
echo " support, nor are you entitled to use any more recent"
|
|
echo " Qt releases."
|
|
echo
|
|
echo " Please contact qt-info@nokia.com to renew your"
|
|
echo " support and upgrades for this license."
|
|
echo
|
|
echo "WARNING WARNING WARNING WARNING"
|
|
echo
|
|
sleep 3
|
|
fi
|
|
;;
|
|
Evaluation|*)
|
|
echo
|
|
echo "NOTICE NOTICE NOTICE NOTICE"
|
|
echo
|
|
echo " Your Evaluation license has expired."
|
|
echo
|
|
echo " You are no longer licensed to use this software. Please"
|
|
echo " contact qt-info@nokia.com to purchase license, or install"
|
|
echo " the Qt Open Source Edition if you intend to develop free"
|
|
echo " software."
|
|
echo
|
|
echo "NOTICE NOTICE NOTICE NOTICE"
|
|
echo
|
|
exit 1
|
|
;;
|
|
esac
|
|
fi
|
|
fi
|
|
TheLicense=`head -n 1 "$outpath/LICENSE"`
|
|
while true; do
|
|
if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
|
|
echo "You have already accepted the terms of the $TheLicense."
|
|
acceptance=yes
|
|
else
|
|
echo "You are licensed to use this software under the terms of"
|
|
echo "the $TheLicense."
|
|
echo
|
|
echo "Type '?' to view the $TheLicense."
|
|
echo "Type 'yes' to accept this license offer."
|
|
echo "Type 'no' to decline this license offer."
|
|
echo
|
|
echo $ECHO_N "Do you accept the terms of the $TheLicense? $ECHO_C"
|
|
read acceptance
|
|
fi
|
|
echo
|
|
if [ "$acceptance" = "yes" ]; then
|
|
break
|
|
elif [ "$acceptance" = "no" ]; then
|
|
echo "You are not licensed to use this software."
|
|
echo
|
|
exit 1
|
|
else [ "$acceptance" = "?" ]
|
|
more "$outpath/LICENSE"
|
|
fi
|
|
done
|
|
fi
|
|
|
|
# this should be moved somewhere else
|
|
case "$PLATFORM" in
|
|
aix-*)
|
|
AIX_VERSION=`uname -v`
|
|
if [ "$AIX_VERSION" -lt "5" ]; then
|
|
QMakeVar add QMAKE_LIBS_X11 -lbind
|
|
fi
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# generate qconfig.cpp
|
|
#-------------------------------------------------------------------------------
|
|
[ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
|
|
|
|
LICENSE_USER_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsuser=$Licensee"`
|
|
LICENSE_PRODUCTS_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_lcnsprod=$Edition"`
|
|
PREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_INSTALL_PREFIX"`
|
|
DOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_INSTALL_DOCS"`
|
|
HEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_INSTALL_HEADERS"`
|
|
LIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_INSTALL_LIBS"`
|
|
BINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_INSTALL_BINS"`
|
|
PLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_INSTALL_PLUGINS"`
|
|
IMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_INSTALL_IMPORTS"`
|
|
DATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_INSTALL_DATA"`
|
|
TRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_INSTALL_TRANSLATIONS"`
|
|
SETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
|
|
EXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
|
|
TESTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_tstspath=$QT_INSTALL_TESTS"`
|
|
|
|
TODAY=`date +%Y-%m-%d`
|
|
cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
|
|
/* License Info */
|
|
static const char qt_configure_licensee_str [256 + 12] = "$LICENSE_USER_STR";
|
|
static const char qt_configure_licensed_products_str [256 + 12] = "$LICENSE_PRODUCTS_STR";
|
|
|
|
/* Installation date */
|
|
static const char qt_configure_installation [12+11] = "qt_instdate=$TODAY";
|
|
EOF
|
|
|
|
|
|
if [ ! -z "$QT_HOST_PREFIX" ]; then
|
|
HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
|
|
HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
|
|
HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"`
|
|
HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"`
|
|
HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"`
|
|
HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"`
|
|
HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/IMPORTS"`
|
|
HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"`
|
|
HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
|
|
HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
|
|
HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
|
|
HOSTTESTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_tstspath=$QT_INSTALL_TESTS"`
|
|
|
|
cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
|
|
|
|
#if defined(QT_BOOTSTRAPPED) || defined(QT_BUILD_QMAKE)
|
|
/* Installation Info */
|
|
static const char qt_configure_prefix_path_str [256 + 12] = "$HOSTPREFIX_PATH_STR";
|
|
static const char qt_configure_documentation_path_str[256 + 12] = "$HOSTDOCUMENTATION_PATH_STR";
|
|
static const char qt_configure_headers_path_str [256 + 12] = "$HOSTHEADERS_PATH_STR";
|
|
static const char qt_configure_libraries_path_str [256 + 12] = "$HOSTLIBRARIES_PATH_STR";
|
|
static const char qt_configure_binaries_path_str [256 + 12] = "$HOSTBINARIES_PATH_STR";
|
|
static const char qt_configure_plugins_path_str [256 + 12] = "$HOSTPLUGINS_PATH_STR";
|
|
static const char qt_configure_imports_path_str [256 + 12] = "$HOSTIMPORTS_PATH_STR";
|
|
static const char qt_configure_data_path_str [256 + 12] = "$HOSTDATA_PATH_STR";
|
|
static const char qt_configure_translations_path_str [256 + 12] = "$HOSTTRANSLATIONS_PATH_STR";
|
|
static const char qt_configure_settings_path_str [256 + 12] = "$HOSTSETTINGS_PATH_STR";
|
|
static const char qt_configure_examples_path_str [256 + 12] = "$HOSTEXAMPLES_PATH_STR";
|
|
static const char qt_configure_tests_path_str [256 + 12] = "$HOSTTESTS_PATH_STR";
|
|
#else // QT_BOOTSTRAPPED
|
|
EOF
|
|
fi
|
|
|
|
cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
|
|
/* Installation Info */
|
|
static const char qt_configure_prefix_path_str [256 + 12] = "$PREFIX_PATH_STR";
|
|
static const char qt_configure_documentation_path_str[256 + 12] = "$DOCUMENTATION_PATH_STR";
|
|
static const char qt_configure_headers_path_str [256 + 12] = "$HEADERS_PATH_STR";
|
|
static const char qt_configure_libraries_path_str [256 + 12] = "$LIBRARIES_PATH_STR";
|
|
static const char qt_configure_binaries_path_str [256 + 12] = "$BINARIES_PATH_STR";
|
|
static const char qt_configure_plugins_path_str [256 + 12] = "$PLUGINS_PATH_STR";
|
|
static const char qt_configure_imports_path_str [256 + 12] = "$IMPORTS_PATH_STR";
|
|
static const char qt_configure_data_path_str [256 + 12] = "$DATA_PATH_STR";
|
|
static const char qt_configure_translations_path_str [256 + 12] = "$TRANSLATIONS_PATH_STR";
|
|
static const char qt_configure_settings_path_str [256 + 12] = "$SETTINGS_PATH_STR";
|
|
static const char qt_configure_examples_path_str [256 + 12] = "$EXAMPLES_PATH_STR";
|
|
static const char qt_configure_tests_path_str [256 + 12] = "$TESTS_PATH_STR";
|
|
EOF
|
|
|
|
if [ ! -z "$QT_HOST_PREFIX" ]; then
|
|
cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
|
|
#endif // QT_BOOTSTRAPPED
|
|
|
|
EOF
|
|
fi
|
|
|
|
cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
|
|
/* strlen( "qt_lcnsxxxx" ) == 12 */
|
|
#define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
|
|
#define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
|
|
#define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12;
|
|
#define QT_CONFIGURE_DOCUMENTATION_PATH qt_configure_documentation_path_str + 12;
|
|
#define QT_CONFIGURE_HEADERS_PATH qt_configure_headers_path_str + 12;
|
|
#define QT_CONFIGURE_LIBRARIES_PATH qt_configure_libraries_path_str + 12;
|
|
#define QT_CONFIGURE_BINARIES_PATH qt_configure_binaries_path_str + 12;
|
|
#define QT_CONFIGURE_PLUGINS_PATH qt_configure_plugins_path_str + 12;
|
|
#define QT_CONFIGURE_IMPORTS_PATH qt_configure_imports_path_str + 12;
|
|
#define QT_CONFIGURE_DATA_PATH qt_configure_data_path_str + 12;
|
|
#define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12;
|
|
#define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
|
|
#define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;
|
|
#define QT_CONFIGURE_TESTS_PATH qt_configure_tests_path_str + 12;
|
|
EOF
|
|
|
|
# avoid unecessary rebuilds by copying only if qconfig.cpp has changed
|
|
if cmp -s "$outpath/src/corelib/global/qconfig.cpp" "$outpath/src/corelib/global/qconfig.cpp.new"; then
|
|
rm -f "$outpath/src/corelib/global/qconfig.cpp.new"
|
|
else
|
|
[ -f "$outpath/src/corelib/global/qconfig.cpp" ] && chmod +w "$outpath/src/corelib/global/qconfig.cpp"
|
|
mv "$outpath/src/corelib/global/qconfig.cpp.new" "$outpath/src/corelib/global/qconfig.cpp"
|
|
chmod -w "$outpath/src/corelib/global/qconfig.cpp"
|
|
fi
|
|
|
|
# -----------------------------------------------------------------------------
|
|
if [ "$LicenseType" = "Evaluation" ]; then
|
|
EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey=$LicenseKeyExt"`
|
|
elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then
|
|
EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey="`
|
|
fi
|
|
|
|
if [ -n "$EVALKEY" ]; then
|
|
rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
|
|
cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
|
|
/* Evaluation license key */
|
|
static const volatile char qt_eval_key_data [512 + 12] = "$EVALKEY";
|
|
EOF
|
|
chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
|
|
fi
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# build qmake
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# symlink includes
|
|
if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
|
|
SYNCQT_OPTS=
|
|
[ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
|
|
if [ "$OPT_SHADOW" = "yes" ]; then
|
|
"$outpath/bin/syncqt" $SYNCQT_OPTS "$relpath" || exit 1
|
|
elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ] || [ -d $relpath/.git ]; then
|
|
QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS || exit 1
|
|
fi
|
|
fi
|
|
|
|
# $1: input variable name (awk regexp)
|
|
# $2: optional output variable name
|
|
# $3: optional value transformation (sed command)
|
|
# relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
|
|
# is where the resulting variable is written to
|
|
setBootstrapVariable()
|
|
{
|
|
getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
|
|
}
|
|
|
|
# build qmake
|
|
if true; then ###[ '!' -f "$outpath/bin/qmake" ];
|
|
echo "Creating qmake. Please wait..."
|
|
|
|
OLD_QCONFIG_H=
|
|
QCONFIG_H="$outpath/src/corelib/global/qconfig.h"
|
|
QMAKE_QCONFIG_H="${QCONFIG_H}.qmake"
|
|
if [ -f "$QCONFIG_H" ]; then
|
|
OLD_QCONFIG_H=$QCONFIG_H
|
|
mv -f "$OLD_QCONFIG_H" "${OLD_QCONFIG_H}.old"
|
|
fi
|
|
|
|
# create temporary qconfig.h for compiling qmake, if it doesn't exist
|
|
# when building qmake, we use #defines for the install paths,
|
|
# however they are real functions in the library
|
|
if [ '!' -f "$QMAKE_QCONFIG_H" ]; then
|
|
mkdir -p "$outpath/src/corelib/global"
|
|
[ -f "$QCONFIG_H" ] && chmod +w "$QCONFIG_H"
|
|
echo "/* All features enabled while building qmake */" >"$QMAKE_QCONFIG_H"
|
|
fi
|
|
|
|
mv -f "$QMAKE_QCONFIG_H" "$QCONFIG_H"
|
|
|
|
#mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
|
|
rm -rf mkspecs/default
|
|
ln -s `echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
|
|
# fix makefiles
|
|
for mkfile in GNUmakefile Makefile; do
|
|
EXTRA_LFLAGS=
|
|
EXTRA_CFLAGS=
|
|
in_mkfile="${mkfile}.in"
|
|
if [ "$mkfile" = "Makefile" ]; then
|
|
# if which qmake >/dev/null 2>&1 && [ -f qmake/qmake.pro ]; then
|
|
# (cd qmake && qmake) >/dev/null 2>&1 && continue
|
|
# fi
|
|
in_mkfile="${mkfile}.unix"
|
|
fi
|
|
in_mkfile="$relpath/qmake/$in_mkfile"
|
|
mkfile="$outpath/qmake/$mkfile"
|
|
if [ -f "$mkfile" ]; then
|
|
[ "$CFG_DEV" = "yes" ] && "$WHICH" chflags >/dev/null 2>&1 && chflags nouchg "$mkfile"
|
|
rm -f "$mkfile"
|
|
fi
|
|
[ -f "$in_mkfile" ] || continue
|
|
|
|
echo "########################################################################" > "$mkfile"
|
|
echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile"
|
|
echo "########################################################################" >> "$mkfile"
|
|
EXTRA_OBJS=
|
|
EXTRA_SRCS=
|
|
EXTRA_CFLAGS="\$(QMAKE_CFLAGS)"
|
|
EXTRA_CXXFLAGS="\$(QMAKE_CXXFLAGS)"
|
|
EXTRA_LFLAGS="\$(QMAKE_LFLAGS)"
|
|
|
|
if [ "$PLATFORM" = "irix-cc" ] || [ "$PLATFORM" = "irix-cc-64" ]; then
|
|
EXTRA_LFLAGS="$EXTRA_LFLAGS -lm"
|
|
fi
|
|
|
|
[ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
|
|
setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
|
|
setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
|
|
setBootstrapVariable QMAKE_CFLAGS
|
|
setBootstrapVariable QMAKE_CXXFLAGS
|
|
setBootstrapVariable QMAKE_LFLAGS
|
|
|
|
if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
|
|
EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
|
|
EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -DQMAKE_OPENSOURCE_EDITION"
|
|
fi
|
|
if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
|
|
setBootstrapVariable QMAKE_CFLAGS_RELEASE
|
|
setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
|
|
EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
|
|
EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_RELEASE)"
|
|
elif [ "$CFG_DEBUG" = "yes" ]; then
|
|
setBootstrapVariable QMAKE_CFLAGS_DEBUG
|
|
setBootstrapVariable QMAKE_CXXFLAGS_DEBUG
|
|
EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_DEBUG)"
|
|
EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
|
|
fi
|
|
|
|
if [ -n "$RPATH_FLAGS" ] && [ -n "`getQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
|
|
setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" QMAKE_LFLAGS_RPATH
|
|
for rpath in $RPATH_FLAGS; do
|
|
EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
|
|
done
|
|
fi
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
echo "export MACOSX_DEPLOYMENT_TARGET = 10.6" >> "$mkfile"
|
|
echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
|
|
echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
|
|
EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
|
|
EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
|
|
EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
|
|
EXTRA_OBJS="qsettings_mac.o qcore_mac.o"
|
|
EXTRA_SRCS="\"$relpath/src/corelib/io/qsettings_mac.cpp\" \"$relpath/src/corelib/kernel/qcore_mac.cpp\""
|
|
if [ '!' -z "$CFG_SDK" ]; then
|
|
echo "SDK_LFLAGS =-Wl,-syslibroot,$CFG_SDK" >>"$mkfile"
|
|
echo "SDK_CFLAGS =-isysroot $CFG_SDK" >>"$mkfile"
|
|
EXTRA_CFLAGS="$EXTRA_CFLAGS \$(SDK_CFLAGS)"
|
|
EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(SDK_CFLAGS)"
|
|
EXTRA_LFLAGS="$EXTRA_LFLAGS \$(SDK_LFLAGS)"
|
|
fi
|
|
fi
|
|
if [ '!' -z "$D_FLAGS" ]; then
|
|
for DEF in $D_FLAGS; do
|
|
EXTRA_CFLAGS="$EXTRA_CFLAGS \"-D${DEF}\""
|
|
done
|
|
fi
|
|
QMAKE_BIN_DIR="$QT_INSTALL_BINS"
|
|
[ -z "$QMAKE_BIN_DIR" ] && QMAKE_BIN_DIR="${QT_INSTALL_PREFIX}/bin"
|
|
QMAKE_DATA_DIR="$QT_INSTALL_DATA"
|
|
[ -z "$QMAKE_DATA_DIR" ] && QMAKE_DATA_DIR="${QT_INSTALL_PREFIX}"
|
|
echo >>"$mkfile"
|
|
adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'`
|
|
adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'`
|
|
adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'`
|
|
sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \
|
|
-e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
|
|
-e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
|
|
-e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
|
|
-e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
|
|
-e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
|
|
-e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
|
|
|
|
if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
|
|
(cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
|
|
sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
|
|
sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile"
|
|
rm "$mkfile.tmp"
|
|
fi
|
|
done
|
|
|
|
QMAKE_BUILD_ERROR=no
|
|
(cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
|
|
[ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
|
|
[ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
|
|
[ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
|
|
fi # Build qmake
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# tests that need qmake
|
|
#-------------------------------------------------------------------------------
|
|
|
|
# detect availability of float math.h functions
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
CFG_USE_FLOATMATH=yes
|
|
else
|
|
CFG_USE_FLOATMATH=no
|
|
fi
|
|
|
|
# detect mmx support
|
|
if [ "${CFG_MMX}" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mmx "mmx" $L_FLAGS $I_FLAGS $l_FLAGS "-mmmx"; then
|
|
CFG_MMX=yes
|
|
else
|
|
CFG_MMX=no
|
|
fi
|
|
fi
|
|
|
|
# detect 3dnow support
|
|
if [ "${CFG_3DNOW}" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/3dnow "3dnow" $L_FLAGS $I_FLAGS $l_FLAGS "-m3dnow"; then
|
|
CFG_3DNOW=yes
|
|
else
|
|
CFG_3DNOW=no
|
|
fi
|
|
fi
|
|
|
|
# detect sse support
|
|
if [ "${CFG_SSE}" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse "sse" $L_FLAGS $I_FLAGS $l_FLAGS "-msse"; then
|
|
CFG_SSE=yes
|
|
else
|
|
CFG_SSE=no
|
|
fi
|
|
fi
|
|
|
|
# detect sse2 support
|
|
if [ "${CFG_SSE2}" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse2 "sse2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse2"; then
|
|
CFG_SSE2=yes
|
|
else
|
|
CFG_SSE2=no
|
|
fi
|
|
fi
|
|
|
|
# detect sse3 support
|
|
if [ "${CFG_SSE3}" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse3 "sse3" $L_FLAGS $I_FLAGS $l_FLAGS "-msse3"; then
|
|
CFG_SSE3=yes
|
|
else
|
|
CFG_SSE3=no
|
|
fi
|
|
fi
|
|
|
|
# detect ssse3 support
|
|
if [ "${CFG_SSSE3}" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ssse3 "ssse3" $L_FLAGS $I_FLAGS $l_FLAGS "-mssse3"; then
|
|
CFG_SSSE3=yes
|
|
else
|
|
CFG_SSSE3=no
|
|
fi
|
|
fi
|
|
|
|
# detect sse4.1 support
|
|
if [ "${CFG_SSE4_1}" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse4_1 "sse4_1" $L_FLAGS $I_FLAGS $l_FLAGS "-msse4.1"; then
|
|
CFG_SSE4_1=yes
|
|
else
|
|
CFG_SSE4_1=no
|
|
fi
|
|
fi
|
|
|
|
# detect sse4.2 support
|
|
if [ "${CFG_SSE4_2}" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sse4_2 "sse4_2" $L_FLAGS $I_FLAGS $l_FLAGS "-msse4.2"; then
|
|
CFG_SSE4_2=yes
|
|
else
|
|
CFG_SSE4_2=no
|
|
fi
|
|
fi
|
|
|
|
# detect avx support
|
|
if [ "${CFG_AVX}" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/avx "avx" $L_FLAGS $I_FLAGS $l_FLAGS "-mavx"; then
|
|
CFG_AVX=yes
|
|
else
|
|
CFG_AVX=no
|
|
fi
|
|
fi
|
|
|
|
# check iWMMXt support
|
|
if [ "$CFG_IWMMXT" = "yes" ]; then
|
|
"$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
|
|
if [ $? != "0" ]; then
|
|
echo "The iWMMXt functionality test failed!"
|
|
echo " Please make sure your compiler supports iWMMXt intrinsics!"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# detect neon support
|
|
if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/neon "neon" $L_FLAGS $I_FLAGS $l_FLAGS "-mfpu=neon"; then
|
|
CFG_NEON=yes
|
|
else
|
|
CFG_NEON=no
|
|
fi
|
|
fi
|
|
|
|
[ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
|
|
|
|
# detect zlib
|
|
if [ "$CFG_ZLIB" = "no" ]; then
|
|
# Note: Qt no longer support builds without zlib
|
|
# So we force a "no" to be "auto" here.
|
|
# If you REALLY really need no zlib support, you can still disable
|
|
# it by doing the following:
|
|
# add "no-zlib" to mkspecs/qconfig.pri
|
|
# #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
|
|
#
|
|
# There's no guarantee that Qt will build under those conditions
|
|
|
|
CFG_ZLIB=auto
|
|
ZLIB_FORCED=yes
|
|
fi
|
|
if [ "$CFG_ZLIB" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/zlib "zlib" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
CFG_ZLIB=system
|
|
else
|
|
CFG_ZLIB=yes
|
|
fi
|
|
fi
|
|
|
|
if [ "$CFG_LARGEFILE" = "auto" ]; then
|
|
#Large files should be enabled for all Linux systems
|
|
CFG_LARGEFILE=yes
|
|
fi
|
|
|
|
# detect how jpeg should be built
|
|
if [ "$CFG_JPEG" = "auto" ]; then
|
|
if [ "$CFG_SHARED" = "yes" ]; then
|
|
CFG_JPEG=plugin
|
|
else
|
|
CFG_JPEG=yes
|
|
fi
|
|
fi
|
|
# detect jpeg
|
|
if [ "$CFG_LIBJPEG" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libjpeg "libjpeg" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
CFG_LIBJPEG=system
|
|
else
|
|
CFG_LIBJPEG=qt
|
|
fi
|
|
fi
|
|
|
|
# detect how gif should be built
|
|
if [ "$CFG_GIF" = "auto" ]; then
|
|
if [ "$CFG_SHARED" = "yes" ]; then
|
|
CFG_GIF=plugin
|
|
else
|
|
CFG_GIF=yes
|
|
fi
|
|
fi
|
|
|
|
# detect png
|
|
if [ "$CFG_LIBPNG" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libpng "libpng" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
CFG_LIBPNG=system
|
|
else
|
|
CFG_LIBPNG=qt
|
|
fi
|
|
fi
|
|
|
|
# detect accessibility
|
|
if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
|
|
CFG_ACCESSIBILITY=yes
|
|
fi
|
|
|
|
# auto-detect SQL-modules support
|
|
for _SQLDR in $CFG_SQL_AVAILABLE; do
|
|
case $_SQLDR in
|
|
mysql)
|
|
if [ "$CFG_SQL_mysql" != "no" ]; then
|
|
[ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
|
|
if [ -x "$CFG_MYSQL_CONFIG" ]; then
|
|
QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
|
|
QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
|
|
QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
|
|
QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
|
|
QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
|
|
fi
|
|
if [ -n "$QT_MYSQL_VERSION" ] && [ "$QT_MYSQL_VERSION_MAJOR" -lt 4 ]; then
|
|
if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "This version of MySql is not supported ($QT_MYSQL_VERSION)."
|
|
echo " You need MySql 4 or higher."
|
|
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_SQL_mysql="no"
|
|
QT_LFLAGS_MYSQL=""
|
|
QT_LFLAGS_MYSQL_R=""
|
|
QT_CFLAGS_MYSQL=""
|
|
fi
|
|
else
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mysql_r "MySQL (thread-safe)" $QT_LFLAGS_MYSQL_R $L_FLAGS $QT_CFLAGS_MYSQL $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
QMakeVar add CONFIG use_libmysqlclient_r
|
|
if [ "$CFG_SQL_mysql" = "auto" ]; then
|
|
CFG_SQL_mysql=plugin
|
|
fi
|
|
QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
|
|
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mysql "MySQL (thread-unsafe)" $QT_LFLAGS_MYSQL $L_FLAGS $QT_CFLAGS_MYSQL $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
if [ "$CFG_SQL_mysql" = "auto" ]; then
|
|
CFG_SQL_mysql=plugin
|
|
fi
|
|
else
|
|
if [ "$CFG_SQL_mysql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "MySQL 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_SQL_mysql=no
|
|
QT_LFLAGS_MYSQL=""
|
|
QT_LFLAGS_MYSQL_R=""
|
|
QT_CFLAGS_MYSQL=""
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
;;
|
|
psql)
|
|
if [ "$CFG_SQL_psql" != "no" ]; then
|
|
# Be careful not to use native pg_config when cross building.
|
|
if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
|
|
QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
|
|
QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
|
|
fi
|
|
[ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
|
|
[ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
|
|
# But, respect PSQL_LIBS if set
|
|
[ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/psql "PostgreSQL" $QT_LFLAGS_PSQL $L_FLAGS $QT_CFLAGS_PSQL $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
if [ "$CFG_SQL_psql" = "auto" ]; then
|
|
CFG_SQL_psql=plugin
|
|
fi
|
|
else
|
|
if [ "$CFG_SQL_psql" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "PostgreSQL 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_SQL_psql=no
|
|
QT_CFLAGS_PSQL=""
|
|
QT_LFLAGS_PSQL=""
|
|
fi
|
|
fi
|
|
fi
|
|
;;
|
|
odbc)
|
|
if [ "$CFG_SQL_odbc" != "no" ]; then
|
|
if ( [ "$BUILD_ON_MAC" != "yes" ] || [ "$XPLATFORM_MINGW" = "yes" ] ) && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
if [ "$CFG_SQL_odbc" = "auto" ]; then
|
|
CFG_SQL_odbc=plugin
|
|
fi
|
|
else
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iodbc "iODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
QT_LFLAGS_ODBC="-liodbc"
|
|
if [ "$CFG_SQL_odbc" = "auto" ]; then
|
|
CFG_SQL_odbc=plugin
|
|
fi
|
|
else
|
|
if [ "$CFG_SQL_odbc" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "ODBC 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_SQL_odbc=no
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
;;
|
|
oci)
|
|
if [ "$CFG_SQL_oci" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/oci "OCI" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
if [ "$CFG_SQL_oci" = "auto" ]; then
|
|
CFG_SQL_oci=plugin
|
|
fi
|
|
else
|
|
if [ "$CFG_SQL_oci" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "Oracle (OCI) 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_SQL_oci=no
|
|
fi
|
|
fi
|
|
fi
|
|
;;
|
|
tds)
|
|
if [ "$CFG_SQL_tds" != "no" ]; then
|
|
[ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib"
|
|
[ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS"
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tds "TDS" $QT_LFLAGS_TDS $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
if [ "$CFG_SQL_tds" = "auto" ]; then
|
|
CFG_SQL_tds=plugin
|
|
fi
|
|
else
|
|
if [ "$CFG_SQL_tds" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "TDS 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_SQL_tds=no
|
|
fi
|
|
fi
|
|
fi
|
|
;;
|
|
db2)
|
|
if [ "$CFG_SQL_db2" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/db2 "DB2" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
if [ "$CFG_SQL_db2" = "auto" ]; then
|
|
CFG_SQL_db2=plugin
|
|
fi
|
|
else
|
|
if [ "$CFG_SQL_db2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "ODBC 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_SQL_db2=no
|
|
fi
|
|
fi
|
|
fi
|
|
;;
|
|
ibase)
|
|
if [ "$CFG_SQL_ibase" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ibase "InterBase" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
if [ "$CFG_SQL_ibase" = "auto" ]; then
|
|
CFG_SQL_ibase=plugin
|
|
fi
|
|
else
|
|
if [ "$CFG_SQL_ibase" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "InterBase 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_SQL_ibase=no
|
|
fi
|
|
fi
|
|
fi
|
|
;;
|
|
sqlite2)
|
|
if [ "$CFG_SQL_sqlite2" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite2 "SQLite2" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
if [ "$CFG_SQL_sqlite2" = "auto" ]; then
|
|
CFG_SQL_sqlite2=plugin
|
|
fi
|
|
else
|
|
if [ "$CFG_SQL_sqlite2" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "SQLite2 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_SQL_sqlite2=no
|
|
fi
|
|
fi
|
|
fi
|
|
;;
|
|
sqlite)
|
|
if [ "$CFG_SQL_sqlite" != "no" ]; then
|
|
SQLITE_AUTODETECT_FAILED="no"
|
|
if [ "$CFG_SQLITE" = "system" ]; then
|
|
if [ -n "$PKG_CONFIG" ]; then
|
|
QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
|
|
QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
|
|
fi
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite "SQLite" $QT_LFLAGS_SQLITE $L_FLAGS $QT_CFLAGS_SQLITE $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
if [ "$CFG_SQL_sqlite" = "auto" ]; then
|
|
CFG_SQL_sqlite=plugin
|
|
fi
|
|
QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
|
|
else
|
|
SQLITE_AUTODETECT_FAILED="yes"
|
|
CFG_SQL_sqlite=no
|
|
fi
|
|
elif [ -f "$relpath/src/3rdparty/sqlite/sqlite3.h" ]; then
|
|
if [ "$CFG_SQL_sqlite" = "auto" ]; then
|
|
CFG_SQL_sqlite=plugin
|
|
fi
|
|
else
|
|
SQLITE_AUTODETECT_FAILED="yes"
|
|
CFG_SQL_sqlite=no
|
|
fi
|
|
|
|
if [ "$SQLITE_AUTODETECT_FAILED" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "SQLite 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
|
|
fi
|
|
fi
|
|
;;
|
|
*)
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo "unknown SQL driver: $_SQLDR"
|
|
fi
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# auto-detect NIS support
|
|
if [ "$CFG_NIS" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/nis "NIS" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
CFG_NIS=yes
|
|
else
|
|
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
|
|
fi
|
|
fi
|
|
|
|
# auto-detect CUPS support
|
|
if [ "$CFG_CUPS" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/cups "Cups" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
CFG_CUPS=yes
|
|
else
|
|
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
|
|
fi
|
|
fi
|
|
|
|
# auto-detect iconv(3) support
|
|
if [ "$CFG_ICONV" != "no" ]; then
|
|
if [ "$XPLATFORM_MINGW" = "yes" ] || [ "$PLATFORM_QPA" = "yes" -a "$CFG_ICONV" = "auto" ]; then
|
|
CFG_ICONV=no
|
|
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
CFG_ICONV=yes
|
|
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/sun-libiconv" "SUN libiconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
CFG_ICONV=sun
|
|
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/gnu-libiconv" "GNU libiconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
CFG_ICONV=gnu
|
|
else
|
|
if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "Iconv 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_ICONV=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# auto-detect libdbus-1 support
|
|
if [ "$CFG_DBUS" != "no" ]; then
|
|
if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --atleast-version="$MIN_DBUS_1_VERSION" dbus-1 2>/dev/null; then
|
|
QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
|
|
QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
|
|
fi
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/dbus "D-Bus" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_DBUS $QT_LIBS_DBUS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
[ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
|
|
QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
|
|
QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
|
|
else
|
|
if [ "$CFG_DBUS" = "auto" ]; then
|
|
CFG_DBUS=no
|
|
elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
# CFG_DBUS is "yes" or "linked" here
|
|
|
|
echo "The QtDBus module cannot be enabled because libdbus-1 version $MIN_DBUS_1_VERSION was not found."
|
|
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
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# X11/Lighthouse
|
|
if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
|
|
|
|
# auto-detect Glib support
|
|
if [ "$CFG_GLIB" != "no" ]; then
|
|
if [ -n "$PKG_CONFIG" ]; then
|
|
QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
|
|
QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
|
|
fi
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/glib "Glib" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_GLIB $QT_LIBS_GLIB $X11TESTS_FLAGS ; then
|
|
CFG_GLIB=yes
|
|
QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
|
|
QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
|
|
else
|
|
if [ "$CFG_GLIB" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "Glib 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_GLIB=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# ### Vestige
|
|
if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
|
|
if [ -n "$PKG_CONFIG" ]; then
|
|
QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
|
|
QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
|
|
fi
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/gstreamer "GStreamer" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_GSTREAMER $QT_LIBS_GSTREAMER $X11TESTS_FLAGS; then
|
|
CFG_GSTREAMER=yes
|
|
QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
|
|
QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
|
|
else
|
|
if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "Gstreamer 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_GSTREAMER=no
|
|
fi
|
|
fi
|
|
elif [ "$CFG_GLIB" = "no" ]; then
|
|
CFG_GSTREAMER=no
|
|
fi
|
|
|
|
# auto-detect libicu support
|
|
if [ "$CFG_ICU" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
[ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
|
|
else
|
|
if [ "$CFG_ICU" = "auto" ]; then
|
|
CFG_ICU=no
|
|
elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
# CFG_ICU is "yes"
|
|
|
|
echo "The ICU library support cannot be enabled."
|
|
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
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# Auto-detect PulseAudio support
|
|
if [ "$CFG_PULSEAUDIO" != "no" ]; then
|
|
if [ -n "$PKG_CONFIG" ]; then
|
|
QT_CFLAGS_PULSEAUDIO=`$PKG_CONFIG --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
|
|
QT_LIBS_PULSEAUDIO=`$PKG_CONFIG --libs libpulse '>=' 0.9.10 libpulse-mainloop-glib 2>/dev/null`
|
|
fi
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pulseaudio "PulseAudio" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_PULSEAUDIO $QT_LIBS_PULSEAUDIO $X11TESTS_FLAGS; then
|
|
CFG_PULSEAUDIO=yes
|
|
QMakeVar set QT_CFLAGS_PULSEAUDIO "$QT_CFLAGS_PULSEAUDIO"
|
|
QMakeVar set QT_LIBS_PULSEAUDIO "$QT_LIBS_PULSEAUDIO"
|
|
else
|
|
if [ "$CFG_PULSEAUDIO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "PulseAudio 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_PULSEAUDIO=no
|
|
fi
|
|
fi
|
|
fi
|
|
fi # X11/Lighthouse
|
|
|
|
# X11
|
|
if [ "$PLATFORM_X11" = "yes" -a "$CFG_GUI" != "no" ]; then
|
|
x11tests="$relpath/config.tests/x11"
|
|
X11TESTS_FLAGS=
|
|
|
|
# work around broken X11 headers when using GCC 2.95 or later
|
|
NOTYPE=no
|
|
"$x11tests/notype.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" && NOTYPE=yes
|
|
if [ $NOTYPE = "yes" ]; then
|
|
QMakeVar add QMAKE_CXXFLAGS -fpermissive
|
|
X11TESTS_FLAGS="$X11TESTS_FLAGS -fpermissive"
|
|
fi
|
|
|
|
# Check we actually have X11 :-)
|
|
"$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
|
|
if [ $? != "0" ]; then
|
|
echo "Basic XLib functionality test failed!"
|
|
echo " You might need to modify the include and library search paths by editing"
|
|
echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# X11/MINGW OpenGL
|
|
if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
|
|
# auto-detect OpenGL support (es2 = OpenGL ES 2.x)
|
|
if [ "$CFG_GUI" = "no" ]; then
|
|
if [ "$CFG_OPENGL" = "auto" ]; then
|
|
CFG_OPENGL=no
|
|
fi
|
|
if [ "$CFG_OPENGL" != "no" ]; then
|
|
echo "OpenGL enabled, but GUI disabled."
|
|
echo " You might need to either enable the GUI or disable OpenGL"
|
|
exit 1
|
|
fi
|
|
fi
|
|
if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
|
|
CFG_OPENGL=desktop
|
|
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
CFG_OPENGL=es2
|
|
if [ "$CFG_EGL" = "no" ]; then
|
|
CFG_EGL=auto
|
|
fi
|
|
else
|
|
if [ "$CFG_OPENGL" = "yes" ]; then
|
|
echo "All the OpenGL functionality tests failed!"
|
|
echo " You might need to modify the include and library search paths by editing"
|
|
echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
|
|
echo " ${XQMAKESPEC}."
|
|
exit 1
|
|
fi
|
|
CFG_OPENGL=no
|
|
fi
|
|
case "$PLATFORM" in
|
|
hpux*)
|
|
# HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
|
|
if [ "$CFG_OPENGL" = "desktop" ]; then
|
|
"$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
|
|
if [ $? != "0" ]; then
|
|
QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
|
|
fi
|
|
fi
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
elif [ "$CFG_OPENGL" = "es2" ]; then
|
|
#OpenGL ES 2.x
|
|
"$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
|
|
if [ $? != "0" ]; then
|
|
echo "The OpenGL ES 2.0 functionality test failed!"
|
|
echo " You might need to modify the include and library search paths by editing"
|
|
echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
|
|
echo " ${XQMAKESPEC}."
|
|
exit 1
|
|
fi
|
|
elif [ "$CFG_OPENGL" = "desktop" ]; then
|
|
# Desktop OpenGL support
|
|
"$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
|
|
if [ $? != "0" ]; then
|
|
echo "The OpenGL functionality test failed!"
|
|
echo " You might need to modify the include and library search paths by editing"
|
|
echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
|
|
echo " ${XQMAKESPEC}."
|
|
exit 1
|
|
fi
|
|
case "$PLATFORM" in
|
|
hpux*)
|
|
# HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct.
|
|
"$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/glxfbconfig "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
|
|
if [ $? != "0" ]; then
|
|
QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT
|
|
fi
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
fi
|
|
fi # X11/MINGW OpenGL
|
|
|
|
# X11
|
|
if [ "$PLATFORM_X11" = "yes" ]; then
|
|
# auto-detect Xcursor support
|
|
if [ "$CFG_XCURSOR" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xcursor "Xcursor" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
|
|
if [ "$CFG_XCURSOR" != "runtime" ]; then
|
|
CFG_XCURSOR=yes;
|
|
fi
|
|
else
|
|
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
|
|
fi
|
|
fi
|
|
|
|
# auto-detect Xfixes support
|
|
if [ "$CFG_XFIXES" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xfixes "Xfixes" $L_FLAGS $I_FLAGS $X11TESTS_FLAGS; then
|
|
if [ "$CFG_XFIXES" != "runtime" ]; then
|
|
CFG_XFIXES=yes;
|
|
fi
|
|
else
|
|
if [ "$CFG_XFIXES" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "Xfixes 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_XFIXES=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# auto-detect Xrandr support (resize and rotate extension)
|
|
if [ "$CFG_XRANDR" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xrandr "Xrandr" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
|
|
if [ "$CFG_XRANDR" != "runtime" ]; then
|
|
CFG_XRANDR=yes
|
|
fi
|
|
else
|
|
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
|
|
fi
|
|
fi
|
|
|
|
# auto-detect Xrender support
|
|
if [ "$CFG_XRENDER" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xrender "Xrender" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
|
|
CFG_XRENDER=yes
|
|
else
|
|
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
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# auto-detect MIT-SHM support
|
|
if [ "$CFG_MITSHM" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/mitshm "mitshm" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
|
|
CFG_MITSHM=yes
|
|
else
|
|
if [ "$CFG_MITSHM" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "MITSHM 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_MITSHM=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# auto-detect FontConfig support
|
|
if [ "$CFG_FONTCONFIG" != "no" ]; then
|
|
if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
|
|
QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
|
|
QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
|
|
else
|
|
QT_CFLAGS_FONTCONFIG=
|
|
QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
|
|
fi
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/fontconfig "FontConfig" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS $QT_CFLAGS_FONTCONFIG $QT_LIBS_FONTCONFIG; then
|
|
CFG_FONTCONFIG=yes
|
|
QMakeVar set QMAKE_CFLAGS_X11 "$QT_CFLAGS_FONTCONFIG \$\$QMAKE_CFLAGS_X11"
|
|
QMakeVar set QMAKE_LIBS_X11 "$QT_LIBS_FONTCONFIG \$\$QMAKE_LIBS_X11"
|
|
CFG_LIBFREETYPE=system
|
|
else
|
|
if [ "$CFG_FONTCONFIG" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "FontConfig 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_FONTCONFIG=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# auto-detect Session Management support
|
|
if [ "$CFG_SM" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/sm "Session Management" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
|
|
CFG_SM=yes
|
|
else
|
|
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
|
|
fi
|
|
fi
|
|
|
|
# auto-detect SHAPE support
|
|
if [ "$CFG_XSHAPE" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xshape "XShape" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
|
|
CFG_XSHAPE=yes
|
|
else
|
|
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
|
|
fi
|
|
fi
|
|
|
|
# auto-detect XVideo support
|
|
if [ "$CFG_XVIDEO" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xvideo "XVideo" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
|
|
CFG_XVIDEO=yes
|
|
else
|
|
if [ "$CFG_XVIDEO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "XVideo 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_XVIDEO=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# auto-detect XSync support
|
|
if [ "$CFG_XSYNC" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xsync "XSync" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
|
|
CFG_XSYNC=yes
|
|
else
|
|
if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "XSync 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_XSYNC=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# auto-detect Xinerama support
|
|
if [ "$CFG_XINERAMA" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinerama "Xinerama" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
|
|
if [ "$CFG_XINERAMA" != "runtime" ]; then
|
|
CFG_XINERAMA=yes
|
|
fi
|
|
else
|
|
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
|
|
fi
|
|
fi
|
|
|
|
# auto-detect Xinput support
|
|
if [ "$CFG_XINPUT" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinput "XInput" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
|
|
if [ "$CFG_XINPUT" != "runtime" ]; then
|
|
CFG_XINPUT=yes
|
|
fi
|
|
else
|
|
if [ "$CFG_XINPUT" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "Tablet and Xinput 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_XINPUT=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# auto-detect XKB support
|
|
if [ "$CFG_XKB" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xkb "XKB" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
|
|
CFG_XKB=yes
|
|
else
|
|
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
|
|
fi
|
|
fi
|
|
|
|
if [ "$CFG_GLIB" = "yes" -a "$CFG_QGTKSTYLE" != "no" ]; then
|
|
if [ -n "$PKG_CONFIG" ]; then
|
|
QT_CFLAGS_QGTKSTYLE=`$PKG_CONFIG --cflags gtk+-2.0 ">=" 2.10 atk 2>/dev/null`
|
|
QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null`
|
|
fi
|
|
if [ -n "$QT_CFLAGS_QGTKSTYLE" ] ; then
|
|
CFG_QGTKSTYLE=yes
|
|
QMakeVar set QT_CFLAGS_QGTKSTYLE "$QT_CFLAGS_QGTKSTYLE"
|
|
QMakeVar set QT_LIBS_QGTKSTYLE "$QT_LIBS_QGTKSTYLE"
|
|
else
|
|
if [ "$CFG_QGTKSTYLE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "Gtk theme 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_QGTKSTYLE=no
|
|
fi
|
|
fi
|
|
elif [ "$CFG_GLIB" = "no" ]; then
|
|
CFG_QGTKSTYLE=no
|
|
fi
|
|
fi # X11
|
|
|
|
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
if [ "$CFG_PHONON" != "no" ]; then
|
|
# Always enable Phonon (unless it was explicitly disabled)
|
|
CFG_PHONON=yes
|
|
fi
|
|
|
|
if [ "$CFG_COREWLAN" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/corewlan "CoreWlan" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
CFG_COREWLAN=yes
|
|
else
|
|
CFG_COREWLAN=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
if [ "$PLATFORM_QPA" = "yes" ]; then
|
|
# auto-detect OpenGL support (es2 = OpenGL ES 2.x)
|
|
if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
|
|
CFG_OPENGL=desktop
|
|
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
CFG_OPENGL=es2
|
|
else
|
|
if [ "$CFG_OPENGL" = "yes" ]; then
|
|
echo "All the OpenGL functionality tests failed!"
|
|
echo " You might need to modify the include and library search paths by editing"
|
|
echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
|
|
echo " ${XQMAKESPEC}."
|
|
exit 1
|
|
fi
|
|
CFG_OPENGL=no
|
|
fi
|
|
elif [ "$CFG_OPENGL" = "es2" ]; then
|
|
#OpenGL ES 2.x
|
|
if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
|
|
QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --cflags-only-I glesv2 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
|
|
QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --libs-only-L glesv2 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
|
|
QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
|
|
QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
|
|
QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
|
|
QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2"
|
|
QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2"
|
|
fi
|
|
|
|
"$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_LIBS_OPENGL_ES2 $QMAKE_CFLAGS_OPENGL_ES2
|
|
if [ $? != "0" ]; then
|
|
echo "The OpenGL ES 2.0 functionality test failed!"
|
|
echo " You might need to modify the include and library search paths by editing"
|
|
echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
|
|
echo " ${XQMAKESPEC}."
|
|
exit 1
|
|
fi
|
|
elif [ "$CFG_OPENGL" = "desktop" ]; then
|
|
# Desktop OpenGL support
|
|
"$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
|
|
if [ $? != "0" ]; then
|
|
echo "The OpenGL functionality test failed!"
|
|
echo " You might need to modify the include and library search paths by editing"
|
|
echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
|
|
echo " ${XQMAKESPEC}."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# auto-detect FontConfig support
|
|
if [ "$CFG_FONTCONFIG" != "no" ]; then
|
|
if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
|
|
QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
|
|
QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
|
|
else
|
|
QT_CFLAGS_FONTCONFIG=
|
|
QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
|
|
fi
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/fontconfig "FontConfig" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS $QT_CFLAGS_FONTCONFIG $QT_LIBS_FONTCONFIG; then
|
|
QT_CONFIG="$QT_CONFIG fontconfig"
|
|
QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
|
|
QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
|
|
CFG_LIBFREETYPE=system
|
|
fi
|
|
|
|
fi
|
|
|
|
# Save these for a check later
|
|
ORIG_CFG_WAYLAND="$CFG_WAYLAND"
|
|
ORIG_CFG_XCB="$CFG_XCB"
|
|
|
|
if [ "$CFG_WAYLAND" != "no" ]; then
|
|
if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists wayland-client 2>/dev/null; then
|
|
QMAKE_CFLAGS_WAYLAND=`$PKG_CONFIG --cflags wayland-client 2>/dev/null`
|
|
QMAKE_LIBS_WAYLAND=`$PKG_CONFIG --libs wayland-client 2>/dev/null`
|
|
QMAKE_INCDIR_WAYLAND=`$PKG_CONFIG --cflags-only-I wayland-client 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
|
|
QMAKE_LIBDIR_WAYLAND=`$PKG_CONFIG --libs-only-L wayland-client 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'`
|
|
fi
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/wayland "Wayland" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_WAYLAND $QMAKE_LIBS_WAYLAND; then
|
|
CFG_WAYLAND=yes
|
|
QT_CONFIG="$QT_CONFIG wayland"
|
|
elif [ "$CFG_WAYLAND" = "yes" ]; then
|
|
echo "The Wayland functionality test failed!"
|
|
exit 1
|
|
else
|
|
CFG_WAYLAND=no
|
|
QMakeVar add DEFINES QT_NO_WAYLAND
|
|
fi
|
|
fi
|
|
|
|
if [ "$CFG_LIBUDEV" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libudev "libudev" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
CFG_LIBUDEV=yes
|
|
QT_CONFIG="$QT_CONFIG libudev"
|
|
elif [ "$CFG_LIBUDEV" = "yes" ]; then
|
|
echo "The libudev functionality test failed!"
|
|
exit 1
|
|
else
|
|
CFG_LIBUDEV=no
|
|
QMakeVar add DEFINES QT_NO_LIBUDEV
|
|
fi
|
|
fi
|
|
|
|
if [ "$CFG_EVDEV" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/evdev "evdev" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
CFG_EVDEV=yes
|
|
QT_CONFIG="$QT_CONFIG evdev"
|
|
elif [ "$CFG_EVDEV" = "yes" ]; then
|
|
echo "The evdev functionality test failed!"
|
|
exit 1
|
|
else
|
|
CFG_EVDEV=no
|
|
QMakeVar add DEFINES QT_NO_EVDEV
|
|
fi
|
|
fi
|
|
|
|
# Check we actually have X11 :-)
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
|
|
QT_CONFIG="$QT_CONFIG xlib"
|
|
fi
|
|
|
|
# auto-detect Xrender support
|
|
if [ "$CFG_XRENDER" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xrender "Xrender" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
|
|
CFG_XRENDER=yes
|
|
QT_CONFIG="$QT_CONFIG xrender"
|
|
else
|
|
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
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if [ "$CFG_XCB" != "no" ]; then
|
|
if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xcb 2>/dev/null; then
|
|
QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`"
|
|
QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`"
|
|
fi
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb "xcb" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
|
|
CFG_XCB=yes
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-render "xcb-render" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
|
|
QT_CONFIG="$QT_CONFIG xcb-render"
|
|
fi
|
|
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-poll-for-queued-event "xcb-poll-for-queued-event" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
|
|
CFG_XCB_LIMITED=no
|
|
QT_CONFIG="$QT_CONFIG xcb-poll-for-queued-event"
|
|
fi
|
|
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/xcb-xlib "xcb-xlib" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
|
|
QT_CONFIG="$QT_CONFIG xcb-xlib"
|
|
fi
|
|
|
|
if [ "$XPLATFORM_MAEMO" = "yes" ]; then
|
|
# auto-detect XInput2/Xinput support
|
|
if [ "$CFG_XINPUT2" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinput2 "XInput2" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
|
|
CFG_XINPUT2=yes
|
|
CFG_XINPUT=no
|
|
else
|
|
if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "XInput2 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_XINPUT2=no
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
else
|
|
if [ "$CFG_XCB" = "yes" ]; then
|
|
echo "The XCB test failed!"
|
|
echo " You might need to install dependency packages."
|
|
echo " See src/plugins/platforms/xcb/README."
|
|
exit 1
|
|
fi
|
|
CFG_XCB=no
|
|
QMakeVar add DEFINES QT_NO_XCB
|
|
fi
|
|
fi
|
|
|
|
# Detect libxkbcommon
|
|
if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
|
|
QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
|
|
QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
|
|
if [ "$CFG_WAYLAND" = "yes" ]; then
|
|
QMAKE_CFLAGS_WAYLAND="$QMAKE_CFLAGS_WAYLAND $QMAKE_CFLAGS_XKBCOMMON"
|
|
QMAKE_LIBS_WAYLAND="$QMAKE_LIBS_WAYLAND $QMAKE_LIBS_XKBCOMMON"
|
|
fi
|
|
QMAKE_CFLAGS_XCB="$QMAKE_CFLAGS_XCB $QMAKE_CFLAGS_XKBCOMMON"
|
|
QMAKE_LIBS_XCB="$QMAKE_LIBS_XCB $QMAKE_LIBS_XKBCOMMON"
|
|
else
|
|
if [ "$CFG_WAYLAND" = "yes" ]; then
|
|
QMAKE_DEFINES_WAYLAND=QT_NO_WAYLAND_XKB
|
|
fi
|
|
QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
|
|
fi
|
|
|
|
# QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
|
|
if [ -n "$QMAKE_CFLAGS_WAYLAND" ] || [ -n "$QMAKE_LIBS_WAYLAND" ]; then
|
|
QMakeVar set QMAKE_CFLAGS_WAYLAND "$QMAKE_CFLAGS_WAYLAND"
|
|
QMakeVar set QMAKE_INCDIR_WAYLAND "$QMAKE_INCDIR_WAYLAND"
|
|
QMakeVar set QMAKE_LIBS_WAYLAND "$QMAKE_LIBS_WAYLAND"
|
|
QMakeVar set QMAKE_LIBDIR_WAYLAND "$QMAKE_LIBDIR_WAYLAND"
|
|
QMakeVar set QMAKE_DEFINES_WAYLAND " $QMAKE_DEFINES_WAYLAND"
|
|
fi
|
|
|
|
if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
|
|
QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
|
|
QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
|
|
QMakeVar set QMAKE_DEFINES_XCB "$QMAKE_DEFINES_XCB"
|
|
fi
|
|
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/coreservices "CoreServices" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
QT_CONFIG="$QT_CONFIG coreservices"
|
|
else
|
|
QMakeVar add DEFINES QT_NO_CORESERVICES
|
|
fi
|
|
|
|
if [ "$PLATFORM_QPA" = "yes" ] && [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ]; then
|
|
if [ "$CFG_XCB" = "no" ] && [ "$CFG_WAYLAND" = "no" ]; then
|
|
if [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_WAYLAND" = "auto" ]; then
|
|
echo "No QPA platform plugin enabled!"
|
|
echo " If you really want to build without a QPA platform plugin you must pass"
|
|
echo " -no-xcb and -no-wayland to configure. Doing this will produce a Qt that"
|
|
echo " cannot run GUI applications."
|
|
echo " The dependencies needed for xcb to build are listed in"
|
|
echo " src/plugins/platforms/xcb/README"
|
|
exit 1
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
fi
|
|
|
|
EGL_VARIANT=none
|
|
# EGL Support
|
|
if [ "$PLATFORM_X11" = "yes" ]; then
|
|
if [ "$CFG_EGL" != "no" ]; then
|
|
# detect EGL support
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/egl" "EGL (EGL/egl.h)" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
# EGL specified by QMAKE_*_EGL, included with <EGL/egl.h>
|
|
EGL_VARIANT=regular
|
|
CFG_EGL=yes
|
|
fi
|
|
|
|
if [ "$EGL_VARIANT" = "none" ]; then
|
|
if [ "$CFG_EGL" = "yes" ]; then
|
|
echo "The EGL functionality test failed!"
|
|
echo " EGL is required for OpenGL ES to manage contexts & surfaces."
|
|
echo " You might need to modify the include and library search paths by editing"
|
|
echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in"
|
|
echo " ${XQMAKESPEC}."
|
|
exit 1
|
|
fi
|
|
CFG_EGL=no
|
|
# If QtOpenGL would be built against OpenGL ES, disable it as we can't to that if EGL is missing
|
|
if [ "$CFG_OPENGL" = "es2" ]; then
|
|
CFG_OPENGL=no
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
[ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
|
|
|
|
# freetype support
|
|
[ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
|
|
if [ "$CFG_LIBFREETYPE" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/freetype "FreeType" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
CFG_LIBFREETYPE=system
|
|
else
|
|
CFG_LIBFREETYPE=yes
|
|
fi
|
|
fi
|
|
|
|
if [ "$CFG_ENDIAN" = "auto" ]; then
|
|
if [ "$XPLATFORM_MINGW" = "yes" ]; then
|
|
CFG_ENDIAN="Q_LITTLE_ENDIAN"
|
|
else
|
|
"$unixtests/endian.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "QMAKE_LFLAGS+=$SYSROOT_FLAG"
|
|
F="$?"
|
|
if [ "$F" -eq 0 ]; then
|
|
CFG_ENDIAN="Q_LITTLE_ENDIAN"
|
|
elif [ "$F" -eq 1 ]; then
|
|
CFG_ENDIAN="Q_BIG_ENDIAN"
|
|
else
|
|
echo
|
|
echo "The target system byte order could not be detected!"
|
|
echo "Turn on verbose messaging (-v) to see the final report."
|
|
echo "You can use the -little-endian or -big-endian switch to"
|
|
echo "$0 to continue."
|
|
exit 101
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
true #leave as auto
|
|
else
|
|
"$unixtests/endian.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
|
|
F="$?"
|
|
if [ "$F" -eq 0 ]; then
|
|
CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN"
|
|
elif [ "$F" -eq 1 ]; then
|
|
CFG_HOST_ENDIAN="Q_BIG_ENDIAN"
|
|
else
|
|
echo
|
|
echo "The host system byte order could not be detected!"
|
|
echo "Turn on verbose messaging (-v) to see the final report."
|
|
echo "You can use the -host-little-endian or -host-big-endian switch to"
|
|
echo "$0 to continue."
|
|
exit 101
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
HAVE_STL=no
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
HAVE_STL=yes
|
|
fi
|
|
|
|
if [ "$CFG_STL" != "no" ]; then
|
|
if [ "$HAVE_STL" = "yes" ]; then
|
|
CFG_STL=yes
|
|
else
|
|
if [ "$CFG_STL" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "STL 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_STL=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# detect POSIX clock_gettime()
|
|
if [ "$CFG_CLOCK_GETTIME" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/clock-gettime "POSIX clock_gettime()" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
CFG_CLOCK_GETTIME=yes
|
|
else
|
|
CFG_CLOCK_GETTIME=no
|
|
fi
|
|
fi
|
|
|
|
# detect POSIX monotonic clocks
|
|
if [ "$CFG_CLOCK_GETTIME" = "yes" ] && [ "$CFG_CLOCK_MONOTONIC" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/clock-monotonic "POSIX Monotonic Clock" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
CFG_CLOCK_MONOTONIC=yes
|
|
else
|
|
CFG_CLOCK_MONOTONIC=no
|
|
fi
|
|
elif [ "$CFG_CLOCK_GETTIME" = "no" ]; then
|
|
CFG_CLOCK_MONOTONIC=no
|
|
fi
|
|
|
|
# detect mremap
|
|
if [ "$CFG_MREMAP" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mremap "mremap" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
CFG_MREMAP=yes
|
|
else
|
|
CFG_MREMAP=no
|
|
fi
|
|
fi
|
|
|
|
# find if the platform provides getaddrinfo (ipv6 dns lookups)
|
|
if [ "$CFG_GETADDRINFO" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getaddrinfo "getaddrinfo" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
CFG_GETADDRINFO=yes
|
|
else
|
|
if [ "$CFG_GETADDRINFO" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "getaddrinfo 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_GETADDRINFO=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# find if the platform provides inotify
|
|
if [ "$CFG_INOTIFY" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/inotify "inotify" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
CFG_INOTIFY=yes
|
|
else
|
|
if [ "$CFG_INOTIFY" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "inotify 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_INOTIFY=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# find if the platform provides if_nametoindex (ipv6 interface name support)
|
|
if [ "$CFG_IPV6IFNAME" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ipv6ifname "IPv6 interface name" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
CFG_IPV6IFNAME=yes
|
|
else
|
|
if [ "$CFG_IPV6IFNAME" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "IPv6 interface name 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_IPV6IFNAME=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# find if the platform provides getifaddrs (network interface enumeration)
|
|
if [ "$CFG_GETIFADDRS" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/getifaddrs "getifaddrs" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
CFG_GETIFADDRS=yes
|
|
else
|
|
if [ "$CFG_GETIFADDRS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "getifaddrs 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_GETIFADDRS=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# detect OpenSSL
|
|
if [ "$CFG_OPENSSL" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/openssl "OpenSSL" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
|
|
if [ "$CFG_OPENSSL" = "auto" ]; then
|
|
CFG_OPENSSL=yes
|
|
fi
|
|
else
|
|
if ( [ "$CFG_OPENSSL" = "yes" ] || [ "$CFG_OPENSSL" = "linked" ] ) && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "OpenSSL 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_OPENSSL=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# detect PCRE
|
|
if [ "$CFG_PCRE" != "qt" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/pcre "PCRE" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
CFG_PCRE=system
|
|
else
|
|
if [ "$CFG_PCRE" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "PCRE 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_PCRE=qt
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# detect OpenVG support
|
|
if [ "$CFG_OPENVG" != "no" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
|
|
if [ "$CFG_OPENVG" = "auto" ]; then
|
|
CFG_OPENVG=yes
|
|
fi
|
|
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG openvg_on_opengl" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
|
|
if [ "$CFG_OPENVG" = "auto" ]; then
|
|
CFG_OPENVG=yes
|
|
fi
|
|
CFG_OPENVG_ON_OPENGL=yes
|
|
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG lower_case_includes" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG (lc includes)" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
|
|
if [ "$CFG_OPENVG" = "auto" ]; then
|
|
CFG_OPENVG=yes
|
|
fi
|
|
CFG_OPENVG_LC_INCLUDES=yes
|
|
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG openvg_on_opengl lower_case_includes" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG (lc includes)" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
|
|
if [ "$CFG_OPENVG" = "auto" ]; then
|
|
CFG_OPENVG=yes
|
|
fi
|
|
CFG_OPENVG_LC_INCLUDES=yes
|
|
CFG_OPENVG_ON_OPENGL=yes
|
|
else
|
|
if [ "$CFG_OPENVG" != "auto" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
|
|
echo "$CFG_OPENVG was specified for OpenVG but 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_OPENVG=no
|
|
fi
|
|
fi
|
|
if [ "$CFG_OPENVG" = "yes" ] && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/shivavg" "ShivaVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
|
|
CFG_OPENVG_SHIVA=yes
|
|
fi
|
|
fi
|
|
|
|
if [ "$CFG_ALSA" = "auto" ]; then
|
|
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
|
|
CFG_ALSA=yes
|
|
else
|
|
CFG_ALSA=no
|
|
fi
|
|
fi
|
|
|
|
if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
|
|
if [ "$CFG_ARCH" = "arm" ]; then
|
|
"$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
|
|
if [ $? != "0" ]; then
|
|
CFG_JAVASCRIPTCORE_JIT=no
|
|
fi
|
|
else
|
|
case "$XPLATFORM" in
|
|
linux-icc*)
|
|
CFG_JAVASCRIPTCORE_JIT=no
|
|
;;
|
|
esac
|
|
fi
|
|
fi
|
|
|
|
if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ]; then
|
|
QMakeVar set JAVASCRIPTCORE_JIT yes
|
|
elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
|
|
QMakeVar set JAVASCRIPTCORE_JIT no
|
|
fi
|
|
|
|
if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
|
|
CFG_AUDIO_BACKEND=yes
|
|
fi
|
|
|
|
if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
|
|
echo "Warning: largefile support cannot be disabled for win32."
|
|
CFG_LARGEFILE="yes"
|
|
fi
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# ask for all that hasn't been auto-detected or specified in the arguments
|
|
#-------------------------------------------------------------------------------
|
|
|
|
# enable dwarf2 support on Mac
|
|
if [ "$CFG_MAC_DWARF2" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG dwarf2"
|
|
fi
|
|
|
|
# Set the default Mac OS X arch if there are no "-arch" arguments on the configure line
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
DEFAULT_ARCH="$CFG_MAC_ARCHS"
|
|
if [ -z "$DEFAULT_ARCH" ]; then
|
|
case `file "${outpath}/bin/qmake"` in
|
|
*i?86)
|
|
DEFAULT_ARCH=x86
|
|
;;
|
|
*x86_64)
|
|
DEFAULT_ARCH=x86_64
|
|
;;
|
|
*ppc|*ppc64|*)
|
|
# unsupported/unknown
|
|
;;
|
|
esac
|
|
fi
|
|
if [ -n "$DEFAULT_ARCH" ]; then
|
|
[ "$OPT_VERBOSE" = "yes" ] && echo "Setting default Mac OS X architechture to $DEFAULT_ARCH."
|
|
QT_CONFIG="$QT_CONFIG $DEFAULT_ARCH"
|
|
QMAKE_CONFIG="$QMAKE_CONFIG $DEFAULT_ARCH"
|
|
# Make the application arch follow the Qt arch for single arch builds.
|
|
# (for multiple-arch builds, set CONFIG manually in the application .pro file)
|
|
[ `echo "$DEFAULT_ARCH" | wc -w` -eq 1 ] && QTCONFIG_CONFIG="$QTCONFIG_CONFIG $DEFAULT_ARCH"
|
|
fi
|
|
fi
|
|
|
|
# ### Vestige
|
|
if [ "$CFG_PHONON_BACKEND" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG phonon-backend"
|
|
fi
|
|
|
|
# disable accessibility
|
|
if [ "$CFG_ACCESSIBILITY" = "no" ]; then
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY"
|
|
else
|
|
QT_CONFIG="$QT_CONFIG accessibility"
|
|
fi
|
|
|
|
# egl stuff does not belong in lighthouse, but rather in plugins
|
|
if [ "$PLATFORM_QPA" = "yes" ]; then
|
|
CFG_EGL="no"
|
|
fi
|
|
|
|
# enable egl
|
|
if [ "$CFG_EGL" = "no" ]; then
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
|
|
else
|
|
QT_CONFIG="$QT_CONFIG egl"
|
|
if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GLES_EGL"
|
|
fi
|
|
fi
|
|
|
|
# enable openvg
|
|
if [ "$CFG_OPENVG" = "no" ]; then
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENVG"
|
|
else
|
|
QT_CONFIG="$QT_CONFIG openvg"
|
|
if [ "$CFG_OPENVG_LC_INCLUDES" = "yes" ]; then
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LOWER_CASE_VG_INCLUDES"
|
|
fi
|
|
if [ "$CFG_OPENVG_ON_OPENGL" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG openvg_on_opengl"
|
|
fi
|
|
if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG shivavg"
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SHIVAVG"
|
|
fi
|
|
fi
|
|
|
|
# enable opengl
|
|
if [ "$CFG_OPENGL" = "no" ]; then
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENGL"
|
|
else
|
|
QT_CONFIG="$QT_CONFIG opengl"
|
|
fi
|
|
|
|
if [ "$CFG_OPENGL" = "es2" ]; then
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
|
|
fi
|
|
|
|
if [ "$CFG_OPENGL" = "es2" ]; then
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
|
|
QT_CONFIG="$QT_CONFIG opengles2"
|
|
fi
|
|
|
|
# safe execution environment
|
|
if [ "$CFG_SXE" != "no" ]; then
|
|
QT_CONFIG="$QT_CONFIG sxe"
|
|
fi
|
|
|
|
# build up the variables for output
|
|
if [ "$CFG_DEBUG" = "yes" ]; then
|
|
QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
|
|
QMAKE_CONFIG="$QMAKE_CONFIG debug"
|
|
elif [ "$CFG_DEBUG" = "no" ]; then
|
|
QMAKE_OUTDIR="${QMAKE_OUTDIR}release"
|
|
QMAKE_CONFIG="$QMAKE_CONFIG release"
|
|
fi
|
|
if [ "$CFG_SHARED" = "yes" ]; then
|
|
QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared"
|
|
QMAKE_CONFIG="$QMAKE_CONFIG shared dll"
|
|
elif [ "$CFG_SHARED" = "no" ]; then
|
|
QMAKE_OUTDIR="${QMAKE_OUTDIR}-static"
|
|
QMAKE_CONFIG="$QMAKE_CONFIG static"
|
|
fi
|
|
if [ "$PLATFORM_QPA" = "yes" ]; then
|
|
QMAKE_CONFIG="$QMAKE_CONFIG qpa"
|
|
QT_CONFIG="$QT_CONFIG qpa"
|
|
QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
|
|
rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
|
|
fi
|
|
|
|
if [ "$XPLATFORM_MINGW" != "yes" ]; then
|
|
# Do not set this here for Windows. Let qmake do it so
|
|
# debug and release precompiled headers are kept separate.
|
|
QMakeVar set PRECOMPILED_DIR ".pch/$QMAKE_OUTDIR"
|
|
fi
|
|
QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
|
|
QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
|
|
QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
|
|
QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
|
|
if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
|
|
QMAKE_CONFIG="$QMAKE_CONFIG largefile"
|
|
fi
|
|
if [ "$CFG_STL" = "no" ]; then
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STL"
|
|
else
|
|
QMAKE_CONFIG="$QMAKE_CONFIG stl"
|
|
fi
|
|
if [ "$CFG_USE_GNUMAKE" = "yes" ]; then
|
|
QMAKE_CONFIG="$QMAKE_CONFIG GNUmake"
|
|
fi
|
|
[ "$CFG_REDUCE_EXPORTS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_exports"
|
|
[ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations"
|
|
[ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header"
|
|
if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then
|
|
QMakeVar add QMAKE_CFLAGS -g
|
|
QMakeVar add QMAKE_CXXFLAGS -g
|
|
QT_CONFIG="$QT_CONFIG separate_debug_info"
|
|
fi
|
|
if [ "$CFG_SEPARATE_DEBUG_INFO_NOCOPY" = "yes" ] ; then
|
|
QT_CONFIG="$QT_CONFIG separate_debug_info_nocopy"
|
|
fi
|
|
[ "$CFG_MMX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mmx"
|
|
[ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow"
|
|
[ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse"
|
|
[ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
|
|
[ "$CFG_SSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse3"
|
|
[ "$CFG_SSSE3" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG ssse3"
|
|
[ "$CFG_SSE4_1" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_1"
|
|
[ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2"
|
|
[ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx"
|
|
[ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
|
|
[ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
|
|
if [ "$CFG_CLOCK_GETTIME" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG clock-gettime"
|
|
fi
|
|
if [ "$CFG_CLOCK_MONOTONIC" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG clock-monotonic"
|
|
fi
|
|
if [ "$CFG_MREMAP" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG mremap"
|
|
fi
|
|
if [ "$CFG_GETADDRINFO" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG getaddrinfo"
|
|
fi
|
|
if [ "$CFG_IPV6IFNAME" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG ipv6ifname"
|
|
fi
|
|
if [ "$CFG_GETIFADDRS" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG getifaddrs"
|
|
fi
|
|
if [ "$CFG_INOTIFY" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG inotify"
|
|
fi
|
|
if [ "$CFG_LIBJPEG" = "no" ]; then
|
|
CFG_JPEG="no"
|
|
elif [ "$CFG_LIBJPEG" = "system" ]; then
|
|
QT_CONFIG="$QT_CONFIG system-jpeg"
|
|
fi
|
|
if [ "$CFG_JPEG" = "no" ]; then
|
|
QT_CONFIG="$QT_CONFIG no-jpeg"
|
|
elif [ "$CFG_JPEG" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG jpeg"
|
|
fi
|
|
if [ "$CFG_LIBPNG" = "no" ]; then
|
|
CFG_PNG="no"
|
|
fi
|
|
if [ "$CFG_LIBPNG" = "system" ]; then
|
|
QT_CONFIG="$QT_CONFIG system-png"
|
|
fi
|
|
if [ "$CFG_PNG" = "no" ]; then
|
|
QT_CONFIG="$QT_CONFIG no-png"
|
|
elif [ "$CFG_PNG" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG png"
|
|
fi
|
|
if [ "$CFG_GIF" = "no" ]; then
|
|
QT_CONFIG="$QT_CONFIG no-gif"
|
|
elif [ "$CFG_GIF" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG gif"
|
|
fi
|
|
if [ "$CFG_LIBFREETYPE" = "no" ]; then
|
|
QT_CONFIG="$QT_CONFIG no-freetype"
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FREETYPE"
|
|
elif [ "$CFG_LIBFREETYPE" = "system" ]; then
|
|
QT_CONFIG="$QT_CONFIG system-freetype"
|
|
else
|
|
QT_CONFIG="$QT_CONFIG freetype"
|
|
fi
|
|
if [ "$CFG_GUI" = "auto" ]; then
|
|
CFG_GUI="yes"
|
|
fi
|
|
if [ "$CFG_GUI" = "no" ]; then
|
|
QT_CONFIG="$QT_CONFIG no-gui"
|
|
else
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GUI"
|
|
fi
|
|
|
|
|
|
if [ "x$BUILD_ON_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
|
|
#On Mac we implicitly link against libz, so we
|
|
#never use the 3rdparty stuff.
|
|
[ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
|
|
fi
|
|
if [ "$CFG_ZLIB" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG zlib"
|
|
elif [ "$CFG_ZLIB" = "system" ]; then
|
|
QT_CONFIG="$QT_CONFIG system-zlib"
|
|
fi
|
|
|
|
[ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
|
|
[ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
|
|
[ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
|
|
[ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
|
|
[ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
|
|
[ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
|
|
[ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
|
|
[ "$CFG_DBUS" = "yes" ] && QT_CONFIG="$QT_CONFIG dbus"
|
|
[ "$CFG_DBUS" = "linked" ] && QT_CONFIG="$QT_CONFIG dbus dbus-linked"
|
|
[ "$CFG_NAS" = "system" ] && QT_CONFIG="$QT_CONFIG nas"
|
|
[ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
|
|
[ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
|
|
[ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
|
|
[ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
|
|
[ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
|
|
|
|
if [ "$PLATFORM_X11" = "yes" ]; then
|
|
[ "$CFG_SM" = "yes" ] && QT_CONFIG="$QT_CONFIG x11sm"
|
|
|
|
# for some reason, the following libraries are not always built shared,
|
|
# so *every* program/lib (including Qt) has to link against them
|
|
if [ "$CFG_XSHAPE" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG xshape"
|
|
fi
|
|
if [ "$CFG_XVIDEO" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG xvideo"
|
|
fi
|
|
if [ "$CFG_XSYNC" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG xsync"
|
|
fi
|
|
if [ "$CFG_XINERAMA" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG xinerama"
|
|
QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11'
|
|
fi
|
|
if [ "$CFG_XCURSOR" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG xcursor"
|
|
QMakeVar set QMAKE_LIBS_X11 '-lXcursor $$QMAKE_LIBS_X11'
|
|
fi
|
|
if [ "$CFG_XFIXES" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG xfixes"
|
|
QMakeVar set QMAKE_LIBS_X11 '-lXfixes $$QMAKE_LIBS_X11'
|
|
fi
|
|
if [ "$CFG_XRANDR" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG xrandr"
|
|
if [ "$CFG_XRENDER" != "yes" ]; then
|
|
# libXrandr uses 1 function from libXrender, so we always have to have it :/
|
|
QMakeVar set QMAKE_LIBS_X11 '-lXrandr -lXrender $$QMAKE_LIBS_X11'
|
|
else
|
|
QMakeVar set QMAKE_LIBS_X11 '-lXrandr $$QMAKE_LIBS_X11'
|
|
fi
|
|
fi
|
|
if [ "$CFG_XRENDER" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG xrender"
|
|
QMakeVar set QMAKE_LIBS_X11 '-lXrender $$QMAKE_LIBS_X11'
|
|
fi
|
|
if [ "$CFG_MITSHM" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG mitshm"
|
|
fi
|
|
if [ "$CFG_FONTCONFIG" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG fontconfig"
|
|
fi
|
|
if [ "$CFG_XINPUT" = "yes" ]; then
|
|
QMakeVar set QMAKE_LIBS_X11 '-lXi $$QMAKE_LIBS_X11'
|
|
fi
|
|
if [ "$CFG_XINPUT" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG xinput tablet"
|
|
fi
|
|
if [ "$CFG_XKB" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG xkb"
|
|
fi
|
|
fi
|
|
|
|
[ '!' -z "$D_FLAGS" ] && QMakeVar add DEFINES "$D_FLAGS"
|
|
[ '!' -z "$L_FLAGS" ] && QMakeVar add QMAKE_LIBDIR_FLAGS "$L_FLAGS"
|
|
[ '!' -z "$l_FLAGS" ] && QMakeVar add LIBS "$l_FLAGS"
|
|
|
|
if [ "$PLATFORM_MAC" = "yes" ]; then
|
|
if [ "$CFG_RPATH" = "yes" ]; then
|
|
QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
|
|
fi
|
|
elif [ -z "`getXQMakeConf 'QMAKE_(LFLAGS_)?RPATH'`" ]; then
|
|
if [ -n "$RPATH_FLAGS" ]; then
|
|
echo
|
|
echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
|
|
echo " undefined."
|
|
echo
|
|
exit 1
|
|
elif [ "$CFG_RPATH" = "yes" ]; then
|
|
RPATH_MESSAGE=" NOTE: This platform does not support runtime library paths, using -no-rpath."
|
|
CFG_RPATH=no
|
|
fi
|
|
else
|
|
if [ "$CFG_RPATH" = "yes" ]; then
|
|
# set the default rpath to the library installation directory
|
|
RPATH_FLAGS="\"$QT_INSTALL_LIBS\" $RPATH_FLAGS"
|
|
fi
|
|
if [ -n "$RPATH_FLAGS" ]; then
|
|
# add the user defined rpaths
|
|
QMakeVar add QMAKE_RPATHDIR "$RPATH_FLAGS"
|
|
fi
|
|
fi
|
|
|
|
if [ '!' -z "$I_FLAGS" ]; then
|
|
# add the user define include paths
|
|
QMakeVar add QMAKE_CFLAGS "$I_FLAGS"
|
|
QMakeVar add QMAKE_CXXFLAGS "$I_FLAGS"
|
|
fi
|
|
|
|
if [ '!' -z "$W_FLAGS" ]; then
|
|
# add the user defined warning flags
|
|
QMakeVar add QMAKE_CFLAGS_WARN_ON "$W_FLAGS"
|
|
QMakeVar add QMAKE_CXXFLAGS_WARN_ON "$W_FLAGS"
|
|
QMakeVar add QMAKE_OBJECTIVE_CFLAGS_WARN_ON "$W_FLAGS"
|
|
fi
|
|
|
|
# turn off exceptions for the compilers that support it
|
|
if [ "$XPLATFORM" != "$PLATFORM" ]; then
|
|
COMPILER=`echo $XPLATFORM | cut -f 2- -d-`
|
|
else
|
|
COMPILER=`echo $PLATFORM | cut -f 2- -d-`
|
|
fi
|
|
|
|
if [ "$CFG_EXCEPTIONS" != "no" ]; then
|
|
QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
|
|
fi
|
|
|
|
if [ "$XPLATFORM_MINGW" = "yes" ]; then
|
|
# mkspecs/features/win32/default_pre.prf sets "no-rtti".
|
|
# Follow default behavior of configure.exe by overriding with "rtti".
|
|
QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
|
|
fi
|
|
|
|
if [ "$CFG_ALSA" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG alsa"
|
|
fi
|
|
|
|
if [ "$CFG_PULSEAUDIO" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG pulseaudio"
|
|
fi
|
|
|
|
if [ "$CFG_COREWLAN" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG corewlan"
|
|
fi
|
|
|
|
if [ "$CFG_ICU" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG icu"
|
|
fi
|
|
|
|
if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG force_asserts"
|
|
fi
|
|
|
|
if [ "$CFG_PCRE" = "qt" ]; then
|
|
QMAKE_CONFIG="$QMAKE_CONFIG pcre"
|
|
fi
|
|
|
|
#
|
|
# Some Qt modules are too advanced in C++ for some old compilers
|
|
# Detect here the platforms where they are known to work.
|
|
#
|
|
# See Qt documentation for more information on which features are
|
|
# supported and on which compilers.
|
|
#
|
|
canBuildQtConcurrent="yes"
|
|
canUseV8Snapshot="yes"
|
|
|
|
case "$XPLATFORM" in
|
|
hpux-g++*)
|
|
# PA-RISC's assembly is too limited
|
|
# gcc 3.4 on that platform can't build QtXmlPatterns
|
|
# the assembly it generates cannot be compiled
|
|
|
|
# Check gcc's version
|
|
case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
|
|
4*)
|
|
;;
|
|
3.4*)
|
|
canBuildQtXmlPatterns="no"
|
|
;;
|
|
*)
|
|
canBuildWebKit="no"
|
|
canBuildQtXmlPatterns="no"
|
|
;;
|
|
esac
|
|
;;
|
|
unsupported/vxworks-*-g++*)
|
|
canBuildWebKit="no"
|
|
;;
|
|
unsupported/vxworks-*-dcc*)
|
|
canBuildWebKit="no"
|
|
canBuildQtXmlPatterns="no"
|
|
;;
|
|
*-g++*)
|
|
# Check gcc's version
|
|
case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
|
|
4*|3.4*)
|
|
;;
|
|
3.3*)
|
|
canBuildWebKit="no"
|
|
;;
|
|
*)
|
|
canBuildWebKit="no"
|
|
canBuildQtXmlPatterns="no"
|
|
;;
|
|
esac
|
|
;;
|
|
solaris-cc*)
|
|
# Check the compiler version
|
|
case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
|
|
5.[012345678])
|
|
canBuildWebKit="no"
|
|
canBuildQtXmlPatterns="no"
|
|
canBuildQtConcurrent="no"
|
|
;;
|
|
5.*)
|
|
canBuildWebKit="no"
|
|
canBuildQtConcurrent="no"
|
|
;;
|
|
esac
|
|
;;
|
|
hpux-acc*)
|
|
canBuildWebKit="no"
|
|
canBuildQtXmlPatterns="no"
|
|
canBuildQtConcurrent="no"
|
|
;;
|
|
hpuxi-acc*)
|
|
canBuildWebKit="no"
|
|
;;
|
|
aix-xlc*)
|
|
# Get the xlC version
|
|
cat > xlcver.c <<EOF
|
|
#include <stdio.h>
|
|
int main()
|
|
{
|
|
printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
|
|
return 0;
|
|
}
|
|
EOF
|
|
xlcver=
|
|
if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
|
|
xlcver=`./xlcver 2>/dev/null`
|
|
rm -f ./xlcver
|
|
fi
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
if [ -n "$xlcver" ]; then
|
|
echo Found IBM xlC version: $xlcver.
|
|
else
|
|
echo Could not determine IBM xlC version, assuming oldest supported.
|
|
fi
|
|
fi
|
|
|
|
case "$xlcver" in
|
|
[123456].*)
|
|
canBuildWebKit="no"
|
|
canBuildQtXmlPatterns="no"
|
|
canBuildQtConcurrent="no"
|
|
;;
|
|
*)
|
|
canBuildWebKit="no"
|
|
canBuildQtConcurrent="no"
|
|
;;
|
|
esac
|
|
;;
|
|
irix-cc*)
|
|
canBuildWebKit="no"
|
|
canBuildQtConcurrent="no"
|
|
;;
|
|
esac
|
|
|
|
if [ "$CFG_GUI" = "no" ]; then
|
|
# WebKit requires QtGui
|
|
canBuildWebKit="no"
|
|
fi
|
|
|
|
if [ "$CFG_SHARED" = "no" ]; then
|
|
echo
|
|
echo "WARNING: Using static linking will disable the WebKit module."
|
|
echo
|
|
canBuildWebKit="no"
|
|
fi
|
|
|
|
CFG_CONCURRENT="yes"
|
|
if [ "$canBuildQtConcurrent" = "no" ]; then
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
|
|
CFG_CONCURRENT="no"
|
|
else
|
|
QT_CONFIG="$QT_CONFIG concurrent"
|
|
fi
|
|
|
|
# ### Vestige
|
|
if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG audio-backend"
|
|
fi
|
|
|
|
# ### Vestige
|
|
if [ "$CFG_WEBKIT" = "debug" ]; then
|
|
QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
|
|
fi
|
|
|
|
# ### Vestige
|
|
QT_CONFIG="$QT_CONFIG v8"
|
|
# Detect snapshot support
|
|
if [ "$CFG_ARCH" != "$CFG_HOST_ARCH" ]; then
|
|
case "$CFG_HOST_ARCH,$CFG_ARCH" in
|
|
i386,arm)
|
|
;;
|
|
*) canUseV8Snapshot="no"
|
|
;;
|
|
esac
|
|
else
|
|
if [ -n "$_SBOX_DIR" -a "$CFG_ARCH" = "arm" ]; then
|
|
# QEMU crashes when building inside Scratchbox with an ARM target
|
|
canUseV8Snapshot="no"
|
|
fi
|
|
fi
|
|
if [ "$CFG_V8SNAPSHOT" = "auto" ]; then
|
|
CFG_V8SNAPSHOT="$canUseV8Snapshot"
|
|
fi
|
|
if [ "$CFG_V8SNAPSHOT" = "yes" -a "$canUseV8Snapshot" = "no" ]; then
|
|
echo "Error: V8 snapshot was requested, but is not supported on this platform."
|
|
exit 1
|
|
fi
|
|
if [ "$CFG_V8SNAPSHOT" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG v8snapshot"
|
|
fi
|
|
|
|
# ### Vestige
|
|
if [ "$CFG_DECLARATIVE_DEBUG" = "no" ]; then
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QDECLARATIVE_NO_DEBUG_PROTOCOL"
|
|
fi
|
|
|
|
if [ "$CFG_EXCEPTIONS" = "no" ]; then
|
|
case "$COMPILER" in
|
|
g++*)
|
|
QMakeVar add QMAKE_CFLAGS -fno-exceptions
|
|
QMakeVar add QMAKE_CXXFLAGS -fno-exceptions
|
|
QMakeVar add QMAKE_LFLAGS -fno-exceptions
|
|
;;
|
|
cc*)
|
|
case "$PLATFORM" in
|
|
irix-cc*)
|
|
QMakeVar add QMAKE_CFLAGS -LANG:exceptions=off
|
|
QMakeVar add QMAKE_CXXFLAGS -LANG:exceptions=off
|
|
QMakeVar add QMAKE_LFLAGS -LANG:exceptions=off
|
|
;;
|
|
*) ;;
|
|
esac
|
|
;;
|
|
*) ;;
|
|
esac
|
|
QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off"
|
|
fi
|
|
|
|
case "$COMPILER" in
|
|
g++*)
|
|
# GNU C++
|
|
COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null`
|
|
|
|
case "$COMPILER_VERSION" in
|
|
*.*.*)
|
|
QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'`
|
|
QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'`
|
|
QT_GCC_PATCH_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'`
|
|
;;
|
|
*.*)
|
|
QT_GCC_MAJOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\1,'`
|
|
QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
|
|
QT_GCC_PATCH_VERSION=0
|
|
;;
|
|
esac
|
|
|
|
;;
|
|
*)
|
|
#
|
|
;;
|
|
esac
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# part of configuration information goes into qconfig.h
|
|
#-------------------------------------------------------------------------------
|
|
|
|
case "$CFG_QCONFIG" in
|
|
full)
|
|
echo "/* Everything */" >"$outpath/src/corelib/global/qconfig.h.new"
|
|
;;
|
|
*)
|
|
tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
|
|
echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
|
|
if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
|
|
cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
|
|
elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
|
|
cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
|
|
fi
|
|
echo "#endif" >>"$tmpconfig"
|
|
;;
|
|
esac
|
|
|
|
cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
|
|
|
|
/* Qt Edition */
|
|
#ifndef QT_EDITION
|
|
# define QT_EDITION $QT_EDITION
|
|
#endif
|
|
|
|
/* Machine byte-order */
|
|
#define Q_BIG_ENDIAN 4321
|
|
#define Q_LITTLE_ENDIAN 1234
|
|
EOF
|
|
|
|
echo "#ifdef QT_BOOTSTRAPPED" >>"$outpath/src/corelib/global/qconfig.h.new"
|
|
if [ "$CFG_HOST_ENDIAN" = "auto" ]; then
|
|
cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
|
|
#if defined(__BIG_ENDIAN__)
|
|
# define Q_BYTE_ORDER Q_BIG_ENDIAN
|
|
#elif defined(__LITTLE_ENDIAN__)
|
|
# define Q_BYTE_ORDER Q_LITTLE_ENDIAN
|
|
#else
|
|
# error "Unable to determine byte order!"
|
|
#endif
|
|
EOF
|
|
else
|
|
echo "#define Q_BYTE_ORDER $CFG_HOST_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
|
|
fi
|
|
echo "#else" >>"$outpath/src/corelib/global/qconfig.h.new"
|
|
if [ "$CFG_ENDIAN" = "auto" ]; then
|
|
cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
|
|
#if defined(__BIG_ENDIAN__)
|
|
# define Q_BYTE_ORDER Q_BIG_ENDIAN
|
|
#elif defined(__LITTLE_ENDIAN__)
|
|
# define Q_BYTE_ORDER Q_LITTLE_ENDIAN
|
|
#else
|
|
# error "Unable to determine byte order!"
|
|
#endif
|
|
EOF
|
|
else
|
|
echo "#define Q_BYTE_ORDER $CFG_ENDIAN" >>"$outpath/src/corelib/global/qconfig.h.new"
|
|
fi
|
|
echo "#endif" >>"$outpath/src/corelib/global/qconfig.h.new"
|
|
|
|
CFG_ARCH_STR=`echo $CFG_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
|
CFG_HOST_ARCH_STR=`echo $CFG_HOST_ARCH | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
|
cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
|
|
/* Machine Architecture */
|
|
#ifndef QT_BOOTSTRAPPED
|
|
# define QT_ARCH_${CFG_ARCH_STR}
|
|
#else
|
|
# define QT_ARCH_${CFG_HOST_ARCH_STR}
|
|
#endif
|
|
EOF
|
|
|
|
echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
|
|
[ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
|
|
|
|
if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
|
|
echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
|
|
fi
|
|
|
|
if [ "$CFG_FRAMEWORK" = "yes" ]; then
|
|
echo "#define QT_MAC_FRAMEWORK_BUILD" >>"$outpath/src/corelib/global/qconfig.h.new"
|
|
fi
|
|
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
cat >>"$outpath/src/corelib/global/qconfig.h.new" <<EOF
|
|
#if defined(__LP64__)
|
|
# define QT_POINTER_SIZE 8
|
|
#else
|
|
# define QT_POINTER_SIZE 4
|
|
#endif
|
|
EOF
|
|
else
|
|
"$unixtests/ptrsize.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
|
|
echo "#define QT_POINTER_SIZE $?" >>"$outpath/src/corelib/global/qconfig.h.new"
|
|
fi
|
|
|
|
#REDUCE_RELOCATIONS is a elf/unix only thing, so not in windows configure.exe
|
|
if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then
|
|
echo "#define QT_REDUCE_RELOCATIONS" >>"$outpath/src/corelib/global/qconfig.h.new"
|
|
fi
|
|
|
|
|
|
echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
|
|
|
|
if [ "$CFG_DEV" = "yes" ]; then
|
|
echo "#define QT_BUILD_INTERNAL" >>"$outpath/src/corelib/global/qconfig.h.new"
|
|
fi
|
|
|
|
if [ "$PLATFORM_QPA" = "yes" ]; then
|
|
# Add QPA to config.h
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
|
|
fi
|
|
|
|
if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
|
|
QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
|
|
fi
|
|
|
|
# Add turned on SQL drivers
|
|
for DRIVER in $CFG_SQL_AVAILABLE; do
|
|
eval "VAL=\$CFG_SQL_$DRIVER"
|
|
case "$VAL" in
|
|
qt)
|
|
ONDRIVER=`echo $DRIVER | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
|
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_SQL_$ONDRIVER"
|
|
SQL_DRIVERS="$SQL_DRIVERS $DRIVER"
|
|
;;
|
|
plugin)
|
|
SQL_PLUGINS="$SQL_PLUGINS $DRIVER"
|
|
;;
|
|
esac
|
|
done
|
|
|
|
|
|
QMakeVar set sql-drivers "$SQL_DRIVERS"
|
|
QMakeVar set sql-plugins "$SQL_PLUGINS"
|
|
|
|
# Add other configuration options to the qconfig.h file
|
|
[ "$CFG_GIF" = "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_BUILTIN_GIF_READER=1"
|
|
[ "$CFG_PNG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_PNG"
|
|
[ "$CFG_JPEG" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IMAGEFORMAT_JPEG"
|
|
[ "$CFG_ZLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ZLIB"
|
|
[ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
|
|
[ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
|
|
[ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
|
|
|
|
# X11/Unix/Mac only configs
|
|
[ "$CFG_CUPS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CUPS"
|
|
[ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
|
|
[ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
|
|
[ "$CFG_GSTREAMER" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GSTREAMER"
|
|
[ "$CFG_QGTKSTYLE" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_GTK"
|
|
[ "$CFG_CLOCK_MONOTONIC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CLOCK_MONOTONIC"
|
|
[ "$CFG_MREMAP" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MREMAP"
|
|
[ "$CFG_GETADDRINFO" = "no" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETADDRINFO"
|
|
[ "$CFG_IPV6IFNAME" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6IFNAME"
|
|
[ "$CFG_GETIFADDRS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GETIFADDRS"
|
|
[ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
|
|
[ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NAS"
|
|
[ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
|
|
[ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
|
|
[ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
|
|
|
|
[ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
|
|
[ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
|
|
[ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
|
|
[ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
|
|
[ "$CFG_XINERAMA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINERAMA"
|
|
[ "$CFG_XKB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XKB"
|
|
[ "$CFG_XRANDR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRANDR"
|
|
[ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
|
|
[ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
|
|
[ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
|
|
[ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO"
|
|
[ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
|
|
[ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
|
|
|
|
[ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
|
|
[ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA"
|
|
[ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
|
|
[ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
|
|
[ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
|
|
[ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
|
|
[ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
|
|
[ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
|
|
|
|
# sort QCONFIG_FLAGS for neatness if we can
|
|
[ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
|
|
QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
|
|
|
|
if [ -n "$QCONFIG_FLAGS" ]; then
|
|
cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
|
|
#ifndef QT_BOOTSTRAPPED
|
|
|
|
EOF
|
|
for cfg in $QCONFIG_FLAGS; do
|
|
cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
|
|
cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
|
|
# figure out define logic, so we can output the correct
|
|
# ifdefs to override the global defines in a project
|
|
cfgdNeg=
|
|
if [ true ] && echo "$cfgd" | grep 'QT_NO_' >/dev/null 2>&1; then
|
|
# QT_NO_option can be forcefully turned on by QT_option
|
|
cfgdNeg=`echo $cfgd | sed "s,QT_NO_,QT_,"`
|
|
elif [ true ] && echo "$cfgd" | grep 'QT_' >/dev/null 2>&1; then
|
|
# QT_option can be forcefully turned off by QT_NO_option
|
|
cfgdNeg=`echo $cfgd | sed "s,QT_,QT_NO_,"`
|
|
fi
|
|
|
|
if [ -z $cfgdNeg ]; then
|
|
cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
|
|
#ifndef $cfgd
|
|
# define $cfg
|
|
#endif
|
|
|
|
EOF
|
|
else
|
|
cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
|
|
#if defined($cfgd) && defined($cfgdNeg)
|
|
# undef $cfgd
|
|
#elif !defined($cfgd) && !defined($cfgdNeg)
|
|
# define $cfg
|
|
#endif
|
|
|
|
EOF
|
|
fi
|
|
done
|
|
cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
|
|
#endif // QT_BOOTSTRAPPED
|
|
|
|
EOF
|
|
fi
|
|
|
|
if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
|
|
cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
|
|
#define QT_VISIBILITY_AVAILABLE
|
|
|
|
EOF
|
|
fi
|
|
|
|
if [ -n "$QT_LIBINFIX" ]; then
|
|
cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
|
|
#define QT_LIBINFIX "$QT_LIBINFIX"
|
|
|
|
EOF
|
|
fi
|
|
|
|
# avoid unecessary rebuilds by copying only if qconfig.h has changed
|
|
if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
|
|
rm -f "$outpath/src/corelib/global/qconfig.h.new"
|
|
else
|
|
[ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
|
|
mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
|
|
chmod -w "$outpath/src/corelib/global/qconfig.h"
|
|
if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then
|
|
ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h"
|
|
fi
|
|
fi
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# save configuration into qconfig.pri
|
|
#-------------------------------------------------------------------------------
|
|
QTCONFIG="$outpath/mkspecs/qconfig.pri"
|
|
QTCONFIG_CONFIG="$QTCONFIG_CONFIG no_mocdepend"
|
|
[ -f "$QTCONFIG.tmp" ] && rm -f "$QTCONFIG.tmp"
|
|
if [ "$CFG_DEBUG" = "yes" ]; then
|
|
QTCONFIG_CONFIG="$QTCONFIG_CONFIG debug"
|
|
if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG release"
|
|
fi
|
|
QT_CONFIG="$QT_CONFIG debug"
|
|
elif [ "$CFG_DEBUG" = "no" ]; then
|
|
QTCONFIG_CONFIG="$QTCONFIG_CONFIG release"
|
|
if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG debug"
|
|
fi
|
|
QT_CONFIG="$QT_CONFIG release"
|
|
fi
|
|
if [ "$CFG_STL" = "yes" ]; then
|
|
QTCONFIG_CONFIG="$QTCONFIG_CONFIG stl"
|
|
fi
|
|
if [ "$CFG_FRAMEWORK" = "no" ]; then
|
|
QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_no_framework"
|
|
else
|
|
QT_CONFIG="$QT_CONFIG qt_framework"
|
|
QTCONFIG_CONFIG="$QTCONFIG_CONFIG qt_framework"
|
|
fi
|
|
if [ "$CFG_DEV" = "yes" ]; then
|
|
QT_CONFIG="$QT_CONFIG private_tests"
|
|
fi
|
|
|
|
cat >>"$QTCONFIG.tmp" <<EOF
|
|
#configuration
|
|
CONFIG += $QTCONFIG_CONFIG
|
|
QT_ARCH = $CFG_ARCH
|
|
QT_EDITION = $Edition
|
|
QT_CONFIG += $QT_CONFIG
|
|
|
|
#versioning
|
|
QT_VERSION = $QT_VERSION
|
|
QT_MAJOR_VERSION = $QT_MAJOR_VERSION
|
|
QT_MINOR_VERSION = $QT_MINOR_VERSION
|
|
QT_PATCH_VERSION = $QT_PATCH_VERSION
|
|
|
|
#namespaces
|
|
QT_LIBINFIX = $QT_LIBINFIX
|
|
QT_NAMESPACE = $QT_NAMESPACE
|
|
|
|
EOF
|
|
if [ -n "$CFG_SYSROOT" ]; then
|
|
echo "# sysroot" >>"$QTCONFIG.tmp"
|
|
echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
|
|
echo " QT_SYSROOT += \$\$quote($CFG_SYSROOT)" >>"$QTCONFIG.tmp"
|
|
echo " QMAKE_CFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
|
|
echo " QMAKE_CXXFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
|
|
echo " QMAKE_LFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
|
|
echo "}" >> "$QTCONFIG.tmp"
|
|
echo >> "$QTCONFIG.tmp"
|
|
fi
|
|
if [ "$CFG_RPATH" = "yes" ]; then
|
|
echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
|
|
fi
|
|
if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
|
|
echo "QT_GCC_MAJOR_VERSION = $QT_GCC_MAJOR_VERSION" >> "$QTCONFIG.tmp"
|
|
echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
|
|
echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
|
|
fi
|
|
|
|
if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
|
|
echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
|
|
echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp"
|
|
fi
|
|
|
|
# replace qconfig.pri if it differs from the newly created temp file
|
|
if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
|
|
rm -f "$QTCONFIG.tmp"
|
|
else
|
|
mv -f "$QTCONFIG.tmp" "$QTCONFIG"
|
|
fi
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# save configuration into qmodule.pri
|
|
#-------------------------------------------------------------------------------
|
|
QTMODULE="$outpath/mkspecs/qmodule.pri"
|
|
|
|
echo "CONFIG += create_prl link_prl" >> "$QTMODULE.tmp"
|
|
|
|
# Ensure we can link to uninistalled libraries
|
|
if [ "$BUILD_ON_MAC" != "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
|
|
echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$QTMODULE.tmp"
|
|
fi
|
|
if [ -n "$QT_CFLAGS_PSQL" ]; then
|
|
echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$QTMODULE.tmp"
|
|
fi
|
|
if [ -n "$QT_LFLAGS_PSQL" ]; then
|
|
echo "QT_LFLAGS_PSQL = $QT_LFLAGS_PSQL" >> "$QTMODULE.tmp"
|
|
fi
|
|
if [ -n "$QT_CFLAGS_MYSQL" ]; then
|
|
echo "QT_CFLAGS_MYSQL = $QT_CFLAGS_MYSQL" >> "$QTMODULE.tmp"
|
|
fi
|
|
if [ -n "$QT_LFLAGS_MYSQL" ]; then
|
|
echo "QT_LFLAGS_MYSQL = $QT_LFLAGS_MYSQL" >> "$QTMODULE.tmp"
|
|
fi
|
|
if [ -n "$QT_CFLAGS_SQLITE" ]; then
|
|
echo "QT_CFLAGS_SQLITE = $QT_CFLAGS_SQLITE" >> "$QTMODULE.tmp"
|
|
fi
|
|
if [ -n "$QT_LFLAGS_SQLITE" ]; then
|
|
echo "QT_LFLAGS_SQLITE = $QT_LFLAGS_SQLITE" >> "$QTMODULE.tmp"
|
|
fi
|
|
if [ -n "$QT_LFLAGS_ODBC" ]; then
|
|
echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$QTMODULE.tmp"
|
|
fi
|
|
if [ -n "$QT_LFLAGS_TDS" ]; then
|
|
echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$QTMODULE.tmp"
|
|
fi
|
|
|
|
if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then
|
|
echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$QTMODULE.tmp"
|
|
fi
|
|
|
|
#dump in the OPENSSL_LIBS info
|
|
if [ '!' -z "$OPENSSL_LIBS" ]; then
|
|
echo "OPENSSL_LIBS = $OPENSSL_LIBS" >> "$QTMODULE.tmp"
|
|
elif [ "$CFG_OPENSSL" = "linked" ]; then
|
|
echo "OPENSSL_LIBS = -lssl -lcrypto" >> "$QTMODULE.tmp"
|
|
fi
|
|
|
|
#dump in the SDK info
|
|
if [ '!' -z "$CFG_SDK" ]; then
|
|
echo "QMAKE_MAC_SDK = $CFG_SDK" >> "$QTMODULE.tmp"
|
|
fi
|
|
|
|
# cmdline args
|
|
cat "$QMAKE_VARS_FILE" >> "$QTMODULE.tmp"
|
|
rm -f "$QMAKE_VARS_FILE" 2>/dev/null
|
|
|
|
# replace qmodule.pri if it differs from the newly created temp file
|
|
if cmp -s "$QTMODULE.tmp" "$QTMODULE"; then
|
|
rm -f "$QTMODULE.tmp"
|
|
else
|
|
mv -f "$QTMODULE.tmp" "$QTMODULE"
|
|
fi
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# save configuration into .qmake.cache
|
|
#-------------------------------------------------------------------------------
|
|
|
|
CACHEFILE="$outpath/.qmake.cache"
|
|
[ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
|
|
cat >>"$CACHEFILE.tmp" <<EOF
|
|
#paths
|
|
QT_SOURCE_TREE = \$\$quote($relpath)
|
|
QT_BUILD_TREE = \$\$quote($outpath)
|
|
QT_BUILD_PARTS = $CFG_BUILD_PARTS
|
|
|
|
#local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
|
|
QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
|
|
QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
|
|
QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
|
|
QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
|
|
QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
|
|
|
|
include(\$\$PWD/mkspecs/qmodule.pri)
|
|
CONFIG += $QMAKE_CONFIG dylib depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
|
|
QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
|
|
QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
|
|
|
|
EOF
|
|
|
|
#dump the qmake spec
|
|
if [ -d "$outpath/mkspecs/$XPLATFORM" ]; then
|
|
echo "QMAKESPEC = \$\$QT_BUILD_TREE/mkspecs/$XPLATFORM" >> "$CACHEFILE.tmp"
|
|
else
|
|
echo "QMAKESPEC = $XPLATFORM" >> "$CACHEFILE.tmp"
|
|
fi
|
|
|
|
# incrementals
|
|
INCREMENTAL=""
|
|
[ "$CFG_INCREMENTAL" = "auto" ] && "$WHICH" p4 >/dev/null 2>&1 && [ "$CFG_DEV" = "yes" ] && CFG_INCREMENTAL="yes"
|
|
if [ "$CFG_INCREMENTAL" = "yes" ]; then
|
|
find "$relpath" -perm u+w -mtime -3 | grep 'cpp$' | while read f; do
|
|
# don't need to worry about generated files
|
|
[ -r `echo $f | sed "s,cpp$,ui,"` ] && continue
|
|
basename "$f" | grep '^moc_' >/dev/null 2>&1 && continue
|
|
# done
|
|
INCREMENTAL="$INCREMENTAL `basename \"$f\" | sed 's,.cpp,.o,'`"
|
|
done
|
|
[ '!' -z "$INCREMENTAL" ] && echo "QMAKE_INCREMENTAL += $INCREMENTAL" >> "$CACHEFILE.tmp"
|
|
[ -r "$outpath/.qmake.incremental" ] && echo "include($outpath/.qmake.incremental)" >> "$CACHEFILE.tmp"
|
|
fi
|
|
|
|
# replace .qmake.cache if it differs from the newly created temp file
|
|
if cmp -s "$CACHEFILE.tmp" "$CACHEFILE"; then
|
|
rm -f "$CACHEFILE.tmp"
|
|
else
|
|
mv -f "$CACHEFILE.tmp" "$CACHEFILE"
|
|
fi
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# give feedback on configuration
|
|
#-------------------------------------------------------------------------------
|
|
|
|
case "$COMPILER" in
|
|
g++*)
|
|
if [ "$CFG_EXCEPTIONS" != "no" ]; then
|
|
cat <<EOF
|
|
|
|
This target is using the GNU C++ compiler ($PLATFORM).
|
|
|
|
Recent versions of this compiler automatically include code for
|
|
exceptions, which increase both the size of the Qt libraries and
|
|
the amount of memory taken by your applications.
|
|
|
|
You may choose to re-run `basename $0` with the -no-exceptions
|
|
option to compile Qt without exceptions. This is completely binary
|
|
compatible, and existing applications will continue to work.
|
|
|
|
EOF
|
|
fi
|
|
;;
|
|
cc*)
|
|
case "$PLATFORM" in
|
|
irix-cc*)
|
|
if [ "$CFG_EXCEPTIONS" != "no" ]; then
|
|
cat <<EOF
|
|
|
|
This target is using the MIPSpro C++ compiler ($PLATFORM).
|
|
|
|
You may choose to re-run `basename $0` with the -no-exceptions
|
|
option to compile Qt without exceptions. This will make the
|
|
size of the Qt library smaller and reduce the amount of memory
|
|
taken by your applications.
|
|
|
|
EOF
|
|
fi
|
|
;;
|
|
*) ;;
|
|
esac
|
|
;;
|
|
*) ;;
|
|
esac
|
|
|
|
echo
|
|
if [ "$XPLATFORM" = "$PLATFORM" ]; then
|
|
echo "Build type: $PLATFORM"
|
|
else
|
|
echo "Building on: $PLATFORM"
|
|
echo "Building for: $XPLATFORM"
|
|
fi
|
|
|
|
if [ ! -z "$CFG_MAC_ARCHS" ]; then
|
|
echo "Architecture: $CFG_ARCH ($CFG_MAC_ARCHS )"
|
|
else
|
|
echo "Architecture: $CFG_ARCH"
|
|
fi
|
|
|
|
if [ "$PLATFORM_QPA" = "yes" ]; then
|
|
echo "Host architecture: $CFG_HOST_ARCH"
|
|
fi
|
|
|
|
if [ -n "$PLATFORM_NOTES" ]; then
|
|
echo "Platform notes:"
|
|
echo "$PLATFORM_NOTES"
|
|
else
|
|
echo
|
|
fi
|
|
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo $ECHO_N "qmake vars .......... $ECHO_C"
|
|
cat "$QMAKE_VARS_FILE" | tr '\n' ' '
|
|
echo "qmake switches ......... $QMAKE_SWITCHES"
|
|
fi
|
|
|
|
[ "$CFG_INCREMENTAL" = "yes" ] && [ '!' -z "$INCREMENTAL" ] && echo "Incremental ............ $INCREMENTAL"
|
|
echo "Build .................. $CFG_BUILD_PARTS"
|
|
echo "Configuration .......... $QMAKE_CONFIG $QT_CONFIG"
|
|
if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
|
|
echo "Debug .................. yes (combined)"
|
|
if [ "$CFG_DEBUG" = "yes" ]; then
|
|
echo "Default Link ........... debug"
|
|
else
|
|
echo "Default Link ........... release"
|
|
fi
|
|
else
|
|
echo "Debug .................. $CFG_DEBUG"
|
|
fi
|
|
[ "$CFG_DBUS" = "no" ] && echo "QtDBus module .......... no"
|
|
[ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
|
|
[ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
|
|
echo "QtConcurrent code ...... $CFG_CONCURRENT"
|
|
echo "QtGui module ........... $CFG_GUI"
|
|
if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
|
|
echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
|
|
else
|
|
echo "JavaScriptCore JIT ..... $CFG_JAVASCRIPTCORE_JIT"
|
|
fi
|
|
echo "Declarative debugging ...$CFG_DECLARATIVE_DEBUG"
|
|
echo "STL support ............ $CFG_STL"
|
|
echo "PCH support ............ $CFG_PRECOMPILE"
|
|
echo "MMX/3DNOW/SSE/SSE2/SSE3. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}/${CFG_SSE3}"
|
|
echo "SSSE3/SSE4.1/SSE4.2..... ${CFG_SSSE3}/${CFG_SSE4_1}/${CFG_SSE4_2}"
|
|
echo "AVX..................... ${CFG_AVX}"
|
|
if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then
|
|
echo "iWMMXt support ......... ${CFG_IWMMXT}"
|
|
echo "NEON support ........... ${CFG_NEON}"
|
|
fi
|
|
echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
|
|
echo "getaddrinfo support .... $CFG_GETADDRINFO"
|
|
echo "getifaddrs support ..... $CFG_GETIFADDRS"
|
|
echo "Accessibility .......... $CFG_ACCESSIBILITY"
|
|
echo "NIS support ............ $CFG_NIS"
|
|
echo "CUPS support ........... $CFG_CUPS"
|
|
echo "Iconv support .......... $CFG_ICONV"
|
|
echo "Glib support ........... $CFG_GLIB"
|
|
echo "GStreamer support ...... $CFG_GSTREAMER"
|
|
echo "PulseAudio support ..... $CFG_PULSEAUDIO"
|
|
echo "Large File support ..... $CFG_LARGEFILE"
|
|
echo "GIF support ............ $CFG_GIF"
|
|
if [ "$CFG_JPEG" = "no" ]; then
|
|
echo "JPEG support ........... $CFG_JPEG"
|
|
else
|
|
echo "JPEG support ........... $CFG_JPEG ($CFG_LIBJPEG)"
|
|
fi
|
|
if [ "$CFG_PNG" = "no" ]; then
|
|
echo "PNG support ............ $CFG_PNG"
|
|
else
|
|
echo "PNG support ............ $CFG_PNG ($CFG_LIBPNG)"
|
|
fi
|
|
echo "zlib support ........... $CFG_ZLIB"
|
|
echo "Session management ..... $CFG_SM"
|
|
|
|
if [ "$CFG_OPENGL" = "desktop" ]; then
|
|
echo "OpenGL support ......... yes (Desktop OpenGL)"
|
|
elif [ "$CFG_OPENGL" = "es2" ]; then
|
|
echo "OpenGL support ......... yes (OpenGL ES 2.x)"
|
|
else
|
|
echo "OpenGL support ......... no"
|
|
fi
|
|
if [ "$CFG_EGL" != "no" ]; then
|
|
if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
|
|
echo "EGL support ............ yes <GLES/egl.h>"
|
|
else
|
|
echo "EGL support ............ yes <EGL/egl.h>"
|
|
fi
|
|
fi
|
|
if [ "$CFG_OPENVG" ]; then
|
|
if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
|
|
echo "OpenVG support ......... ShivaVG"
|
|
else
|
|
echo "OpenVG support ......... $CFG_OPENVG"
|
|
fi
|
|
fi
|
|
if [ "$PLATFORM_X11" = "yes" ]; then
|
|
echo "NAS sound support ...... $CFG_NAS"
|
|
echo "XShape support ......... $CFG_XSHAPE"
|
|
echo "XVideo support ......... $CFG_XVIDEO"
|
|
echo "XSync support .......... $CFG_XSYNC"
|
|
echo "Xinerama support ....... $CFG_XINERAMA"
|
|
echo "Xcursor support ........ $CFG_XCURSOR"
|
|
echo "Xfixes support ......... $CFG_XFIXES"
|
|
echo "Xrandr support ......... $CFG_XRANDR"
|
|
echo "Xi support ............. $CFG_XINPUT"
|
|
echo "MIT-SHM support ........ $CFG_MITSHM"
|
|
echo "FontConfig support ..... $CFG_FONTCONFIG"
|
|
echo "XKB Support ............ $CFG_XKB"
|
|
echo "immodule support ....... $CFG_IM"
|
|
echo "GTK theme support ...... $CFG_QGTKSTYLE"
|
|
fi
|
|
[ "$CFG_SQL_mysql" != "no" ] && echo "MySQL support .......... $CFG_SQL_mysql"
|
|
[ "$CFG_SQL_psql" != "no" ] && echo "PostgreSQL support ..... $CFG_SQL_psql"
|
|
[ "$CFG_SQL_odbc" != "no" ] && echo "ODBC support ........... $CFG_SQL_odbc"
|
|
[ "$CFG_SQL_oci" != "no" ] && echo "OCI support ............ $CFG_SQL_oci"
|
|
[ "$CFG_SQL_tds" != "no" ] && echo "TDS support ............ $CFG_SQL_tds"
|
|
[ "$CFG_SQL_db2" != "no" ] && echo "DB2 support ............ $CFG_SQL_db2"
|
|
[ "$CFG_SQL_ibase" != "no" ] && echo "InterBase support ...... $CFG_SQL_ibase"
|
|
[ "$CFG_SQL_sqlite2" != "no" ] && echo "SQLite 2 support ....... $CFG_SQL_sqlite2"
|
|
[ "$CFG_SQL_sqlite" != "no" ] && echo "SQLite support ......... $CFG_SQL_sqlite ($CFG_SQLITE)"
|
|
|
|
OPENSSL_LINKAGE=""
|
|
if [ "$CFG_OPENSSL" = "yes" ]; then
|
|
OPENSSL_LINKAGE="(run-time)"
|
|
elif [ "$CFG_OPENSSL" = "linked" ]; then
|
|
OPENSSL_LINKAGE="(linked)"
|
|
fi
|
|
echo "OpenSSL support ........ $CFG_OPENSSL $OPENSSL_LINKAGE"
|
|
echo "Alsa support ........... $CFG_ALSA"
|
|
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
|
echo "CoreWlan support ....... $CFG_COREWLAN"
|
|
fi
|
|
echo "libICU support ......... $CFG_ICU"
|
|
echo "PCRE support ........... $CFG_PCRE"
|
|
if [ "$CFG_XCB_LIMITED" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
|
|
echo "Xcb support ............ limited (old version)"
|
|
else
|
|
echo "Xcb support ............ $CFG_XCB"
|
|
fi
|
|
echo "Xrender support ........ $CFG_XRENDER"
|
|
if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
|
|
echo "XInput2 support ........ $CFG_XINPUT2"
|
|
fi
|
|
echo
|
|
|
|
# complain about not being able to use dynamic plugins if we are using a static build
|
|
if [ "$CFG_SHARED" = "no" ]; then
|
|
echo
|
|
echo "WARNING: Using static linking will disable the use of dynamically"
|
|
echo "loaded plugins. Make sure to import all needed static plugins,"
|
|
echo "or compile needed modules into the library."
|
|
echo
|
|
fi
|
|
if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
|
|
echo
|
|
echo "NOTE: When linking against OpenSSL, you can override the default"
|
|
echo "library names through OPENSSL_LIBS."
|
|
echo "For example:"
|
|
echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
|
|
echo
|
|
fi
|
|
if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
|
|
echo
|
|
echo "Error: debug-only framework builds are not supported. Configure with -no-framework"
|
|
echo "if you want a pure debug build."
|
|
echo
|
|
exit 1
|
|
fi
|
|
|
|
sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
|
|
PROCS=1
|
|
EXEC=""
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# build makefiles based on the configuration
|
|
#-------------------------------------------------------------------------------
|
|
|
|
echo "Finding project files. Please wait..."
|
|
if [ "$CFG_NOPROCESS" != "yes" ]; then
|
|
"$outpath/bin/qmake" -prl -r "${relpath}/qtbase.pro"
|
|
if [ -f "${relpath}/qtbase.pro" ]; then
|
|
mkfile="${outpath}/Makefile"
|
|
[ -f "$mkfile" ] && chmod +w "$mkfile"
|
|
QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/qtbase.pro" -o "$mkfile"
|
|
fi
|
|
fi
|
|
|
|
# .projects -> projects to process
|
|
# .projects.1 -> qt and moc
|
|
# .projects.2 -> subdirs and libs
|
|
# .projects.3 -> the rest
|
|
rm -f .projects .projects.1 .projects.2 .projects.3
|
|
|
|
QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
|
|
if [ -z "$AWK" ]; then
|
|
for p in `echo $QMAKE_PROJECTS`; do
|
|
echo "$p" >> .projects
|
|
done
|
|
else
|
|
cat >projects.awk <<EOF
|
|
BEGIN {
|
|
files = 0
|
|
target_file = ""
|
|
input_file = ""
|
|
|
|
first = "./.projects.1.tmp"
|
|
second = "./.projects.2.tmp"
|
|
third = "./.projects.3.tmp"
|
|
}
|
|
|
|
FNR == 1 {
|
|
if ( input_file ) {
|
|
if ( ! target_file )
|
|
target_file = third
|
|
print input_file >target_file
|
|
}
|
|
|
|
matched_target = 0
|
|
template_lib = 0
|
|
input_file = FILENAME
|
|
target_file = ""
|
|
}
|
|
|
|
/^(TARGET.*=)/ {
|
|
if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
|
|
target_file = first
|
|
matched_target = 1
|
|
} else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) {
|
|
target_file = second
|
|
matched_target = 1
|
|
}
|
|
}
|
|
|
|
matched_target == 0 && /^(TEMPLATE.*=)/ {
|
|
if ( \$3 == "subdirs" )
|
|
target_file = second
|
|
else if ( \$3 == "lib" )
|
|
template_lib = 1
|
|
else
|
|
target_file = third
|
|
}
|
|
|
|
matched_target == 0 && template_lib == 1 && /^(CONFIG.*=)/ {
|
|
if ( \$0 ~ /plugin/ )
|
|
target_file = third
|
|
else
|
|
target_file = second
|
|
}
|
|
|
|
END {
|
|
if ( input_file ) {
|
|
if ( ! target_file )
|
|
target_file = third
|
|
print input_file >>target_file
|
|
}
|
|
}
|
|
|
|
EOF
|
|
|
|
rm -f .projects.all
|
|
for p in `echo $QMAKE_PROJECTS`; do
|
|
echo "$p" >> .projects.all
|
|
done
|
|
|
|
# if you get errors about the length of the command line to awk, change the -l arg
|
|
# to split below
|
|
split -l 100 .projects.all .projects.all.
|
|
for p in .projects.all.*; do
|
|
"$AWK" -f projects.awk `cat $p`
|
|
[ -f .projects.1.tmp ] && cat .projects.1.tmp >> .projects.1
|
|
[ -f .projects.2.tmp ] && cat .projects.2.tmp >> .projects.2
|
|
[ -f .projects.3.tmp ] && cat .projects.3.tmp >> .projects.3
|
|
rm -f .projects.1.tmp .projects.2.tmp .projects.3.tmp $p
|
|
done
|
|
rm -f .projects.all* projects.awk
|
|
|
|
[ -f .projects.1 ] && cat .projects.1 >>.projects
|
|
[ -f .projects.2 ] && cat .projects.2 >>.projects
|
|
rm -f .projects.1 .projects.2
|
|
if [ -f .projects.3 ] && [ "$OPT_FAST" = "no" ]; then
|
|
cat .projects.3 >>.projects
|
|
rm -f .projects.3
|
|
fi
|
|
fi
|
|
# don't sort Qt and MOC in with the other project files
|
|
# also work around a segfaulting uniq(1)
|
|
if [ -f .sorted.projects.2 ]; then
|
|
sort .sorted.projects.2 > .sorted.projects.2.new
|
|
mv -f .sorted.projects.2.new .sorted.projects.2
|
|
cat .sorted.projects.2 >> .sorted.projects.1
|
|
fi
|
|
[ -f .sorted.projects.1 ] && sort .sorted.projects.1 >> .sorted.projects
|
|
rm -f .sorted.projects.2 .sorted.projects.1
|
|
|
|
NORM_PROJECTS=0
|
|
FAST_PROJECTS=0
|
|
if [ -f .projects ]; then
|
|
uniq .projects >.tmp
|
|
mv -f .tmp .projects
|
|
NORM_PROJECTS=`cat .projects | wc -l | sed -e "s, ,,g"`
|
|
fi
|
|
if [ -f .projects.3 ]; then
|
|
uniq .projects.3 >.tmp
|
|
mv -f .tmp .projects.3
|
|
FAST_PROJECTS=`cat .projects.3 | wc -l | sed -e "s, ,,g"`
|
|
fi
|
|
echo " `expr $NORM_PROJECTS + $FAST_PROJECTS` projects found."
|
|
echo
|
|
|
|
PART_ROOTS=
|
|
for part in $CFG_BUILD_PARTS; do
|
|
case "$part" in
|
|
tools) PART_ROOTS="$PART_ROOTS tools" ;;
|
|
libs) PART_ROOTS="$PART_ROOTS src" ;;
|
|
translations) PART_ROOTS="$PART_ROOTS translations" ;;
|
|
examples) PART_ROOTS="$PART_ROOTS examples" ;;
|
|
*) ;;
|
|
esac
|
|
done
|
|
|
|
if [ "$CFG_DEV" = "yes" ]; then
|
|
PART_ROOTS="$PART_ROOTS tests"
|
|
fi
|
|
|
|
echo "Creating makefiles. Please wait..."
|
|
for file in .projects .projects.3; do
|
|
[ '!' -f "$file" ] && continue
|
|
for a in `cat $file`; do
|
|
IN_ROOT=no
|
|
for r in $PART_ROOTS; do
|
|
if echo "$a" | grep "^$r" >/dev/null 2>&1 || echo "$a" | grep "^$relpath/$r" >/dev/null 2>&1; then
|
|
IN_ROOT=yes
|
|
break
|
|
fi
|
|
done
|
|
[ "$IN_ROOT" = "no" ] && continue
|
|
|
|
case $a in
|
|
*winmain/winmain.pro)
|
|
if [ "$CFG_NOPROCESS" = "yes" ] || [ "$XPLATFORM_MINGW" != "yes" ]; then
|
|
continue
|
|
fi
|
|
SPEC=$XQMAKESPEC ;;
|
|
*/qmake/qmake.pro) continue ;;
|
|
*tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*) SPEC=$QMAKESPEC ;;
|
|
*) if [ "$CFG_NOPROCESS" = "yes" ]; then
|
|
continue
|
|
else
|
|
SPEC=$XQMAKESPEC
|
|
fi;;
|
|
esac
|
|
dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
|
|
test -d "$dir" || mkdir -p "$dir"
|
|
OUTDIR="$outpath/$dir"
|
|
if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then
|
|
# fast configure - the makefile exists, skip it
|
|
# since the makefile exists, it was generated by qmake, which means we
|
|
# can skip it, since qmake has a rule to regenerate the makefile if the .pro
|
|
# file changes...
|
|
[ "$OPT_VERBOSE" = "yes" ] && echo " skipping $a"
|
|
continue;
|
|
fi
|
|
QMAKE_SPEC_ARGS="-spec $SPEC"
|
|
echo $ECHO_N " for $a$ECHO_C"
|
|
|
|
QMAKE="$outpath/bin/qmake"
|
|
QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
|
|
if [ "$file" = ".projects.3" ]; then
|
|
echo " (fast)"
|
|
|
|
cat >"${OUTDIR}/Makefile" <<EOF
|
|
# ${OUTDIR}/Makefile: generated by configure
|
|
#
|
|
# WARNING: This makefile will be replaced with a real makefile.
|
|
# All changes made to this file will be lost.
|
|
EOF
|
|
[ "$CFG_DEBUG_RELEASE" = "no" ] && echo "first_target: first" >>${OUTDIR}/Makefile
|
|
|
|
cat >>"${OUTDIR}/Makefile" <<EOF
|
|
QMAKE = "$QMAKE"
|
|
all clean install qmake first Makefile: FORCE
|
|
\$(QMAKE) $QMAKE_ARGS -o "$OUTDIR" "$a"
|
|
cd "$OUTDIR"
|
|
\$(MAKE) \$@
|
|
|
|
FORCE:
|
|
|
|
EOF
|
|
else
|
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
|
echo " (`basename $SPEC`)"
|
|
echo "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
|
|
else
|
|
echo
|
|
fi
|
|
|
|
[ -f "${OUTDIR}/Makefile" ] && chmod +w "${OUTDIR}/Makefile"
|
|
QTDIR="$outpath" "$QMAKE" $QMAKE_ARGS -o "$OUTDIR" "$a"
|
|
fi
|
|
done
|
|
done
|
|
rm -f .projects .projects.3
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# check for platforms that we don't yet know about
|
|
#-------------------------------------------------------------------------------
|
|
if [ "$CFG_ARCH" = "generic" ]; then
|
|
cat <<EOF
|
|
|
|
NOTICE: Atomic operations are not yet supported for this
|
|
architecture.
|
|
|
|
Qt will use the 'generic' architecture instead, which uses a
|
|
single pthread_mutex_t to protect all atomic operations. This
|
|
implementation is the slow (but safe) fallback implementation
|
|
for architectures Qt does not yet support.
|
|
EOF
|
|
fi
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# check if the user passed the -no-zlib option, which is no longer supported
|
|
#-------------------------------------------------------------------------------
|
|
if [ -n "$ZLIB_FORCED" ]; then
|
|
which_zlib="supplied"
|
|
if [ "$CFG_ZLIB" = "system" ]; then
|
|
which_zlib="system"
|
|
fi
|
|
|
|
cat <<EOF
|
|
|
|
NOTICE: The -no-zlib option was supplied but is no longer
|
|
supported.
|
|
|
|
Qt now requires zlib support in all builds, so the -no-zlib
|
|
option was ignored. Qt will be built using the $which_zlib
|
|
zlib.
|
|
EOF
|
|
fi
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# finally save the executed command to another script
|
|
#-------------------------------------------------------------------------------
|
|
if [ `basename $0` != "config.status" ]; then
|
|
CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE"
|
|
|
|
# add the system variables
|
|
for varname in $SYSTEM_VARIABLES; do
|
|
cmd=`echo \
|
|
'if [ -n "\$'${varname}'" ]; then
|
|
CONFIG_STATUS="'${varname}'='"'\\\$${varname}'"' \$CONFIG_STATUS"
|
|
fi'`
|
|
eval "$cmd"
|
|
done
|
|
|
|
echo "$CONFIG_STATUS" | grep '\-confirm\-license' >/dev/null 2>&1 || CONFIG_STATUS="$CONFIG_STATUS -confirm-license"
|
|
|
|
[ -f "$outpath/config.status" ] && rm -f "$outpath/config.status"
|
|
echo "#!/bin/sh" > "$outpath/config.status"
|
|
echo "if [ \"\$#\" -gt 0 ]; then" >> "$outpath/config.status"
|
|
echo " $CONFIG_STATUS \"\$@\"" >> "$outpath/config.status"
|
|
echo "else" >> "$outpath/config.status"
|
|
echo " $CONFIG_STATUS" >> "$outpath/config.status"
|
|
echo "fi" >> "$outpath/config.status"
|
|
chmod +x "$outpath/config.status"
|
|
fi
|
|
|
|
if [ -n "$RPATH_MESSAGE" ]; then
|
|
echo
|
|
echo "$RPATH_MESSAGE"
|
|
fi
|
|
|
|
MAKE=`basename "$MAKE"`
|
|
echo
|
|
echo Qt is now configured for building. Just run \'$MAKE\'.
|
|
if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
|
|
echo Once everything is built, Qt is installed.
|
|
echo You should not run \'$MAKE install\'.
|
|
else
|
|
echo Once everything is built, you must run \'$MAKE install\'.
|
|
echo Qt will be installed into $QT_INSTALL_PREFIX
|
|
fi
|
|
echo
|
|
echo To reconfigure, run \'$MAKE confclean\' and \'configure\'.
|
|
echo
|