Skip to content
manast edited this page Sep 13, 2010 · 1 revision
TITLE
Type: FString
Default value: (none)
Section: meta
Description: Compiler definition title. Used as tag or title in various contexts.
DESCRIPTION
Type: String
Default value: (none)
Section: meta
Description: A formal description of the compiler definition.
CC
Type: Quoted string
Default value: (none)
Section: setup
Description: Filename (excluding path) of the C compiler executable.
Keywords: (none)
Comments: Example:“armcc.exe”
CCCOM
Type: Quoted string
Default value: (none)
Section: setup
Description: Commandline template for building a single C sourcefile.
Keywords:
%CC
– Replaced with contents of CC option.

%CFLAGS
– Replaced with all compiler options from BC file.

%CPPDEFINES
– Replaced with all preprocessor directive from the BC file. Each symbol
is prefixed and suffixed with contents of CPPDEFPREFIX and
CPPDEFSUFFIX options.

%INCPATHS
– Replaced with all include paths. Each include path is
prefixed and suffixed with contents of INCPREFIX and INCSUFFIX
options.

%SOURCES
– Replaced with the sourcefile to build.

%TARGETDIR
– Replaced with the specified output directory (e.g. as given via the —o
option in buildcomp.py).

%TARGETFILE
– Replaced with the object filename (commonly the sourcefile’s title with a
different extension).

%TARGET
– Replaced with the full path of the object file to build. This is the
recommended keyword to use when specifying a full path to the object
file. Attempting to merge the %TARGETDIR and %TARGETFILE options
is not recommended since the CDEF format offers no means of safely
joining path components.
|
Comments: Example (MSVC):
‘%CC /nologo /c %CFLAGS %CPPDEFINES %INCPATHS /Tc %SOURCES /Fo%TARGET
CFILESUFFIX
Type: Quoted string
Default value: N/A, mandatory option
Section: setup
Description: The suffix searched for to indentify C sourcefiles.
Note that this may include more than only the file extension.
Keywords: (none)
Comments: Example: ‘.c’
CXX
Type: Quoted string
Default value: (none)
Section: setup
Description: Filename (excluding path) of the C++ compiler executable.
Keywords: (nones)
Comments: Example:‘armcpp.exe’
CXXCOM
Type: Quoted string
Default value: (none)
Section: setup
Description: Commandline template for building a single C++ sourcefile.
Keywords:

%CXX
– Replaced with contents of CXX option.

See specification of CCCOM for remaining
supported options (%CC excluded).
|
Comments: Example (MSVC):
‘%CXX /nologo /c %CFLAGS %CPPDEFINES %INCPATHS /Tp %SOURCES /Fo%TARGET
CXXFILESUFFIX
Type: Quoted string
Default value: N/A, mandatory option
Section: setup
Description: The suffix searched for to indentify C++ sourcefiles.
Note that this may include more than only the file extesnsion .
Keywords: (none)
Comments: Example: ‘.cpp’
CPPDEFPREFIX
Type: Quoted string
Default value: (none)
Section: setup
Description: Specifies a token which the system will use to prefix
each preprocessor directive rendered from the %CPPDEFINES keyword
in CCCOM and CXXCOM fields.
Keywords: (none)
Comments: Example (MSVC): ’/D ’
CPPDEFSUFFIX
Type: Quoted string
Default value: N/A, mandatory option
Section: setup
Description: Specifies a token which the system will use to suffix
each preprocessor directive rendered from the %CPPDEFINES keyword
in CCCOM and CXXCOM fields.
Keywords: (none)
Comments: Example (MSVC): ’ ’
INCPREFIX
Type: Quoted string
Default value: N/A, mandatory option
Section: setup
Description: Specifies a token which the system will use to prefix
each include path rendered from the %INCPATHS keyword in CCCOM and
CXXCOM fields.
Keywords: (none)
Comments: Example (MSVC): ‘/I"’
INCSUFFIX
Type: Quoted string
Default value: N/A, mandatory option
Section: setup
Description: Specifies a token which the system will use to suffix
each include path rendered from the %INCPATHS keyword in CCCOM and
CXXCOM fields.
Keywords: (none)
Comments: Example: ‘"’
OBJSUFFIX
Type: Quoted string
Default value: N/A, mandatory option
Section: setup
Description: Specifies a token which the system will use to suffix
each produced object file. The object filename is constructed from the
source filename with the extension removed and then the object suffix
is appended.
Keywords: (none)
Comments: Example: ‘.obj’
ECHO_SOURCES
Type: Boolean (YES/NO)
Default value: NO
Section: setup
Description: Specifies wether or not each sourcefile during the build
should be echoed to the console. This option is useful when the compiler
in question by default doesn’t display sourcefile names itself.
Keywords: N/A
Comments: -
AR
Type: Quoted string
Default value: N/A, madatory option.
Section: setup
Description: Filename (excluding path) of the library archiver executable.
Keywords: (none)
Comments: Example:“armar.exe”
ARCOM
Type: Quoted string
Default value: N/A, mandatory option.
Section: setup
Description: Commandline template for building a target library from object files.
Keywords: %AR – Replaced with contents of AR option.

%SOURCES
– Replaced with the list of all object files produced during the build.

%TARGET
– Replaced with the full path of the output library file.

%@
– Commandfile controller keyword.
This is a special keyword witch enables the use of commandfiles with
commandline parameters, where it’s supported.

Everything following this keyword on the commandline (after
expansion of all other keywords) is written to a temporary file located
in current directory. The %@ keyword itself is then replaced with the
filename.

Example (MSVC):
ARCOM = “%AR /OUT:%TARGET % %SOURCES


This commandline will after full expansion look like this:
“lib.exe /OUT:mylib.lib @<commandfile>”

Where is the name of the commandfile, to which the
following has been written:

src1.obj src2.obj src3.obj

I.e. all object files expanded from the %SOURCES keyword.

Only one %@ keyword is allowed and it can be placed anywhere on the
commandline (except prior to the tool executable).

This keyword is commonly useful on systems where the length of the
commandline might cause problems, as the list of object files
may become quite large.
Comments: Example (MSVC):
‘%CC /nologo /c %CFLAGS %CPPDEFINES %INCPATHS /Tc %SOURCES /Fo%TARGET
ARCOM_METHOD
Type: String
Default value: REPLACE
Section: setup
Description: Specifies the method used by the ARCOM commandline.
Can be one of the following:

REPLACE
The commandline creates the specified library from the given object
files, replacing any existing library.

APPEND
The commandline iteratively appends each object file to a library, never
replacing it.
Keywords: N/A
Comments: -
LIBPREFIX
Type: Quoted string
Default value: N/A, mandatory option
Section: setup
Description: Specifies a token which will be prefixed to the library name created by ARCOM.
Keywords: (none)
Comments: Example: ‘lib’
LIBSUFFIX
Type: Quoted string
Default value: N/A, mandatory option
Section: setup
Description: Specifies a token which will be suffixed to the library name created by ARCOM. Note that this may specify more than just the extension.
Keywords: (none)
Comments: Example: ‘.a’
RANLIB
Type: Quoted string
Default value: (none)
Section: setup
Description: Filename (excluding path) of a “ranlib” tool which is used unconditionally on the resulting library if it is present.

The commandline is always:

“[RANLIB] [LIBRARY]”

Where [LIBRARY] specifies full path to the library built by ARCOM.

Keywords: (none)
Comments: Example: ‘ranlib.exe’