xenial (1) gtk2hsC2hs.1.gz

Provided by: gtk2hs-buildtools_0.13.0.5-1_amd64 bug

NAME

       gtk2hsC2hs - C->Haskell Interface Generator

SYNOPSIS

       gtk2hsC2hs [OPTIONS]...  [ header-file ] binding-file

DESCRIPTION

       This  manual  page  briefly  describes  the  gtk2hsC2hs  command.  It's a modified version of the c2hs(1)
       command, which is a helper program necessary to build the Gtk2Hs suite of libraries.

OPTIONS

       The programs follow the usual GNU command line syntax, with long options starting with two dashes  (`-').
       A summary of options are included below. For a complete description, see the other documentation.

       gtk2hsC2hs accepts the following options:

       -h, -?, --help
              brief help

       -v, --version
              show version information

       -c CPP, --cpp=CPP
              use executable CPP to invoke C preprocessor

       -C CPPOPTS, --cppopts=CPPOPTS
              pass CPPOPTS to the C preprocessor

       -o FILE, --output=FILE
              output result to FILE (should end in .hs)

       -t PATH, --output-dir=PATH
              place generated files in PATH

       -p  PLATFORM, --platform=PLATFORM
              platform to use for cross compilation

       -k, --keep
              keep pre-processed C header

       -l  NAME, --lock=NAME
              wrap each foreign call with the function NAME

       -d TYPE, --dump=TYPE
              dump internal information (for debugging), where TYPE is one of:

              • trace   trace compiler phases

              • genbind trace binding generation

              • ctrav   trace C declaration traversal

              • chs     dump the binding file (adds .dump to the name)

       header-file is the header file belonging to the marshalled library. It must end with suffix .h.

       binding-file is the corresponding Haskell binding file, which must end with suffix .chs.

       PLATFORM  The  platform  name  can  be  one of: x86_64-linux.  i686-linux.  m68k-palmos.  This allows for
       cross-compilation, assuming the rest of your toolchain supports that. The default  is  the  current  host
       platform.

       The  most  useful of these options is probably --cppopts (or -C).  If the C header file needs any special
       options (like -D or -I) to go through the C pre-processor, here is the place to pass them.

EXAMPLES

       When used directly, gtk2hsC2hs is usually called as:

       gtk2hsC2hs lib.h Lib.chs

       where lib.h is the header file and Lib.chs the Haskell binding module, which define the C-  and  Haskell-
       side  interface,  respectively.   If  no  errors occur, the result is a pure Haskell module Lib.hs, which
       implements the Haskell API of the library.

       A more advanced call may look like this:

       gtk2hsC2hs --cppopts=-I/some/obscure/dir --cppopts=-DEXTRA lib.h Lib.chs

       Often, lib.h will not be in the current directory, but in one of the header file directories.  Apart from
       the  current  directory,  C->Haskell  looks  in two places for the header: first, in the standard include
       directory of the used system, this is usually /usr/include and /usr/local/include; and  second,  it  will
       look in every directory that is mentioned in a -IDIR option passed to the pre-processor via --cppopts.

CAVEATS

       If  you  have  more  than  one  option  that  you  want  to  give  to  the  pre-processor,  use  multiple
       --cppopts= flags.

BUGS

       Please report bugs and feature requests in the Gtk2Hs trac

       http://hackage.haskell.org/trac/gtk2hs/

       or to the Gtk2Hs mailing list gtk2hs-devel@lists.sourceforge.net

       C->Haskell Compiler, version 0.13.4 (gtk2hs branch) Copyright (c) [1999..2004]  Manuel  M  T  Chakravarty
       <chak@cse.unsw.edu.au>

AUTHOR

       This  page  was addapted from the c2hs(1) manpage, by Marco Túlio Gontijo e Silva <marcot@debian.org> for
       the Debian GNU/Linux system (but may be used by others), which was mainly  assembled  from  the  original
       documentation of c2hs.

       The  c2hs(1)  was  written  by Michael Weber <michael.weber@post.rwth-aachen.de> for the Debian GNU/Linux
       system (but may be used by others).