#!/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", "riscv64", "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)