RPC Compiler command line options

# RPCC Command line options

The following is a list of command options accepted by the RPC compiler, RPCC. The options must be preceded by "/" under VMS or MSDOS, "-" under Unix or OS9. The option names are not case sensitive. See the chapter "Running the RPC Compiler" for more details and examples, and also the chapter "Advanced use of RPC".

NOAUTOINIT
  Suppress the automatic initialisation of the stubs (Under VMS, PILS or TurboPascal only)
BYVALUE
  Pass simple IN arguments to routines by value, rather than by address. This removes FORTRAN compatibility, but is normally necessary for C compatability. Should not be used with the SFORTRAN or CFORTRAN options.
CONCURRENT
  Allow those procedures (not functions) which do not return any results to be executed after the reply message has been sent back, concurrently with the calling program. See also PRAGMA CONCURRENT.
TIMEOUT=
  Specify the maximum time to be allowed for the completion (at run time) of any one procedure call in this package. An error "RPC Timeout" occurs if this time is exceeded. The timeout value is decimal, in in units of 10ms. [Default=no timeout] See section 8, and also see PRAGMA TIMEOUT.
TYPES
  Causes definitions of the user-defined types (in C or Pascal) to be included in the external declaration (.ext) file generated. See section 8.
ALIGN
  Adds an extra alignment byte in the cannonical form after each RPC_BYTE or RPC_CHAR type. RPC command only, not RPCC. Not recommended.
VERSION
  Force the version number to a specified value. If zero is specified, supresses version number checking. See section 8. The following options select the generation of client stub files. Each may optionally be followed by an equals sign and a filename e.g. cgeneric=clixxx.c The filename may not be included with the alternative "RPC" command described in chapter 4, only with "RPCC".
CGENERICC
  Produce a client stub file in C langage. Note this is normally used with the BYVALUE option.
CFORTRAN
  Produce a client stub in FORTRAN.
CPILS
  Produce a client stub in PILS (Portable Interactive Language System)
CCERNCROSS
  Produce a client stub file in Pascal suitable for the CERN cross software.
CM6809
  Produce a client stub file suitable for the Omegasoft Pascal compiler for the M6809.
CVAXVMS
  Produce a client stub file suitable for the VAX/VMS pascal compiler 'VAX/Pascal'.
CUNIXBSD
  Produce a client stub file suitable for the Berkley Unix 4.2, 4.3 pascal compiler 'pc'.
CPCTURBO
  Produce a client stub file suitable for a TurboPascal (IBM PC or Macintosh) compiler.
CMONOLITH
  Produce a client stub file suitable for a non&hyphen.module monolithic Pascal compilation.

The following options select the generation of server stub files. Each may optionally be followed by an equals sign and a filename eg sgeneric=serxxx.c The filename may not be included with the alternative "RPC" command described in chapter 4, only with "RPCC".

SGENERICC
  Produce a server stub file in C langage.
SFORTRAN
  Produce a server stub in FORTRAN.
SPILS
  Produce a server stub in PILS (Portable Interactive Language System)
SCERNCROSS
  Produce a server stub file in Pascal suitable for the CERN cross software.
SM6809
  Produce a server stub file suitable for the Omegasoft Pascal compiler for the M6809.
SVAXVMS
  Produce a server stub file suitable for the VAX/VMS pascal compiler 'VAX/Pascal'.
SUNIXBSD
  Produce a server stub file suitable for the Berkley Unix 4.2, 4.3 pascal compiler 'pc'.
SPCTURBO
  Produce a server stub file suitable for a TurboPascal (IBM PC or Macintosh) compiler.
SMONOLITH
  Produce a server stub file suitable for a non&hyphen.module monolithic Pascal compilation.

The following options are only useful for development and maintenance of the compiler. They show the operation of the compiler at some low level and are of no interest for the normal user. Their setting does not influence the operation of the compiler itself and the output code obtained with these switches set is unaffected. These options can be mixed in any combination.

DTREE
  Prints the tree of types and blocks. The compiler generates on the standard output a list of type and procedures definitions after the input parsing. This could be useful if you want to check whether the compiler really understood your definitions. The file '.ext' produced by the compiler is another way to check this consistency.
  The maximum and minimum estimated sizes of parameters passed to and from each routine are also listed.
DLEX
  For debugging lexical analiser. Print each input line and the tokens that are extracted from this line. Only useful for upgrading and maintenance.
DLEXHOT
  For debugging the lexical analiser. Print each character read from input. Only useful for upgrading and maintenance.