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@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@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@haskell.org
http://www.haskell.org/mailman/listinfo/beginners