diff options
Diffstat (limited to 'scripts/lib-names.awk')
-rw-r--r-- | scripts/lib-names.awk | 51 |
1 files changed, 9 insertions, 42 deletions
diff --git a/scripts/lib-names.awk b/scripts/lib-names.awk index 77e6668515..ccb7b7f431 100644 --- a/scripts/lib-names.awk +++ b/scripts/lib-names.awk @@ -1,18 +1,17 @@ # awk script for soversions.i -> gnu/lib-names.h; see Makeconfig. -$1 != "DEFAULT" { multi = 1 } - # { - lib = $2; - version = $3; - if ($3 !~ /^[0-9]/) { - soname = $3; - extra = $3; + split($1, fields, "=") + lib = fields[1]; + soname = version = fields[2]; + sub(/^.*=/, "", soname); + sub(/^lib.*\.so\./, "", version); + if ($soname !~ /^lib/) { + extra = soname; sub(/\.so.*$/, "", extra); } else { - soname = lib ".so." $3; extra = ""; } soname = "\"" soname "\""; @@ -26,41 +25,9 @@ $1 != "DEFAULT" { multi = 1 } } END { - print "/* This file is automatically generated."; - print " It defines macros to allow user program to find the shared"; - print " library files which come as part of GNU libc. */"; - print "#ifndef __GNU_LIB_NAMES_H"; - print "#define __GNU_LIB_NAMES_H 1"; - print ""; - - pfx = multi ? "# define " : "#define "; for (elt in macros) { split(elt, x); - line = sprintf("%-40s%s", pfx x[2], macros[elt]); - if (x[1] in lines) - lines[x[1]] = lines[x[1]] "\n" line; - else - lines[x[1]] = line; - } - - if (multi) { - # Print these in a fixed order so the result is identical - # on both sides of the coin. - if (!("WORDSIZE32" in lines)) - lines["WORDSIZE32"] = lines["DEFAULT"]; - if (!("WORDSIZE64" in lines)) - lines["WORDSIZE64"] = lines["DEFAULT"]; - print "#include <bits/wordsize.h>\n"; - print "#if __WORDSIZE == 32"; - cmd = "LC_ALL=C sort"; print lines["WORDSIZE32"] | cmd; close(cmd); - print "#else" - cmd = "LC_ALL=C sort"; print lines["WORDSIZE64"] | cmd; close(cmd); - print "#endif"; + pfx = multi ? "# define " : "#define "; + printf("%-40s%s\n", pfx x[2], macros[elt]); } - else { - cmd = "LC_ALL=C sort"; print lines["DEFAULT"] | cmd; close(cmd); - } - - print ""; - print "#endif /* gnu/lib-names.h */" } |