diff options
author | Dan Albert <danalbert@google.com> | 2015-09-02 11:33:56 -0700 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2015-09-02 12:01:06 -0700 |
commit | 68b7feb6c6babb278d672011406dec564b6a8a15 (patch) | |
tree | 1df14be0ede78ddae4c2223b8c2c0796c78e5212 /sources | |
parent | 04124e6fa54a27b07635953982c2bb763a14d062 (diff) | |
download | ndk-68b7feb6c6babb278d672011406dec564b6a8a15.tar.gz |
Split libc++ into a module.
Bug: http://b/23362228
Change-Id: I344cae5b848da04dd92663c956c0c80a611a359c
Diffstat (limited to 'sources')
-rwxr-xr-x | sources/cxx-stl/llvm-libc++/build.py | 60 |
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) |