mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +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)
|
||||
|
||||
env["RUST_TARGET"] = target
|
||||
env["ANDROID_TOOLCHAIN_NAME"] = android_toolchain_name
|
||||
with cd(openssl_dir):
|
||||
status = call(
|
||||
make_cmd + ["-f", "openssl.makefile"],
|
||||
|
@ -386,9 +385,7 @@ class MachCommands(CommandBase):
|
|||
android_toolchain_prefix + "-4.9", "prebuilt", host)
|
||||
gcc_libs = path.join(gcc_toolchain, "lib", "gcc", android_toolchain_name, "4.9.x")
|
||||
|
||||
env['PATH'] = (path.join(llvm_toolchain, "bin") + ':'
|
||||
+ path.join(gcc_toolchain, "bin") + ':'
|
||||
+ env['PATH'])
|
||||
env['PATH'] = (path.join(llvm_toolchain, "bin") + ':' + env['PATH'])
|
||||
env['ANDROID_SYSROOT'] = path.join(env['ANDROID_NDK'], "sysroot")
|
||||
support_include = path.join(env['ANDROID_NDK'], "sources", "android", "support", "include")
|
||||
cpufeatures_include = path.join(env['ANDROID_NDK'], "sources", "android", "cpufeatures")
|
||||
|
@ -468,7 +465,6 @@ class MachCommands(CommandBase):
|
|||
env["NDK_ANDROID_VERSION"] = android_api
|
||||
env["ANDROID_ABI"] = android_lib
|
||||
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["CMAKE_TOOLCHAIN_FILE"] = path.join(self.android_support_dir(), "toolchain.cmake")
|
||||
# Set output dir for gradle aar files
|
||||
|
|
|
@ -11,5 +11,4 @@ set -o pipefail
|
|||
source ./support/android/fakeld/fake-ld.sh
|
||||
|
||||
export _GCC_PARAMS="${@}"
|
||||
call_gcc "arch-arm" "arm-linux-androideabi" "android-21" "armeabi" \
|
||||
"arm-linux-androideabi"
|
||||
call_gcc "arch-arm" "armeabi" "arm-linux-androideabi"
|
||||
|
|
|
@ -11,5 +11,4 @@ set -o pipefail
|
|||
source ./support/android/fakeld/fake-ld.sh
|
||||
|
||||
export _GCC_PARAMS="${@}"
|
||||
call_gcc "arch-arm64" "aarch64-linux-android" "android-21" "arm64-v8a" \
|
||||
"aarch64-linux-android"
|
||||
call_gcc "arch-arm64" "arm64-v8a" "aarch64-linux-android"
|
||||
|
|
|
@ -11,5 +11,4 @@ set -o pipefail
|
|||
source ./support/android/fakeld/fake-ld.sh
|
||||
|
||||
export _GCC_PARAMS="${@}"
|
||||
call_gcc "arch-arm" "arm-linux-androideabi" "android-21" "armeabi-v7a" \
|
||||
"arm-linux-androideabi"
|
||||
call_gcc "arch-arm" "armeabi-v7a" "armv7-linux-androideabi"
|
||||
|
|
|
@ -11,4 +11,4 @@ set -o pipefail
|
|||
source ./support/android/fakeld/fake-ld.sh
|
||||
|
||||
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}/../../.."
|
||||
|
||||
export _ANDROID_ARCH=$1
|
||||
export _ANDROID_EABI=$2
|
||||
export _ANDROID_PLATFORM=$3
|
||||
export ANDROID_SYSROOT="${ANDROID_NDK}/platforms/${_ANDROID_PLATFORM}/${_ANDROID_ARCH}"
|
||||
export _ANDROID_TARGET=$3
|
||||
export ANDROID_SYSROOT="${ANDROID_NDK}/platforms/${ANDROID_PLATFORM}/${_ANDROID_ARCH}"
|
||||
ANDROID_TOOLCHAIN=""
|
||||
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
|
||||
ANDROID_TOOLCHAIN="${ANDROID_NDK}/toolchains/${_ANDROID_EABI}-4.9/prebuilt/${host}/bin"
|
||||
if [[ -d "${ANDROID_NDK}/toolchains/llvm/prebuilt/${host}/bin" ]]; then
|
||||
ANDROID_TOOLCHAIN="${ANDROID_NDK}/toolchains/llvm/prebuilt/${host}/bin"
|
||||
break
|
||||
fi
|
||||
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}"
|
||||
|
||||
echo "toolchain: ${ANDROID_TOOLCHAIN}"
|
||||
echo "libs dir: ${ANDROID_CXX_LIBS}"
|
||||
echo "sysroot: ${ANDROID_SYSROOT}"
|
||||
echo "targetdir: ${ANDROID_CXX_LIBS}"
|
||||
echo "targetdir: ${TARGET_DIR}"
|
||||
|
||||
"${ANDROID_TOOLCHAIN}/$5-gcc" \
|
||||
--sysroot="${ANDROID_SYSROOT}" -L "${ANDROID_CXX_LIBS}" ${_GCC_PARAMS} -lc++
|
||||
"${ANDROID_TOOLCHAIN}/clang" \
|
||||
--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(ANDROID_ABI $ENV{ANDROID_ABI})
|
||||
set(ANDROID_TOOLCHAIN_NAME $ENV{ANDROID_TOOLCHAIN_NAME})
|
||||
set(ANDROID_TOOLCHAIN_NAME clang)
|
||||
set(ANDROID_PLATFORM $ENV{ANDROID_PLATFORM})
|
||||
|
||||
include($ENV{NDK_CMAKE_TOOLCHAIN_FILE})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue