Provided by: gtk2hs-buildtools_0.13.5.0-2build2_amd64 bug


       gtk2hsC2hs - C->Haskell Interface Generator


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


       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


       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.


       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.


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


       Please report bugs and feature requests in the Gtk2Hs trac

       or to the Gtk2Hs mailing list


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


       This page was  addapted  from  the  c2hs(1)  manpage,  by  Marco  Túlio  Gontijo  e  Silva
       <> 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  <>  for  the
       Debian GNU/Linux system (but may be used by others).