summaryrefslogtreecommitdiff
path: root/etc/scons
diff options
context:
space:
mode:
authorGabriel Russell <gabriel.russell@mongodb.com>2019-04-01 15:29:17 -0400
committerGabriel Russell <gabriel.russell@mongodb.com>2019-04-25 14:43:45 -0400
commit24d4a296aacf4acc981094f5cdf973ad62ab67fa (patch)
treeec6a720a604c709cc4d38bceb25f7353052748eb /etc/scons
parentfdc3712e4cb89c23451061b4c927a78340269d89 (diff)
downloadmongo-24d4a296aacf4acc981094f5cdf973ad62ab67fa.tar.gz
SERVER-39465 upgrade android toolchain to r19c
Diffstat (limited to 'etc/scons')
-rw-r--r--etc/scons/aarch64-linux-android_toolchain.vars3
-rw-r--r--etc/scons/android_toolchain.vars30
-rw-r--r--etc/scons/armv7a-linux-androideabi_toolchain.vars3
-rw-r--r--etc/scons/x86_64-linux-android_toolchain.vars3
4 files changed, 23 insertions, 16 deletions
diff --git a/etc/scons/aarch64-linux-android_toolchain.vars b/etc/scons/aarch64-linux-android_toolchain.vars
new file mode 100644
index 00000000000..2c8cb371f43
--- /dev/null
+++ b/etc/scons/aarch64-linux-android_toolchain.vars
@@ -0,0 +1,3 @@
+android_compiler_target="aarch64-linux-android"
+android_tool_target=android_compiler_target
+exec(open("etc/scons/android_toolchain.vars", "rb").read())
diff --git a/etc/scons/android_toolchain.vars b/etc/scons/android_toolchain.vars
index 14e12cb5709..6a40eae0be0 100644
--- a/etc/scons/android_toolchain.vars
+++ b/etc/scons/android_toolchain.vars
@@ -10,12 +10,14 @@ if platform.system() == "Windows":
compiler_suffix = ".cmd"
toolchain_root = SCons.Script.Main.GetOption('toolchain-root')
-
if not toolchain_root:
print("Path to Android standalone toolchain must be set with --toolchain-root when using android_toolchain.vars")
SCons.Script.Exit(1)
-toolchain_bindir = os.path.join(toolchain_root, 'bin')
+host="linux-x86_64"
+android_version="21"
+
+toolchain_bindir = os.path.join(toolchain_root,'ndk-bundle','toolchains','llvm','prebuilt',host,'bin')
# Get the default SCons path as a list
default_path = SCons.Defaults.DefaultEnvironment()['ENV']['PATH'].split(os.pathsep)
@@ -25,22 +27,18 @@ ENV = {
'PATH' : os.pathsep.join([toolchain_bindir] + default_path)
}
-CC=os.path.join(toolchain_bindir, "clang" + compiler_suffix)
-CXX=os.path.join(toolchain_bindir, "clang++" + compiler_suffix)
-
-try:
- AR = subprocess.check_output([CXX, '-print-prog-name=ar']).decode('utf-8').strip()
- AS = subprocess.check_output([CXX, '-print-prog-name=as']).decode('utf-8').strip()
- OBJCOPY = subprocess.check_output([CXX, '-print-prog-name=objcopy']).decode('utf-8').strip()
-except subprocess.CalledProcessError as e:
- print(("Failed while invoking toolchain binary " + CXX + ": " + e.output))
- SCons.Script.Exit(-1)
-except OSError as e:
- print(("Failed to invoke toolchain binary " + CXX + ": " + str(e)))
- SCons.Script.Exit(-1)
+AR= os.path.join(toolchain_bindir, "llvm-ar" + compiler_suffix)
+AS= os.path.join(toolchain_bindir, android_tool_target + "-as" + compiler_suffix)
+CC= os.path.join(toolchain_bindir, android_compiler_target + android_version + "-clang" + compiler_suffix)
+CXX= os.path.join(toolchain_bindir, android_compiler_target + android_version + "-clang++" + compiler_suffix)
+LD= os.path.join(toolchain_bindir, android_tool_target + "-ld" + compiler_suffix)
+RANLIB= os.path.join(toolchain_bindir, android_tool_target + "-ranlib" + compiler_suffix)
+STRIP= os.path.join(toolchain_bindir, android_tool_target + "-strip" + compiler_suffix)
+OBJCOPY=os.path.join(toolchain_bindir, android_tool_target + "-objcopy" + compiler_suffix)
LINKFLAGS='-static-libstdc++ -fuse-ld=gold'
-CPPDEFINES='__ANDROID_API__=21 _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR'
+CXXFLAGS='-stdlib=libc++'
+CPPDEFINES='__ANDROID_API__=' + android_version + ' _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR'
TARGET_OS="android"
TOOLS="gcc g++ gnulink ar gas"
diff --git a/etc/scons/armv7a-linux-androideabi_toolchain.vars b/etc/scons/armv7a-linux-androideabi_toolchain.vars
new file mode 100644
index 00000000000..5fa229ba2e4
--- /dev/null
+++ b/etc/scons/armv7a-linux-androideabi_toolchain.vars
@@ -0,0 +1,3 @@
+android_compiler_target="armv7a-linux-androideabi"
+android_tool_target="arm-linux-androideabi"
+exec(open("etc/scons/android_toolchain.vars", "rb").read())
diff --git a/etc/scons/x86_64-linux-android_toolchain.vars b/etc/scons/x86_64-linux-android_toolchain.vars
new file mode 100644
index 00000000000..b4fbd15ec5e
--- /dev/null
+++ b/etc/scons/x86_64-linux-android_toolchain.vars
@@ -0,0 +1,3 @@
+android_compiler_target="x86_64-linux-android"
+android_tool_target=android_compiler_target
+exec(open("etc/scons/android_toolchain.vars", "rb").read())