1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
.\" libctl: flexible Guile-based control files for scientific software
.\" Copyright (C) 1998, 1999, 2000, 2001, 2002, Steven G. Johnson
.\"
.\" This library is free software; you can redistribute it and/or
.\" modify it under the terms of the GNU Lesser General Public
.\" License as published by the Free Software Foundation; either
.\" version 2 of the License, or (at your option) any later version.
.\"
.\" This library is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
.\" Lesser General Public License for more details.
.\"
.\" You should have received a copy of the GNU Lesser General Public
.\" License along with this library; if not, write to the
.\" Free Software Foundation, Inc., 59 Temple Place - Suite 330,
.\" Boston, MA 02111-1307, USA.
.\"
.\" Steven G. Johnson can be contacted at stevenj@alum.mit.edu.
.\"
.TH GEN-CTL-IO 1 "March 27, 2006" "libctl" "libctl"
.SH NAME
gen-ctl-io \- generate C interface code for libctl control files
.SH SYNOPSIS
.B gen-ctl-io
[OPTION]... [\fIspec-file\fR]
.SH DESCRIPTION
.PP
.B gen-ctl-io
generates C code to import/export the input/output
variables used in a libctl control file.
.B gen-ctl-io
generates files like \fIctl-io.h\fP and \fIctl-io.c\fP. These files define global variables, data structures, and functions for the input/output variables, classes, and function interfaces defined in the
.I spec-file
argument, automating the interaction between C and Guile.
The arguments such as
.B --code
and
.B --header
are used to control whether \fIctl-io.c\fP or \fIctl-io.h\fP,
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:
.I http://ab-initio.mit.edu/libctl
.SH OPTIONS
.TP
\fB\--code\fR
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++).
.TP
\fB\--header\fR
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++).
.TP
\fB\--swig\fR
Generate a SWIG interface definition file declaring automatic conversions
for the various libctl data types. The default output file name is
ctl-io.i.
.TP
\fB\--cxx\fR
Generate C++ code instead of C code.
.TP
\fB\-o\fR \fIfile\fR
Use
.I file
as the output file name instead of the defaults (above).
.SH BUGS
Send bug reports to S. G. Johnson, stevenj@alum.mit.edu.
.SH AUTHORS
Written by Steven G. Johnson.
|