GEN-CTL-IO(1)

NAME
gen-ctl-io - generate C interface code for libctl control files

SYNOPSIS
gen-ctl-io [OPTION]... [spec-file]

DESCRIPTION

gen-ctl-io generates C code to import/export the input/output variables used in a libctl control file. gen-ctl-io generates files like ctl-io.h and ctl-io.c. These files define global variables, data structures, and functions for the input/output variables, classes, and function interfaces defined in the spec-file argument, automating the interaction between C and Guile.

The arguments such as --code and --header are used to control whether ctl-io.c or ctl-io.h, etcetera, are generated. If no argument is specified then both of these files are generated by default, for backwards compatibility.

libctl is a free library to aid in interfacing scientific software with the GNU Guile scripting and extension language. Documentation for it may be found online at the libctl home page: http://ab-initio.mit.edu/libctl

OPTIONS

--code
    Generate C (or C++) source code to implement the Guile interface functions. The default output file name is ctl-io.c (in C) or ctl-io.cpp (in C++).

--header
    Generate the header file declaring the interface data types and functions. The default output file name is ctl-io.h (in C) or ctl-io.hpp (in C++).

--swig
    Generate a SWIG interface definition file declaring automatic conversions for the various libctl data types. The default output file name is ctl-io.i.

--cxx
    Generate C++ code instead of C code.

-o file
    Use file as the output file name instead of the defaults (above).

BUGS
Send bug reports to S. G. Johnson, stevenj@alum.mit.edu.

AUTHORS
Written by Steven G. Johnson.