1 # awk script for shlib-versions.v -> soversions.i; see Makeconfig.
4 config = cpu "-" vendor "-" os;
5 configs[config] = "DEFAULT";
10 $2 ~ /WORDSIZE[3264]/ {
11 if (config ~ thiscf) {
13 sub(/@CPU@/, cpu, othercf);
14 sub(/@VENDOR@/, vendor, othercf);
15 sub(/@OS@/, os, othercf);
16 configs[othercf] = $2;
21 # Obey the first matching DEFAULT line.
23 if (!matched_default[thiscf]) {
24 matched_default[thiscf] = 1;
26 default_set[thiscf] = $0;
31 # Collect all lib lines before emitting anything, so DEFAULT
32 # can be interspersed.
36 sub(/^.*=/, "", number);
37 if ((thiscf FS lib) in numbers) next;
38 numbers[thiscf FS lib] = number;
39 order[thiscf FS lib] = ++order_n;
42 versions[thiscf FS lib] = $0
47 for (elt in numbers) {
51 if (default_setname && !(cf in default_set) && config ~ cf)
52 default_set[cf] = default_setname;
53 set = (elt in versions) ? versions[elt] : default_set[cf];
54 line = set ? (lib FS numbers[elt] FS set) : (lib FS numbers[elt]);
57 if (!((c FS lib) in lineorder) || order[elt] < lineorder[c FS lib]) {
58 lineorder[c FS lib] = order[elt];
59 lines[c FS lib] = configs[c] FS line;