---
name: "c-stubber"
section: "1"
platform: "linux"
package: "ilu-dev"
version: "2.0.0.12-5"
release: "Debian 2.1 (Slink)"
platforms: ["linux"]
url: "https://new.carta.tech/c-stubber"
---

# c-stubber(1)

generate ILU stubs for the C programming language

## NAME

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

## SYNOPSIS

**c-stubber** \[**-I** *interface-dir* ...\] \[**-dir** *output-dir*\] \[**-headers**\] \[**-common**\] \[**-surrogate**\] \[**-true**\] \[**-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 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.

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
