Original Translation
194
*cpparg* is an argument for the C preprocessor, and is anything starting with :option:`-I`, :option:`-D`, :option:`-U` or :option:`-C`.
195
*library* is anything ending in :file:`.a` or beginning with :option:`-l` or :option:`-L`.
196
If a particular platform requires a special library on your platform, you can add it by editing the :file:`Setup` file and running ``python setup.py build``. For example, if the module defined by the line ::
197
foo foomodule.c
198
must be linked with the math library :file:`libm.a` on your platform, simply add :option:`-lm` to the line::
199
foo foomodule.c -lm
200
Arbitrary switches intended for the compiler or the linker can be supplied with the :option:`-Xcompiler` *arg* and :option:`-Xlinker` *arg* options::
201
foo foomodule.c -Xcompiler -o32 -Xlinker -shared -lm
202
The next option after :option:`-Xcompiler` and :option:`-Xlinker` will be appended to the proper command line, so in the above example the compiler will be passed the :option:`-o32` option, and the linker will be passed :option:`-shared`. If a compiler option requires an argument, you'll have to supply multiple :option:`-Xcompiler` options; for example, to pass ``-x c++`` the :file:`Setup` file would have to contain ``-Xcompiler -x -Xcompiler c++``.
203
Compiler flags can also be supplied through setting the :envvar:`CFLAGS` environment variable. If set, the contents of :envvar:`CFLAGS` will be added to the compiler flags specified in the :file:`Setup` file.