diff options
author | Dan Albert <danalbert@google.com> | 2015-10-28 16:44:24 -0700 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2015-10-28 17:02:45 -0700 |
commit | 88d603ac1b058bf9a2157a14de92a3ef0370ef7d (patch) | |
tree | 448924db4cc90413da0f29010bd4889ff0e58079 /checkbuild.py | |
parent | 2fa210f85e25e9e530efe26a04bbb34499792165 (diff) | |
download | ndk-88d603ac1b058bf9a2157a14de92a3ef0370ef7d.tar.gz |
Also copy libatomic with gcclibs.
Change-Id: I79e10b0a6877572a9fdb8e52d4f81253c0cc0249
Diffstat (limited to 'checkbuild.py')
-rw-r--r-- | checkbuild.py | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/checkbuild.py b/checkbuild.py index c25552030..3f28162b0 100644 --- a/checkbuild.py +++ b/checkbuild.py @@ -295,28 +295,41 @@ def build_gcc_libs(out_dir, args): arches = [args.arch] for arch in arches: - libgccs = ['libgcc.a'] + toolchain = build_support.arch_to_toolchain(arch) + triple = fixup_toolchain_triple(toolchain) + libgcc_subdir = 'lib/gcc/{}/4.9.x-google'.format(triple) + is64 = arch.endswith('64') + libatomic_subdir = '{}/lib{}'.format(triple, '64' if is64 else '') + + lib_names = [ + (libatomic_subdir, 'libatomic.a'), + (libgcc_subdir, 'libgcc.a'), + ] + + lib_dirs = [''] if arch == 'arm': - libgccs += [ - 'armv7-a/libgcc.a', - 'armv7-a/hard/libgcc.a', - 'armv7-a/thumb/libgcc.a', - 'armv7-a/thumb/hard/libgcc.a', - 'thumb/libgcc.a', + lib_dirs += [ + 'armv7-a', + 'armv7-a/hard', + 'armv7-a/thumb', + 'armv7-a/thumb/hard', + 'thumb', ] + libs = [] + for lib_dir in lib_dirs: + for subdir, lib in lib_names: + libs.append((subdir, os.path.join(lib_dir, lib))) + tmpdir = tempfile.mkdtemp() try: install_dir = os.path.join(tmpdir, 'prebuilt/gcclibs') os.makedirs(install_dir) gcc_path = get_prebuilt_gcc(args.system, arch) - toolchain = build_support.arch_to_toolchain(arch) - triple = fixup_toolchain_triple(toolchain) - gcc_libpath = 'lib/gcc/{}/4.9.x-google'.format(triple) - for libgcc in libgccs: - src = os.path.join(gcc_path, gcc_libpath, libgcc) - dst = os.path.join(install_dir, triple, libgcc) + for gcc_subdir, lib in libs: + src = os.path.join(gcc_path, gcc_subdir, lib) + dst = os.path.join(install_dir, triple, lib) dst_dir = os.path.dirname(dst) if not os.path.exists(dst_dir): os.makedirs(dst_dir) |