shake-0.2.4: shake.cabal
cabal-version: >= 1.6
build-type: Simple
name: shake
version: 0.2.4
license: BSD3
license-file: LICENSE
category: Development
author: Neil Mitchell <ndmitchell@gmail.com>
maintainer: Neil Mitchell <ndmitchell@gmail.com>
copyright: Neil Mitchell 2011-2012
synopsis: Build system library, like Make, but more accurate dependencies.
description:
Shake is a Haskell library for writing build systems - designed as a
replacement for make. To use Shake the user writes a Haskell program
that imports the Shake library, defines some build rules, and calls
shake. Thanks to do notation and infix operators, a simple Shake program
is not too dissimilar from a simple Makefile. However, as build systems
get more complex, Shake is able to take advantage of the excellent
abstraction facilities offered by Haskell and easily support much larger
projects.
.
The Shake library provides all the standard features available in other
build systems, including automatic parallelism and minimal rebuilds.
Shake provides highly accurate dependency tracking, including seamless
support for generated files, and dependencies on system information
(i.e. compiler version). Shake can produce profile reports, indicating
which files and take longest to build, and providing an analysis of the
parallelism.
.
The theory behind an old version of Shake is described in a video at
<http://vimeo.com/15465133>, and an example is given at the top of
"Development.Shake". Further examples are included in the Cabal tarball,
under the @Examples@ directory.
homepage: http://community.haskell.org/~ndm/shake/
stability: Beta
extra-source-files:
Examples/C/constants.c
Examples/C/constants.h
Examples/C/main.c
Examples/Tar/list.txt
source-repository head
type: darcs
location: http://community.haskell.org/~ndm/darcs/shake/
flag testprog
default: False
description: Build the test program
library
build-depends:
base == 4.*,
old-time,
directory,
hashable,
binary,
filepath,
process,
unordered-containers,
bytestring,
time,
transformers == 0.2.*,
deepseq >= 1.1 && < 1.4
exposed-modules:
Development.Shake
Development.Shake.FilePath
other-modules:
Development.Shake.Binary
Development.Shake.Core
Development.Shake.Database
Development.Shake.Derived
Development.Shake.Directory
Development.Shake.File
Development.Shake.FilePattern
Development.Shake.Files
Development.Shake.FileTime
Development.Shake.Locks
Development.Shake.Oracle
Development.Shake.Pool
Development.Shake.TypeHash
Development.Shake.Rerun
Development.Shake.Value
executable shake
main-is: Main.hs
build-depends:
random
if flag(testprog)
buildable: True
else
buildable: False
other-modules:
Examples.Util
Examples.C.Main
Examples.Self.Main
Examples.Tar.Main
Examples.Test.Basic1
Examples.Test.Directory
Examples.Test.Errors
Examples.Test.FilePath
Examples.Test.Files
Examples.Test.Pool