]>
Commit | Line | Data |
---|---|---|
2f155f6c GL |
1 | # |
2 | # Sed script to parse CPP macros and generate output usable by make | |
3 | # | |
4 | # It is expected that this script is fed the output of 'gpp -dM' | |
5 | # which preprocesses the common.h header files and outputs the final | |
6 | # list of CPP macros (and whitespace is sanitized) | |
7 | # | |
8 | ||
9 | # Only process values prefixed with #define CONFIG_ | |
10 | /^#define CONFIG_[A-Za-z0-9_]\+/ { | |
11 | # Strip the #define prefix | |
12 | s/#define *//; | |
13 | # Change to form CONFIG_*=VALUE | |
14 | s/ \+/=/; | |
15 | # Drop trailing spaces | |
16 | s/ *$//; | |
17 | # drop quotes around string values | |
18 | s/="\(.*\)"$/=\1/; | |
19 | # Concatenate string values | |
20 | s/" *"//g; | |
21 | # Wrap non-numeral values with quotes | |
22 | s/=\(.*\?[^0-9].*\)$/=\"\1\"/; | |
23 | # Change '1' and empty values to "y" (not perfect, but | |
24 | # supports conditional compilation in the makefiles | |
25 | s/=$/=y/; | |
26 | s/=1$/=y/; | |
27 | # print the line | |
28 | p | |
29 | } |