Unifdef is useful for removing #ifdef'ed lines from a file while otherwise leaving the file alone. You specify which symbols are defined or undefined with -D and -U flags, and unifdef removes the corresponding ifdefs, and the enclosed code if appropriate. It's especially useful for removing those "#ifdef BROKEN" and "#ifdef PRIVATE" clauses from code before you release it. Unifdef acts on #if, #ifdef, #ifndef, #elif, #else, and #endif lines, and it knows only enough about C and C++ to know when one of these is inactive because it is inside a comment or a single or double quote.
| Tags | Utilities C C++ cpp Pre-processors Software Development |
|---|---|
| Licenses | BSD Original BSD Revised |
| Operating Systems | POSIX Linux BSD Unix |
Recent releases


Release Notes: This release fixes the implementation of the -n option (insert #line directives) to work with the -o option (alternate output file). It greatly improves write error handling.


Release Notes: A little fix for overwrite mode.


Release Notes: Various trivial fixes were made, mostly related to build and release scripts.


Release Notes: Development has been moved from CVS to git, and the build system redone. The increased version number reflects the change in the release process.


Release Notes: The release build has been polished.