mirror of git://sourceware.org/git/glibc.git
				
				
				
			
		
			
				
	
	
		
			37 lines
		
	
	
		
			758 B
		
	
	
	
		
			Awk
		
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			758 B
		
	
	
	
		
			Awk
		
	
	
	
| # Script to preprocess Versions.all lists based on "earliest version"
 | |
| # specifications in the shlib-versions file.
 | |
| 
 | |
| NF > 2 && $2 == ":" {
 | |
|   for (i = 0; i <= NF - 3; ++i)
 | |
|     firstversion[$1, i] = $(3 + i);
 | |
|   idx[$1] = 0;
 | |
|   next;
 | |
| }
 | |
| 
 | |
| NF == 2 && $2 == "{" { thislib = $1; print; next }
 | |
| 
 | |
| $1 == "}" {
 | |
|   if (firstversion[thislib, idx[thislib]]) {
 | |
|     # We haven't seen the stated version, but have produced
 | |
|     # others pointing to it, so we synthesize it now.
 | |
|     printf "  %s\n", firstversion[thislib, idx[thislib]];
 | |
|     idx[thislib]++;
 | |
|   }
 | |
|   print;
 | |
|   next;
 | |
| }
 | |
| 
 | |
| {
 | |
|   v = firstversion[thislib, idx[thislib]];
 | |
| 
 | |
|   if (! v)
 | |
|     print;
 | |
|   else if ($1 == v) {
 | |
|     print;
 | |
|     firstversion[thislib, idx[thislib]] = 0;
 | |
|     idx[thislib]++;
 | |
|   }
 | |
|   else
 | |
|     print $1, "=", v;
 | |
| }
 |