File: strip-ifdef

package info (click to toggle)
gcl 2.6.14-21
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 60,864 kB
  • sloc: ansic: 177,407; lisp: 151,509; asm: 128,169; sh: 22,510; cpp: 11,923; tcl: 3,181; perl: 2,930; makefile: 2,360; sed: 334; yacc: 226; lex: 95; awk: 30; fortran: 24; csh: 23
file content (10 lines) | stat: -rwxr-xr-x 364 bytes parent folder | download | duplicates (19)
1
2
3
4
5
6
7
8
9
10
#!/bin/sh

# Sample usage strip-ifdef foo.c -Dmips -DATT
# will select only code in those ifdefs which are selected by mips and ATT.
# includes, and defines will be left intact, as will comments

cat $1 | sed -e "s:^#include:XX#include:g" -e "s:^#define:XX#define:g"  > /tmp/tmpx.c
shift 1

gcc -E -C /tmp/tmpx.c $@ | sed -e "/^#/d" -e "s:XX#:#:g" -e "/^$/d" | cb