Blame scripts/lib-names.awk

Packit Service 82fcde
# awk script for soversions.i -> gnu/lib-names.h; see Makeconfig.
Packit Service 82fcde
Packit Service 82fcde
#
Packit Service 82fcde
{
Packit Service 82fcde
  split($1, fields, "=")
Packit Service 82fcde
  lib = fields[1];
Packit Service 82fcde
  soname = version = fields[2];
Packit Service 82fcde
  sub(/^.*=/, "", soname);
Packit Service 82fcde
  sub(/^lib.*\.so\./, "", version);
Packit Service 82fcde
  if ($soname !~ /^lib/) {
Packit Service 82fcde
    extra = soname;
Packit Service 82fcde
    sub(/\.so.*$/, "", extra);
Packit Service 82fcde
  }
Packit Service 82fcde
  else {
Packit Service 82fcde
    extra = "";
Packit Service 82fcde
  }
Packit Service 82fcde
  soname = "\"" soname "\"";
Packit Service 82fcde
  lib = toupper(lib);
Packit Service 82fcde
  extra = toupper(extra);
Packit Service 82fcde
  gsub(/-/, "_", lib);
Packit Service 82fcde
  gsub(/-/, "_", extra);
Packit Service 82fcde
  macros[$1 FS lib "_SO"] = soname;
Packit Service 82fcde
  if (extra)
Packit Service 82fcde
    macros[$1 FS extra "_SO"] = soname;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
END {
Packit Service 82fcde
  for (elt in macros) {
Packit Service 82fcde
    split(elt, x);
Packit Service 82fcde
    printf("%-40s%s\n", "#define " x[2], macros[elt]);
Packit Service 82fcde
  }
Packit Service 82fcde
}