Join & Part abilities now require you to be an admin
[infinity.git] / infinity.cabal
blobabf00820f33ff62a7f82ca3faa633f6c7e239217
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 dynamic
34   description:       Enables dynamic builds, allowing the bot to hot-swap code
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
46 -- the bot executable
47 executable infinity
48   main-is:           Main.hs
49   build-depends:     binary >= 0.4, filepath, irc >= 0.4, bytestring,
50                       QuickCheck >= 2.0, base, directory, process, old-time, 
51                       stm, containers, mtl, network, readline
52   extensions:        ExistentialQuantification, GeneralizedNewtypeDeriving,
53                       MultiParamTypeClasses, CPP, PatternGuards, FunctionalDependencies
55   if os(win32)
56     ghc-options:     -DWIN32
58   if flag(debug)
59     ghc-options:     -O0 -threaded -DDEBUG
60   else
61     ghc-options:     -O2 -threaded
64   if (!flag(dynamic) || flag(debug))
65     ghc-options:     -DSTATIC_BUILD
66   else
67     build-depends:   plugins >= 1.1
68   
69   if (flag(coverage) || flag(debug))
70     ghc-options:     -fhpc
71     ghc-options:     -DSTATIC_BUILD
72   else
73     build-depends:   plugins >= 1.1
75 -- utilities
76 -- unlambda
77 executable unlambda
78   main-is:           util/Unlambda.hs
79   build-depends:     base >= 3.0.1.0
80   if os(win32)
81     ghc-options:     -o util/unlambda.exe
82   else
83     ghc-options:     -o util/unlambda