When globals.cc has CRLF line endings, winsup.h is not removed, and compilation fails for duplicate definitions. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
		
			
				
	
	
		
			29 lines
		
	
	
		
			607 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			607 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/perl
 | |
| my @argv = @ARGV;
 | |
| $_ = join('', <>);
 | |
| s/\s+\n/\n/sog;
 | |
| s/\n[^\n]*!globals.h[^\n]*\n/\n/sog;
 | |
| s%/\*.*?\*/%%sog;
 | |
| s/(enum\s.*?{.*?})/munge($1)/soge;
 | |
| s/^(\s*)([a-zA-Z_])/$1extern $2/mog;
 | |
| s/extern (extern|enum)/$1/sog;
 | |
| s/\n\s*extern static[^\n]*\n/\n/sog;
 | |
| s/\s+=.*?;/;/sog;
 | |
| s/^\n+//sog;
 | |
| s/#include "winsup\.h"\n//so;
 | |
| s/-NL-/\n/sog;
 | |
| s/-EQ-/=/sog;
 | |
| s/\n{2,}/\n/sog;
 | |
| print <<PRELUDE,$_;
 | |
| /* $target - Autogenerated from @argv.  Look there for comments. */
 | |
| 
 | |
| #pragma once
 | |
| PRELUDE
 | |
| close $target_fd;
 | |
| sub munge($) {
 | |
|     my $val = shift;
 | |
|     $val =~ s/\n/-NL-/sog;
 | |
|     $val =~ s/=/-EQ-/sog;
 | |
|     return $val;
 | |
| }
 |