summaryrefslogtreecommitdiff
path: root/development/unifdef/README
blob: c233377f987c46d37b1485833fa8648066a44150 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
unifdef (selectively processes C conditional compilation)

The unifdef utility selectively processes conditional C preprocessor #if
and #ifdef directives. It removes from a file both the directives and the
additional text that they delimit, while otherwise leaving the file alone.

It is useful for avoiding distractions when studying code that uses
#ifdef heavily for portability: the author's original motivation was to
understand xterm's pty handling code. It can be used as a lightweight
preprocessor; for example the Linux kernel uses unifdef to strip out
#ifdef __KERNEL__ sections from the headers it exports to userland. You
can use unifdef with languages other than C; for example UIT, a publisher
in Cambridge, uses unifdef with LaTeX.