Download SolidFX User Manual

Transcript
32
SolidFX User Manual
Compiler profiles
These profiles describe the options used by a specific compiler. Although users can freely edit and create
compiler profiles, this practice is not recommended. If a given compiler, including its standard libraries,
is already present on a given machine, it is simpler to use the extractor driver. The driver will then
automatically interact with the installed compiler to use the right options for that compiler.
User (project) profiles
These profiles describe options that are specific for a given project, or code base. Such options are
typically passed to the build process via makefiles or other compiler-specific build mechanisms, such as
Visual C++ project files. The simplest way to interpret these options is to run the native build process, for
example the makefile, by substituting the native compiler with the SolidFX extractor driver. This process
is described in Section 4.1. However, in the case when you cannot do this, for example when there is no
executable makefile or similar available, the solution is to create a user profile containing the desired
options and run the fact extractor with this profile.
The structure of a profile file consists of several fields, as described in Table 2 below. The fields can
come in any order within a profile file.
Table 2: Extractor profile structure
Field name
Description
<Name>
<![CDATA[name]]>
</Name>
<System>
<Directory>
<![CDATA[path]]>
</Directory>
</System>
Indicates the profile’s name. For user profiles, any string can be used
here. For compiler profiles, unique names are recommended.
<Includes>
<Directory>
<![CDATA[path]]>
</Directory>
</Includes>
<Force>
<Directory>
<![CDATA[forced_header]]>
</Directory>
</Force>
<Defines>
<Define>
<![CDATA[define]]>
</Define>
<Undef>
<![CDATA[undef]]>
</Undef>
</Defines>
Same as the <System> tag, but specifies search paths for the user
headers.
Specifies search paths for the system headers. If several
<Directory>…</Directory> blocks are specified, their search paths
are considered in the order of specification. Roughly equivalent to
the –I option of gcc.
Specifies one or more forced headers. Forced headers behave as
though they were included before the first line of the actual input
code. Similar to the –include option of gcc.
Specifies one or more preprocessor defines and/or undefines. The
defines are of the form name=value. The undefines are of the form
name. Similar to the –Dname=value and –Uname options of gcc. The
defines and undefines get passed to the extractor in the order that
they appear declared within the <Defines>…</Defines> block.
Defines and undefines declaration can come in any order within this
block.
©SolidSource 2007-2009 www.SolidSourceIT.com