summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorBradley T. Hughes <bradley.hughes@nokia.com>2010-09-22 10:08:36 (GMT)
committerBradley T. Hughes <bradley.hughes@nokia.com>2010-09-23 09:21:06 (GMT)
commit7be2c5824e0331bbeec87b482e71efe72fb026b0 (patch)
tree311452fc3a927ba14a25b489e9f404f2a88e7967 /configure
parent1c0b32371f912c76ad6a943d6bdab6f024b7ee34 (diff)
downloadQt-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-xconfigure36
1 files changed, 32 insertions, 4 deletions
diff --git a/configure b/configure
index 4316cc8..5b8d46e 100755
--- a/configure
+++ b/configure
@@ -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"