aboutsummaryrefslogtreecommitdiff
path: root/checkbuild.py
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2015-10-28 16:44:24 -0700
committerDan Albert <danalbert@google.com>2015-10-28 17:02:45 -0700
commit88d603ac1b058bf9a2157a14de92a3ef0370ef7d (patch)
tree448924db4cc90413da0f29010bd4889ff0e58079 /checkbuild.py
parent2fa210f85e25e9e530efe26a04bbb34499792165 (diff)
downloadndk-88d603ac1b058bf9a2157a14de92a3ef0370ef7d.tar.gz
Also copy libatomic with gcclibs.
Change-Id: I79e10b0a6877572a9fdb8e52d4f81253c0cc0249
Diffstat (limited to 'checkbuild.py')
-rw-r--r--checkbuild.py39
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)