diff options
author | Bradley T. Hughes <bradley.hughes@nokia.com> | 2010-09-22 10:08:36 (GMT) |
---|---|---|
committer | Bradley T. Hughes <bradley.hughes@nokia.com> | 2010-09-23 09:21:06 (GMT) |
commit | 7be2c5824e0331bbeec87b482e71efe72fb026b0 (patch) | |
tree | 311452fc3a927ba14a25b489e9f404f2a88e7967 /configure | |
parent | 1c0b32371f912c76ad6a943d6bdab6f024b7ee34 (diff) | |
download | Qt-7be2c5824e0331bbeec87b482e71efe72fb026b0.zip Qt-7be2c5824e0331bbeec87b482e71efe72fb026b0.tar.gz Qt-7be2c5824e0331bbeec87b482e71efe72fb026b0.tar.bz2 |
Merge the armv6 and arm architectures
Instead of having multiple architectures, merge them and select the
appropriate implementation based on what the compiler actually supports.
The original qatomic_arm.h header has been renamed to qatomic_armv5.h,
and qatomic_arm.h now does nothing more than including either
qatomic_armv6.h or qatomic_armv5.h
Since this changes the build-key for targets that previously used armv6,
we need a 3rd compatibility build-key for the architecture. The
configure script will always write out this build-key when building for
arm (and silently converts -arch armv6 to -arch arm).
Reviewed-by: thiago
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 36 |
1 files changed, 32 insertions, 4 deletions
@@ -3019,6 +3019,9 @@ if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then sh4al) CFG_ARCH=sh4a ;; + arm*) + CFG_ARCH=arm + ;; *) CFG_ARCH="$CFG_EMBEDDED" ;; @@ -3031,6 +3034,16 @@ 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 [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then if [ "$OPT_VERBOSE" = "yes" ]; then echo " '$CFG_ARCH' is supported" @@ -3055,9 +3068,9 @@ if [ "$CFG_HOST_ARCH" != "$CFG_ARCH" ]; then fi if [ "$OPT_VERBOSE" = "yes" ]; then - echo "System architecture: '$CFG_ARCH'" + echo "Target architecture: '$CFG_ARCH'" if [ "$PLATFORM_QWS" = "yes" ]; then - echo "Host architecture: '$CFG_HOST_ARCH'" + echo "Host architecture: '$CFG_HOST_ARCH'" fi fi @@ -4849,7 +4862,7 @@ if [ "$CFG_IWMMXT" = "yes" ]; then fi # detect neon support -if ( [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ] ) && [ "${CFG_NEON}" = "auto" ]; then +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 @@ -6444,7 +6457,7 @@ elif [ "$XPLATFORM" = "symbian-sbsv2" ]; then fi if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then - if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; 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 @@ -7521,10 +7534,20 @@ if [ ! -z "$COMPAT_COMPILER" ]; then fi fi +# is this arch compatible with some other "standard" build key +QT_BUILD_KEY_COMPAT_ARCH= +if [ ! -z "$COMPAT_ARCH" ]; then + QT_BUILD_KEY_COMPAT_ARCH="$CFG_USER_BUILD_KEY $COMPAT_ARCH $TARGET_OPERATING_SYSTEM $COMPILER $BUILD_OPTIONS" + if [ -n "$QT_NAMESPACE" ]; then + QT_BUILD_KEY_COMPAT_COMPILER="$QT_BUILD_KEY_COMPAT_ARCH $QT_NAMESPACE" + fi +fi + # strip out leading/trailing/extra whitespace QT_BUILD_KEY=`echo $QT_BUILD_KEY | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"` QT_BUILD_KEY_COMPAT=`echo $QT_BUILD_KEY_COMPAT | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"` QT_BUILD_KEY_COMPAT_COMPILER=`echo $QT_BUILD_KEY_COMPAT_COMPILER | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"` +QT_BUILD_KEY_COMPAT_ARCH=`echo $QT_BUILD_KEY_COMPAT_ARCH | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"` #------------------------------------------------------------------------------- # part of configuration information goes into qconfig.h @@ -7577,6 +7600,11 @@ if [ -n "$QT_BUILD_KEY_COMPAT_COMPILER" ]; then echo "#define QT_BUILD_KEY_COMPAT2 \"$QT_BUILD_KEY_COMPAT_COMPILER\"" \ >> "$outpath/src/corelib/global/qconfig.h.new" fi +if [ -n "$QT_BUILD_KEY_COMPAT_ARCH" ]; then + echo "#define QT_BUILD_KEY_COMPAT3 \"$QT_BUILD_KEY_COMPAT_ARCH\"" \ + >> "$outpath/src/corelib/global/qconfig.h.new" +fi + echo "" >>"$outpath/src/corelib/global/qconfig.h.new" echo "#ifdef QT_BOOTSTRAPPED" >>"$outpath/src/corelib/global/qconfig.h.new" |