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
diff --git a/tools/generate-version-script.py b/tools/generate-version-script.py
new file mode 100755
index 0000000..acfe218
--- /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)