C-STUBBER(1)

NAME
c-stubber - generate ILU stubs for the C programming language

SYNOPSIS
c-stubber [-I interface-dir ...] [-dir output-dir] [-headers] [-common] [-surrogate] [-true] [-nodefaulttrueclass] [-renames renames-file] [-removefirst] ISLFILE [ ...ISLFILES ]

DESCRIPTION
c-stubber generates C code for the interface defined in ISLFILE, which should be a file containing an ISL specification of the interface. If no directory is specified as part of ISLFILE, the stubber will search for the file in the directories specified with the -I options, followed by list of directories specified by the environment variable ILUPATH. If no file extension is specified for ISLFILE, the extension ".isl" is assumed. If no directories are explicitly specified, and the environment variable ILUPATH is not set, the stubber will search the default list of directories, which is (., ILUHOME/interfaces).

If the interface being stubbed is called foo, four output files will be created, "foo-common.c", containing code used by both the surrogate and true sides of the module, "foo-surrogate.c", containing code used only by the surrogate side, "foo-true.c", containing code used by the true side, and "foo.h", containing a C header file for the module. By specifying the -headers, -common, -surrogate, and -true options, any combination of these files can be produced. If an output-dir is specified, the files will be put in that directory; if the directory does not exist, the program will attempt to create it with "mkdir output-dir".

If the -nodefaulttrueclass switch is specified, the true stub code file will not include the command which creates a default true class. This avoids pulling in references to possibly unused default true methods.

The renames-file allows the user to override the default mappings of ISL names to C names, as specified in the ILU Reference Manual.

If the -removefirst switch is specified, the stubber will attempt to remove old versions of the stub files before generating new versions, rather than attempting to overwrite the old version, which is the default behavior.

EXAMPLES

    % ./c-stubber foo.isl
    header file interface foo to ./foo.h...
    common code for interface foo to ./foo-common.c...
    code for surrogate stubs of interface foo to ./foo-surrogate.c...
    code for true stubs of interface foo to ./foo-true.c... %

ENVIRONMENT VARIABLES
The environment variable "ILUPATH" is consulted to find referenced interfaces. It should consist of a sequence of colon-separated directories, which contain interface specifications in the form of files with names like <interface-name>.isl.

SEE ALSO
c++-stubber(1), lisp-stubber(1), m3-stubber(1), python-stubber(1), ILU(1)

The ILU Reference Manual

AUTHOR
Bill Janssen