diff options
author | Elliott Hughes <enh@google.com> | 2018-09-06 16:04:08 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2018-12-17 12:26:42 -0800 |
commit | d19b3c527427770164437d258744828acadb6e42 (patch) | |
tree | d7628a87508447e39dd5a090481b357ad9ca5876 /tools | |
parent | 9ea997a2ac4eeb26230e65d2b680ebff6fe0b8a4 (diff) | |
download | bionic-d19b3c527427770164437d258744828acadb6e42.tar.gz |
Generate the per-arch .map files at build time.
We shouldn't be checking in these generated files...
Bug: N/A
Test: ran tests
Change-Id: Ib67c1ba839eacd7acebd713e1dcd4dd2c25d67f0
Diffstat (limited to 'tools')
-rw-r--r-- | tools/Android.bp | 5 | ||||
-rwxr-xr-x | tools/generate-version-script.py | 30 |
2 files changed, 35 insertions, 0 deletions
diff --git a/tools/Android.bp b/tools/Android.bp index b44c29601..c540c3cea 100644 --- a/tools/Android.bp +++ b/tools/Android.bp @@ -1 +1,6 @@ subdirs = ["*"] + +filegroup { + name: "bionic-generate-version-script", + srcs: ["generate-version-script.py"], +} diff --git a/tools/generate-version-script.py b/tools/generate-version-script.py new file mode 100755 index 000000000..acfe21859 --- /dev/null +++ b/tools/generate-version-script.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python + +# This tool is used to generate the version scripts for libc, libm, libdl, +# and libstdc++ for every architecture. + +# usage: generate-version-script.py ARCH INPUT OUTPUT + +import sys + +def has_arch_tags(tags): + for arch in ["arm", "arm64", "x86", "x86_64"]: + if arch in tags: + return True + return False + +def GenerateVersionScript(arch, in_filename, out_filename): + with open(out_filename, "w") as fout: + with open(in_filename, "r") as fin: + for line in fin: + index = line.find("#") + if index != -1: + tags = line[index+1:].split() + if arch not in tags and has_arch_tags(tags): + continue + fout.write(line) + +arch = sys.argv[1] +in_filename = sys.argv[2] +out_filename = sys.argv[3] +GenerateVersionScript(arch, in_filename, out_filename) |