* Makeconfig ($(common-objpfx)shlib-versions.v.i): Check also
[platform/upstream/glibc.git] / scripts / soversions.awk
1 # awk script for shlib-versions.v.i -> soversions.i; see Makeconfig.
2
3 # Only lines matching `config' (set with -v) are relevant to us.
4 config !~ $1 { next }
5
6 # Obey the first matching DEFAULT line.
7 $2 == "DEFAULT" {
8   if (!matched_default) {
9     matched_default = 1;
10     $1 = $2 = "";
11     default_setname = $0;
12   }
13   next
14 }
15
16 # Collect all lib lines before emitting anything, so DEFAULT
17 # can be interspersed.
18 {
19   lib = number = $2;
20   sub(/=.*$/, "", lib);
21   sub(/^.*=/, "", number);
22   if (lib in numbers) next;
23   numbers[lib] = number;
24   if (NF > 2) {
25     $1 = $2 = "";
26     versions[lib] = $0
27   }
28 }
29
30 END {
31   for (lib in numbers) {
32     set = (lib in versions) ? versions[lib] : default_setname;
33     if (set)
34       print lib, numbers[lib], set;
35     else
36       print lib, numbers[lib];
37   }
38 }