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