You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
823 B
31 lines
823 B
#!/usr/bin/env python3
|
|
|
|
# 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)
|