-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
2005-02-10 Roland McGrath <roland@redhat.com> [BZ #632] * scripts/soversions.awk: Expect cpu, vendor, os as separate variables from command line. Grok shlib-versions lines with WORDSIZE* in second column. Add new leading column to output, DEFAULT for existing output lines. Also emit lines with WORDSIZE* for alternate configurations. * Makeconfig ($(common-objpfx)soversions.i): Pass those variables. ($(common-objpfx)soversions.mk): Grok new column, use only DEFAULT. ($(common-objpfx)gnu/lib-names.stmp): Depend on soversions.i instead of soversions.mk; replace inline shell script with use of ... * scripts/lib-names.awk: New file. If input has non-DEFAULT lines, emit multiple sets of macros under #if. * shlib-versions (x86_64-.*-.*): Add WORDSIZE32 line mapping to i686. (s390x-.*-.*): Likewise for s390. (powerpc64-.*-.*): Likewise for powerpc. (sparc64-.*-.*): Likewise for sparc.
- Loading branch information
Roland McGrath
committed
Feb 10, 2005
1 parent
677dda3
commit 91adb52
Showing
5 changed files
with
150 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
# 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; | ||
sub(/\.so.*$/, "", extra); | ||
} | ||
else { | ||
soname = lib ".so." $3; | ||
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 { | ||
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; | ||
} | ||
|
||
default_lines = lines["DEFAULT"]; | ||
delete lines["DEFAULT"]; | ||
if (multi) { | ||
print "#include <bits/wordsize.h>\n"; | ||
pfx = "#if"; | ||
for (kind in lines) { | ||
l = lines[kind]; | ||
sub(/WORDSIZE/, "", kind); | ||
print pfx, "__WORDSIZE", "==", kind; | ||
cmd = "LC_ALL=C sort"; print l | cmd; close(cmd); | ||
pfx = "#elif"; | ||
} | ||
print "#else"; | ||
cmd = "LC_ALL=C sort"; print default_lines | cmd; close(cmd); | ||
print "#endif"; | ||
} | ||
else { | ||
cmd = "LC_ALL=C sort"; print default_lines | cmd; close(cmd); | ||
} | ||
|
||
print ""; | ||
print "#endif /* gnu/lib-names.h */" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters