Auto Compiler Personality
Generator 2.0.3
Description
The Auto Compiler Personality Generator utility will create a compiler
personality file. The GUI utility (AutoCmpPersonGen.exe) provides an interface
for the parameters as listed in the below table.
If you discover that there are still Level 9 Syntax errors encountered
during your analysis when using a personality file generated by this utility,
please make a note of the error and your compiler and notify support@programmingresearch.com.
The Auto Compiler Personality Generator is typically run in GUI mode
rather than as a command line tool.
However the command line tool (AutoCmpGen.exe) can be run with the
following arguments:
Command line options
<Product> |
Mandatory |
Specifies the product for
which the personality will be created. qac | qacpp |
<cross compiler> |
Mandatory |
Specifies whether the
compiler is a cross compiler or not. ccmp | cmp (cross-compiler|compiler) |
<compiler command> |
Mandatory |
Specifies the command
required to invoke the compiler from the command line. |
<compiler output flag> |
Mandatory |
Specifies the flag used by
the compiler to denote output to a file. For example in gcc: gcc –otest.exe test.cpp is a
typical output command |
<compiler object flag> |
Mandatory |
Specifies the flag used by
the compiler to produce and object file. For example in gcc: gcc –c test.cpp is a typical
object command |
<define flag> |
Mandatory |
Specifies the flag used by
the compiler to define a macro/define on eth command line. For example in gcc: gcc –dXXX=1
is a typical define flag |
<object file extension> |
Mandatory |
Specifies the extension of
the object file produced by the compilation process. Note a compiler may
produce multiple files after compilation. For example: .obj
or .o is a typical object file extension. |
<compile command order> |
Mandatory |
Specifies the order of the
flags specified to the compile command in the form of: %e – executable file “%c %j %d %o %e %s” |
-i
<search directory> |
Mandatory |
Specifies the starting
level directory for all system includes (note this could be a list, although
the tool will recurse into these directories so sub
directories are not required to be listed). For the best results add the
compiler bin directory to the list to include the compiler binaries. |
-op <output location> |
Optional |
Specifies the location at
which to create the personality. If no
name is specified, it defaults to C:\temp\AutoCmpPerson.p_c or /tmp/AutoCmpPerson.p_c. |
-xd
<external compiler define> |
Optional |
A set of compiler defines
external to the header files that could affect/determine compilation of test
files. These can either be comma separated (eg ONE,TWO=2) or line delimited. |
-xs
<external compiler switch> |
Optional |
A set of compiler switches
utilized when invoking the compiler that could affect/determine compilation
of test files. These can either be comma separated (eg
ONE,TWO=2) or line delimited. |
-tpl
<template personality file> |
Optional |
Specify a template
personality file to use as the basis for the generated personality. Any
settings inside the template file will be copied to the generated personality. |
-fi
<force include file> |
Optional |
Specify a force include
file required for the compiler in question. The generated personality will
contain an entry to link to this force include file. |
-sub <substitute header
directory> |
Optional |
Specify a directory
containing any required substitute headers for the compiler in question. The
generated personality will contain an include path entry to this directory
before all other system includes. |
-rfs |
Optional |
“Reduce File Size”. Specify
this option to ensure that the generator does not produce overly large test
files during execution. This will increase the time taken to produce a
personality, but prevent compiler crashes due to number of pre-processor
statements or declarations of variables inside files. |
Change History
Version 2.0.3 |
Improved options under saved compiler menu for Code Warrior, IAR and others. Resolved bug in batch file production and error code reading. |
Version 2.0.2 |
Resolved output of defines
containing spaces that were not correctly quoted. |
Version 2.0.1 |
Registry entry improvement
to denote installed location. Additional support for errno usage on linux for C
based gcc runs. Bug fix for Destination dialog
clearing the edit field on cancel click. |
Version 2.0 |
Added support for Reduce
File Size option, fixed issue with QAC++ mode generation of personality
regarding definition of “std”. Re-organised wizard pages to ensure most
important fields come first. |
Version 1.1 |
Added Compiler/Exe Command
selection interface and the ability to specify an optional template
personality, an optional force include file and an
optional substitute headers directory. |
Version 1.0 |
Initial version of the
Auto Compiler Personality Generator. |