#############################################################################
#           CTC++, Test Coverage Analyzer for C/C++, Version 8.2.2          #
#                                                                           #
#                            CONFIGURATION FILE                             #
#                                                                           #
#                    Copyright (c) 1993-2013 Testwell Oy                    #
#             Copyright (c) 2013-2017 Verifysoft Technology GmbH            #
#############################################################################
#
#  This is the default configuration file for CTC++. Configuration files are
#  searched and read by the CTC++ Preprocessor, by the instrumented program
#  and by the CTC++ Postprocessor from the following places in order:
#
#     1. File /usr/local/lib/ctc/ctc.ini (in Unix only)
#     2. File ~/lib/ctc/ctc.ini (in Unix only)
#     3. File ctc.ini in the directory specified by the environment
#        variable CTCHOME
#     4. File ~/.ctc.ini (in Unix only)
#     5. File(s) specified by the environment variable CTCINIT
#     6. File .\ctc.ini (in Windows) / file ./.ctc.ini (in Unix)
#     7. Files given with the command-line option "-c" (this is not used
#        with the instrumented programs)
#
#  Multiple files specified with CTCINIT or "-c" should be separated by
#  semicolons.
#
#  Configuration file parameters are specified in sections separated
#  by lines consisting of the section description in brackets. Each
#  section contains parameters for one compiler/linker-command
#  identified by the command name parameter (COMMAND). When a new
#  configuration file is read, the parameters before any section
#  specifiers are considered common parameters.
#
#  A configuration parameter can be defined (with "=") multiple times
#  (and in multiple files). The last occurrence is used. The common
#  parameters are considered defaults which are overridden by any
#  command-specific parameters. There can be spaces around the "="
#  for better layout.
#
#  A long line can be split on multiple lines with an escaped newline
#  (a backslash, '\', followed by a newline). I.e. if a non-comment line
#  ends with the '\' character, the next line is concatenated to it, and
#  '\' is removed. If it is inevitable that the value of a configuration
#  parameter ends with '\', one or more spaces must follow it. Or, if '\'
#  stands for a directory separator, a slash, '/' can be used as well.
#
#  Some parameters specify a list of values separated by commas. Any
#  whitespace before and after the list separator is ignored. When a list
#  parameter definition is given with "+", that is, like the following
#  "PARAMETER + additional_value(s)", a comma is added implicitly and
#  the additional_value(s) are appended to the end of the list. When
#  a list parameter definition is given with "-" like the following
#  "PARAMETER - subtractive_value(s)", the subtractive values are
#  removed from the list.
#
#  Quotation marks (") may be used to enclose any value in a parameter,
#  whether the parameter specifies a list of values or not. Quotation
#  marks are necessary in case of a list type parameter, if the value
#  itself contains a comma. In absence of the quotes, the comma would
#  be taken as the list separator.
#
#  Operating system environment variables can be used. They are
#  expressed like $(ENV_VAR_NAME) and are replaced by their value. If the
#  environment value is undefined, the replacement is an empty string.
#  Environment variable value can consist of multiple lines. To inhibit
#  variable expansion, precede variable definition with another '$'.
#
#  The first parameters in this file are the CTC++ license control block.
#  These lines should NOT be modified.
#
#  The CTC++ license control block parameters are:
#  - TOOL: name and version of the tool
#  - USER: The owner of this copy of the tool
#  - COMPUTER: host machine identification
#  - LICENCE: license code of this CTC++ copy
#  - EXPIRATION: date when this license expires
#  - NOTE1 - NOTE5: license notes for the user to be displayed at startup
#  - TARGET_CHECK: license check options
#  - CONTROL: for license block controlling
#
#  Parameters that are somewhat related to the license control, but which
#  the user may modify are:
#  - KEYPORT: parallel port number containing the license key (only on PC
#    platforms if licensing is based on a license key)
#  - FLEXLM_LICENSE_FILE: location of the FLEXlm license file (on Unix,
#    Linux and Windows if licensing is based on FLEXlm), either
#    [port]@host (identification of the FLEXlm license server) or
#    the full path to the 'testwell.lic' license file
#
#  The configuration parameter definitions are:
#
#  - WARNING_LEVEL: "none" (no warnings are displayed), "warn" (normal
#    warnings are displayed), "info" (also warnings that are categorized
#    as "tool limitations" are displayed)
#  - TIMER: the name of the function used for execution cost
#    measurement; the function must be parameterless and return
#    values of a type compatible with clock_t from <time.h>; to get
#    execution time define TIMER=clock
#  - TICK: positive integer constant by which the values of the timers
#    should be divided to obtain the execution cost value for the timing
#    listing; to get the execution time in seconds use the value of
#    CLOCKS_PER_SEC (defined in <time.h>) with TIMER=clock
#  - EXECUTION_COST_TYPE: string to print to timing listings
#
#  - COMMAND: compiler/linker command of section; the only parameter
#    obligatory in a section, other parameters can have default value
#    specified in common section; this parameter is a list
#  - TYPE: the command type can be "compiler", "compiler_linker",
#    "linker" or "borland_linker"
#  - PREPROC_C: command for running the C compiler preprocessor
#  - PREPROC_CXX: command for running the C++ compiler preprocessor
#  - RUN_BEFORE_ALL: specifies the program(s) to be run before any
#    subsequent C/C++ preprocessing, instrumenting, compiling and
#    linking phases; this parameter is a list
#  - RUN_AFTER_CPP: specifies the program(s) to be run after CTC++
#    has C/C++ preprocessed the source file (before instrumenting);
#    this parameter is a list
#  - RUN_AFTER_INSTR: specifies the program(s) to be run after CTC++
#    has instrumented the preprocessed file (before compiling); this
#    parameter is a list
#  - RUN_AFTER_COMP: specifies the program(s) to be run after CTC++
#    has compiled the instrumented file; this parameter is a list
#  - OPTCHARS: specifies the option characters the command can have;
#    this parameter is a list
#  - OPTFILE: specifies option(s) used to specify an option
#    responsefile; this parameter is a list
#  - OPT_NO_OPTFILE: specifies options which must not be put into a
#    response file, if one is constructed by ctc; this parameter is
#    a list
#  - PARAMS: specifies options which have one mandatory argument,
#    either connected to the option or separated from it by a space (as
#    the compiler or linker command requires); this parameter is a list
#  - PARAMS_SEPARATE: specifies options which have one mandatory
#    argument separated from the option by at least one space; this
#    parameter is a list
#  - PARAMS_OPTIONAL: specifies options which have zero, one or more
#    arguments without any spaces before the first argument or between
#    the arguments; this parameter is a list
#  - PARAMS_LIST: specifies options which have a mandatory list (one or
#    more) of arguments with at least one space between the option and
#    the first argument; the arguments are separated from each other by
#    a space; if PARAMS_LIST_SEPARATOR is not defined, the argument list
#    extends to the end of the command line; if PARAMS_LIST_SEPARATOR is
#    defined, the list extends up to the first item on the command line
#    that is not followed by the separator character; this parameter is
#    a list
#  - PARAMS_LIST_SEPARATOR: specifies the separator character used to
#    separate the arguments of an option defined in PARAMS_LIST; if no
#    separator is defined, the argument list of such an option extends
#    to the end of the command line
#  - OPT_COMPILE_ONLY: specifies the option(s) forcing compilation only
#    (usually "-c" or "/c"); this parameter is a list
#  - OPT_COMP_OUT: specifies the option(s) having an argument specifying
#    the outputfile of the compilation; this parameter is a list
#  - OPT_LINK_OUT: specifies the option(s) having an argument specifying
#    the outputfile of the linking; this parameter is a list
#  - OPT_NO_CTC: specifies options which should cause skipping of
#    the CTC++ instrumentation phase from compilation altogether;
#    this parameter is a list
#  - OPT_NO_PREPROC: specifies options which, even if specified in
#    the commandline, are not used in the C/C++-preprocessing command
#    by ctc; this parameter is a list
#  - OPT_ADD_PREPROC: specifies additional options which are added to
#    each C/C++-preprocessing command by ctc; this parameter is a list
#  - OPT_NO_COMPILE: specifies options which, even if specified in the
#    commandline, are not used in the command by which ctc compiles
#    the instrumented source file; this parameter is a list
#  - OPT_ADD_COMPILE: specifies additional options which are added to
#    each command by which ctc compiles the instrumented source file;
#    this parameter is a list
#  - OPT_DO_2COMP: specifies options triggering "double compilation";
#    this parameter is a list
#  - EXT_C: specifies the extensions that are used to recognize C
#    filenames; this parameter is a list
#  - EXT_CXX: specifies the extensions that are used to recognize C++
#    filenames; this parameter is a list
#  - EXT_CSHARP: specifies the extensions that are used to recognize C#
#    filenames; this parameter is a list
#  - EXT_JAVA: specifies the extensions that are used to recognize Java
#    filenames; this parameter is a list
#  - EXT_OTHER: specifies the extensions that are used to recognize
#    other filenames (which are not to be instrumented); this
#    parameter is a list
#  - OBJECT_EXTENSION: specifies the object file extension used when
#    compiling the instrumented source files
#  - DIFF_COMP_AND_LINK_OPTS: specifies whether both compiler and
#    linker has its own outputfile option; parameter is set to "ON",
#    if the options are different and to "OFF", if the outputfile
#    option is the same for both
#  - OPT_NO_LINK: specifies options which, even if specified in the
#    commandline, are not used in the linker command by which ctc
#    links the instrumented target; this parameter is a list
#  - LIBRARY: specifies libraries and options to be added to the
#    linker command; this parameter is a list
#  - EMBED_FUNCTION_NAME: specifies the functions where the execution
#    counters are always saved, when the function is executed (at each
#    return and throw statement and at the end of the function); this
#    parameter is a list
#  - DIALECT_C: specifies C dialect according to which CTC++
#    preprocessor processes C files
#  - DIALECT_CXX: specifies C++ dialect according to which CTC++
#    preprocessor processes C++ files
#  - TMP_DIRECTORY: specifies the temporary directory used for
#    temporary files
#  - EXCLUDE: specifies the names of the files that should not be
#    instrumented, only compiled; the excluded files are given as a
#    list of patterns (the only wildcard character is "*"); if the
#    pattern matches a directory, then all files in that directory
#    and all its subdirectories are excluded; the special pattern
#    %INCLUDES% matches all directly and indirectly included files;
#    this parameter is a list
#  - NO_EXCLUDE: specifies the names of the files that should be
#    instrumented in spite of definitions in the EXCLUDE parameter;
#    the no-excluded files are given as a list of patterns (see the
#    parameter EXCLUDE); this parameter is a list
#  - NO_INCLUDE: specifies the names of the files that should not,
#    after all, be instrumented in spite of definitions in the
#    NO_EXCLUDE parameter; the no-included files are given as a list
#    of patterns (see the parameter EXCLUDE); this parameter is a list
#  - SKIP_FUNCTION_NAME: specifies the names of the functions that
#    should not be instrumented; the skipped functions are given as
#    a list of patterns (the only wildcard character is "*"); this
#    parameter is a list
#  - SKIP_PARAMETER_LIST: specifies a list of identifiers of which
#    trailing parentheses (if any) are skipped, i.e., nothing is
#    instrumented between the parentheses; this parameter is a list
#  - CONST_INSTR: specifies whether an initialization expression for a
#    const variable should be or should not be instrumented; the value
#    can be "ON" or "OFF" (default).
#  - SOURCE_IDENTIFICATION: specifies how the instrumented source files
#    are identified, and how the source file names are shown in the
#    listings; the source file identification can be one of the
#    following: "as_given", "basename", "absolute" (default), or
#    "absolute_without_drive"
#  - DATAFILE: specifies the datafile's (path and) name; if the value
#    is %DEFAULT% (or value is undefined), one derived from the
#    symbolfile's (path and) name is used
#  - ASSEMBLY_COMMENT_CHARS: specifies a character (or characters)
#    to start an assembly-language comment. If this string contains
#    many characters, any one of them may start the comment.
#  - MAX_CMDLINE_LENGTH: specifies the maximum length of the command
#    line of the shell; when the maximum length is exceeded, the
#    command-line options are written to a temporary responsefile,
#    if the compiler or linker supports one (cf. parameter OPTFILE)
#
#  More information of the configuration parameters can be found from
#  CTC++ User's Guide.
#
#  First, CTC++ license control block:
#
# ----- Do not modify the definitions below! -----
TOOL=CTC++ 8.2.x
USER=CTC++ customer
COMPUTER=NT FLEXlm/NTCTC
LICENCE=CTC-20170412
EXPIRATION=18 Jan 2038
NOTE1=
NOTE2=
NOTE3=
NOTE4=
NOTE5=
TARGET_CHECK=ON
CONTROL=IWWZHSPSGRJK
# ----- Do not modify the definitions above! -----

#
# The following license control related parameters can be modified:
#
KEYPORT=1
FLEXLM_LICENSE_FILE=27000@DT0197170,27006@dereu1nprnt2

#
# Global (applicable on all supported compilers) default definitions:
# (In a single compiler-specific definition block these may be overridden)
#
WARNING_LEVEL = warn
TIMER = clock
TICK  = 1
EXECUTION_COST_TYPE = Clock ticks

#
# Compiler-specific definitions:
#

[Microsoft Visual C++]
  #VC++ 6.0 compliant at least...
  COMMAND = cl
  # Intel compiler
  COMMAND + icl
  TYPE    = compiler_linker
  PREPROC_C   = %COMMAND% /E /nologo /D__CTC__ %FLAGS% %FILE% > %RESULT%
  PREPROC_CXX = %COMMAND% /E /nologo /D__CTC__ %FLAGS% %FILE% > %RESULT%
  RUN_BEFORE_ALL  =
  RUN_AFTER_CPP   =
  RUN_AFTER_INSTR =
  RUN_AFTER_COMP  =

  OPTCHARS = -/
  OPTFILE  = @
  OPT_NO_OPTFILE =

  PARAMS = /Fe:,/Fe,/Fo:,/Fo,/Fp,/D,/U,/I,/Tc,/Tp,/V,/FI,/H,/Zm
  # VC++ 7.x
  PARAMS + /AI,/FU,/wd,/we,/wo,/w1,/w2,/w3,/w4,/Yl,/arch,/Zc
  # VC++ 8.0
  PARAMS + /errorReport,/fp,/favor
  # VC++ 11.0
  PARAMS + /volatile
  # VC++ 12.0
  PARAMS + /Fd:,/Fi:,/Fm:,/Fp:,/FR:
  PARAMS + /analyze:log,/analyze:autolog:ext,/analyze:stacksize
  PARAMS + /analyze:max_paths,/analyze:plugin
  PARAMS + /constexpr:depth,/constexpr:backtrace,/constexpr:steps
  PARAMS + /Wv:,/source-charset:,/execution-charset:

  PARAMS_SEPARATE = /F
  PARAMS_OPTIONAL = /Fa,/FA,/Fd,/Fm,/Fr,/FR,/Gs,/Yc,/Yu,/YX,/Zp
  PARAMS_OPTIONAL + /EHs,/EHa,/EHc
  # VC++ 7.x
  PARAMS_OPTIONAL + /clr
  # VC++ 8.0
  PARAMS_OPTIONAL + /doc
  # VC++ 9.0
  PARAMS_OPTIONAL + /MP
  # VC++ 10.0
  PARAMS_OPTIONAL + /Fi
  PARAMS_LIST     = /link
  PARAMS_LIST_SEPARATOR =

  OPT_COMPILE_ONLY = /c
  OPT_COMP_OUT = /Fo,/Fo:
  OPT_LINK_OUT = /Fe,/Fe:
  OPT_NO_CTC   = /E,/EP,/P,/?,/help,/HELP,/Zg,/Zs
  OPT_NO_CTC   + /analyze:only
  OPT_NO_PREPROC  = /WX,/link,/Fp,/Yc,/Yu,/YX,/FR,/Fr
  OPT_ADD_PREPROC =
  OPT_NO_COMPILE  = /D,/I,/FI,/WX,/we,/link,/Fp,/Yc,/Yu,/YX,/FR,/Fr
  OPT_ADD_COMPILE = /nologo,/I$(CTCHOME),/DCTC_CLIKE_MCOND
  OPT_ADD_COMPILE + /DCTC_HEAP_COUNTERS
  OPT_DO_2COMP    = /FR,/Fr

  EXT_C   = c
  EXT_CXX = cpp, cxx, cc
  EXT_OTHER = %DEFAULT%

  OBJECT_EXTENSION = obj
  DIFF_COMP_AND_LINK_OPTS = ON
  OPT_NO_LINK = /TC,/TP

  LIBRARY = $(CTCHOME)\lib\ctcmsnt.lib,$(CTCHOME)\lib\ctcmsnt64.lib,/nologo

  EMBED_FUNCTION_NAME =

  DIALECT_C   = MICROSOFT
  DIALECT_CXX = MICROSOFT

  TMP_DIRECTORY = $(TEMP)
  EXCLUDE = %INCLUDES%
  EXCLUDE + stdafx.cpp
  NO_EXCLUDE =
  NO_INCLUDE =
  SKIP_FUNCTION_NAME =
  SKIP_PARAMETER_LIST =
  CONST_INSTR = OFF
  SOURCE_IDENTIFICATION = absolute
  DATAFILE = %DEFAULT%
  ASSEMBLY_COMMENT_CHARS = ;

  # If your system does not support this long commands, adjust to the lower
  # MAX_CMDLINE_LENGTH = 2047
  MAX_CMDLINE_LENGTH = 8000

[Microsoft Visual C++ Linker]
  #VC++ 6.0 compliant at least...
  COMMAND = link
  TYPE    = linker
  RUN_BEFORE_ALL =

  OPTCHARS = -/
  OPTFILE  = @
  OPT_NO_OPTFILE = /lib,-lib,/link,-link,/dump,-dump,/edit,-edit
  OPT_NO_OPTFILE + /LIB,-LIB,/LINK,-LINK,/DUMP,-DUMP,/EDIT,-EDIT
  OPT_NO_OPTFILE + /Lib,-Lib,/Link,-Link,/Dump,-Dump,/Edit,-Edit

  PARAMS = /OUT:,/out:,/Out:
  PARAMS_SEPARATE =
  PARAMS_OPTIONAL = /driver,/fixed,/force,/largeaddressaware
  PARAMS_OPTIONAL + /map,/nodefaultlib,/tsaware,/verbose,/warn
  PARAMS_OPTIONAL + /DRIVER,/FIXED,/FORCE,/LARGEADDRESSAWARE
  PARAMS_OPTIONAL + /MAP,/NODEFAULTLIB,/TSAWARE,/VERBOSE,/WARN
  PARAMS_OPTIONAL + /Driver,/Fixed,/Force,/Largeaddressaware
  PARAMS_OPTIONAL + /Map,/Nodefaultlib,/Tsaware,/Verbose,/Warn
  # VC++ 7.x
  PARAMS_OPTIONAL + /allowbind,/assemblydebug,/delaysign,/ltcg,/safeseh
  PARAMS_OPTIONAL + /ALLOWBIND,/ASSEMBLYDEBUG,/DELAYSIGN,/LTCG,/SAFESEH
  PARAMS_OPTIONAL + /Allowbind,/Assemblydebug,/Delaysign,/Ltcg,/Safeseh
  # VC++ 8
  PARAMS_OPTIONAL + /allowisolation,/clrsupportlasterror
  PARAMS_OPTIONAL + /clrunmanagedcodecheck,/functionpadmin,/incremental
  PARAMS_OPTIONAL + /manifest,/nxcompat,/wx
  PARAMS_OPTIONAL + /ALLOWISOLATION,/CLRSUPPORTLASTERROR
  PARAMS_OPTIONAL + /CLRUNMANAGEDCODECHECK,/FUNCTIONPADMIN,/INCREMENTAL
  PARAMS_OPTIONAL + /MANIFEST,/NXCOMPAT,/WX
  PARAMS_OPTIONAL + /Allowisolation,/Clrsupportlasterror
  PARAMS_OPTIONAL + /Clrunmanagedcodecheck,/Functionpadmin,/Incremental
  PARAMS_OPTIONAL + /Manifest,/Nxcompat,/Wx
  # VC++ 9
  PARAMS_OPTIONAL + /dynamicbase,/manifestuac
  PARAMS_OPTIONAL + /DYNAMICBASE,/MANIFESTUAC
  PARAMS_OPTIONAL + /Dynamicbase,/Manifestuac
  # VC++ 11
  PARAMS_OPTIONAL + /appcontainer,/highentropyva,/winmddelaysign,/winmd
  PARAMS_OPTIONAL + /APPCONTAINER,/HIGHENTROPYVA,/WINMDDELAYSIGN,/WINMD
  PARAMS_OPTIONAL + /Appcontainer,/Highentropyva,/Winmddelaysign,/Winmd

  PARAMS_LIST     =
  PARAMS_LIST_SEPARATOR =

  OPT_LINK_OUT = /OUT:,/out:,/Out:
  OPT_NO_CTC   = /?,/help,/lib,/dump,/edit
  OPT_NO_CTC   + /HELP,/LIB,/DUMP,/EDIT
  OPT_NO_CTC   + /Help,/Lib,/Dump,/Edit

  OBJECT_EXTENSION = obj
  OPT_NO_LINK =

  LIBRARY = $(CTCHOME)\lib\ctcmsnt.lib,$(CTCHOME)\lib\ctcmsnt64.lib,/nologo

  TMP_DIRECTORY = $(TEMP)
  # If your system does not support this long commands, adjust to the lower
  # MAX_CMDLINE_LENGTH = 2047
  MAX_CMDLINE_LENGTH = 8000


[Borland C++ BCC32]
  #BC++ 5.0 compliant at least...
  COMMAND = bcc32, pcc32
  TYPE    = compiler_linker
  # bcc32 5.5: -q (Suppress compiler identification banner)
  PREPROC_C   = cpp32 -D__CTC__ -o%RESULT% %FLAGS% %FILE%
  PREPROC_CXX = cpp32 -D__CTC__ -o%RESULT% %FLAGS% %FILE%
  RUN_BEFORE_ALL  =
  RUN_AFTER_CPP   =
  RUN_AFTER_INSTR =
  RUN_AFTER_COMP  =

  OPTCHARS = -/
  OPTFILE  = @,+
  OPT_NO_OPTFILE =

  PARAMS = -e,-o,-D,-U,-I,-L,-g,-i,-j,-n
  PARAMS_SEPARATE =
  PARAMS_OPTIONAL =
  PARAMS_LIST     =
  PARAMS_LIST_SEPARATOR =

  OPT_COMPILE_ONLY = -c
  OPT_COMP_OUT = -o
  OPT_LINK_OUT = -e
  OPT_NO_CTC   = -S
  OPT_NO_PREPROC  = -R,-R-
  OPT_ADD_PREPROC =
  OPT_NO_COMPILE  = -D,-I,-X-
  # bcc32 5.5: -q (Suppress compiler identification banner)
  OPT_ADD_COMPILE = -I$(CTCHOME),-X,-DCTC_CLIKE_MCOND
  OPT_ADD_COMPILE + -DCTC_HEAP_COUNTERS
  OPT_DO_2COMP    =

  EXT_C   = c
  EXT_CXX = cpp, cxx, cc
  EXT_OTHER = %DEFAULT%

  OBJECT_EXTENSION = obj
  DIFF_COMP_AND_LINK_OPTS = ON
  OPT_NO_LINK =
  LIBRARY = $(CTCHOME)\lib\ctcbnt.lib

  EMBED_FUNCTION_NAME =

  DIALECT_C   = BORLAND
  DIALECT_CXX = BORLAND

  TMP_DIRECTORY = $(TEMP)
  EXCLUDE = %INCLUDES%
  NO_EXCLUDE =
  NO_INCLUDE =
  SKIP_FUNCTION_NAME =
  SKIP_PARAMETER_LIST =
  CONST_INSTR = OFF
  SOURCE_IDENTIFICATION = absolute
  DATAFILE = %DEFAULT%
  ASSEMBLY_COMMENT_CHARS =

  # If your system does not support this long commands, adjust to the lower
  # MAX_CMDLINE_LENGTH = 2047
  MAX_CMDLINE_LENGTH = 8000

[Borland C++ TLINK32]
  #BC++ 5.0 compliant at least...
  COMMAND = tlink32
  TYPE    = borland_linker
  RUN_BEFORE_ALL =

  OPTCHARS = -/
  OPTFILE  = @
  OPT_NO_OPTFILE =

  PARAMS =
  PARAMS_SEPARATE =
  PARAMS_OPTIONAL =
  PARAMS_LIST     =
  PARAMS_LIST_SEPARATOR =

  OPT_LINK_OUT =
  OPT_NO_CTC   =
  OBJECT_EXTENSION = obj
  OPT_NO_LINK =
  LIBRARY = $(CTCHOME)\lib\ctcbnt.lib

  TMP_DIRECTORY = $(TEMP)
  # If your system does not support this long commands, adjust to the lower
  # MAX_CMDLINE_LENGTH = 2047
  MAX_CMDLINE_LENGTH = 8000

[Borland C++ ILINK32]
  #BC++ 5.5 compliant at least...
  COMMAND = ilink32
  TYPE    = borland_linker
  RUN_BEFORE_ALL =

  OPTCHARS = -/
  OPTFILE  = @
  OPT_NO_OPTFILE =

  PARAMS =
  PARAMS_SEPARATE =
  PARAMS_OPTIONAL =
  PARAMS_LIST     =
  PARAMS_LIST_SEPARATOR =

  OPT_LINK_OUT =
  OPT_NO_CTC   =

  OBJECT_EXTENSION = obj
  OPT_NO_LINK =
  LIBRARY = $(CTCHOME)\lib\ctcbnt.lib

  TMP_DIRECTORY = $(TEMP)
  # If your system does not support this long commands, adjust to the lower
  # MAX_CMDLINE_LENGTH = 2047
  MAX_CMDLINE_LENGTH = 8000


[GNU gcc]
  # gcc version 2.95.3 and compatibles
  COMMAND = gcc
  COMMAND + cc
  COMMAND + clang
  COMMAND + gcc-3
  COMMAND + gcc-4
  TYPE    = compiler_linker
  PREPROC_C   = %COMMAND% -E -D__CTC__ %FLAGS% %FILE% -o %RESULT%
  PREPROC_CXX = %COMMAND% -E -D__CTC__ %FLAGS% %FILE% -o %RESULT%
  RUN_BEFORE_ALL  =
  RUN_AFTER_CPP   =
  RUN_AFTER_INSTR =
  RUN_AFTER_COMP  =

  OPTCHARS = -
  # If your gcc is older than 4.2 and does not support response files,
  # comment out the following definition or set OPTFILE to empty
  OPTFILE  = @
  OPT_NO_OPTFILE =

  # General
  PARAMS          = -o,-x,-G,--help=,-fplugin=
  # Preprocessor
  PARAMS          + -A,-D,-U,-include,-imacros,-idirafter,-iprefix
  PARAMS          + -iwithprefixbefore,-iwithprefix,-isystem
  PARAMS          + -MF,-MQ,-MT,-finput-charset=,-imultilib,-isysroot
  # Linker
  PARAMS          + -l,-u
  # Directory options
  PARAMS          + -I,-L,-B,-specs,--sysroot
  # Target options
  PARAMS          + -b,-V
  # Warning options
  PARAMS          + -Wid-clash-,-Werror=
  PARAMS_SEPARATE = -o,-aux-info,--param,-wrapper
  PARAMS_SEPARATE + -Xpreprocessor,-Xassembler,-Xlinker,-target
  PARAMS_OPTIONAL = -print-file-name=,-print-prog-name=
  PARAMS_OPTIONAL + -save-temps
  PARAMS_OPTIONAL + "-Wp,", "-Wa,", "-Wl,"
  PARAMS_LIST     =
  PARAMS_LIST_SEPARATOR =

  OPT_COMPILE_ONLY = -c
  OPT_COMP_OUT = -o
  OPT_LINK_OUT = -o
  OPT_NO_CTC   = -E,-S,-M,-MM,--help,--help=,--version,-fsyntax-only,-r
  OPT_NO_CTC   + -print-file-name=,-print-prog-name=,-print-libgcc-file-name
  OPT_NO_CTC   + -print-search-dirs,-print-multi-directory,-print-multi-lib
  OPT_NO_CTC   + -###,--target-help,-dumpspecs,-dumpmachine,-dumpversion
  OPT_NO_PREPROC  = -l, -L, -g3, -ggdb3, -gstabs3, -gcoff3, -gxcoff3, -gdwarf3
  OPT_NO_PREPROC  + -MD, -MMD, -MF, -MG, -MP, -MQ, -MT, "-Wl,"
  OPT_ADD_PREPROC =
  OPT_NO_COMPILE  = -D,-I,-l,-L,-include,-imacros,-Werror,-pedantic-errors,-Werror=
  OPT_NO_COMPILE  + -pedantic,-MD,-MMD,-MF,-MG,-MP,-MQ,-MT,"-Wp,","-Wl,"
  OPT_NO_COMPILE  + -finput-charset=
  OPT_NO_COMPILE  + -save-temps,--save-temps
  OPT_ADD_COMPILE = -I$(CTCHOME)
  OPT_ADD_COMPILE + -DCTC_HEAP_COUNTERS
  OPT_DO_2COMP    = -MD,-MMD
  OPT_DO_2COMP    + -save-temps,--save-temps

  EXT_C   = c
  EXT_CXX = C, cc, cxx, cpp, c++, cp
  EXT_OTHER = %DEFAULT%

  OBJECT_EXTENSION = o
  DIFF_COMP_AND_LINK_OPTS = OFF
  OPT_NO_LINK = -x

  LIBRARY = -L$(CTCHOME)\lib,-lctc64
  # If your build is 64-bit, either use '-C LIBRARY=...' or have here
  # LIBRARY = -L$(CTCHOME)\lib,-lctc64

  EMBED_FUNCTION_NAME =

  DIALECT_C   = ANSI
  DIALECT_CXX = ANSI

  TMP_DIRECTORY = $(TEMP)
  EXCLUDE = %INCLUDES%
  NO_EXCLUDE =
  NO_INCLUDE =
  SKIP_FUNCTION_NAME =
  SKIP_PARAMETER_LIST =
  CONST_INSTR = OFF
  SOURCE_IDENTIFICATION = absolute
  DATAFILE = %DEFAULT%
  ASSEMBLY_COMMENT_CHARS =

  # If your system does not support this long commands, adjust to the lower
  # MAX_CMDLINE_LENGTH = 2047
  MAX_CMDLINE_LENGTH = 8000

[GNU g++]
  # g++ version 2.95.3 and compatibles
  COMMAND = g++
  COMMAND + c++
  COMMAND + clang++
  COMMAND + g++-3
  COMMAND + g++-4
  TYPE    = compiler_linker
  PREPROC_C   =
  PREPROC_CXX = %COMMAND% -E -D__CTC__ %FLAGS% %FILE% -o %RESULT%
  RUN_BEFORE_ALL  =
  RUN_AFTER_CPP   =
  RUN_AFTER_INSTR =
  RUN_AFTER_COMP  =

  OPTCHARS = -
  # If your g++ is older than 4.2 and does not support response files,
  # comment out the following definition or set OPTFILE to empty
  OPTFILE  = @
  OPT_NO_OPTFILE =

  # General
  PARAMS          = -o,-x,-G,--help=,-fplugin=
  # Preprocessor
  PARAMS          + -A,-D,-U,-include,-imacros,-idirafter,-iprefix
  PARAMS          + -iwithprefixbefore,-iwithprefix,-isystem
  PARAMS          + -MF,-MQ,-MT,-finput-charset=,-imultilib,-isysroot
  # Linker
  PARAMS          + -l,-u
  # Directory options
  PARAMS          + -I,-L,-B,-specs,--sysroot
  # Target options
  PARAMS          + -b,-V
  # Warning options
  PARAMS          + -Wid-clash-,-Werror=
  PARAMS_SEPARATE = -o,-aux-info,--param,-wrapper
  PARAMS_SEPARATE + -Xpreprocessor,-Xassembler,-Xlinker,-target
  PARAMS_OPTIONAL = -print-file-name=,-print-prog-name=
  PARAMS_OPTIONAL + -save-temps
  PARAMS_OPTIONAL + "-Wp,", "-Wa,", "-Wl,"
  PARAMS_LIST     =
  PARAMS_LIST_SEPARATOR =

  OPT_COMPILE_ONLY = -c
  OPT_COMP_OUT = -o
  OPT_LINK_OUT = -o
  OPT_NO_CTC   = -E,-S,-M,-MM,--help,--help=,--version,-fsyntax-only,-r
  OPT_NO_CTC   + -print-file-name=,-print-prog-name=,-print-libgcc-file-name
  OPT_NO_CTC   + -print-search-dirs,-print-multi-directory,-print-multi-lib
  OPT_NO_CTC   + -###,--target-help,-dumpspecs,-dumpmachine,-dumpversion
  OPT_NO_PREPROC  = -l, -L, -g3, -ggdb3, -gstabs3, -gcoff3, -gxcoff3, -gdwarf3
  OPT_NO_PREPROC  + -MD, -MMD, -MF, -MG, -MP, -MQ, -MT, "-Wl,"
  OPT_ADD_PREPROC =
  OPT_NO_COMPILE  = -D,-I,-l,-L,-include,-imacros,-Werror,-pedantic-errors,-Werror=
  OPT_NO_COMPILE  + -pedantic,-MD,-MMD,-MF,-MG,-MP,-MQ,-MT,"-Wp,","-Wl,"
  OPT_NO_COMPILE  + -finput-charset=
  OPT_NO_COMPILE  + -save-temps,--save-temps
  OPT_ADD_COMPILE = -I$(CTCHOME)
  OPT_ADD_COMPILE + -DCTC_HEAP_COUNTERS
  OPT_DO_2COMP    = -MD,-MMD
  OPT_DO_2COMP    + -save-temps,--save-temps

  EXT_C   =
  EXT_CXX = c, C, cc, cxx, cpp, c++, cp
  EXT_OTHER = %DEFAULT%

  OBJECT_EXTENSION = o
  DIFF_COMP_AND_LINK_OPTS = OFF
  OPT_NO_LINK = -x

  LIBRARY = -L$(CTCHOME)\lib,-lctc64
  # If your build is 64-bit, either use '-C LIBRARY=...' or have here
  # LIBRARY = -L$(CTCHOME)\lib,-lctc64

  EMBED_FUNCTION_NAME =

  DIALECT_C   = ANSI
  DIALECT_CXX = ANSI

  TMP_DIRECTORY = $(TEMP)
  EXCLUDE = %INCLUDES%
  NO_EXCLUDE =
  NO_INCLUDE =
  SKIP_FUNCTION_NAME =
  SKIP_PARAMETER_LIST =
  CONST_INSTR = OFF
  SOURCE_IDENTIFICATION = absolute
  DATAFILE = %DEFAULT%
  ASSEMBLY_COMMENT_CHARS =

  # If your system does not support this long commands, adjust to the lower
  # MAX_CMDLINE_LENGTH = 2047
  MAX_CMDLINE_LENGTH = 8000

[GNU ld]
  # GNU ld version 2.10.1 and compatibles
  COMMAND = ld
  TYPE    = linker
  RUN_BEFORE_ALL =

  OPTCHARS = -
  # If your ld is older than 2.18 and does not support response files,
  # comment out the following definition or set OPTFILE to empty
  OPTFILE  = @
  OPT_NO_OPTFILE =

  PARAMS          = -a,-A,-b,-c,-e,-f,-F,-h,-l,-L,-m,-o,-O,-R
  PARAMS          + -T,-u,-y,-Y,-z
  PARAMS_SEPARATE = --defsym,--auxiliary,--filter,--Map,--oformat
  PARAMS_SEPARATE + --rpath,--rpath-link,--split-by-reloc,--section-start
  PARAMS_SEPARATE + --Tbss,--Tdata,--Ttext,--wrap,--architecture
  PARAMS_SEPARATE + --dynamiclinker,--retain-symbols-file
  PARAMS_SEPARATE + -defsym,-auxiliary,-filter,-Map,-oformat
  PARAMS_SEPARATE + -rpath,-rpath-link,-split-by-reloc,-section-start
  PARAMS_SEPARATE + -Tbss,-Tdata,-Ttext,-wrap,-architecture
  PARAMS_SEPARATE + -dynamiclinker,-retain-symbols-file
  PARAMS_OPTIONAL = --demangle, -demangle
  PARAMS_LIST     =
  PARAMS_LIST_SEPARATOR =

  OPT_LINK_OUT = -o
  OPT_NO_CTC   = --help,-help,--version,-version
  OPT_NO_CTC   + -r,-i,-Ur,--relocateable,-relocateable

  OBJECT_EXTENSION = o
  OPT_NO_LINK =

  LIBRARY = -L$(CTCHOME)\lib,-lctc64
  # If your build is 64-bit, either use '-C LIBRARY=...' or have here
  # LIBRARY = -L$(CTCHOME)\lib,-lctc64

  TMP_DIRECTORY = $(TEMP)
  # If your system does not support this long commands, adjust to the lower
  # MAX_CMDLINE_LENGTH = 2047
  MAX_CMDLINE_LENGTH = 8000


# The following [Target/gcc, g++, ld] command blocks are for users of
# CTC++/Host-Target add-on using the Win-7/Vista/XP/2000/NT/9x as host...

# The following are generic settings when using gcc as a cross-compiler
# Replace "gcc-target" with the name of your cross-compiler, e.g.
# with m68k-palmos-coff-gcc

[Target/gcc]
  # gcc version 2.95.3 and compatibles
  COMMAND = gcc-target
  TYPE    = compiler_linker
  PREPROC_C   = %COMMAND% -E -D__CTC__ %FLAGS% %FILE% -o %RESULT%
  PREPROC_CXX = %COMMAND% -E -D__CTC__ %FLAGS% %FILE% -o %RESULT%
  RUN_BEFORE_ALL  =
  RUN_AFTER_CPP   =
  RUN_AFTER_INSTR =
  RUN_AFTER_COMP  =

  OPTCHARS = -
  # If your gcc is older than 4.2 and does not support response files,
  # comment out the following definition or set OPTFILE to empty
  OPTFILE  = @
  OPT_NO_OPTFILE =

  # General
  PARAMS          = -o,-x,-G,--help=,-fplugin=
  # Preprocessor
  PARAMS          + -A,-D,-U,-include,-imacros,-idirafter,-iprefix
  PARAMS          + -iwithprefixbefore,-iwithprefix,-isystem
  PARAMS          + -MF,-MQ,-MT,-finput-charset=,-imultilib,-isysroot
  # Linker
  PARAMS          + -l,-u
  # Directory options
  PARAMS          + -I,-L,-B,-specs,--sysroot
  # Target options
  PARAMS          + -b,-V
  # Warning options
  PARAMS          + -Wid-clash-,-Werror=
  PARAMS_SEPARATE = -o,-aux-info,--param,-wrapper
  PARAMS_SEPARATE + -Xpreprocessor,-Xassembler,-Xlinker
  PARAMS_OPTIONAL = -print-file-name=,-print-prog-name=
  PARAMS_OPTIONAL + -save-temps
  PARAMS_OPTIONAL + "-Wp,", "-Wa,", "-Wl,"
  PARAMS_LIST     =
  PARAMS_LIST_SEPARATOR =

  OPT_COMPILE_ONLY = -c
  OPT_COMP_OUT = -o
  OPT_LINK_OUT = -o
  OPT_NO_CTC   = -E,-S,-M,-MM,--help,--help=,--version,-fsyntax-only,-r
  OPT_NO_CTC   + -print-file-name=,-print-prog-name=,-print-libgcc-file-name
  OPT_NO_CTC   + -print-search-dirs,-print-multi-directory,-print-multi-lib
  OPT_NO_CTC   + -###,--target-help,-dumpspecs,-dumpmachine,-dumpversion
  OPT_NO_PREPROC  = -l, -L, -g3, -ggdb3, -gstabs3, -gcoff3, -gxcoff3, -gdwarf3
  OPT_NO_PREPROC  + -MD, -MMD, -MF, -MG, -MP, -MQ, -MT, "-Wl,"
  OPT_ADD_PREPROC =
  OPT_NO_COMPILE  = -D,-I,-l,-L,-include,-imacros,-Werror,-pedantic-errors
  OPT_NO_COMPILE  + -pedantic,-MD,-MMD,-MF,-MG,-MP,-MQ,-MT,"-Wp,","-Wl,"
  OPT_NO_COMPILE  + -finput-charset=
  OPT_NO_COMPILE  + -save-temps,--save-temps
  OPT_ADD_COMPILE = -I$(CTCHOME)
  OPT_DO_2COMP    = -MD,-MMD
  OPT_DO_2COMP    + -save-temps,--save-temps

  EXT_C   = c
  EXT_CXX = C, cc, cxx, cpp, c++, cp
  EXT_OTHER = %DEFAULT%

  OBJECT_EXTENSION = o
  DIFF_COMP_AND_LINK_OPTS = OFF
  OPT_NO_LINK = -x

  # You can specify here, in the configuration parameter LIBRARY,
  # the object and/or library files that make up the CTC++ run-time
  # support layer at the target, for example,
  LIBRARY = $(CTCHOME)\hota\targdata.o
  LIBRARY + $(CTCHOME)\hota\targcust.o
  LIBRARY + $(CTCHOME)\hota\targsend.o

  EMBED_FUNCTION_NAME =

  DIALECT_C   = ANSI
  DIALECT_CXX = ANSI

  TMP_DIRECTORY = $(TEMP)
  EXCLUDE = %INCLUDES%
  NO_EXCLUDE =
  NO_INCLUDE =
  SKIP_FUNCTION_NAME =
  SKIP_PARAMETER_LIST =
  CONST_INSTR = OFF
  SOURCE_IDENTIFICATION = absolute
  DATAFILE = %DEFAULT%
  ASSEMBLY_COMMENT_CHARS =

  # If your system does not support this long commands, adjust to the lower
  # MAX_CMDLINE_LENGTH = 2047
  MAX_CMDLINE_LENGTH = 8000

# The following are generic settings when using g++ as a cross-compiler
# Replace "g++-target" with the name of your cross-compiler.

[Target/g++]
  # g++ version 2.95.3 and compatibles
  COMMAND = g++-target
  TYPE    = compiler_linker
  PREPROC_C   =
  PREPROC_CXX = %COMMAND% -E -D__CTC__ %FLAGS% %FILE% -o %RESULT%
  RUN_BEFORE_ALL  =
  RUN_AFTER_CPP   =
  RUN_AFTER_INSTR =
  RUN_AFTER_COMP  =

  OPTCHARS = -
  # If your g++ is older than 4.2 and does not support response files,
  # comment out the following definition or set OPTFILE to empty
  OPTFILE  = @
  OPT_NO_OPTFILE =

  # General
  PARAMS          = -o,-x,-G,--help=,-fplugin=
  # Preprocessor
  PARAMS          + -A,-D,-U,-include,-imacros,-idirafter,-iprefix
  PARAMS          + -iwithprefixbefore,-iwithprefix,-isystem
  PARAMS          + -MF,-MQ,-MT,-finput-charset=,-imultilib,-isysroot
  # Linker
  PARAMS          + -l,-u
  # Directory options
  PARAMS          + -I,-L,-B,-specs,--sysroot
  # Target options
  PARAMS          + -b,-V
  # Warning options
  PARAMS          + -Wid-clash-,-Werror=
  PARAMS_SEPARATE = -o,-aux-info,--param,-wrapper
  PARAMS_SEPARATE + -Xpreprocessor,-Xassembler,-Xlinker
  PARAMS_OPTIONAL = -print-file-name=,-print-prog-name=
  PARAMS_OPTIONAL + -save-temps
  PARAMS_OPTIONAL + "-Wp,", "-Wa,", "-Wl,"
  PARAMS_LIST     =
  PARAMS_LIST_SEPARATOR =

  OPT_COMPILE_ONLY = -c
  OPT_COMP_OUT = -o
  OPT_LINK_OUT = -o
  OPT_NO_CTC   = -E,-S,-M,-MM,--help,--help=,--version,-fsyntax-only,-r
  OPT_NO_CTC   + -print-file-name=,-print-prog-name=,-print-libgcc-file-name
  OPT_NO_CTC   + -print-search-dirs,-print-multi-directory,-print-multi-lib
  OPT_NO_CTC   + -###,--target-help,-dumpspecs,-dumpmachine,-dumpversion
  OPT_NO_PREPROC  = -l, -L, -g3, -ggdb3, -gstabs3, -gcoff3, -gxcoff3, -gdwarf3
  OPT_NO_PREPROC  + -MD, -MMD, -MF, -MG, -MP, -MQ, -MT, "-Wl,"
  OPT_ADD_PREPROC =
  OPT_NO_COMPILE  = -D,-I,-l,-L,-include,-imacros,-Werror,-pedantic-errors
  OPT_NO_COMPILE  + -pedantic,-MD,-MMD,-MF,-MG,-MP,-MQ,-MT,"-Wp,","-Wl,"
  OPT_NO_COMPILE  + -finput-charset=
  OPT_NO_COMPILE  + -save-temps,--save-temps
  OPT_ADD_COMPILE = -I$(CTCHOME)
  OPT_DO_2COMP    = -MD,-MMD
  OPT_DO_2COMP    + -save-temps,--save-temps

  EXT_C   =
  EXT_CXX = c, C, cc, cxx, cpp, c++, cp
  EXT_OTHER = %DEFAULT%

  OBJECT_EXTENSION = o
  DIFF_COMP_AND_LINK_OPTS = OFF
  OPT_NO_LINK = -x

  # You can specify here, in the configuration parameter LIBRARY,
  # the object and/or library files that make up the CTC++ run-time
  # support layer at the target, for example,
  LIBRARY = $(CTCHOME)\hota\targdata.o
  LIBRARY + $(CTCHOME)\hota\targcust.o
  LIBRARY + $(CTCHOME)\hota\targsend.o

  EMBED_FUNCTION_NAME =

  DIALECT_C   = ANSI
  DIALECT_CXX = ANSI

  TMP_DIRECTORY = $(TEMP)
  EXCLUDE = %INCLUDES%
  NO_EXCLUDE =
  NO_INCLUDE =
  SKIP_FUNCTION_NAME =
  SKIP_PARAMETER_LIST =
  CONST_INSTR = OFF
  SOURCE_IDENTIFICATION = absolute
  DATAFILE = %DEFAULT%
  ASSEMBLY_COMMENT_CHARS =

  # If your system does not support this long commands, adjust to the lower
  # MAX_CMDLINE_LENGTH = 2047
  MAX_CMDLINE_LENGTH = 8000

# The following are generic settings when using ld as a linker.
# Replace "ld-target" with the name of your cross-linker.

[Target/ld]
  # GNU ld version 2.10.1 and compatibles
  COMMAND = ld-target
  TYPE    = linker
  RUN_BEFORE_ALL =

  OPTCHARS = -
  # If your ld is older than 2.18 and does not support response files,
  # comment out the following definition or set OPTFILE to empty
  OPTFILE  = @
  OPT_NO_OPTFILE =

  PARAMS          = -a,-A,-b,-c,-e,-f,-F,-h,-l,-L,-m,-o,-O,-R
  PARAMS          + -T,-u,-y,-Y,-z
  PARAMS_SEPARATE = --defsym,--auxiliary,--filter,--Map,--oformat
  PARAMS_SEPARATE + --rpath,--rpath-link,--split-by-reloc,--section-start
  PARAMS_SEPARATE + --Tbss,--Tdata,--Ttext,--wrap,--architecture
  PARAMS_SEPARATE + --dynamiclinker,--retain-symbols-file
  PARAMS_SEPARATE + -defsym,-auxiliary,-filter,-Map,-oformat
  PARAMS_SEPARATE + -rpath,-rpath-link,-split-by-reloc,-section-start
  PARAMS_SEPARATE + -Tbss,-Tdata,-Ttext,-wrap,-architecture
  PARAMS_SEPARATE + -dynamiclinker,-retain-symbols-file
  PARAMS_OPTIONAL = --demangle, -demangle
  PARAMS_LIST     =
  PARAMS_LIST_SEPARATOR =

  OPT_LINK_OUT = -o
  OPT_NO_CTC   = --help,-help,--version,-version
  OPT_NO_CTC   + -r,-i,-Ur,--relocateable,-relocateable

  OBJECT_EXTENSION = o
  OPT_NO_LINK =

  # You can specify here, in the configuration parameter LIBRARY,
  # the object and/or library files that make up the CTC++ run-time
  # support layer at the target, for example,
  LIBRARY = $(CTCHOME)\hota\targdata.o
  LIBRARY + $(CTCHOME)\hota\targcust.o
  LIBRARY + $(CTCHOME)\hota\targsend.o

  TMP_DIRECTORY = $(TEMP)
  # If your system does not support this long commands, adjust to the lower
  # MAX_CMDLINE_LENGTH = 2047
  MAX_CMDLINE_LENGTH = 8000

# --- end of ctc.ini file ---
