Man Linux: Main Page and Category List

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

       -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[=integer]
              Emit debugging output to terminal, of varying verbosity

       -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)

       -nocom Do not wrap common blocks

       -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)

       -sldb  Run in interactive SLDB debugger (S‐Lang 2 only)

       -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.

                               23 September 2009                      SLIRP(1)