Generating Native Code

The -native option of cblutil allows you to translate ACUCOBOL-GT portable object modules into native-code object modules. The -native option has the following format:

cblutil -native [options] object-files ...

options can be any of the following:

--intel

or

--ia-32

produces 32-bit native code for Intel-class processors (386, 486, Pentium, Pentium II, Pentium III or compatible processors).
--pa_risc

or

--pa

produces 32-bit native code for PA-RISC version 1.0 running the HP-UX operating system
--pa_risc_2.0

or

--pa2

produces 64-bit native code for PA-RISC version 2.0 running the HP-UX operating system
--power produces code that is compatible with POWER and POWER2 processors, as well as PowerPC and later POWER series processors. This option allows you to use a wide range of machines, but it may affect performance.
--powerpc

or

--ppc

produces 32-bit native code for IBM pSeries processors running AIX operating system

Note that you can compile native code only for machines with a POWER3 or later chip, not with POWER2 or earlier.

--powerpc_64

or

--ppc64
produces 64-bit native code for IBM pSeries processors running AIX
--sparc produces 32-bit native code for SPARC (v7 - v9) processors.
--sparc_v9 produces 64-bit native code for SPARC version 9 processors.
--x64_Win produces 64-bit native code for x64 processors on Windows platforms.
--x64_Unix

or

--x64_Linux

produces 64-bit native code for x64 processors on UNIX/Linux platforms.
-o      names the output file. This option must be followed (as a separate argument) by the name of the file to produce. You may use @ in this name to stand for the base name of the input object file. If you specify -o and multiple object files, then you must use @ in the name. If you omit -o, then the output file replaces the input file.
-v causes cblutil to print the name of each object file as it is being processed.
-Zc produces code that is more compact and somewhat slower.
-Zn turns off the more involved optimizations.

If you specify multiple object files, then each one is translated in turn. If object file refers to an object library, then each module contained in the library is translated. If an object file contains debugging information, that information is retained.

If you do not specify a target processor, then cblutil translates for the processor of the host machine, if native code for that processor is supported. Once an object file has been translated to native code, it cannot be translated again for a different instruction set.

If the object module does not contain ACUCOBOL-GT's portable instruction set, the cblutil -info command includes in its outputs the name of the native instruction set used.