Cabal.cabal 26 KB
Newer Older
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
1 2
name:          Cabal
version:       1.25.0.0
3
copyright:     2003-2016, Cabal Development Team (see AUTHORS file)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
4 5 6 7 8 9 10
license:       BSD3
license-file:  LICENSE
author:        Cabal Development Team <cabal-devel@haskell.org>
maintainer:    cabal-devel@haskell.org
homepage:      http://www.haskell.org/cabal/
bug-reports:   https://github.com/haskell/cabal/issues
synopsis:      A framework for packaging Haskell software
11
description:
12 13 14 15 16 17
  The Haskell Common Architecture for Building Applications and
  Libraries: a framework defining a common interface for authors to more
  easily build their Haskell applications in a portable way.
  .
  The Haskell Cabal is part of a larger infrastructure for distributing,
  organizing, and cataloging Haskell libraries and tools.
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
18 19 20
category:       Distribution
cabal-version:  >=1.10
build-type:     Simple
21 22
-- If we use a new Cabal feature, this needs to be changed to Custom so
-- we can bootstrap.
23

24
extra-source-files:
25
  README.md tests/README.md changelog
26 27 28 29
  doc/bugs-and-stability.rst doc/concepts-and-development.rst
  doc/conf.py doc/config-and-install.rst doc/developing-packages.rst
  doc/images/Cabal-dark.png doc/index.rst doc/installing-packages.rst
  doc/intro.rst doc/misc.rst doc/nix-local-build-overview.rst
30
  doc/nix-local-build.rst doc/README.md doc/references.inc
31

32 33 34
  -- Generated with 'misc/gen-extra-source-files.sh'
  -- Do NOT edit this section manually; instead, run the script.
  -- BEGIN gen-extra-source-files
35 36 37 38
  tests/PackageTests/AllowNewer/AllowNewer.cabal
  tests/PackageTests/AllowNewer/benchmarks/Bench.hs
  tests/PackageTests/AllowNewer/src/Foo.hs
  tests/PackageTests/AllowNewer/tests/Test.hs
39 40 41 42
  tests/PackageTests/AllowOlder/AllowOlder.cabal
  tests/PackageTests/AllowOlder/benchmarks/Bench.hs
  tests/PackageTests/AllowOlder/src/Foo.hs
  tests/PackageTests/AllowOlder/tests/Test.hs
43 44 45 46 47 48 49 50 51
  tests/PackageTests/Ambiguity/p/Dupe.hs
  tests/PackageTests/Ambiguity/p/p.cabal
  tests/PackageTests/Ambiguity/package-import/A.hs
  tests/PackageTests/Ambiguity/package-import/package-import.cabal
  tests/PackageTests/Ambiguity/q/Dupe.hs
  tests/PackageTests/Ambiguity/q/q.cabal
  tests/PackageTests/Ambiguity/reexport-test/Main.hs
  tests/PackageTests/Ambiguity/reexport-test/reexport-test.cabal
  tests/PackageTests/Ambiguity/reexport/reexport.cabal
fmaste's avatar
fmaste committed
52 53 54 55 56 57 58 59 60 61 62 63 64 65
  tests/PackageTests/AutogenModules/Package/Dummy.hs
  tests/PackageTests/AutogenModules/Package/MyBenchModule.hs
  tests/PackageTests/AutogenModules/Package/MyExeModule.hs
  tests/PackageTests/AutogenModules/Package/MyLibModule.hs
  tests/PackageTests/AutogenModules/Package/MyLibrary.hs
  tests/PackageTests/AutogenModules/Package/MyTestModule.hs
  tests/PackageTests/AutogenModules/Package/my.cabal
  tests/PackageTests/AutogenModules/SrcDist/Dummy.hs
  tests/PackageTests/AutogenModules/SrcDist/MyBenchModule.hs
  tests/PackageTests/AutogenModules/SrcDist/MyExeModule.hs
  tests/PackageTests/AutogenModules/SrcDist/MyLibModule.hs
  tests/PackageTests/AutogenModules/SrcDist/MyLibrary.hs
  tests/PackageTests/AutogenModules/SrcDist/MyTestModule.hs
  tests/PackageTests/AutogenModules/SrcDist/my.cabal
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
  tests/PackageTests/Backpack/Includes1/A.hs
  tests/PackageTests/Backpack/Includes1/B.hs
  tests/PackageTests/Backpack/Includes1/Includes1.cabal
  tests/PackageTests/Backpack/Includes2/Includes2.cabal
  tests/PackageTests/Backpack/Includes2/exe/Main.hs
  tests/PackageTests/Backpack/Includes2/exe/exe.cabal
  tests/PackageTests/Backpack/Includes2/fail.cabal
  tests/PackageTests/Backpack/Includes2/mylib/Mine.hs
  tests/PackageTests/Backpack/Includes2/mylib/mylib.cabal
  tests/PackageTests/Backpack/Includes2/mysql/Database/MySQL.hs
  tests/PackageTests/Backpack/Includes2/mysql/mysql.cabal
  tests/PackageTests/Backpack/Includes2/postgresql/Database/PostgreSQL.hs
  tests/PackageTests/Backpack/Includes2/postgresql/postgresql.cabal
  tests/PackageTests/Backpack/Includes2/src/App.hs
  tests/PackageTests/Backpack/Includes2/src/src.cabal
  tests/PackageTests/Backpack/Includes3/Includes3.cabal
  tests/PackageTests/Backpack/Includes3/exe/Main.hs
  tests/PackageTests/Backpack/Includes3/exe/exe.cabal
  tests/PackageTests/Backpack/Includes3/indef/Foo.hs
  tests/PackageTests/Backpack/Includes3/indef/indef.cabal
  tests/PackageTests/Backpack/Includes3/sigs/sigs.cabal
  tests/PackageTests/Backpack/Includes4/Includes4.cabal
  tests/PackageTests/Backpack/Includes4/Main.hs
  tests/PackageTests/Backpack/Includes4/impl/A.hs
  tests/PackageTests/Backpack/Includes4/impl/B.hs
  tests/PackageTests/Backpack/Includes4/impl/Rec.hs
  tests/PackageTests/Backpack/Includes4/indef/C.hs
  tests/PackageTests/Backpack/Includes5/A.hs
  tests/PackageTests/Backpack/Includes5/B.hs
  tests/PackageTests/Backpack/Includes5/Includes5.cabal
  tests/PackageTests/Backpack/Includes5/impl/Foobar.hs
  tests/PackageTests/Backpack/Includes5/impl/Quxbaz.hs
  tests/PackageTests/Backpack/Indef1/Indef1.cabal
  tests/PackageTests/Backpack/Indef1/Provide.hs
  tests/PackageTests/Backpack/Reexport1/p/P.hs
  tests/PackageTests/Backpack/Reexport1/p/p.cabal
  tests/PackageTests/Backpack/Reexport1/q/Q.hs
  tests/PackageTests/Backpack/Reexport1/q/q.cabal
104 105 106
  tests/PackageTests/BenchmarkExeV10/Foo.hs
  tests/PackageTests/BenchmarkExeV10/benchmarks/bench-Foo.hs
  tests/PackageTests/BenchmarkExeV10/my.cabal
107
  tests/PackageTests/BenchmarkOptions/BenchmarkOptions.cabal
108 109
  tests/PackageTests/BenchmarkOptions/test-BenchmarkOptions.hs
  tests/PackageTests/BenchmarkStanza/my.cabal
110
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/GlobalBuildDepsNotAdditive1.cabal
111
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/MyLibrary.hs
112 113 114
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive2/GlobalBuildDepsNotAdditive2.cabal
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive2/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary0/MyLibrary.hs
115
  tests/PackageTests/BuildDeps/InternalLibrary0/my.cabal
116 117
  tests/PackageTests/BuildDeps/InternalLibrary0/programs/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary1/MyLibrary.hs
118
  tests/PackageTests/BuildDeps/InternalLibrary1/my.cabal
119 120
  tests/PackageTests/BuildDeps/InternalLibrary1/programs/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary2/MyLibrary.hs
121
  tests/PackageTests/BuildDeps/InternalLibrary2/my.cabal
122
  tests/PackageTests/BuildDeps/InternalLibrary2/programs/lemon.hs
123 124
  tests/PackageTests/BuildDeps/InternalLibrary2/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary2/to-install/my.cabal
125
  tests/PackageTests/BuildDeps/InternalLibrary3/MyLibrary.hs
126
  tests/PackageTests/BuildDeps/InternalLibrary3/my.cabal
127
  tests/PackageTests/BuildDeps/InternalLibrary3/programs/lemon.hs
128 129
  tests/PackageTests/BuildDeps/InternalLibrary3/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary3/to-install/my.cabal
130
  tests/PackageTests/BuildDeps/InternalLibrary4/MyLibrary.hs
131
  tests/PackageTests/BuildDeps/InternalLibrary4/my.cabal
132
  tests/PackageTests/BuildDeps/InternalLibrary4/programs/lemon.hs
133 134 135
  tests/PackageTests/BuildDeps/InternalLibrary4/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary4/to-install/my.cabal
  tests/PackageTests/BuildDeps/SameDepsAllRound/MyLibrary.hs
136 137 138
  tests/PackageTests/BuildDeps/SameDepsAllRound/SameDepsAllRound.cabal
  tests/PackageTests/BuildDeps/SameDepsAllRound/lemon.hs
  tests/PackageTests/BuildDeps/SameDepsAllRound/pineapple.hs
139 140 141 142 143 144 145 146 147
  tests/PackageTests/BuildDeps/TargetSpecificDeps1/MyLibrary.hs
  tests/PackageTests/BuildDeps/TargetSpecificDeps1/lemon.hs
  tests/PackageTests/BuildDeps/TargetSpecificDeps1/my.cabal
  tests/PackageTests/BuildDeps/TargetSpecificDeps2/MyLibrary.hs
  tests/PackageTests/BuildDeps/TargetSpecificDeps2/lemon.hs
  tests/PackageTests/BuildDeps/TargetSpecificDeps2/my.cabal
  tests/PackageTests/BuildDeps/TargetSpecificDeps3/MyLibrary.hs
  tests/PackageTests/BuildDeps/TargetSpecificDeps3/lemon.hs
  tests/PackageTests/BuildDeps/TargetSpecificDeps3/my.cabal
148 149
  tests/PackageTests/BuildTargetErrors/BuildTargetErrors.cabal
  tests/PackageTests/BuildTargetErrors/Main.hs
150
  tests/PackageTests/BuildTestSuiteDetailedV09/Dummy2.hs
151 152 153 154
  tests/PackageTests/BuildToolsPath/A.hs
  tests/PackageTests/BuildToolsPath/MyCustomPreprocessor.hs
  tests/PackageTests/BuildToolsPath/build-tools-path.cabal
  tests/PackageTests/BuildToolsPath/hello/Hello.hs
155 156
  tests/PackageTests/BuildableField/BuildableField.cabal
  tests/PackageTests/BuildableField/Main.hs
157 158 159
  tests/PackageTests/CMain/Bar.hs
  tests/PackageTests/CMain/foo.c
  tests/PackageTests/CMain/my.cabal
160
  tests/PackageTests/CaretOperator/my.cabal
161 162
  tests/PackageTests/Configure/A.hs
  tests/PackageTests/Configure/Setup.hs
163 164 165
  tests/PackageTests/Configure/include/HsZlibConfig.h.in
  tests/PackageTests/Configure/zlib.buildinfo.in
  tests/PackageTests/Configure/zlib.cabal
166 167 168 169 170 171 172 173 174 175 176
  tests/PackageTests/ConfigureComponent/Exe/Bad.hs
  tests/PackageTests/ConfigureComponent/Exe/Exe.cabal
  tests/PackageTests/ConfigureComponent/Exe/Good.hs
  tests/PackageTests/ConfigureComponent/SubLib/Lib.cabal
  tests/PackageTests/ConfigureComponent/SubLib/Lib.hs
  tests/PackageTests/ConfigureComponent/SubLib/exe/Exe.hs
  tests/PackageTests/ConfigureComponent/Test/Lib.hs
  tests/PackageTests/ConfigureComponent/Test/Test.cabal
  tests/PackageTests/ConfigureComponent/Test/testlib/TestLib.hs
  tests/PackageTests/ConfigureComponent/Test/testlib/testlib.cabal
  tests/PackageTests/ConfigureComponent/Test/tests/Test.hs
177 178 179 180 181 182
  tests/PackageTests/CopyComponent/Exe/Main.hs
  tests/PackageTests/CopyComponent/Exe/Main2.hs
  tests/PackageTests/CopyComponent/Exe/myprog.cabal
  tests/PackageTests/CopyComponent/Lib/Main.hs
  tests/PackageTests/CopyComponent/Lib/p.cabal
  tests/PackageTests/CopyComponent/Lib/src/P.hs
183 184 185 186
  tests/PackageTests/CustomPreProcess/Hello.hs
  tests/PackageTests/CustomPreProcess/MyCustomPreprocessor.hs
  tests/PackageTests/CustomPreProcess/Setup.hs
  tests/PackageTests/CustomPreProcess/internal-preprocessor-test.cabal
187 188
  tests/PackageTests/DeterministicAr/Lib.hs
  tests/PackageTests/DeterministicAr/my.cabal
189 190 191 192
  tests/PackageTests/DuplicateModuleName/DuplicateModuleName.cabal
  tests/PackageTests/DuplicateModuleName/src/Foo.hs
  tests/PackageTests/DuplicateModuleName/tests/Foo.hs
  tests/PackageTests/DuplicateModuleName/tests2/Foo.hs
193
  tests/PackageTests/EmptyLib/empty/empty.cabal
194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211
  tests/PackageTests/GhcPkgGuess/SameDirectory/SameDirectory.cabal
  tests/PackageTests/GhcPkgGuess/SameDirectory/ghc
  tests/PackageTests/GhcPkgGuess/SameDirectory/ghc-pkg
  tests/PackageTests/GhcPkgGuess/SameDirectoryGhcVersion/SameDirectory.cabal
  tests/PackageTests/GhcPkgGuess/SameDirectoryGhcVersion/ghc-7.10
  tests/PackageTests/GhcPkgGuess/SameDirectoryGhcVersion/ghc-pkg-ghc-7.10
  tests/PackageTests/GhcPkgGuess/SameDirectoryVersion/SameDirectory.cabal
  tests/PackageTests/GhcPkgGuess/SameDirectoryVersion/ghc-7.10
  tests/PackageTests/GhcPkgGuess/SameDirectoryVersion/ghc-pkg-7.10
  tests/PackageTests/GhcPkgGuess/Symlink/SameDirectory.cabal
  tests/PackageTests/GhcPkgGuess/Symlink/bin/ghc
  tests/PackageTests/GhcPkgGuess/Symlink/bin/ghc-pkg
  tests/PackageTests/GhcPkgGuess/SymlinkGhcVersion/SameDirectory.cabal
  tests/PackageTests/GhcPkgGuess/SymlinkGhcVersion/bin/ghc-7.10
  tests/PackageTests/GhcPkgGuess/SymlinkGhcVersion/bin/ghc-pkg-7.10
  tests/PackageTests/GhcPkgGuess/SymlinkVersion/SameDirectory.cabal
  tests/PackageTests/GhcPkgGuess/SymlinkVersion/bin/ghc-7.10
  tests/PackageTests/GhcPkgGuess/SymlinkVersion/bin/ghc-pkg-ghc-7.10
212 213
  tests/PackageTests/Haddock/CPP.hs
  tests/PackageTests/Haddock/Literate.lhs
214
  tests/PackageTests/Haddock/NoCPP.hs
215
  tests/PackageTests/Haddock/Simple.hs
216
  tests/PackageTests/Haddock/my.cabal
Edward Z. Yang's avatar
Edward Z. Yang committed
217 218 219
  tests/PackageTests/HaddockNewline/A.hs
  tests/PackageTests/HaddockNewline/HaddockNewline.cabal
  tests/PackageTests/HaddockNewline/Setup.hs
220 221 222 223 224 225 226 227 228 229 230 231 232 233
  tests/PackageTests/InternalLibraries/Executable/exe/Main.hs
  tests/PackageTests/InternalLibraries/Executable/foo.cabal
  tests/PackageTests/InternalLibraries/Executable/src/Foo.hs
  tests/PackageTests/InternalLibraries/Library/fooexe/Main.hs
  tests/PackageTests/InternalLibraries/Library/fooexe/fooexe.cabal
  tests/PackageTests/InternalLibraries/Library/foolib/Foo.hs
  tests/PackageTests/InternalLibraries/Library/foolib/foolib.cabal
  tests/PackageTests/InternalLibraries/Library/foolib/private/Internal.hs
  tests/PackageTests/InternalLibraries/p/Foo.hs
  tests/PackageTests/InternalLibraries/p/p.cabal
  tests/PackageTests/InternalLibraries/p/p/P.hs
  tests/PackageTests/InternalLibraries/p/q/Q.hs
  tests/PackageTests/InternalLibraries/q/Q.hs
  tests/PackageTests/InternalLibraries/q/q.cabal
234 235
  tests/PackageTests/InternalLibraries/r/R.hs
  tests/PackageTests/InternalLibraries/r/r.cabal
236 237 238 239 240
  tests/PackageTests/Macros/A.hs
  tests/PackageTests/Macros/B.hs
  tests/PackageTests/Macros/Main.hs
  tests/PackageTests/Macros/macros.cabal
  tests/PackageTests/Macros/src/C.hs
241
  tests/PackageTests/Options.hs
242 243
  tests/PackageTests/OrderFlags/Foo.hs
  tests/PackageTests/OrderFlags/my.cabal
244 245 246
  tests/PackageTests/PathsModule/Executable/Main.hs
  tests/PackageTests/PathsModule/Executable/my.cabal
  tests/PackageTests/PathsModule/Library/my.cabal
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
247
  tests/PackageTests/PreProcess/Foo.hsc
248
  tests/PackageTests/PreProcess/Main.hs
249
  tests/PackageTests/PreProcess/my.cabal
250 251 252
  tests/PackageTests/PreProcessExtraSources/Foo.hsc
  tests/PackageTests/PreProcessExtraSources/Main.hs
  tests/PackageTests/PreProcessExtraSources/my.cabal
253 254
  tests/PackageTests/ReexportedModules/containers-dupe/Data/Map.hs
  tests/PackageTests/ReexportedModules/containers-dupe/containers-dupe.cabal
255 256
  tests/PackageTests/ReexportedModules/p/Private.hs
  tests/PackageTests/ReexportedModules/p/Public.hs
257 258 259
  tests/PackageTests/ReexportedModules/p/fail-ambiguous.cabal
  tests/PackageTests/ReexportedModules/p/fail-missing.cabal
  tests/PackageTests/ReexportedModules/p/fail-other.cabal
260 261 262
  tests/PackageTests/ReexportedModules/p/p.cabal
  tests/PackageTests/ReexportedModules/q/A.hs
  tests/PackageTests/ReexportedModules/q/q.cabal
263 264 265 266 267 268 269 270
  tests/PackageTests/Regression/T2971/p/include/T2971test.h
  tests/PackageTests/Regression/T2971/p/p.cabal
  tests/PackageTests/Regression/T2971/q/Bar.hsc
  tests/PackageTests/Regression/T2971/q/Foo.hs
  tests/PackageTests/Regression/T2971/q/q.cabal
  tests/PackageTests/Regression/T2971a/Main.hsc
  tests/PackageTests/Regression/T2971a/T2971a.cabal
  tests/PackageTests/Regression/T2971a/include/T2971a.h
271
  tests/PackageTests/Regression/T3294/T3294.cabal
272 273
  tests/PackageTests/Regression/T3847/Main.hs
  tests/PackageTests/Regression/T3847/T3847.cabal
274 275 276 277 278 279 280 281
  tests/PackageTests/TemplateHaskell/dynamic/Exe.hs
  tests/PackageTests/TemplateHaskell/dynamic/Lib.hs
  tests/PackageTests/TemplateHaskell/dynamic/TH.hs
  tests/PackageTests/TemplateHaskell/dynamic/my.cabal
  tests/PackageTests/TemplateHaskell/profiling/Exe.hs
  tests/PackageTests/TemplateHaskell/profiling/Lib.hs
  tests/PackageTests/TemplateHaskell/profiling/TH.hs
  tests/PackageTests/TemplateHaskell/profiling/my.cabal
282 283 284 285
  tests/PackageTests/TemplateHaskell/vanilla/Exe.hs
  tests/PackageTests/TemplateHaskell/vanilla/Lib.hs
  tests/PackageTests/TemplateHaskell/vanilla/TH.hs
  tests/PackageTests/TemplateHaskell/vanilla/my.cabal
286 287 288 289 290
  tests/PackageTests/TestNameCollision/child/Child.hs
  tests/PackageTests/TestNameCollision/child/child.cabal
  tests/PackageTests/TestNameCollision/child/tests/Test.hs
  tests/PackageTests/TestNameCollision/parent/Parent.hs
  tests/PackageTests/TestNameCollision/parent/parent.cabal
291 292
  tests/PackageTests/TestOptions/TestOptions.cabal
  tests/PackageTests/TestOptions/test-TestOptions.hs
293
  tests/PackageTests/TestStanza/my.cabal
ttuegel's avatar
ttuegel committed
294 295
  tests/PackageTests/TestSuiteTests/ExeV10/Foo.hs
  tests/PackageTests/TestSuiteTests/ExeV10/my.cabal
296
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Foo.hs
297
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Short.hs
298
  tests/PackageTests/TestSuiteTests/LibV09/Lib.hs
299
  tests/PackageTests/TestSuiteTests/LibV09/LibV09.cabal
300
  tests/PackageTests/TestSuiteTests/LibV09/tests/Deadlock.hs
301 302 303 304
  tests/PackageTests/UniqueIPID/P1/M.hs
  tests/PackageTests/UniqueIPID/P1/my.cabal
  tests/PackageTests/UniqueIPID/P2/M.hs
  tests/PackageTests/UniqueIPID/P2/my.cabal
305
  tests/PackageTests/multInst/my.cabal
306 307 308
  tests/Setup.hs
  tests/hackage/check.sh
  tests/hackage/download.sh
309 310
  tests/hackage/unpack.sh
  tests/misc/ghc-supported-languages.hs
311
  -- END gen-extra-source-files
312

313
source-repository head
314 315
  type:     git
  location: https://github.com/haskell/cabal/
316
  subdir:   Cabal
317

318 319 320
flag bundled-binary-generic
  default: False

321 322 323 324
flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

Oleg Grenrus's avatar
Oleg Grenrus committed
325 326 327 328 329
flag parsec
  description:  Use parsec parser
  default:      False
  manual:       True

Oleg Grenrus's avatar
Oleg Grenrus committed
330 331 332 333 334
flag parsec-struct-diff
  description:  Use StructDiff in parsec tests. Affects only parsec tests.
  default:      False
  manual:       True

335
library
336
  build-depends:
337 338 339 340
    array      >= 0.1 && < 0.6,
    base       >= 4.5 && < 5,
    bytestring >= 0.9 && < 1,
    containers >= 0.4 && < 0.6,
341
    deepseq    >= 1.3 && < 1.5,
342 343
    filepath   >= 1.3 && < 1.5,
    pretty     >= 1.1 && < 1.2,
344
    process    >= 1.1.0.1 && < 1.5,
345
    time       >= 1.4 && < 1.7
346

347 348 349 350 351 352 353
  if flag(old-directory)
    build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
                   process   >= 1.0.1.1  && < 1.1.0.2
  else
    build-depends: directory >= 1.2 && < 1.3,
                   process   >= 1.1.0.2  && < 1.5

354 355 356
  if flag(bundled-binary-generic)
    build-depends: binary >= 0.5 && < 0.7
  else
357
    build-depends: binary >= 0.7 && < 0.9
358

ttuegel's avatar
ttuegel committed
359 360 361 362
  -- Needed for GHC.Generics before GHC 7.6
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

363
  if !os(windows)
364
    build-depends:
365
      unix >= 2.5 && < 2.8
366

Ben Gamari's avatar
Ben Gamari committed
367 368 369 370
  if os(windows)
    build-depends:
      Win32 >= 2.2 && < 2.4

371
  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs
372
  if impl(ghc >= 8.0)
373 374
    ghc-options: -Wcompat -Wnoncanonical-monad-instances
                 -Wnoncanonical-monadfail-instances
375

376
  exposed-modules:
377
    Distribution.Backpack
378 379 380 381 382 383 384 385 386
    Distribution.Backpack.Configure
    Distribution.Backpack.ComponentsGraph
    Distribution.Backpack.ConfiguredComponent
    Distribution.Backpack.FullUnitId
    Distribution.Backpack.LinkedComponent
    Distribution.Backpack.ModSubst
    Distribution.Backpack.ModuleShape
    Distribution.Utils.LogProgress
    Distribution.Utils.MapAccum
ttuegel's avatar
ttuegel committed
387
    Distribution.Compat.CreatePipe
388
    Distribution.Compat.Environment
389
    Distribution.Compat.Exception
390
    Distribution.Compat.Graph
391
    Distribution.Compat.Internal.TempFile
392
    Distribution.Compat.Prelude.Internal
393
    Distribution.Compat.ReadP
394
    Distribution.Compat.Semigroup
395
    Distribution.Compat.Stack
396
    Distribution.Compat.Time
397 398 399 400 401 402 403 404 405 406 407 408 409
    Distribution.Compiler
    Distribution.InstalledPackageInfo
    Distribution.License
    Distribution.Make
    Distribution.ModuleName
    Distribution.Package
    Distribution.PackageDescription
    Distribution.PackageDescription.Check
    Distribution.PackageDescription.Configuration
    Distribution.PackageDescription.Parse
    Distribution.PackageDescription.PrettyPrint
    Distribution.PackageDescription.Utils
    Distribution.ParseUtils
Oleg Grenrus's avatar
Oleg Grenrus committed
410
    Distribution.PrettyUtils
411 412 413 414 415 416 417 418 419 420 421 422 423
    Distribution.ReadE
    Distribution.Simple
    Distribution.Simple.Bench
    Distribution.Simple.Build
    Distribution.Simple.Build.Macros
    Distribution.Simple.Build.PathsModule
    Distribution.Simple.BuildPaths
    Distribution.Simple.BuildTarget
    Distribution.Simple.CCompiler
    Distribution.Simple.Command
    Distribution.Simple.Compiler
    Distribution.Simple.Configure
    Distribution.Simple.GHC
424
    Distribution.Simple.GHCJS
425
    Distribution.Simple.Haddock
426
    Distribution.Simple.HaskellSuite
427 428 429 430 431 432 433 434 435 436 437 438 439
    Distribution.Simple.Hpc
    Distribution.Simple.Install
    Distribution.Simple.InstallDirs
    Distribution.Simple.JHC
    Distribution.Simple.LHC
    Distribution.Simple.LocalBuildInfo
    Distribution.Simple.PackageIndex
    Distribution.Simple.PreProcess
    Distribution.Simple.PreProcess.Unlit
    Distribution.Simple.Program
    Distribution.Simple.Program.Ar
    Distribution.Simple.Program.Builtin
    Distribution.Simple.Program.Db
440
    Distribution.Simple.Program.Find
441 442 443
    Distribution.Simple.Program.GHC
    Distribution.Simple.Program.HcPkg
    Distribution.Simple.Program.Hpc
444
    Distribution.Simple.Program.Internal
445 446 447
    Distribution.Simple.Program.Ld
    Distribution.Simple.Program.Run
    Distribution.Simple.Program.Script
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
448
    Distribution.Simple.Program.Strip
449 450 451 452 453
    Distribution.Simple.Program.Types
    Distribution.Simple.Register
    Distribution.Simple.Setup
    Distribution.Simple.SrcDist
    Distribution.Simple.Test
ttuegel's avatar
ttuegel committed
454 455 456
    Distribution.Simple.Test.ExeV10
    Distribution.Simple.Test.LibV09
    Distribution.Simple.Test.Log
457 458 459 460 461 462
    Distribution.Simple.UHC
    Distribution.Simple.UserHooks
    Distribution.Simple.Utils
    Distribution.System
    Distribution.TestSuite
    Distribution.Text
463 464 465 466 467 468 469 470 471
    Distribution.Types.Benchmark
    Distribution.Types.BenchmarkInterface
    Distribution.Types.BenchmarkType
    Distribution.Types.BuildInfo
    Distribution.Types.BuildType
    Distribution.Types.Executable
    Distribution.Types.Library
    Distribution.Types.ModuleReexport
    Distribution.Types.ModuleRenaming
472
    Distribution.Types.IncludeRenaming
473 474 475 476 477 478 479 480 481 482 483 484
    Distribution.Types.SetupBuildInfo
    Distribution.Types.TestSuite
    Distribution.Types.TestSuiteInterface
    Distribution.Types.TestType
    Distribution.Types.ComponentName
    Distribution.Types.GenericPackageDescription
    Distribution.Types.HookedBuildInfo
    Distribution.Types.PackageDescription
    Distribution.Types.SourceRepo
    Distribution.Types.Component
    Distribution.Types.ComponentLocalBuildInfo
    Distribution.Types.LocalBuildInfo
485
    Distribution.Types.ComponentRequestedSpec
486
    Distribution.Types.TargetInfo
487
    Distribution.Utils.NubList
488
    Distribution.Utils.ShortText
489
    Distribution.Utils.Progress
490 491
    Distribution.Verbosity
    Distribution.Version
492
    Language.Haskell.Extension
493
    Distribution.Compat.Binary
494

Oleg Grenrus's avatar
Oleg Grenrus committed
495 496 497 498 499 500
  if flag(parsec)
    cpp-options: -DCABAL_PARSEC
    build-depends:
      transformers,
      parsec >= 3.1.9 && <3.2
    build-tools:
Oleg Grenrus's avatar
Oleg Grenrus committed
501
      alex >=3.1.4 && <3.3
Oleg Grenrus's avatar
Oleg Grenrus committed
502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518
    exposed-modules:
      Distribution.Compat.Parsec
      Distribution.PackageDescription.Parsec
      Distribution.PackageDescription.Parsec.FieldDescr
      Distribution.Parsec.Class
      Distribution.Parsec.ConfVar
      Distribution.Parsec.Lexer
      Distribution.Parsec.LexerMonad
      Distribution.Parsec.Parser
      Distribution.Parsec.Types.Common
      Distribution.Parsec.Types.Field
      Distribution.Parsec.Types.FieldDescr
      Distribution.Parsec.Types.ParseResult
      Distribution.Compat.DList

  -- Move DList to other-module if/when D.C.Lens is done

519
  other-modules:
520 521 522 523 524 525 526
    Distribution.Backpack.PreExistingComponent
    Distribution.Backpack.ReadyComponent
    Distribution.Backpack.MixLink
    Distribution.Backpack.ModuleScope
    Distribution.Backpack.UnifyM
    Distribution.Backpack.Id
    Distribution.Utils.UnionFind
527
    Distribution.Utils.Base62
528
    Distribution.Compat.CopyFile
529
    Distribution.Compat.GetShortPathName
530
    Distribution.Compat.MonadFail
531
    Distribution.Compat.Prelude
532
    Distribution.GetOpt
533
    Distribution.Lex
534
    Distribution.Utils.String
535
    Distribution.Simple.GHC.Internal
536
    Distribution.Simple.GHC.IPI642
537
    Distribution.Simple.GHC.IPIConvert
538
    Distribution.Simple.GHC.ImplInfo
539
    Paths_Cabal
540

541 542 543 544 545
  if flag(bundled-binary-generic)
    other-modules:
      Distribution.Compat.Binary.Class
      Distribution.Compat.Binary.Generic

546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575
  default-language: Haskell2010
  other-extensions:
    BangPatterns
    CPP
    DefaultSignatures
    DeriveDataTypeable
    DeriveFoldable
    DeriveFunctor
    DeriveGeneric
    DeriveTraversable
    ExistentialQuantification
    FlexibleContexts
    FlexibleInstances
    GeneralizedNewtypeDeriving
    ImplicitParams
    KindSignatures
    NondecreasingIndentation
    OverloadedStrings
    RankNTypes
    RecordWildCards
    ScopedTypeVariables
    StandaloneDeriving
    Trustworthy
    TypeFamilies
    TypeOperators
    TypeSynonymInstances
    UndecidableInstances

  if impl(ghc >= 7.11)
    other-extensions: PatternSynonyms
576

577
-- Small, fast running tests.
578 579
test-suite unit-tests
  type: exitcode-stdio-1.0
580
  hs-source-dirs: tests
581
  other-modules:
582 583
    Test.Laws
    Test.QuickCheck.Utils
584 585
    UnitTests.Distribution.Compat.CreatePipe
    UnitTests.Distribution.Compat.ReadP
586
    UnitTests.Distribution.Compat.Time
587
    UnitTests.Distribution.Compat.Graph
588
    UnitTests.Distribution.Simple.Program.Internal
589
    UnitTests.Distribution.Simple.Utils
590
    UnitTests.Distribution.System
591
    UnitTests.Distribution.Utils.NubList
592
    UnitTests.Distribution.Utils.ShortText
593
    UnitTests.Distribution.Version
594
  main-is: UnitTests.hs
595
  build-depends:
596
    array,
597
    base,
598
    containers,
599
    directory,
600
    filepath,
601 602 603
    tasty,
    tasty-hunit,
    tasty-quickcheck,
604
    tagged,
605
    pretty,
Oleg Grenrus's avatar
Oleg Grenrus committed
606
    QuickCheck >= 2.7 && < 2.10,
607
    Cabal
tibbe's avatar
tibbe committed
608
  ghc-options: -Wall
609
  default-language: Haskell2010
610 611 612 613 614

-- Large, system tests that build packages.
test-suite package-tests
  type: exitcode-stdio-1.0
  main-is: PackageTests.hs
615
  other-modules:
fmaste's avatar
fmaste committed
616 617
    PackageTests.AutogenModules.Package.Check
    PackageTests.AutogenModules.SrcDist.Check
618
    PackageTests.BenchmarkStanza.Check
619 620
    PackageTests.BuildDeps.GlobalBuildDepsNotAdditive1.Check
    PackageTests.BuildDeps.GlobalBuildDepsNotAdditive2.Check
621
    PackageTests.CaretOperator.Check
622
    PackageTests.DeterministicAr.Check
623
    PackageTests.TestStanza.Check
ttuegel's avatar
ttuegel committed
624
    PackageTests.TestSuiteTests.ExeV10.Check
625
    PackageTests.PackageTester
626
    PackageTests.Tests
627 628
  hs-source-dirs: tests
  build-depends:
629
    base,
630
    containers,
631
    tagged,
632 633
    tasty,
    tasty-hunit,
634
    transformers,
635
    time,
636 637 638 639
    Cabal,
    process,
    directory,
    filepath,
640
    bytestring,
641 642
    regex-posix,
    old-time
tibbe's avatar
tibbe committed
643
  if !os(windows)
644
    build-depends: unix, exceptions
645
  ghc-options: -Wall -rtsopts
646
  default-extensions: CPP
647
  default-language: Haskell2010
Oleg Grenrus's avatar
Oleg Grenrus committed
648 649 650 651 652 653 654

test-suite parser-tests
  if !flag(parsec)
    buildable: False

  type: exitcode-stdio-1.0
  main-is: ParserTests.hs
Oleg Grenrus's avatar
Oleg Grenrus committed
655

Oleg Grenrus's avatar
Oleg Grenrus committed
656 657 658 659 660 661 662 663 664
  hs-source-dirs: tests
  build-depends:
    base,
    containers,
    tar >=0.5 && <0.6,
    bytestring,
    directory,
    filepath,
    Cabal
Oleg Grenrus's avatar
Oleg Grenrus committed
665 666 667 668 669 670 671 672 673 674 675 676

  if flag(parsec-struct-diff)
    build-depends:
      generics-sop ==0.2.*,
      these >=0.7.1 && <0.8,
      singleton-bool >=0.1.1.0 && <0.2,
      keys
    other-modules:
      DiffInstances
      StructDiff
    cpp-options: -DHAS_STRUCT_DIFF

Oleg Grenrus's avatar
Oleg Grenrus committed
677 678 679
  ghc-options: -Wall -rtsopts
  default-extensions: CPP
  default-language: Haskell2010