* mkglobals_h: Ditto for generated globals.h file. * globals.cc: Use specific NO_GLOBALS_H flag to control inclusion of globals.h. * winsup.h: Honor NO_GLOBALS_H to control inclusion of globals.h. Make clear_procimptoken extern inline so that it is only defined when needed.
		
			
				
	
	
		
			29 lines
		
	
	
		
			607 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			607 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/perl
 | 
						|
my @argv = @ARGV;
 | 
						|
$_ = join('', <>);
 | 
						|
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/\s+\n/\n/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;
 | 
						|
}
 |