| lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame] | 1 | # awk script for soversions.i -> gnu/lib-names.h; see Makeconfig. | 
|  | 2 |  | 
|  | 3 | # | 
|  | 4 | { | 
|  | 5 | split($1, fields, "=") | 
|  | 6 | lib = fields[1]; | 
|  | 7 | soname = version = fields[2]; | 
|  | 8 | sub(/^.*=/, "", soname); | 
|  | 9 | sub(/^lib.*\.so\./, "", version); | 
|  | 10 | if ($soname !~ /^lib/) { | 
|  | 11 | extra = soname; | 
|  | 12 | sub(/\.so.*$/, "", extra); | 
|  | 13 | } | 
|  | 14 | else { | 
|  | 15 | extra = ""; | 
|  | 16 | } | 
|  | 17 | soname = "\"" soname "\""; | 
|  | 18 | lib = toupper(lib); | 
|  | 19 | extra = toupper(extra); | 
|  | 20 | gsub(/-/, "_", lib); | 
|  | 21 | gsub(/-/, "_", extra); | 
|  | 22 | macros[$1 FS lib "_SO"] = soname; | 
|  | 23 | if (extra) | 
|  | 24 | macros[$1 FS extra "_SO"] = soname; | 
|  | 25 | } | 
|  | 26 |  | 
|  | 27 | END { | 
|  | 28 | for (elt in macros) { | 
|  | 29 | split(elt, x); | 
|  | 30 | printf("%-40s%s\n", "#define " x[2], macros[elt]); | 
|  | 31 | } | 
|  | 32 | } |