Next: , Previous: Command Line for gnatchop, Up: Renaming Files Using gnatchop


8.4 Switches for gnatchop

gnatchop recognizes the following switches:

-c
Causes gnatchop to operate in compilation mode, in which configuration pragmas are handled according to strict RM rules. See previous section for a full description of this mode.
-gnatxxx
This passes the given -gnatxxx switch to gnat 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.
-kmm
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. No space is allowed between the -k and the numeric value. The numeric value may be omitted in which case a default of -k8, suitable for use with DOS-like file systems, is used. If no -k switch is present then 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). This may be 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 in terms of the original unchopped file. This switch causes Source_Reference pragmas to be inserted into each of the generated files to refers 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, then gnatchop respects this pragma, 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. The version number and copyright notice are output, as well as exact copies of the gnat1 commands spawned to obtain the chop control information.
-w
Overwrite existing file names. Normally gnatchop regards it as a fatal error if there is already a file with the same name as a file it would otherwise output, in other words 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, no attempt is made to add the prefix to the GNAT parser executable.