3.3.6.4 Switches for gnatchop

gnatchop recognizes the following switches:

--version

Display copyright and version, then exit, disregarding all other options.

--help

If --version is not present, display usage, then exit, disregarding all other options.

-c

Causes gnatchop to operate in compilation mode, in which configuration pragmas are handled according to strict RM rules. See the previous section for a full description of this mode.

-gnat`xxx'

This passes the given -gnat`xxx' switch to gcc which is used to parse the given file. Not all ‘xxx’ options make sense, but, for example, the use of -gnati2 allows gnatchop to process a source file that uses Latin-2 coding for identifiers.

-h

Causes gnatchop to generate a brief help summary to the standard output file showing usage information.

-k`mm'

Limit generated file names to the specified number mm of characters. This is useful if the resulting set of files is required to be interoperable with systems which limit the length of file names. You may not place any space between the -k and the numeric value. You can omit the numeric value, in which case gnatchop will use a default of -k8, suitable for use with DOS-like file systems. If you don’t specify a -k switch, there is no limit on the length of file names.

-p

Causes the file modification time stamp of the input file to be preserved and used for the time stamp of the output file(s). You may find this useful for preserving coherency of time stamps in an environment where gnatchop is used as part of a standard build process.

-q

Causes output of informational messages indicating the set of generated files to be suppressed. Warnings and error messages are unaffected.

-r

Generate Source_Reference pragmas. Use this switch if the output files are regarded as temporary and development is to be done from of the original unchopped file. This switch causes Source_Reference pragmas to be inserted into each of the generated files to refer back to the original file name and line number. The result is that all error messages refer back to the original unchopped file. In addition, the debugging information placed into the object file (when the -g switch of gcc or gnatmake is specified) also refers back to this original file so that tools like profilers and debuggers will give information in terms of the original unchopped file.

If the original file to be chopped itself contains a Source_Reference pragma referencing a third file, gnatchop respects these pragmas and the generated Source_Reference pragmas in the chopped file refer to the original file, with appropriate line numbers. This is particularly useful when gnatchop is used in conjunction with gnatprep to compile files that contain preprocessing statements and multiple units.

-v

Causes gnatchop to operate in verbose mode. It outputs the version number and copyright notice as well as exact copies of the commands spawned to obtain the information needed to control chopping.

-w

Overwrite existing file names. Normally, gnatchop treats it as a fatal error if there’s already a file with the same name as a file it would otherwise output. This can happen either if you’ve previously chopped that file or if the files to be chopped contain duplicated units. This switch bypasses this check and causes all but the last instance of such duplicated units to be skipped.

--GCC=`xxxx'

Specify the path of the GNAT parser to be used. When this switch is used, gnatchop makes no attempt to add a prefix to the GNAT parser executable, so it must include the full pathname.