mirror of
https://github.com/servo/servo.git
synced 2025-06-14 19:34:29 +00:00
Use llvm toolchain for entirety of android build.
This commit is contained in:
parent
6fb7a8cdc7
commit
ccde5867fb
7 changed files with 17 additions and 22 deletions
|
@ -352,7 +352,6 @@ class MachCommands(CommandBase):
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
env["RUST_TARGET"] = target
|
env["RUST_TARGET"] = target
|
||||||
env["ANDROID_TOOLCHAIN_NAME"] = android_toolchain_name
|
|
||||||
with cd(openssl_dir):
|
with cd(openssl_dir):
|
||||||
status = call(
|
status = call(
|
||||||
make_cmd + ["-f", "openssl.makefile"],
|
make_cmd + ["-f", "openssl.makefile"],
|
||||||
|
@ -386,9 +385,7 @@ class MachCommands(CommandBase):
|
||||||
android_toolchain_prefix + "-4.9", "prebuilt", host)
|
android_toolchain_prefix + "-4.9", "prebuilt", host)
|
||||||
gcc_libs = path.join(gcc_toolchain, "lib", "gcc", android_toolchain_name, "4.9.x")
|
gcc_libs = path.join(gcc_toolchain, "lib", "gcc", android_toolchain_name, "4.9.x")
|
||||||
|
|
||||||
env['PATH'] = (path.join(llvm_toolchain, "bin") + ':'
|
env['PATH'] = (path.join(llvm_toolchain, "bin") + ':' + env['PATH'])
|
||||||
+ path.join(gcc_toolchain, "bin") + ':'
|
|
||||||
+ env['PATH'])
|
|
||||||
env['ANDROID_SYSROOT'] = path.join(env['ANDROID_NDK'], "sysroot")
|
env['ANDROID_SYSROOT'] = path.join(env['ANDROID_NDK'], "sysroot")
|
||||||
support_include = path.join(env['ANDROID_NDK'], "sources", "android", "support", "include")
|
support_include = path.join(env['ANDROID_NDK'], "sources", "android", "support", "include")
|
||||||
cpufeatures_include = path.join(env['ANDROID_NDK'], "sources", "android", "cpufeatures")
|
cpufeatures_include = path.join(env['ANDROID_NDK'], "sources", "android", "cpufeatures")
|
||||||
|
@ -468,7 +465,6 @@ class MachCommands(CommandBase):
|
||||||
env["NDK_ANDROID_VERSION"] = android_api
|
env["NDK_ANDROID_VERSION"] = android_api
|
||||||
env["ANDROID_ABI"] = android_lib
|
env["ANDROID_ABI"] = android_lib
|
||||||
env["ANDROID_PLATFORM"] = android_platform
|
env["ANDROID_PLATFORM"] = android_platform
|
||||||
env["ANDROID_TOOLCHAIN_NAME"] = "clang"
|
|
||||||
env["NDK_CMAKE_TOOLCHAIN_FILE"] = path.join(env['ANDROID_NDK'], "build", "cmake", "android.toolchain.cmake")
|
env["NDK_CMAKE_TOOLCHAIN_FILE"] = path.join(env['ANDROID_NDK'], "build", "cmake", "android.toolchain.cmake")
|
||||||
env["CMAKE_TOOLCHAIN_FILE"] = path.join(self.android_support_dir(), "toolchain.cmake")
|
env["CMAKE_TOOLCHAIN_FILE"] = path.join(self.android_support_dir(), "toolchain.cmake")
|
||||||
# Set output dir for gradle aar files
|
# Set output dir for gradle aar files
|
||||||
|
|
|
@ -11,5 +11,4 @@ set -o pipefail
|
||||||
source ./support/android/fakeld/fake-ld.sh
|
source ./support/android/fakeld/fake-ld.sh
|
||||||
|
|
||||||
export _GCC_PARAMS="${@}"
|
export _GCC_PARAMS="${@}"
|
||||||
call_gcc "arch-arm" "arm-linux-androideabi" "android-21" "armeabi" \
|
call_gcc "arch-arm" "armeabi" "arm-linux-androideabi"
|
||||||
"arm-linux-androideabi"
|
|
||||||
|
|
|
@ -11,5 +11,4 @@ set -o pipefail
|
||||||
source ./support/android/fakeld/fake-ld.sh
|
source ./support/android/fakeld/fake-ld.sh
|
||||||
|
|
||||||
export _GCC_PARAMS="${@}"
|
export _GCC_PARAMS="${@}"
|
||||||
call_gcc "arch-arm64" "aarch64-linux-android" "android-21" "arm64-v8a" \
|
call_gcc "arch-arm64" "arm64-v8a" "aarch64-linux-android"
|
||||||
"aarch64-linux-android"
|
|
||||||
|
|
|
@ -11,5 +11,4 @@ set -o pipefail
|
||||||
source ./support/android/fakeld/fake-ld.sh
|
source ./support/android/fakeld/fake-ld.sh
|
||||||
|
|
||||||
export _GCC_PARAMS="${@}"
|
export _GCC_PARAMS="${@}"
|
||||||
call_gcc "arch-arm" "arm-linux-androideabi" "android-21" "armeabi-v7a" \
|
call_gcc "arch-arm" "armeabi-v7a" "armv7-linux-androideabi"
|
||||||
"arm-linux-androideabi"
|
|
||||||
|
|
|
@ -11,4 +11,4 @@ set -o pipefail
|
||||||
source ./support/android/fakeld/fake-ld.sh
|
source ./support/android/fakeld/fake-ld.sh
|
||||||
|
|
||||||
export _GCC_PARAMS="${@}"
|
export _GCC_PARAMS="${@}"
|
||||||
call_gcc "arch-x86" "x86" "android-21" "x86" "i686-linux-android"
|
call_gcc "arch-x86" "x86" "i686-linux-android"
|
||||||
|
|
|
@ -13,25 +13,27 @@ call_gcc()
|
||||||
TARGET_DIR="${OUT_DIR}/../../.."
|
TARGET_DIR="${OUT_DIR}/../../.."
|
||||||
|
|
||||||
export _ANDROID_ARCH=$1
|
export _ANDROID_ARCH=$1
|
||||||
export _ANDROID_EABI=$2
|
export _ANDROID_TARGET=$3
|
||||||
export _ANDROID_PLATFORM=$3
|
export ANDROID_SYSROOT="${ANDROID_NDK}/platforms/${ANDROID_PLATFORM}/${_ANDROID_ARCH}"
|
||||||
export ANDROID_SYSROOT="${ANDROID_NDK}/platforms/${_ANDROID_PLATFORM}/${_ANDROID_ARCH}"
|
|
||||||
ANDROID_TOOLCHAIN=""
|
ANDROID_TOOLCHAIN=""
|
||||||
for host in "linux-x86_64" "linux-x86" "darwin-x86_64" "darwin-x86"; do
|
for host in "linux-x86_64" "linux-x86" "darwin-x86_64" "darwin-x86"; do
|
||||||
if [[ -d "${ANDROID_NDK}/toolchains/${_ANDROID_EABI}-4.9/prebuilt/${host}/bin" ]]; then
|
if [[ -d "${ANDROID_NDK}/toolchains/llvm/prebuilt/${host}/bin" ]]; then
|
||||||
ANDROID_TOOLCHAIN="${ANDROID_NDK}/toolchains/${_ANDROID_EABI}-4.9/prebuilt/${host}/bin"
|
ANDROID_TOOLCHAIN="${ANDROID_NDK}/toolchains/llvm/prebuilt/${host}/bin"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
ANDROID_CPU_ARCH_DIR=$4
|
ANDROID_CPU_ARCH_DIR=$2
|
||||||
ANDROID_CXX_LIBS="${ANDROID_NDK}/sources/cxx-stl/llvm-libc++/libs/${ANDROID_CPU_ARCH_DIR}"
|
ANDROID_CXX_LIBS="${ANDROID_NDK}/sources/cxx-stl/llvm-libc++/libs/${ANDROID_CPU_ARCH_DIR}"
|
||||||
|
|
||||||
echo "toolchain: ${ANDROID_TOOLCHAIN}"
|
echo "toolchain: ${ANDROID_TOOLCHAIN}"
|
||||||
echo "libs dir: ${ANDROID_CXX_LIBS}"
|
echo "libs dir: ${ANDROID_CXX_LIBS}"
|
||||||
echo "sysroot: ${ANDROID_SYSROOT}"
|
echo "sysroot: ${ANDROID_SYSROOT}"
|
||||||
echo "targetdir: ${ANDROID_CXX_LIBS}"
|
echo "targetdir: ${TARGET_DIR}"
|
||||||
|
|
||||||
"${ANDROID_TOOLCHAIN}/$5-gcc" \
|
"${ANDROID_TOOLCHAIN}/clang" \
|
||||||
--sysroot="${ANDROID_SYSROOT}" -L "${ANDROID_CXX_LIBS}" ${_GCC_PARAMS} -lc++
|
--sysroot="${ANDROID_SYSROOT}" \
|
||||||
|
--gcc-toolchain="${GCC_TOOLCHAIN}" \
|
||||||
|
--target="${_ANDROID_TARGET}" \
|
||||||
|
-L "${ANDROID_CXX_LIBS}" ${_GCC_PARAMS} -lc++
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
set(CMAKE_VERBOSE_MAKEFILE ON)
|
set(CMAKE_VERBOSE_MAKEFILE ON)
|
||||||
set(ANDROID_ABI $ENV{ANDROID_ABI})
|
set(ANDROID_ABI $ENV{ANDROID_ABI})
|
||||||
set(ANDROID_TOOLCHAIN_NAME $ENV{ANDROID_TOOLCHAIN_NAME})
|
set(ANDROID_TOOLCHAIN_NAME clang)
|
||||||
set(ANDROID_PLATFORM $ENV{ANDROID_PLATFORM})
|
set(ANDROID_PLATFORM $ENV{ANDROID_PLATFORM})
|
||||||
|
|
||||||
include($ENV{NDK_CMAKE_TOOLCHAIN_FILE})
|
include($ENV{NDK_CMAKE_TOOLCHAIN_FILE})
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue