aboutsummaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2015-09-02 11:33:56 -0700
committerDan Albert <danalbert@google.com>2015-09-02 12:01:06 -0700
commit68b7feb6c6babb278d672011406dec564b6a8a15 (patch)
tree1df14be0ede78ddae4c2223b8c2c0796c78e5212 /sources
parent04124e6fa54a27b07635953982c2bb763a14d062 (diff)
downloadndk-68b7feb6c6babb278d672011406dec564b6a8a15.tar.gz
Split libc++ into a module.
Bug: http://b/23362228 Change-Id: I344cae5b848da04dd92663c956c0c80a611a359c
Diffstat (limited to 'sources')
-rwxr-xr-xsources/cxx-stl/llvm-libc++/build.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/sources/cxx-stl/llvm-libc++/build.py b/sources/cxx-stl/llvm-libc++/build.py
new file mode 100755
index 000000000..df26bba18
--- /dev/null
+++ b/sources/cxx-stl/llvm-libc++/build.py
@@ -0,0 +1,60 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+"""Builds libc++ for Android."""
+from __future__ import print_function
+
+import os
+import site
+
+site.addsitedir(os.path.join(os.path.dirname(__file__), '../../../build/lib'))
+
+import build_support
+
+
+class ArgParser(build_support.ArgParser):
+ def __init__(self):
+ super(ArgParser, self).__init__()
+
+ self.add_argument(
+ '--arch', choices=build_support.ALL_ARCHITECTURES,
+ help='Architectures to build. Builds all if not present.')
+
+
+def main(args):
+ arches = build_support.ALL_ARCHITECTURES
+ if args.arch is not None:
+ arches = [args.arch]
+
+ abis = []
+ for arch in arches:
+ abis.extend(build_support.arch_to_abis(arch))
+
+ print('Building libc++ for ABIs: {}'.format(' '.join(abis)))
+
+ abis_arg = '--abis={}'.format(','.join(abis))
+ ndk_dir_arg = '--ndk-dir={}'.format(build_support.ndk_path())
+ script = build_support.ndk_path('build/tools/build-cxx-stl.sh')
+ build_cmd = [
+ 'bash', script, '--stl=libc++-libc++abi', abis_arg, ndk_dir_arg,
+ build_support.jobs_arg(), build_support.toolchain_path(),
+ '--with-debug-info', '--llvm-version=3.6',
+ ]
+
+ build_support.build(build_cmd, args)
+
+if __name__ == '__main__':
+ build_support.run(main, ArgParser)