slang-slirp

Langue: en

Version: 07 May 2008 (ubuntu - 07/07/09)

Section: 1 (Commandes utilisateur)

NAME

slirp - C code generator for the S-Lang scripting language

SYNOPSIS

slirp [ OPTIONS ... ] headerfile [ headerfile ... ]

DESCRIPTION

SLIRP is the (SL)ang (I)nterface (P)ackage, a code generator aimed primarily at simplifying the process of creating modules for the S-Lang scripting language.

SLIRP can dramatically reduce the time and effort required to make C, C++, or Fortran code callable directly from the S-Lang interpreter, generate Makefiles to automate the build process, and even parallelize wrappers with OpenMP to take advantage of multiprocessors.

SLIRP may also be used to generate pure C bindings for C++ code, or empty (stub) implementations for the interface(s) specified by its input header files. The code generated in these cases has no dependencies upon S-Lang whatsoever.

OPTIONS

-c++
Mandate that input headers be interpreted as C++, which can be helpful to coerce the interpretation of files that either lack a .hh suffix or do not contain class definitions or other explicit C++ syntax.
-cfront
Generate standalone C wrappers (.cc and .h files), instead of S-Lang bindings, for C++ interface
-const_strings
Treat 'char*' return values as 'const char*'
-d
Include slirp_debug_pause() debugging stub within module
-debug
Run in interactive SLDB debugger (S-Lang 2 only)
-fortran_strlen <i>
Indicate where hidden string len args are placed in wrappers of Fortran calls accepting CHARACTER args (0 = append length args to end of arg list [default] 1 = insert length args directly after CHARACTER arg)
-g
Emit debugging output
-fprefix <pref>
Emit code only for functions which begin with an exact match to <pref>, instead of default regexp
-h -help --help
This message
-ignore <option>
Tune the emission of ignored symbol messages: use 'notrunc' to append to existing ignored symbol list (default: the ignored symbol list is truncated at startup), or specify an alternate output file name (default: ./ignored.txt)
-I <dir>
Add <dir> to search path for headers during code generation; will also be reflected in -make output
-L <dir>
Add <dir> to search path at link time; for -make
-l <lib>
Add <lib> to library list at link time; for -make
-ldflags <flags>
Use when -L or -l are inappropriate; for -make
-m <name>
Override default module name with <name>
-make
Generate a best-effort Makefile for compiling module (-make is also implied by -L, -l, and -ldflags)
-mapnames <R> <S>
Synonym for -rename (deprecated)
-noinit
Do not generate an initialization fragment
-nopop
Avoid explicit pop of func arguments, if possible (also turns off generation of Usage: statements)
-noautotype
Disable mapping of unknown types to opaque ptr types
-otree
Print hierarchical listing of all opaque types defined by the current invocation, then exit
-openmp
Emit OpenMP #pragmas to parallelize vectorized code (implies -vec, i.e. turns on vectorization)
-print
Print interface for code which would be generated, but don't actually generate any code
-rc <file>
Load customizations from <file>, rather than from first of ./slirprc or $SLIRPRC
-refscalars
Support passing scalars as array/ref arguments (default: on for Fortran bindings, off for C/C++)
-rename <R> <S>
Map C functions with prefixes matching the S-Lang regexp R to S-Lang functions beginning with string S (set S=NULL to map regexp prefix to empty string)
-stdout
Emit code to stdout, instead of files
-stubs
Generate stub (empty) implementations for input header files, allowing the module interface to be exercised without linking in the underlying library or any of its dependencies
-tmapout <file>
Save a copy of the active typemap table to <file>
-tmapin <file>
evalfile() additional typemaps from <file>
-vec
Attempt to vectorize every function within input interface
--version
Output version information
-v
Show verbose loading messages
-vh -vhelp, --vhelp
Verbose help (normal --help output, plus rarely used options)

AUTHOR

The author of SLIRP is Michael S. Noble <mnoble@space.mit.edu>. Rafael Laboissiere <rafael@debian.org> created the SLIRP package for Debian.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL

SEE ALSO

On Debian systems the reference manual for SLIRP can be found at /usr/share/doc/slang-slirp/manual.txt.gz. It is also available in PDF, HTML, and text forms on the SLIRP website.