| # awk script for soversions.i -> gnu/lib-names.h; see Makeconfig. | 
 |  | 
 | # | 
 | { | 
 |   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 { | 
 |     extra = ""; | 
 |   } | 
 |   soname = "\"" soname "\""; | 
 |   lib = toupper(lib); | 
 |   extra = toupper(extra); | 
 |   gsub(/-/, "_", lib); | 
 |   gsub(/-/, "_", extra); | 
 |   macros[$1 FS lib "_SO"] = soname; | 
 |   if (extra) | 
 |     macros[$1 FS extra "_SO"] = soname; | 
 | } | 
 |  | 
 | END { | 
 |   for (elt in macros) { | 
 |     split(elt, x); | 
 |     printf("%-40s%s\n", "#define " x[2], macros[elt]); | 
 |   } | 
 | } |