ref: bfc75f738294d8d788b63b30caf001ed8dfb0ec5
parent: 5a9f21db548f1a3d9b31dfc4f758a0af83bab725
author: Tom Finegan <tomfinegan@google.com>
date: Wed Jun 15 10:34:34 EDT 2016
Disable neon for Xcode versions < v6.3. vtbl1_u8 is marked unavailable prior to Xcode v6.3. BUG=webm:1154 Change-Id: I08bd34f712ab7da72658c89d8b606658c1348923
--- a/build/make/configure.sh
+++ b/build/make/configure.sh
@@ -638,6 +638,26 @@
xcrun --sdk $1 --show-sdk-version 2>/dev/null | cut -d. -f1
}
+# Print the Xcode version.
+show_xcode_version() {
+ xcodebuild -version | head -n1 | cut -d' ' -f2
+}
+
+# Fails when Xcode version is less than 6.3.
+check_xcode_minimum_version() {
+ xcode_major=$(show_xcode_version | cut -f1 -d.)
+ xcode_minor=$(show_xcode_version | cut -f2 -d.)
+ xcode_min_major=6
+ xcode_min_minor=3
+ if [ ${xcode_major} -lt ${xcode_min_major} ]; then
+ return 1
+ fi
+ if [ ${xcode_major} -eq ${xcode_min_major} ] \
+ && [ ${xcode_minor} -lt ${xcode_min_minor} ]; then
+ return 1
+ fi
+}
+
process_common_toolchain() {
if [ -z "$toolchain" ]; then
gcctarget="${CHOST:-$(gcc -dumpmachine 2> /dev/null)}"
@@ -1050,6 +1070,19 @@
[ -d "${try_dir}" ] && add_ldflags -L"${try_dir}"
done
+ case ${tgt_isa} in
+ armv7|armv7s|armv8|arm64)
+ if enabled neon && ! check_xcode_minimum_version; then
+ soft_disable neon
+ log_echo " neon disabled: upgrade Xcode (need v6.3+)."
+ if enabled neon_asm; then
+ soft_disable neon_asm
+ log_echo " neon_asm disabled: upgrade Xcode (need v6.3+)."
+ fi
+ fi
+ ;;
+ esac
+
asm_conversion_cmd="${source_path}/build/make/ads2gas_apple.pl"
if [ "$(show_darwin_sdk_major_version iphoneos)" -gt 8 ]; then
@@ -1105,7 +1138,7 @@
check_add_ldflags -mfp64
;;
i6400)
- check_add_cflags -mips64r6 -mabi=64 -funroll-loops -msched-weight
+ check_add_cflags -mips64r6 -mabi=64 -funroll-loops -msched-weight
check_add_cflags -mload-store-pairs -mhard-float -mfp64
check_add_asflags -mips64r6 -mabi=64 -mhard-float -mfp64
check_add_ldflags -mips64r6 -mabi=64 -mfp64