]>
Commit | Line | Data |
---|---|---|
f19f2166 JB |
1 | Index: libc/Makeconfig |
2 | =================================================================== | |
3 | RCS file: /cvs/glibc/libc/Makeconfig,v | |
4 | retrieving revision 1.297 | |
5 | retrieving revision 1.298 | |
6 | diff -u -r1.297 -r1.298 | |
7 | --- libc/Makeconfig 5 Aug 2004 03:34:28 -0000 1.297 | |
8 | +++ libc/Makeconfig 21 Oct 2004 01:29:24 -0000 1.298 | |
9 | @@ -799,26 +799,19 @@ | |
10 | # This lets add-ons give more-specific matches that override defaults | |
11 | # in the top-level file. | |
12 | $(common-objpfx)shlib-versions.v.i: \ | |
13 | - $(wildcard $(patsubst %, $(..)%/shlib-versions,$(add-ons) $(subdirs)))\ | |
14 | + $(wildcard $(patsubst %, $(..)%/shlib-versions,$(add-ons) \ | |
15 | + $(config-sysdirs) \ | |
16 | + $(subdirs))) \ | |
17 | $(..)shlib-versions | |
18 | -$(common-objpfx)soversions.i: $(common-objpfx)shlib-versions.v | |
19 | - default_setname='$(filter-out %_default,$(oldest-abi:%=GLIBC_%))'; \ | |
20 | - while read conf version setname; do \ | |
21 | - test -n "$$version" && \ | |
22 | - test `expr '$(config-machine)-$(config-vendor)-$(config-os)' \ | |
23 | - : "$$conf"` != 0 || continue; \ | |
24 | - if test "x$$version" = xDEFAULT; then \ | |
25 | - default_setname="$$setname"; \ | |
26 | - else \ | |
27 | - $(abi-default_setname) \ | |
28 | - lib=`echo $$version | sed 's/=.*$$//'`; \ | |
29 | - if eval test -z "\$${versioned_$${lib}}"; then \ | |
30 | - eval versioned_$${lib}=yes; \ | |
31 | - number=`echo $$version | sed "s/^.*=//"`; \ | |
32 | - echo $$lib $$number $${setname:-$${default_setname}}; \ | |
33 | - fi; \ | |
34 | - fi; \ | |
35 | - done < $< > $@T; exit 0 | |
36 | + | |
37 | +soversions-default-setname = $(patsubst %, %,\ | |
38 | + $(filter-out %_default,\ | |
39 | + $(oldest-abi:%=GLIBC_%))) | |
40 | +$(common-objpfx)soversions.i: $(..)scripts/soversions.awk \ | |
41 | + $(common-objpfx)shlib-versions.v | |
42 | + $(AWK) -v default_setname='$(soversions-default-setname)' \ | |
43 | + -v config='$(config-machine)-$(config-vendor)-$(config-os)' \ | |
44 | + -f $^ > $@T | |
45 | mv -f $@T $@ | |
46 | $(common-objpfx)soversions.mk: $(common-objpfx)soversions.i | |
47 | (while read lib number setname; do \ | |
48 | Index: libc/ChangeLog | |
49 | =================================================================== | |
50 | RCS file: /cvs/glibc/libc/ChangeLog,v | |
51 | retrieving revision 1.8909 | |
52 | retrieving revision 1.8910 | |
53 | diff -u -r1.8909 -r1.8910 | |
54 | --- libc/ChangeLog 20 Oct 2004 10:05:07 -0000 1.8909 | |
55 | +++ libc/ChangeLog 21 Oct 2004 01:29:31 -0000 1.8910 | |
56 | @@ -1,5 +1,14 @@ | |
57 | 2004-10-20 Roland McGrath <roland@redhat.com> | |
58 | ||
59 | + * Makeconfig ($(common-objpfx)shlib-versions.v.i): Check also | |
60 | + $(config-sysdirs) for shlib-versions files. | |
61 | + | |
62 | + * Makeconfig ($(common-objpfx)soversions.i): Replace shell loop with | |
63 | + use of ... | |
64 | + * scripts/soversions.awk: ... this new file. Collect lib info and | |
65 | + match any DEFAULT line before emitting anything, so DEFAULT can come | |
66 | + later in the concatenation of shlib-versions files. | |
67 | + | |
68 | * manual/errno.texi (Error Codes): Add ENOKEY, EKEYEXPIRED, | |
69 | EKEYREVOKED, EKEYREJECTED. | |
70 | * sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.3.4): New errlist. | |
71 | Index: libc/scripts/soversions.awk | |
72 | =================================================================== | |
73 | RCS file: /cvs/glibc/libc/scripts/soversions.awk,v | |
74 | retrieving revision 1.1 | |
75 | diff -u -r1.1 soversions.awk | |
76 | --- libc/scripts/soversions.awk 21 Oct 2004 08:31:45 -0000 | |
77 | +++ libc/scripts/soversions.awk 21 Oct 2004 01:29:26 -0000 1.1 | |
78 | @@ -0,0 +1,38 @@ | |
79 | +# awk script for shlib-versions.v.i -> soversions.i; see Makeconfig. | |
80 | + | |
81 | +# Only lines matching `config' (set with -v) are relevant to us. | |
82 | +config !~ $1 { next } | |
83 | + | |
84 | +# Obey the first matching DEFAULT line. | |
85 | +$2 == "DEFAULT" { | |
86 | + if (!matched_default) { | |
87 | + matched_default = 1; | |
88 | + $1 = $2 = ""; | |
89 | + default_setname = $0; | |
90 | + } | |
91 | + next | |
92 | +} | |
93 | + | |
94 | +# Collect all lib lines before emitting anything, so DEFAULT | |
95 | +# can be interspersed. | |
96 | +{ | |
97 | + lib = number = $2; | |
98 | + sub(/=.*$/, "", lib); | |
99 | + sub(/^.*=/, "", number); | |
100 | + if (lib in numbers) next; | |
101 | + numbers[lib] = number; | |
102 | + if (NF > 2) { | |
103 | + $1 = $2 = ""; | |
104 | + versions[lib] = $0 | |
105 | + } | |
106 | +} | |
107 | + | |
108 | +END { | |
109 | + for (lib in numbers) { | |
110 | + set = (lib in versions) ? versions[lib] : default_setname; | |
111 | + if (set) | |
112 | + print lib, numbers[lib], set; | |
113 | + else | |
114 | + print lib, numbers[lib]; | |
115 | + } | |
116 | +} |