diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2016-11-16 15:13:52 +0100 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2016-12-13 18:56:34 +0000 |
commit | ab0cc3055d3d1f0faa98f96a7e8ae58b6ef6461a (patch) | |
tree | ba14bef85165e3dadaac1b46f5c6cd8a734ececf /configure | |
parent | 8861b82f9ef59fa871adc86552012cd90eee6e09 (diff) |
move all target spec handling to qmake-based configure system
we pull this feat off by booting configure with a dummy spec. the proper
spec gets loaded subsequently.
note that it was necessary to move the cache loading after processing
the early checks (from which the spec handling is triggered). this is
just fine, as the cache is needed only by tests, which are forbidden at
this stage by definition.
Change-Id: I5120e25a8bf05fb8cc5485fd93cf6387301089aa
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 99 |
1 files changed, 2 insertions, 97 deletions
@@ -283,23 +283,6 @@ getQMakeConf() getSingleQMakeVariable "$1" "$specvals" } -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 -} - #------------------------------------------------------------------------------- # operating system detection #------------------------------------------------------------------------------- @@ -366,14 +349,6 @@ 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_SHADOW=maybe OPT_VERBOSE=no @@ -503,13 +478,6 @@ while [ "$#" -gt 0 ]; do platform) PLATFORM="$VAL" ;; - xplatform) - XPLATFORM="$VAL" - ;; - device) - XPLATFORM=`resolveDeviceMkspec $VAL` - [ "$XPLATFORM" = "undefined" ] && exit 101 - ;; optimized-qmake|optimized-tools) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_RELEASE_TOOLS="$VAL" @@ -711,44 +679,6 @@ 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 #------------------------------------------------------------------------------- @@ -758,14 +688,9 @@ if [ -d "$PLATFORM" ]; then 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 @@ -787,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 @@ -980,7 +885,7 @@ cat > "$QTCONFFILE" <<EOF [EffectivePaths] Prefix=.. [Paths] -TargetSpec=$XPLATFORM +TargetSpec=dummy HostSpec=$PLATFORM EOF if [ x"$relpath" != x"$outpath" ]; then |