Added beginnings of an offline mode
[infinity.git] / infinity.cabal
blob63008257269c4f18d21f4ab4bdf4042f7caf4650
1 name:                infinity
2 version:             0.4
3 synopsis:            small, extensible, pluggable irc bot
4 description:         an irc bot written in haskell that
5                      features hot-code swapping and pluggable
6                      architecture.
7 category:            Network
8 license:             BSD3
9 license-file:        LICENSE
10 author:              Austin Seipp
11 maintainer:          austin@youareinferior.net
12 cabal-version:       >= 1.2
13 extra-source-files:  README,
14                      INSTALL,
15                      Config.hs,
16                      Config.hs-boot,
17                      Infinity.hs,
18                      Infinity/Main.hs,
19                      Infinity/Core.hs,
20                      Infinity/Log.hs,
21                      Infinity/IRC.hs,
22                      Infinity/State.hs,
23                      Infinity/Plugins.hs,
24                      Infinity/Util.hs,
25                      Infinity/Plugins/HelloWorld.hs,
26                      Infinity/Plugins/StateTest.hs,
27                      Infinity/Plugins/System.hs,
28                      Infinity/Plugins/Unlambda.hs,
29                      Infinity/Plugins/Fortune.hs,
30                      Tests/Properties.hs,
31                      util/Unlambda.hs
33 flag static
34   description:       Enables a static build of the bot, i.e. no reboot facilities
35   default:           False
37 flag coverage
38   description:       Enables code coverage, implies '-fstatic'
39   default:           False
41 flag debug
42   description:       Enables static build with code coverage and debug output
43   default:           False
45 -- the bot executable
46 executable infinity
47   main-is:           Main.hs
48   build-depends:     binary >= 0.4, filepath, irc >= 0.4, base,
49                       QuickCheck >= 2.0, directory, process, old-time, 
50                       stm, containers, mtl, network
51   extensions:        ExistentialQuantification, GeneralizedNewtypeDeriving,
52                       MultiParamTypeClasses, CPP, PatternGuards
55   if flag(debug)
56     ghc-options:     -O0 -threaded -DDEBUG
57   else
58     ghc-options:     -O2 -threaded
60   if (flag(static) || flag(debug))
61     ghc-options:     -DSTATIC_BUILD
62   else
63     build-depends:   plugins >= 1.1
64   
65   if (flag(coverage) || flag(debug))
66     ghc-options:     -fhpc 
67     if !flag(static)
68       ghc-options:   -DSTATIC_BUILD
69   else
70     build-depends:   plugins >= 1.1
72 -- utilities
73 -- unlambda
74 executable unlambda
75   main-is:           util/Unlambda.hs
76   build-depends:     base >= 3.0.1.0
77   ghc-options:       -o util/unlambda