]> git.ipfire.org Git - thirdparty/glibc.git/blame - scripts/soversions.awk
Enhance --enable-tunables to select tunables frontend at build time
[thirdparty/glibc.git] / scripts / soversions.awk
CommitLineData
91adb529 1# awk script for shlib-versions.v -> soversions.i; see Makeconfig.
6d864d15 2
6d864d15 3# Obey the first matching DEFAULT line.
ba90e050
JM
4$1 == "DEFAULT" {
5 $1 = "";
6 default_set[++ndefault_set] = $0;
6d864d15
RM
7 next
8}
9
10# Collect all lib lines before emitting anything, so DEFAULT
11# can be interspersed.
12{
ba90e050 13 lib = number = $1;
6d864d15
RM
14 sub(/=.*$/, "", lib);
15 sub(/^.*=/, "", number);
ba90e050
JM
16 if (lib in numbers) next;
17 numbers[lib] = number;
18 order[lib] = ++order_n;
19 if (NF > 1) {
20 $1 = "";
21 versions[lib] = $0
6d864d15
RM
22 }
23}
24
25END {
ba90e050
JM
26 for (lib in numbers) {
27 if (lib in versions)
28 set = versions[lib];
29 else {
af296fcd 30 set = "";
ba90e050
JM
31 if (ndefault_set >= 1)
32 set = default_set[1];
33 }
34 line = set ? (lib FS numbers[lib] FS set) : (lib FS numbers[lib]);
35 if (!(lib in lineorder) || order[lib] < lineorder[lib]) {
36 lineorder[lib] = order[lib];
37 lines[lib] = "DEFAULT" FS line;
38 }
91adb529
RM
39 }
40 for (c in lines) {
41 print lines[c]
6d864d15
RM
42 }
43}