[Haskell-beginners] cabal: library and executable

emacstheviking objitsu at gmail.com
Thu May 9 17:39:49 CEST 2013


Maybe two executables, the "third" is actually straight C... the line of
interest is "other-modules:" I guess.
Hope that helps.
Sean.


On 9 May 2013 16:38, emacstheviking <objitsu at gmail.com> wrote:

> Harry,
>
> Here is a complete cabal file for something I am working on now... it
> contains some libraries and three executables that use the library. It's a
> WIP for me BUt it works and I can even use it from Leksah by creating a
> workspace and adding this hexwax.cabal file as a Package.
>
> It's long but concise!
>
> ----
> -- Initial hexwax.cabal generated by cabal init.  For further
> -- documentation, see http://haskell.org/cabal/users-guide/
>
> -- The name of the package.
> name:                hexwax
>
> -- The package version.  See the Haskell package versioning policy (PVP)
> -- for standards guiding when and how versions should be incremented.
> -- http://www.haskell.org/haskellwiki/Package_versioning_policy
> -- PVP summary:      +-+------- breaking API changes
> --                   | | +----- non-breaking API additions
> --                   | | | +--- code changes with no API change
> version:             0.1.0.0
>
> -- A short (one-line) description of the package.
> synopsis:            Hexwax ExnapdIO-USB wrapper
>
> -- A longer description of the package.
> -- description:
>
> -- The license under which the package is released.
> license:             LGPL-3
>
> -- The file containing the license text.
> license-file:        LICENSE
>
> -- The package author(s).
> author:              Sean Charles
>
> -- An email address to which users can send suggestions, bug reports, and
> -- patches.
> maintainer:          sean at objitsu.com
>
> -- A copyright notice.
> -- copyright:
>
> category:            Hardware Interfacing
>
> build-type:          Simple
>
> -- Constraint on the version of Cabal needed to build this package.
> cabal-version:       >=1.8
>
>
> executable hexwax
>   -- .hs or .lhs file containing the Main module.
>   main-is:             usb1.hs
>   -- Modules included in this executable, other than Main.
>   other-modules:       Hexwax
>   -- Other library packages from which modules are imported.
>   build-depends:       base ==4.5.*, MissingM ==0.0.*, bytestring ==0.9.*,
> vector ==0.10.*, usb ==1.2.*
>
> --
> -- This is the STEPPER MOTOR CONTROLLER program as I want to create
> -- separate little utilities rather than one big monolithic command
> -- line bloated application.
> --
> executable smc
>   -- .hs or .lhs file containing the Main module.
>   main-is:             stepper.hs
>   -- Modules included in this executable, other than Main.
>   other-modules:       Hexwax
>   -- Other library packages from which modules are imported.
>   build-depends:       base ==4.5.*, MissingM ==0.0.*, bytestring ==0.9.*,
> vector ==0.10.*, usb ==1.2.*, transformers
>
>
> --
> -- PULSE-WIDTH-MODULATION controller experiment... two leds on the board
> are
> -- connected to CCP1 and CCP2, this will try to make them do something
> -- interesting.  executable pwm
> --
> executable pwm
>   -- .hs or .lhs file containing the Main module.
>   main-is:             pwm.hs
>   -- Modules included in this executable, other than Main.
>   other-modules:       Hexwax
>   -- Other library packages from which modules are imported.
>   build-depends:       base ==4.5.*, MissingM ==0.0.*, bytestring ==0.9.*,
> vector ==0.10.*, usb ==1.2.*, transformers
>
> On 9 May 2013 16:24, harry <voldermort at hotmail.com> wrote:
>
>> I've written a library, and a simple program to demonstrate it. I can
>> write
>> the cabal file for the library, but I can't get the executable section
>> right. How can I tell it to use the library defined herein?
>>
>>
>> _______________________________________________
>> Beginners mailing list
>> Beginners at haskell.org
>> http://www.haskell.org/mailman/listinfo/beginners
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20130509/975855cf/attachment.htm>


More information about the Beginners mailing list