Rechercher une page de manuel

Chercher une autre page de manuel:

c2hs

Langue: en

Version: 14 November 1999 (ubuntu - 01/05/08)

Section: 1 (Commandes utilisateur)

NAME

c2hs - C->Haskell Interface Generator

SYNOPSIS

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

DESCRIPTION

This manual page briefly describes the c2hs command. For more details, refer to the main documentation, which is available in various other formats, including SGML and HTML; see below.

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.

c2hs accepts the following options:

-C CPPOPTS, --cppopts=CPPOPTS
pass CPPOPTS to the C preprocessor
-c CPP, --cpp=CPP
use executable CPP to invoke C preprocessor

               --data=DIR
data directory (set by wrapper script)
-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)
-h, -?, --help
brief help
-i INCLUDE, --include=INCLUDE
include paths for .chi files
-k, --keep
keep pre-processed C header
-l, --copy-library
copy `C2HS' library module in
-o FILE, --output=FILE
output result to FILE (should end in .hs)
-p PLATFORM, --platform=PLATFORM
platform to use for cross compilation, where PLATFORM is one of
i686-pc-linux-gnu
m68k-palmos
-t PATH, --output-dir=PATH
place generated files in PATH
-v, --version
show version information

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.

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

The C->Haskell Interface Generator is usually called as:

c2hs 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:

c2hs --cppopts='-I/some/obscure/dir -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

Do not forget the quotes if you have more than one option that you want to give to the pre-processor.

SEE ALSO

/usr/share/doc/c2hs-doc/html/c2hs.html C->Haskell Version 0.14.5 Copyright © 1999 - 2005 Manuel M. T. Chakravarty <chak@cse.unsw.edu.au>

AUTHOR

This manual page was mainly assembled from the original documentation. It was written by Michael Weber <michael.weber@post.rwth-aachen.de> for the Debian GNU/Linux system (but may be used by others).
C'est en devenant vieux que vous êtes devenu couillon ou c'est de
naissance ?
-+- Marcel Pagnol -+-