On December 8, 2002 06:01 pm, Patrik Stridvall wrote:
It would be very nice it something made a GNU C compiler library to support among other things only running the preprocessor.
Um, you mean like "cpp"? The debian packagers have even split it out from the gcc package for convenience, the package description explains;
--------- [snip] The GNU C preprocessor is a macro processor that is used automatically by the GNU C compiler to transform programs before actual compilation.
This package has been separated from gcc for the benefit of those who require the preprocessor but not the compiler. [snip] ---------
so clearly it can be done, and this is presumably for the reasons Dimitrie mentioned - preprocessing can be a useful (and much faster) subset to separate out from the compilation process.
But as for the GPL argument against using the GNU C (pre)compiler from a run-time (ie. "forking/exec of 'gcc -E' is like linking to a GPL lib"), I find that rather hard to believe - especially as invoking "gcc -E" can be framed in very user-supplied terms. Eg. if the user is able to (in theory) configure the program to exec() any precompilation programs (and command-line options) they want, then who is going to sue *who* when the default value for that setting just happens to be "gcc -E" when the program installs? Richard Stallman will sue Redhat? Or will the FSF begin a crackdown against adolescent nerds who illegally point GPL-incompatible configuration files to GPL-licensed precompilers ...? I really don't think this should be a cause for concern.
Cheers, Geoff