mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-10-31 16:31:25 +01:00 
			
		
		
		
	In the thread "[1.3.2-rc1] MPC8548CDS/MPC8555CDS configs fails to link", the define2mk.sed script was identified as the source of the link failure on FreeBSD. The problem is that sed(1) does not always support the '+' operator. It isn't on FreeBSD. The attach patch implements the equivalent, using the '*' operator instead and should work everywhere. Signed-off-by: Marcel Moolenaar <marcelm@juniper.net>
		
			
				
	
	
		
			30 lines
		
	
	
		
			803 B
		
	
	
	
		
			Sed
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			803 B
		
	
	
	
		
			Sed
		
	
	
	
	
	
| #
 | |
| # Sed script to parse CPP macros and generate output usable by make
 | |
| #
 | |
| # It is expected that this script is fed the output of 'gpp -dM'
 | |
| # which preprocesses the common.h header files and outputs the final
 | |
| # list of CPP macros (and whitespace is sanitized)
 | |
| #
 | |
| 
 | |
| # Only process values prefixed with #define CONFIG_
 | |
| /^#define CONFIG_[A-Za-z0-9_][A-Za-z0-9_]*/ {
 | |
| 	# Strip the #define prefix
 | |
| 	s/#define *//;
 | |
| 	# Change to form CONFIG_*=VALUE
 | |
| 	s/  */=/;
 | |
| 	# Drop trailing spaces
 | |
| 	s/ *$//;
 | |
| 	# drop quotes around string values
 | |
| 	s/="\(.*\)"$/=\1/;
 | |
| 	# Concatenate string values
 | |
| 	s/" *"//g;
 | |
| 	# Wrap non-numeral values with quotes
 | |
| 	s/=\(.*\?[^0-9].*\)$/=\"\1\"/;
 | |
| 	# Change '1' and empty values to "y" (not perfect, but
 | |
| 	# supports conditional compilation in the makefiles
 | |
| 	s/=$/=y/;
 | |
| 	s/=1$/=y/;
 | |
| 	# print the line
 | |
| 	p
 | |
| }
 |