Next: , Previous: , Up: Preprocessor   [Contents][Index]

4.26.2 Preprocessor Usage

You can obtain the preprocessed output, without starting actual compilation, using -E command line option:

$ mailfromd -E file.mfl

The output is in the form of preprocessed source code, which is sent to the standard output. This can be useful, among others, to debug your own macro definitions.

Macro definitions and deletions can be made on the command line, by using the -D and -U options, provided that their use is allowed by the pass-defines preprocessor configuration setting (see Configuring Preprocessor. They have the following format:

-D name[=value]

Define a symbol name to have a value value. If value is not supplied, the value is taken to be the empty string. The value can be any string, and the macro can be defined to take arguments, just as if it was defined from within the input using the m4_define statement.

For example, the following invocation defines symbol COMPAT to have a value 43:

$ mailfromd -DCOMPAT=43
-U name

A counterpart of the -D option is the option -U (--undefine). It undefines a preprocessor symbol whose name is given as its argument. The following example undefines the symbol COMPAT:

$ mailfromd -UCOMPAT

The following two options are supplied mainly for debugging purposes:


Disables the external preprocessor.


Use command as external preprocessor. If command is not supplied, use the default preprocessor, overriding the enable preprocessor configuration setting.

Be especially careful with this option, because mailfromd cannot verify whether command is actually some kind of a preprocessor or not.

Next: , Previous: , Up: Preprocessor   [Contents][Index]