summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure797
1 files changed, 10 insertions, 787 deletions
diff --git a/configure b/configure
index c297bca9e8..82df73fb1b 100755
--- a/configure
+++ b/configure
@@ -84,9 +84,8 @@ if [ x"$1" = x"-top-level" ]; then
shift
fi
-CFG_REDO=no
-OPT_CMDLINE= # excluding -verbose (for config.opt)
-QMAKE_CMDLINE= # including -verbose (for actual parsing)
+OPT_CMDLINE= # expanded version for the script
+QMAKE_CMDLINE= # verbatim version for qmake call
set -f # suppress globbing in for loop
SAVED_IFS=$IFS
IFS='
@@ -105,13 +104,7 @@ for i in "$@"; do
for a in `cat $optfile`; do
OPT_CMDLINE="$OPT_CMDLINE
$a"
- QMAKE_CMDLINE="$QMAKE_CMDLINE
-$a"
done
- CFG_REDO=yes # suppress repeated config.opt writeout
- continue
- ;;
- -v|-verbose|--verbose|-no-v|-no-verbose|--no-verbose)
;;
*)
OPT_CMDLINE="$OPT_CMDLINE
@@ -122,43 +115,16 @@ $i"
$i"
done
set --
-for i in $QMAKE_CMDLINE; do
+for i in $OPT_CMDLINE; do
set -- "$@" "$i"
done
set +f
IFS=$SAVED_IFS
-# initialize global variables
-DEVICE_VARS_FILE=.device.vars
-HOST_VARS_FILE=.host.vars
-
-:> "$DEVICE_VARS_FILE"
-:> "$HOST_VARS_FILE"
-
#-------------------------------------------------------------------------------
# utility functions
#-------------------------------------------------------------------------------
-makeabs()
-{
- local FILE="$1"
- local RES="$FILE"
- if [ -z "${FILE##/*}" ]; then
- true
- elif [ "$OSTYPE" = "msys" -a -z "${FILE##[a-zA-Z]:[/\\]*}" ]; then
- true
- else
- RES=$PWD/$FILE
- fi
- RES=$RES/
- while true; do
- nres=`echo "$RES" | sed 's,/[^/][^/]*/\.\./,/,g; s,/\./,/,g'`
- test x"$nres" = x"$RES" && break
- RES=$nres
- done
- echo "$RES" | sed 's,//,/,g; s,/$,,'
-}
-
# Helper function for getQMakeConf. It parses include statements in
# qmake.conf and prints out the expanded file
expandQMakeConf()
@@ -172,15 +138,7 @@ expandQMakeConf()
echo "WARNING: Unable to find file $conf_file" >&2
continue
fi
- expandQMakeConf "$conf_file" "$2"
- ;;
- *load\(device_config\)*)
- conf_file="$2"
- if [ ! -f "$conf_file" ]; then
- echo "WARNING: Unable to find file $conf_file" >&2
- continue
- fi
- expandQMakeConf "$conf_file" "$2"
+ expandQMakeConf "$conf_file"
;;
*)
echo "$line"
@@ -195,12 +153,6 @@ BEGIN {
values["LITERAL_WHITESPACE"] = " "
values["LITERAL_DOLLAR"] = "$"
}
-/^!?host_build:/ {
- scopeStart = index($0, ":") + 1
- condition = substr($0, 0, scopeStart - 2)
- if (condition != "'"$1"'") { next }
- $0 = substr($0, scopeStart)
-}
/^[_A-Z0-9.]+[ \t]*\+?=/ {
valStart = index($0, "=") + 1
@@ -325,72 +277,12 @@ macSDKify()
getQMakeConf()
{
if [ -z "$specvals" ]; then
- specvals=`expandQMakeConf "$QMAKESPEC/qmake.conf" "$HOST_VARS_FILE" | extractQMakeVariables "host_build"`
+ specvals=`expandQMakeConf "$QMAKESPEC/qmake.conf" | extractQMakeVariables`
if [ "$BUILD_ON_MAC" = "yes" ]; then specvals=$(macSDKify "$specvals"); fi
fi
getSingleQMakeVariable "$1" "$specvals"
}
-getXQMakeConf()
-{
- if [ -z "$xspecvals" ]; then
- xspecvals=`expandQMakeConf "$XQMAKESPEC/qmake.conf" "$DEVICE_VARS_FILE" | extractQMakeVariables "!host_build"`
- if [ "$XPLATFORM_MAC" = "yes" ]; then xspecvals=$(macSDKify "$xspecvals"); fi
- fi
- getSingleQMakeVariable "$1" "$xspecvals"
-}
-
-#-------------------------------------------------------------------------------
-# device options
-#-------------------------------------------------------------------------------
-DeviceVar()
-{
- case "$1" in
- set)
- eq="="
- ;;
- *)
- echo >&2 "BUG: wrong command to DeviceVar: $1"
- ;;
- esac
-
- echo "$2" "$eq" "$3" >> "$DEVICE_VARS_FILE"
-}
-
-resolveDeviceMkspec()
-{
- result=$(find "$relpath/mkspecs/devices/" -type d -name "*$1*" | sed "s,^$relpath/mkspecs/,,")
- match_count=$(echo "$result" | wc -w)
- if [ "$match_count" -gt 1 ]; then
- echo >&2 "Error: Multiple matches for device '$1'. Candidates are:"
- tabbed_result=$(echo "$result" | sed 's,^, ,')
- echo >&2 "$tabbed_result"
- echo "undefined"
- elif [ "$match_count" -eq 0 ]; then
- echo >&2 "Error: No device matching '$1'"
- echo "undefined"
- else
- echo "$result"
- fi
-}
-
-#-------------------------------------------------------------------------------
-# Host options
-#-------------------------------------------------------------------------------
-HostVar()
-{
- case "$1" in
- set)
- eq="="
- ;;
- *)
- echo >&2 "BUG: wrong command to HostVar: $1"
- ;;
- esac
-
- echo "$2" "$eq" "$3" >> "$HOST_VARS_FILE"
-}
-
#-------------------------------------------------------------------------------
# operating system detection
#-------------------------------------------------------------------------------
@@ -452,83 +344,18 @@ fi
# initalize variables
#-------------------------------------------------------------------------------
-# Use CC/CXX to run config.tests
-mkdir -p "$outpath/config.tests"
-rm -f "$outpath/config.tests/.qmake.cache"
-: > "$outpath/config.tests/.qmake.cache"
-
# QTDIR may be set and point to an old or system-wide Qt installation
unset QTDIR
# initalize internal variables
CFG_RELEASE_TOOLS=no
-
-XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
-XPLATFORM_MAC=no # Whether target platform is macOS, iOS, tvOS, or watchOS
-XPLATFORM_IOS=no # Whether target platform is iOS
-XPLATFORM_TVOS=no # Whether target platform is tvOS
-XPLATFORM_WATCHOS=no # Whether target platform is watchOS
-XPLATFORM_ANDROID=no
-XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
PLATFORM=
-OPT_CONFIRM_LICENSE=no
OPT_SHADOW=maybe
OPT_VERBOSE=no
OPT_HELP=
CFG_SILENT=no
-OPT_MAC_SDK=
-COMMERCIAL_USER=ask
CFG_DEV=no
-# initalize variables used for installation
-QT_INSTALL_PREFIX=
-QT_INSTALL_DOCS=
-QT_INSTALL_HEADERS=
-QT_INSTALL_LIBS=
-QT_INSTALL_BINS=
-QT_INSTALL_LIBEXECS=
-QT_INSTALL_PLUGINS=
-QT_INSTALL_IMPORTS=
-QT_INSTALL_QML=
-QT_INSTALL_ARCHDATA=
-QT_INSTALL_DATA=
-QT_INSTALL_TRANSLATIONS=
-QT_INSTALL_SETTINGS=
-QT_INSTALL_EXAMPLES=
-QT_INSTALL_TESTS=
-CFG_SYSROOT=
-QT_HOST_PREFIX=
-QT_HOST_BINS=
-QT_HOST_LIBS=
-QT_HOST_DATA=
-QT_EXT_PREFIX=
-
-# Android vars
-if [ -z "$ANDROID_SDK_ROOT" ]; then
- if [ "$UNAME_SYSTEM" = "Darwin" ] && [ -d "$HOME/Library/Android/sdk" ]; then
- ANDROID_SDK_ROOT="$HOME/Library/Android/sdk"
- elif [ "$UNAME_SYSTEM" = "Linux" ] && [ -d "$HOME/Android/Sdk" ]; then
- ANDROID_SDK_ROOT="$HOME/Android/Sdk"
- fi
-fi
-
-if [ -z "$ANDROID_NDK_ROOT" ]; then
- if [ -d "$ANDROID_SDK_ROOT/ndk-bundle" ]; then
- ANDROID_NDK_ROOT="$ANDROID_SDK_ROOT/ndk-bundle"
- elif [ "$UNAME_SYSTEM" = "Darwin" ] && [ -d "$HOME/Library/Android/sdk/ndk-bundle" ]; then
- ANDROID_NDK_ROOT="$HOME/Library/Android/sdk/ndk-bundle"
- elif [ "$UNAME_SYSTEM" = "Linux" ] && [ -d "$HOME/Android/Sdk/ndk-bundle" ]; then
- ANDROID_NDK_ROOT="$HOME/Android/Sdk/ndk-bundle"
- fi
-fi
-
-CFG_DEFAULT_ANDROID_NDK_ROOT=$ANDROID_NDK_ROOT
-CFG_DEFAULT_ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT
-CFG_DEFAULT_ANDROID_PLATFORM=android-16
-CFG_DEFAULT_ANDROID_TARGET_ARCH=armeabi-v7a
-CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION=4.9
-CFG_DEFAULT_ANDROID_NDK_HOST=$ANDROID_NDK_HOST
-
#-------------------------------------------------------------------------------
# parse command line arguments
#-------------------------------------------------------------------------------
@@ -597,7 +424,6 @@ while [ "$#" -gt 0 ]; do
-xplatform| \
-device| \
-device-option| \
- -host-option| \
-sdk| \
-android-sdk| \
-android-ndk| \
@@ -646,101 +472,12 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=no
case "$VAR" in
- prefix)
- QT_INSTALL_PREFIX="$VAL"
- ;;
- hostprefix)
- QT_HOST_PREFIX="$VAL"
- ;;
- hostdatadir)
- QT_HOST_DATA="$VAL"
- ;;
- hostbindir)
- QT_HOST_BINS="$VAL"
- ;;
- hostlibdir)
- QT_HOST_LIBS="$VAL"
- ;;
- extprefix)
- QT_EXT_PREFIX="$VAL"
- ;;
- docdir)
- QT_INSTALL_DOCS="$VAL"
- ;;
- headerdir)
- QT_INSTALL_HEADERS="$VAL"
- ;;
- plugindir)
- QT_INSTALL_PLUGINS="$VAL"
- ;;
- importdir)
- QT_INSTALL_IMPORTS="$VAL"
- ;;
- qmldir)
- QT_INSTALL_QML="$VAL"
- ;;
- archdatadir)
- QT_INSTALL_ARCHDATA="$VAL"
- ;;
- datadir)
- QT_INSTALL_DATA="$VAL"
- ;;
- libdir)
- QT_INSTALL_LIBS="$VAL"
- ;;
- translationdir)
- QT_INSTALL_TRANSLATIONS="$VAL"
- ;;
- sysconfdir|settingsdir)
- QT_INSTALL_SETTINGS="$VAL"
- ;;
- examplesdir)
- QT_INSTALL_EXAMPLES="$VAL"
- ;;
- testsdir)
- QT_INSTALL_TESTS="$VAL"
- ;;
- sysroot)
- CFG_SYSROOT="$VAL"
- ;;
external-hostbindir)
CFG_HOST_QT_TOOLS_PATH="$VAL"
- HostVar set HOST_QT_TOOLS "$VAL"
- ;;
- bindir)
- QT_INSTALL_BINS="$VAL"
;;
- libexecdir)
- QT_INSTALL_LIBEXECS="$VAL"
- ;;
- sdk)
- if [ "$BUILD_ON_MAC" = "yes" ]; then
- DeviceVar set !host_build:QMAKE_MAC_SDK "$VAL"
- OPT_MAC_SDK="$VAL"
- else
- UNKNOWN_OPT=yes
- fi
- ;;
platform)
PLATFORM="$VAL"
;;
- xplatform)
- XPLATFORM="$VAL"
- ;;
- device)
- XPLATFORM=`resolveDeviceMkspec $VAL`
- [ "$XPLATFORM" = "undefined" ] && exit 101
- ;;
- device-option)
- DEV_VAR=`echo $VAL | cut -d '=' -f 1`
- DEV_VAL=`echo $VAL | cut -d '=' -f 2-`
- DeviceVar set $DEV_VAR "$DEV_VAL"
- ;;
- host-option)
- HOST_VAR=`echo $VAL | cut -d '=' -f 1`
- HOST_VAL=`echo $VAL | cut -d '=' -f 2-`
- HostVar set $HOST_VAR "$HOST_VAL"
- ;;
optimized-qmake|optimized-tools)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_RELEASE_TOOLS="$VAL"
@@ -749,19 +486,6 @@ while [ "$#" -gt 0 ]; do
developer-build)
CFG_DEV="yes"
;;
- commercial)
- COMMERCIAL_USER="yes"
- ;;
- opensource)
- COMMERCIAL_USER="no"
- ;;
- confirm-license)
- if [ "$VAL" = "yes" ]; then
- OPT_CONFIRM_LICENSE="$VAL"
- else
- UNKNOWN_OPT=yes
- fi
- ;;
h|help)
if [ "$VAL" = "yes" ]; then
OPT_HELP="$VAL"
@@ -782,24 +506,6 @@ while [ "$#" -gt 0 ]; do
# need to keep this here, to ensure qmake is built silently
CFG_SILENT="$VAL"
;;
- android-sdk)
- CFG_DEFAULT_ANDROID_SDK_ROOT="$VAL"
- ;;
- android-ndk)
- CFG_DEFAULT_ANDROID_NDK_ROOT="$VAL"
- ;;
- android-ndk-platform)
- CFG_DEFAULT_ANDROID_PLATFORM="$VAL"
- ;;
- android-ndk-host)
- CFG_DEFAULT_ANDROID_NDK_HOST="$VAL"
- ;;
- android-arch)
- CFG_DEFAULT_ANDROID_TARGET_ARCH="$VAL"
- ;;
- android-toolchain-version)
- CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION="$VAL"
- ;;
*)
;;
esac
@@ -973,115 +679,18 @@ if [ -z "$PLATFORM" ]; then
esac
fi
-[ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
-
-case "$XPLATFORM" in
- *win32-g++*)
- XPLATFORM_MINGW=yes
- ;;
- *qnx-*)
- ;;
- *haiku-*)
- ;;
- *ios*)
- XPLATFORM_MAC=yes
- XPLATFORM_IOS=yes
- ;;
- *tvos*)
- XPLATFORM_MAC=yes
- XPLATFORM_TVOS=yes
- ;;
- *watchos*)
- XPLATFORM_MAC=yes
- XPLATFORM_WATCHOS=yes
- ;;
- *macx*)
- XPLATFORM_MAC=yes
- ;;
- *integrity*)
- ;;
- # XPLATFORM_ANDROID should not be set for unsupported/android-g++
- *unsupported*)
- ;;
- *android-g++*)
- XPLATFORM_ANDROID=g++
- ;;
- *android-clang*)
- XPLATFORM_ANDROID=clang
- ;;
-esac
-
#-------------------------------------------------------------------------------
# command line and environment validation
#-------------------------------------------------------------------------------
-if [ "$XPLATFORM_ANDROID" != "no" ]; then
- if [ -z "$CFG_DEFAULT_ANDROID_NDK_HOST" ]; then
- case $PLATFORM in
- linux-*)
- if [ -d "$CFG_DEFAULT_ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-$CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION/prebuilt/linux-x86" ]; then
- CFG_DEFAULT_ANDROID_NDK_HOST=linux-x86
- elif [ -d "$CFG_DEFAULT_ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-$CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION/prebuilt/linux-x86_64" ]; then
- CFG_DEFAULT_ANDROID_NDK_HOST=linux-x86_64
- fi
- ;;
- macx-*)
- CFG_DEFAULT_ANDROID_NDK_HOST=darwin-x86
- if [ -d "$CFG_DEFAULT_ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-$CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION/prebuilt/darwin-x86_64" ]; then
- CFG_DEFAULT_ANDROID_NDK_HOST=darwin-x86_64
- fi
- ;;
- win32-*)
- CFG_DEFAULT_ANDROID_NDK_HOST=windows
- if [ -d "$CFG_DEFAULT_ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-$CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION/prebuilt/windows-x86_64" ]; then
- CFG_DEFAULT_ANDROID_NDK_HOST=windows-x86_64
- fi
- ;;
- esac
- fi
-
- if [ -z "$CFG_DEFAULT_ANDROID_NDK_ROOT" ]; then
- echo
- echo "Can not find Android NDK. Please use -android-ndk option to specify one"
- exit 1
- fi
- if [ -z "$CFG_DEFAULT_ANDROID_SDK_ROOT" ]; then
- echo
- echo "Can not find Android SDK. Please use -android-sdk option to specify one"
- exit 1
- fi
- if [ -z "CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION" ] || [ ! -d "$CFG_DEFAULT_ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-$CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION/prebuilt" ]; then
- echo
- echo "Can not detect Android NDK toolchain. Please use -android-toolchain-version to specify"
- exit 1
- fi
- if [ -z "$CFG_DEFAULT_ANDROID_NDK_HOST" ] || [ ! -d "$CFG_DEFAULT_ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-$CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION/prebuilt/$CFG_DEFAULT_ANDROID_NDK_HOST" ]; then
- echo
- echo "Can not detect the android host. Please use -android-ndk-host option to specify one"
- exit 1
- fi
-
- DeviceVar set DEFAULT_ANDROID_SDK_ROOT "$CFG_DEFAULT_ANDROID_SDK_ROOT"
- DeviceVar set DEFAULT_ANDROID_NDK_ROOT "$CFG_DEFAULT_ANDROID_NDK_ROOT"
- DeviceVar set DEFAULT_ANDROID_PLATFORM "$CFG_DEFAULT_ANDROID_PLATFORM"
- DeviceVar set DEFAULT_ANDROID_NDK_HOST "$CFG_DEFAULT_ANDROID_NDK_HOST"
- DeviceVar set DEFAULT_ANDROID_TARGET_ARCH "$CFG_DEFAULT_ANDROID_TARGET_ARCH"
- DeviceVar set DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION "$CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION"
-fi
-
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 [ "$BUILD_ON_MAC" = "yes" ]; then
- if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then
+ if [ `basename $QMAKESPEC` = "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-clang' or 'macx-g++', then use" >&2
@@ -1103,26 +712,6 @@ if [ '!' -d "$QMAKESPEC" ]; then
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 information use the contact form at http://www.qt.io/contact-us"
- echo
- exit 2
-fi
#-------------------------------------------------------------------------------
# build tree initialization
@@ -1156,283 +745,6 @@ if [ "$OPT_SHADOW" = "yes" ]; then
mkdir -p "$outpath/mkspecs"
fi
-if [ "$XPLATFORM_ANDROID" = "no" ]; then
- TEST_COMPILER=`getXQMakeConf QMAKE_CXX`
- GCC_MACHINE_DUMP=
- case "$TEST_COMPILER" in *g++) GCC_MACHINE_DUMP=$($TEST_COMPILER -dumpmachine);; esac
- if [ -n "$GCC_MACHINE_DUMP" ]; then
- DeviceVar set GCC_MACHINE_DUMP $($TEST_COMPILER -dumpmachine)
- fi
-fi
-
-#-------------------------------------------------------------------------------
-# postprocess installation and deployment paths
-#-------------------------------------------------------------------------------
-
-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=`makeabs "$QT_INSTALL_PREFIX"`
-
-if [ -z "$QT_EXT_PREFIX" ]; then
- QT_EXT_PREFIX=$QT_INSTALL_PREFIX
- if [ -n "$CFG_SYSROOT" ]; then
- QMAKE_SYSROOTIFY=true
- else
- QMAKE_SYSROOTIFY=false
- fi
-else
- QT_EXT_PREFIX=`makeabs "$QT_EXT_PREFIX"`
- QMAKE_SYSROOTIFY=false
-fi
-
-if [ -z "$QT_HOST_PREFIX" ]; then
- if $QMAKE_SYSROOTIFY; then
- QT_HOST_PREFIX=$CFG_SYSROOT$QT_EXT_PREFIX
- else
- QT_HOST_PREFIX=$QT_EXT_PREFIX
- fi
- HAVE_HOST_PATH=false
-else
- QT_HOST_PREFIX=`makeabs "$QT_HOST_PREFIX"`
- HAVE_HOST_PATH=true
-fi
-
-#------- make the paths relative to the prefixes --------
-
-PREFIX_COMPLAINTS=
-PREFIX_REMINDER=false
-while read basevar baseoption var option; do
- eval path=\$QT_${basevar}_$var
- [ -z "$path" ] && continue
- path=`makeabs "$path"`
- eval base=\$QT_${basevar}_PREFIX
- rel=${path##$base}
- if [ x"$rel" = x"$path" ]; then
- if [ x"$option" != x"sysconf" ]; then
- PREFIX_COMPLAINTS="$PREFIX_COMPLAINTS
- NOTICE: -${option}dir is not a subdirectory of ${baseoption}prefix."
- eval \$HAVE_${basevar}_PATH || PREFIX_REMINDER=true
- fi
- eval QT_REL_${basevar}_$var=\$rel
- elif [ -z "$rel" ]; then
- eval QT_REL_${basevar}_$var=.
- else
- eval QT_REL_${basevar}_$var=\${rel#/}
- fi
-done <<EOF
-INSTALL - DOCS doc
-INSTALL - HEADERS header
-INSTALL - LIBS lib
-INSTALL - LIBEXECS libexec
-INSTALL - BINS bin
-INSTALL - PLUGINS plugin
-INSTALL - IMPORTS import
-INSTALL - QML qml
-INSTALL - ARCHDATA archdata
-INSTALL - DATA data
-INSTALL - TRANSLATIONS translation
-INSTALL - EXAMPLES examples
-INSTALL - TESTS tests
-INSTALL - SETTINGS sysconf
-HOST -host BINS hostbin
-HOST -host LIBS hostlib
-HOST -host DATA hostdata
-EOF
-$PREFIX_REMINDER && PREFIX_COMPLAINTS="$PREFIX_COMPLAINTS
- Maybe you forgot to specify -prefix/-hostprefix?"
-
-if [ -z "$QT_REL_INSTALL_HEADERS" ]; then
- QT_REL_INSTALL_HEADERS=include
-fi
-
-if [ -z "$QT_REL_INSTALL_LIBS" ]; then
- QT_REL_INSTALL_LIBS=lib
-fi
-
-if [ -z "$QT_REL_INSTALL_BINS" ]; then
- QT_REL_INSTALL_BINS=bin
-fi
-
-if [ -z "$QT_REL_INSTALL_ARCHDATA" ]; then
- QT_REL_INSTALL_ARCHDATA=.
-fi
-if [ x"$QT_REL_INSTALL_ARCHDATA" != x. ]; then
- QT_REL_INSTALL_ARCHDATA_PREFIX=$QT_REL_INSTALL_ARCHDATA/
-fi
-
-if [ -z "$QT_REL_INSTALL_LIBEXECS" ]; then
- if [ "$XPLATFORM_MINGW" = "yes" ]; then
- QT_REL_INSTALL_LIBEXECS=${QT_REL_INSTALL_ARCHDATA_PREFIX}bin
- else
- QT_REL_INSTALL_LIBEXECS=${QT_REL_INSTALL_ARCHDATA_PREFIX}libexec
- fi
-fi
-
-if [ -z "$QT_REL_INSTALL_PLUGINS" ]; then
- QT_REL_INSTALL_PLUGINS=${QT_REL_INSTALL_ARCHDATA_PREFIX}plugins
-fi
-
-if [ -z "$QT_REL_INSTALL_IMPORTS" ]; then
- QT_REL_INSTALL_IMPORTS=${QT_REL_INSTALL_ARCHDATA_PREFIX}imports
-fi
-
-if [ -z "$QT_REL_INSTALL_QML" ]; then
- QT_REL_INSTALL_QML=${QT_REL_INSTALL_ARCHDATA_PREFIX}qml
-fi
-
-if [ -z "$QT_REL_INSTALL_DATA" ]; then
- QT_REL_INSTALL_DATA=.
-fi
-if [ x"$QT_REL_INSTALL_DATA" != x. ]; then
- QT_REL_INSTALL_DATA_PREFIX=$QT_REL_INSTALL_DATA/
-fi
-
-if [ -z "$QT_REL_INSTALL_DOCS" ]; then
- QT_REL_INSTALL_DOCS=${QT_REL_INSTALL_DATA_PREFIX}doc
-fi
-
-if [ -z "$QT_REL_INSTALL_TRANSLATIONS" ]; then
- QT_REL_INSTALL_TRANSLATIONS=${QT_REL_INSTALL_DATA_PREFIX}translations
-fi
-
-if [ -z "$QT_REL_INSTALL_EXAMPLES" ]; then
- QT_REL_INSTALL_EXAMPLES=examples
-fi
-
-if [ -z "$QT_REL_INSTALL_TESTS" ]; then
- QT_REL_INSTALL_TESTS=tests
-fi
-
-if [ -z "$QT_REL_INSTALL_SETTINGS" ]; then
- if [ "$XPLATFORM_MAC" = "yes" ]; then
- QT_REL_INSTALL_SETTINGS=/Library/Preferences/Qt
- else
- QT_REL_INSTALL_SETTINGS=etc/xdg
- fi
-fi
-
-#------- host paths --------
-
-if [ -z "$QT_REL_HOST_BINS" ]; then
- if $HAVE_HOST_PATH; then
- QT_REL_HOST_BINS=bin
- else
- QT_REL_HOST_BINS=$QT_REL_INSTALL_BINS
- fi
-fi
-
-if [ -z "$QT_REL_HOST_LIBS" ]; then
- if $HAVE_HOST_PATH; then
- QT_REL_HOST_LIBS=lib
- else
- QT_REL_HOST_LIBS=$QT_REL_INSTALL_LIBS
- fi
-fi
-
-if [ -z "$QT_REL_HOST_DATA" ]; then
- if $HAVE_HOST_PATH; then
- QT_REL_HOST_DATA=.
- else
- QT_REL_HOST_DATA=$QT_REL_INSTALL_ARCHDATA
- fi
-fi
-
-shortxspec=`echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"`
-shortspec=`echo $QMAKESPEC | sed "s,^${relpath}/mkspecs/,,"`
-
-QT_CONFIGURE_STR_OFF=0
-
-addConfStr()
-{
- QT_CONFIGURE_STR_OFFSETS="$QT_CONFIGURE_STR_OFFSETS $QT_CONFIGURE_STR_OFF,"
- QT_CONFIGURE_STRS="$QT_CONFIGURE_STRS \"$1\\0\"
-"
- count=`echo "$1" | wc -c`
- QT_CONFIGURE_STR_OFF=`expr $QT_CONFIGURE_STR_OFF + $count`
-}
-
-QT_CONFIGURE_STR_OFFSETS=
-QT_CONFIGURE_STRS=
-addConfStr "$QT_REL_INSTALL_DOCS"
-addConfStr "$QT_REL_INSTALL_HEADERS"
-addConfStr "$QT_REL_INSTALL_LIBS"
-addConfStr "$QT_REL_INSTALL_LIBEXECS"
-addConfStr "$QT_REL_INSTALL_BINS"
-addConfStr "$QT_REL_INSTALL_PLUGINS"
-addConfStr "$QT_REL_INSTALL_IMPORTS"
-addConfStr "$QT_REL_INSTALL_QML"
-addConfStr "$QT_REL_INSTALL_ARCHDATA"
-addConfStr "$QT_REL_INSTALL_DATA"
-addConfStr "$QT_REL_INSTALL_TRANSLATIONS"
-addConfStr "$QT_REL_INSTALL_EXAMPLES"
-addConfStr "$QT_REL_INSTALL_TESTS"
-QT_CONFIGURE_STR_OFFSETS_ALL=$QT_CONFIGURE_STR_OFFSETS
-QT_CONFIGURE_STRS_ALL=$QT_CONFIGURE_STRS
-
-QT_CONFIGURE_STR_OFFSETS=
-QT_CONFIGURE_STRS=
-addConfStr "$CFG_SYSROOT"
-addConfStr "$QT_REL_HOST_BINS"
-addConfStr "$QT_REL_HOST_LIBS"
-addConfStr "$QT_REL_HOST_DATA"
-addConfStr "$shortxspec"
-addConfStr "$shortspec"
-
-#-------------------------------------------------------------------------------
-# generate qconfig.cpp
-#-------------------------------------------------------------------------------
-[ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
-
-cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
-/* Installation date */
-static const char qt_configure_installation [12+11] = "qt_instdate=2012-12-20";
-
-/* Installation Info */
-static const char qt_configure_prefix_path_str [256 + 12] = "qt_prfxpath=$QT_INSTALL_PREFIX";
-#ifdef QT_BUILD_QMAKE
-static const char qt_configure_ext_prefix_path_str [256 + 12] = "qt_epfxpath=$QT_EXT_PREFIX";
-static const char qt_configure_host_prefix_path_str [256 + 12] = "qt_hpfxpath=$QT_HOST_PREFIX";
-#endif
-
-static const short qt_configure_str_offsets[] = {
- $QT_CONFIGURE_STR_OFFSETS_ALL
-#ifdef QT_BUILD_QMAKE
- $QT_CONFIGURE_STR_OFFSETS
-#endif
-};
-static const char qt_configure_strs[] =
-$QT_CONFIGURE_STRS_ALL#ifdef QT_BUILD_QMAKE
-$QT_CONFIGURE_STRS#endif
-;
-
-#define QT_CONFIGURE_SETTINGS_PATH "$QT_REL_INSTALL_SETTINGS"
-
-#ifdef QT_BUILD_QMAKE
-# define QT_CONFIGURE_SYSROOTIFY_PREFIX $QMAKE_SYSROOTIFY
-#endif
-
-#define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12
-#ifdef QT_BUILD_QMAKE
-# define QT_CONFIGURE_EXT_PREFIX_PATH qt_configure_ext_prefix_path_str + 12
-# define QT_CONFIGURE_HOST_PREFIX_PATH qt_configure_host_prefix_path_str + 12
-#endif
-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
-
-
# -----------------------------------------------------------------------------
# build qmake
# -----------------------------------------------------------------------------
@@ -1566,51 +878,16 @@ setBootstrapVariable()
# create a qt.conf for the Qt build tree itself
#-------------------------------------------------------------------------------
-printInstallPaths()
-{
- cat <<EOF
-Documentation=$QT_REL_INSTALL_DOCS
-Headers=$QT_REL_INSTALL_HEADERS
-Libraries=$QT_REL_INSTALL_LIBS
-LibraryExecutables=$QT_REL_INSTALL_LIBEXECS
-Binaries=$QT_REL_INSTALL_BINS
-Plugins=$QT_REL_INSTALL_PLUGINS
-Imports=$QT_REL_INSTALL_IMPORTS
-Qml2Imports=$QT_REL_INSTALL_QML
-ArchData=$QT_REL_INSTALL_ARCHDATA
-Data=$QT_REL_INSTALL_DATA
-Translations=$QT_REL_INSTALL_TRANSLATIONS
-Examples=$QT_REL_INSTALL_EXAMPLES
-Tests=$QT_REL_INSTALL_TESTS
-EOF
-}
-
+# Note that this file is just sufficient to boot configure, by which it is
+# replaced in-place with a version which is suitable for building all of Qt.
QTCONFFILE="$outpath/bin/qt.conf"
cat > "$QTCONFFILE" <<EOF
[EffectivePaths]
Prefix=..
-EOF
-if [ -n "$CFG_HOST_QT_TOOLS_PATH" ]; then
- cat >> "$QTCONFFILE" <<EOF
-[DevicePaths]
-Prefix=$QT_INSTALL_PREFIX
-`printInstallPaths`
[Paths]
-Prefix=$QT_EXT_PREFIX
-`printInstallPaths`
-HostPrefix=$QT_HOST_PREFIX
-HostBinaries=$QT_REL_HOST_BINS
-HostLibraries=$QT_REL_HOST_LIBS
-HostData=$QT_REL_HOST_DATA
-TargetSpec=$XPLATFORM
+TargetSpec=dummy
HostSpec=$PLATFORM
EOF
- if [ -n "$CFG_SYSROOT" ]; then
- cat >> "$QTCONFFILE" <<EOF
-Sysroot=$CFG_SYSROOT
-EOF
- fi
-fi
if [ x"$relpath" != x"$outpath" ]; then
cat >> "$QTCONFFILE" <<EOF
[EffectiveSourcePaths]
@@ -1622,28 +899,6 @@ fi
CFG_QMAKE_PATH="$CFG_HOST_QT_TOOLS_PATH/qmake"
#-------------------------------------------------------------------------------
-# write out device config before we run the test.
-#-------------------------------------------------------------------------------
-DEVICE_VARS_OUTFILE="$outpath/mkspecs/qdevice.pri"
-if cmp -s "$DEVICE_VARS_FILE" "$DEVICE_VARS_OUTFILE"; then
- rm -f "$DEVICE_VARS_FILE"
-else
- mv -f $DEVICE_VARS_FILE "$DEVICE_VARS_OUTFILE"
- DEVICE_VARS_FILE="$DEVICE_VARS_OUTFILE"
-fi
-
-#-------------------------------------------------------------------------------
-# write out host config.
-#-------------------------------------------------------------------------------
-HOST_VARS_OUTFILE="$outpath/mkspecs/qhost.pri"
-if cmp -s "$HOST_VARS_FILE" "$HOST_VARS_OUTFILE"; then
- rm -f "$HOST_VARS_FILE"
-else
- mv -f $HOST_VARS_FILE "$HOST_VARS_OUTFILE"
- HOST_VARS_FILE="$HOST_VARS_OUTFILE"
-fi
-
-#-------------------------------------------------------------------------------
# run configure tests
#-------------------------------------------------------------------------------
@@ -1669,33 +924,6 @@ fi
"$CFG_QMAKE_PATH" -qtconf "$QTCONFFILE" "$relpathMangled" -- "$@" || exit
#-------------------------------------------------------------------------------
-# finally save the executed command to another script
-#-------------------------------------------------------------------------------
-if [ $CFG_REDO = no ]; then
- if [ "$COMMERCIAL_USER" = "ask" ]; then
- if grep '^QT_EDITION = OpenSource$' "$outpath/mkspecs/qconfig.pri" >/dev/null 2>&1; then
- OPT_CMDLINE="$OPT_CMDLINE
--opensource"
- else
- OPT_CMDLINE="$OPT_CMDLINE
--commercial"
- fi
- fi
- if [ "$OPT_CONFIRM_LICENSE" = "no" ]; then
- OPT_CMDLINE="$OPT_CMDLINE
--confirm-license"
- fi
-
- # skip first line, as it's always empty due to unconditional field separation
- echo "$OPT_CMDLINE" | tail -n +2 > config.opt
-
- [ -f "config.status" ] && rm -f config.status
- echo "#!/bin/sh" > config.status
- echo "$relpathMangled/$relconf -redo \"\$@\"" >> config.status
- chmod +x config.status
-fi
-
-#-------------------------------------------------------------------------------
# final notes for the user
#-------------------------------------------------------------------------------
@@ -1707,12 +935,7 @@ else
echo
fi
-if [ -n "$PREFIX_COMPLAINTS" ]; then
- echo
- echo "$PREFIX_COMPLAINTS"
- echo
-fi
-
+QT_INSTALL_PREFIX=`sed -ne 's/^Prefix=//p' < "$outpath/qmake/builtin-qt.conf"`
MAKE=`basename "$MAKE"`
echo
echo Qt is now configured for building. Just run \'$MAKE\'.