tradcpp is a K&R-style ("traditional") C preprocessor. It was written to
support historical uses of the C preprocessor for preprocessing things that
aren't C, as the preprocessors that ship with C compilers are increasingly
unsuitable for this task and/or don't provide a traditional mode at all.
In particular, tradcpp preserves whitespace as much as possible, so it can be
used in contexts where whitespace is significant and/or rearranging whitespace
causes things to break, such as makefiles. Preprocessing makefiles with cpp is
a fairly common property of sufficiently old legacy build systems, including
old versions of Emacs and anything that uses imake.
this port is imported to replace tradcpp from base which is not used there
anymore and also include all the modifications we had, including pledge(2)
support
ok aja@, jsg@