EnglishFrenchSpanish

OnWorks favicon

c2hs - Online in the Cloud

Run c2hs in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command c2hs that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

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:

-h, -?, --help
brief help

-v, --version
show version information

--numeric-version
show version number

-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, --copy-library
copy `C2HS' library module to the current directory

-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


The easiest way to use the C->Haskell Interface Generator is via Cabal. Cabal knows about
.chs files and will run c2hs automatically, passing the appropriate flags.

When used directly, c2hs 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 --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.

Use c2hs online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    OfficeFloor
    OfficeFloor
    OfficeFloor provides inversion of
    coupling control, with its: - dependency
    injection - continuation injection -
    thread injection For more information
    visit the...
    Download OfficeFloor
  • 2
    DivKit
    DivKit
    DivKit is an open source Server-Driven
    UI (SDUI) framework. It allows you to
    roll out server-sourced updates to
    different app versions. Also, it can be
    used fo...
    Download DivKit
  • 3
    subconverter
    subconverter
    Utility to convert between various
    subscription format. Shadowrocket users
    should use ss, ssr or v2ray as target.
    You can add &remark= to
    Telegram-liked HT...
    Download subconverter
  • 4
    SWASH
    SWASH
    SWASH is a general-purpose numerical
    tool for simulating unsteady,
    non-hydrostatic, free-surface,
    rotational flow and transport phenomena
    in coastal waters as ...
    Download SWASH
  • 5
    VBA-M (Archived - Now on Github)
    VBA-M (Archived - Now on Github)
    Project has moved to
    https://github.com/visualboyadvance-m/visualboyadvance-m
    Features:Cheat creationsave statesmulti
    system, supports gba, gbc, gb, sgb,
    sgb2Tu...
    Download VBA-M (Archived - Now on Github)
  • 6
    Stacer
    Stacer
    Linux System Optimizer and Monitoring
    Github Repository:
    https://github.com/oguzhaninan/Stacer.
    Audience: End Users/Desktop. User
    interface: Qt. Programming La...
    Download Stacer
  • More »

Linux commands

Ad