summaryrefslogtreecommitdiff
path: root/development/unifdef/README
diff options
context:
space:
mode:
Diffstat (limited to 'development/unifdef/README')
-rw-r--r--development/unifdef/README13
1 files changed, 13 insertions, 0 deletions
diff --git a/development/unifdef/README b/development/unifdef/README
new file mode 100644
index 0000000000..c233377f98
--- /dev/null
+++ b/development/unifdef/README
@@ -0,0 +1,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.