Cabal.cabal 24.5 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/BuildAssumeDepsUpToDate/BuildAssumeDepsUpToDate.cabal
111
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/GlobalBuildDepsNotAdditive1.cabal
112
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/MyLibrary.hs
113 114 115
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive2/GlobalBuildDepsNotAdditive2.cabal
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive2/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary0/MyLibrary.hs
116
  tests/PackageTests/BuildDeps/InternalLibrary0/my.cabal
117 118
  tests/PackageTests/BuildDeps/InternalLibrary0/programs/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary1/MyLibrary.hs
119
  tests/PackageTests/BuildDeps/InternalLibrary1/my.cabal
120 121
  tests/PackageTests/BuildDeps/InternalLibrary1/programs/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary2/MyLibrary.hs
122
  tests/PackageTests/BuildDeps/InternalLibrary2/my.cabal
123
  tests/PackageTests/BuildDeps/InternalLibrary2/programs/lemon.hs
124 125
  tests/PackageTests/BuildDeps/InternalLibrary2/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary2/to-install/my.cabal
126
  tests/PackageTests/BuildDeps/InternalLibrary3/MyLibrary.hs
127
  tests/PackageTests/BuildDeps/InternalLibrary3/my.cabal
128
  tests/PackageTests/BuildDeps/InternalLibrary3/programs/lemon.hs
129 130
  tests/PackageTests/BuildDeps/InternalLibrary3/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary3/to-install/my.cabal
131
  tests/PackageTests/BuildDeps/InternalLibrary4/MyLibrary.hs
132
  tests/PackageTests/BuildDeps/InternalLibrary4/my.cabal
133
  tests/PackageTests/BuildDeps/InternalLibrary4/programs/lemon.hs
134 135 136
  tests/PackageTests/BuildDeps/InternalLibrary4/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary4/to-install/my.cabal
  tests/PackageTests/BuildDeps/SameDepsAllRound/MyLibrary.hs
137 138 139
  tests/PackageTests/BuildDeps/SameDepsAllRound/SameDepsAllRound.cabal
  tests/PackageTests/BuildDeps/SameDepsAllRound/lemon.hs
  tests/PackageTests/BuildDeps/SameDepsAllRound/pineapple.hs
140 141 142 143 144 145 146 147 148
  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
149 150
  tests/PackageTests/BuildTargetErrors/BuildTargetErrors.cabal
  tests/PackageTests/BuildTargetErrors/Main.hs
151
  tests/PackageTests/BuildTestSuiteDetailedV09/Dummy2.hs
152 153 154 155
  tests/PackageTests/BuildToolsPath/A.hs
  tests/PackageTests/BuildToolsPath/MyCustomPreprocessor.hs
  tests/PackageTests/BuildToolsPath/build-tools-path.cabal
  tests/PackageTests/BuildToolsPath/hello/Hello.hs
156 157
  tests/PackageTests/BuildableField/BuildableField.cabal
  tests/PackageTests/BuildableField/Main.hs
158 159 160
  tests/PackageTests/CMain/Bar.hs
  tests/PackageTests/CMain/foo.c
  tests/PackageTests/CMain/my.cabal
161
  tests/PackageTests/CaretOperator/my.cabal
162 163
  tests/PackageTests/Configure/A.hs
  tests/PackageTests/Configure/Setup.hs
164 165 166
  tests/PackageTests/Configure/include/HsZlibConfig.h.in
  tests/PackageTests/Configure/zlib.buildinfo.in
  tests/PackageTests/Configure/zlib.cabal
167 168 169 170 171 172 173 174 175 176 177
  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
178 179
  tests/PackageTests/CopyAssumeDepsUpToDate/CopyAssumeDepsUpToDate.cabal
  tests/PackageTests/CopyAssumeDepsUpToDate/Main.hs
180 181 182 183 184 185
  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
186 187 188 189
  tests/PackageTests/CustomPreProcess/Hello.hs
  tests/PackageTests/CustomPreProcess/MyCustomPreprocessor.hs
  tests/PackageTests/CustomPreProcess/Setup.hs
  tests/PackageTests/CustomPreProcess/internal-preprocessor-test.cabal
190 191
  tests/PackageTests/DeterministicAr/Lib.hs
  tests/PackageTests/DeterministicAr/my.cabal
192 193 194 195
  tests/PackageTests/DuplicateModuleName/DuplicateModuleName.cabal
  tests/PackageTests/DuplicateModuleName/src/Foo.hs
  tests/PackageTests/DuplicateModuleName/tests/Foo.hs
  tests/PackageTests/DuplicateModuleName/tests2/Foo.hs
196
  tests/PackageTests/EmptyLib/empty/empty.cabal
197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
  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
215 216
  tests/PackageTests/Haddock/CPP.hs
  tests/PackageTests/Haddock/Literate.lhs
217
  tests/PackageTests/Haddock/NoCPP.hs
218
  tests/PackageTests/Haddock/Simple.hs
219
  tests/PackageTests/Haddock/my.cabal
Edward Z. Yang's avatar
Edward Z. Yang committed
220 221 222
  tests/PackageTests/HaddockNewline/A.hs
  tests/PackageTests/HaddockNewline/HaddockNewline.cabal
  tests/PackageTests/HaddockNewline/Setup.hs
223 224 225 226 227 228 229 230 231 232 233 234 235 236
  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
237 238
  tests/PackageTests/InternalLibraries/r/R.hs
  tests/PackageTests/InternalLibraries/r/r.cabal
239 240 241 242 243
  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
244
  tests/PackageTests/Options.hs
245 246
  tests/PackageTests/OrderFlags/Foo.hs
  tests/PackageTests/OrderFlags/my.cabal
247 248 249
  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
250
  tests/PackageTests/PreProcess/Foo.hsc
251
  tests/PackageTests/PreProcess/Main.hs
252
  tests/PackageTests/PreProcess/my.cabal
253 254 255
  tests/PackageTests/PreProcessExtraSources/Foo.hsc
  tests/PackageTests/PreProcessExtraSources/Main.hs
  tests/PackageTests/PreProcessExtraSources/my.cabal
256 257
  tests/PackageTests/ReexportedModules/containers-dupe/Data/Map.hs
  tests/PackageTests/ReexportedModules/containers-dupe/containers-dupe.cabal
258 259
  tests/PackageTests/ReexportedModules/p/Private.hs
  tests/PackageTests/ReexportedModules/p/Public.hs
260 261 262
  tests/PackageTests/ReexportedModules/p/fail-ambiguous.cabal
  tests/PackageTests/ReexportedModules/p/fail-missing.cabal
  tests/PackageTests/ReexportedModules/p/fail-other.cabal
263 264 265
  tests/PackageTests/ReexportedModules/p/p.cabal
  tests/PackageTests/ReexportedModules/q/A.hs
  tests/PackageTests/ReexportedModules/q/q.cabal
266 267 268
  tests/PackageTests/RegisterAssumeDepsUpToDate/P.hs
  tests/PackageTests/RegisterAssumeDepsUpToDate/RegisterOneShot.cabal
  tests/PackageTests/RegisterAssumeDepsUpToDate/q/Q.hs
269
  tests/PackageTests/Regression/T3294/T3294.cabal
270 271
  tests/PackageTests/Regression/T3847/Main.hs
  tests/PackageTests/Regression/T3847/T3847.cabal
272 273 274 275 276 277 278 279
  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
280 281 282 283
  tests/PackageTests/TemplateHaskell/vanilla/Exe.hs
  tests/PackageTests/TemplateHaskell/vanilla/Lib.hs
  tests/PackageTests/TemplateHaskell/vanilla/TH.hs
  tests/PackageTests/TemplateHaskell/vanilla/my.cabal
284 285 286 287 288
  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
289 290
  tests/PackageTests/TestOptions/TestOptions.cabal
  tests/PackageTests/TestOptions/test-TestOptions.hs
291
  tests/PackageTests/TestStanza/my.cabal
ttuegel's avatar
ttuegel committed
292 293
  tests/PackageTests/TestSuiteTests/ExeV10/Foo.hs
  tests/PackageTests/TestSuiteTests/ExeV10/my.cabal
294
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Foo.hs
295
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Short.hs
296
  tests/PackageTests/TestSuiteTests/LibV09/Lib.hs
297
  tests/PackageTests/TestSuiteTests/LibV09/LibV09.cabal
298
  tests/PackageTests/TestSuiteTests/LibV09/tests/Deadlock.hs
299
  tests/PackageTests/Tests.hs
300 301 302 303
  tests/PackageTests/UniqueIPID/P1/M.hs
  tests/PackageTests/UniqueIPID/P1/my.cabal
  tests/PackageTests/UniqueIPID/P2/M.hs
  tests/PackageTests/UniqueIPID/P2/my.cabal
304
  tests/PackageTests/multInst/my.cabal
305 306 307
  tests/Setup.hs
  tests/hackage/check.sh
  tests/hackage/download.sh
308 309
  tests/hackage/unpack.sh
  tests/misc/ghc-supported-languages.hs
310
  -- END gen-extra-source-files
311

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

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

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

324
library
325
  build-depends:
326 327 328 329
    array      >= 0.1 && < 0.6,
    base       >= 4.5 && < 5,
    bytestring >= 0.9 && < 1,
    containers >= 0.4 && < 0.6,
330
    deepseq    >= 1.3 && < 1.5,
331 332
    filepath   >= 1.3 && < 1.5,
    pretty     >= 1.1 && < 1.2,
333
    process    >= 1.1.0.1 && < 1.5,
334
    time       >= 1.4 && < 1.7
335

336 337 338 339 340 341 342
  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

343 344 345
  if flag(bundled-binary-generic)
    build-depends: binary >= 0.5 && < 0.7
  else
346
    build-depends: binary >= 0.7 && < 0.9
347

ttuegel's avatar
ttuegel committed
348 349 350 351
  -- Needed for GHC.Generics before GHC 7.6
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

352
  if !os(windows)
353
    build-depends:
354
      unix >= 2.5 && < 2.8
355

Ben Gamari's avatar
Ben Gamari committed
356 357 358 359
  if os(windows)
    build-depends:
      Win32 >= 2.2 && < 2.4

360
  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs
361
  if impl(ghc >= 8.0)
362 363
    ghc-options: -Wcompat -Wnoncanonical-monad-instances
                 -Wnoncanonical-monadfail-instances
364

365
  exposed-modules:
366
    Distribution.Backpack
367 368 369 370 371 372 373 374 375
    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
376
    Distribution.Compat.CreatePipe
377
    Distribution.Compat.Environment
378
    Distribution.Compat.Exception
379
    Distribution.Compat.Graph
380
    Distribution.Compat.Internal.TempFile
381
    Distribution.Compat.Prelude.Internal
382
    Distribution.Compat.ReadP
383
    Distribution.Compat.Semigroup
384
    Distribution.Compat.Stack
385
    Distribution.Compat.Time
386 387 388 389 390 391 392 393 394 395 396 397 398
    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
399
    Distribution.PrettyUtils
400 401 402 403 404 405 406 407 408 409 410 411 412
    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
413
    Distribution.Simple.GHCJS
414
    Distribution.Simple.Haddock
415
    Distribution.Simple.HaskellSuite
416 417 418 419 420 421 422 423 424 425 426 427 428
    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
429
    Distribution.Simple.Program.Find
430 431 432
    Distribution.Simple.Program.GHC
    Distribution.Simple.Program.HcPkg
    Distribution.Simple.Program.Hpc
433
    Distribution.Simple.Program.Internal
434 435 436
    Distribution.Simple.Program.Ld
    Distribution.Simple.Program.Run
    Distribution.Simple.Program.Script
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
437
    Distribution.Simple.Program.Strip
438 439 440 441 442
    Distribution.Simple.Program.Types
    Distribution.Simple.Register
    Distribution.Simple.Setup
    Distribution.Simple.SrcDist
    Distribution.Simple.Test
ttuegel's avatar
ttuegel committed
443 444 445
    Distribution.Simple.Test.ExeV10
    Distribution.Simple.Test.LibV09
    Distribution.Simple.Test.Log
446 447 448 449 450 451
    Distribution.Simple.UHC
    Distribution.Simple.UserHooks
    Distribution.Simple.Utils
    Distribution.System
    Distribution.TestSuite
    Distribution.Text
452 453 454 455 456 457 458 459 460
    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
461
    Distribution.Types.IncludeRenaming
462 463 464 465 466 467 468 469 470 471 472 473
    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
474
    Distribution.Types.ComponentRequestedSpec
475
    Distribution.Types.TargetInfo
476
    Distribution.Utils.NubList
477
    Distribution.Utils.ShortText
478
    Distribution.Utils.Progress
479 480
    Distribution.Verbosity
    Distribution.Version
481
    Language.Haskell.Extension
482
    Distribution.Compat.Binary
483

484
  other-modules:
485 486 487 488 489 490 491
    Distribution.Backpack.PreExistingComponent
    Distribution.Backpack.ReadyComponent
    Distribution.Backpack.MixLink
    Distribution.Backpack.ModuleScope
    Distribution.Backpack.UnifyM
    Distribution.Backpack.Id
    Distribution.Utils.UnionFind
492
    Distribution.Utils.Base62
493
    Distribution.Compat.CopyFile
494
    Distribution.Compat.GetShortPathName
495
    Distribution.Compat.MonadFail
Oleg Grenrus's avatar
Oleg Grenrus committed
496
    Distribution.Compat.DList
497
    Distribution.Compat.Prelude
498
    Distribution.GetOpt
499
    Distribution.Lex
500
    Distribution.Utils.String
501
    Distribution.Simple.GHC.Internal
502
    Distribution.Simple.GHC.IPI642
503
    Distribution.Simple.GHC.IPIConvert
504
    Distribution.Simple.GHC.ImplInfo
505
    Paths_Cabal
506

507 508 509 510 511
  if flag(bundled-binary-generic)
    other-modules:
      Distribution.Compat.Binary.Class
      Distribution.Compat.Binary.Generic

512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541
  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
542

543
-- Small, fast running tests.
544 545
test-suite unit-tests
  type: exitcode-stdio-1.0
546
  hs-source-dirs: tests
547
  other-modules:
548 549
    Test.Laws
    Test.QuickCheck.Utils
550 551
    UnitTests.Distribution.Compat.CreatePipe
    UnitTests.Distribution.Compat.ReadP
552
    UnitTests.Distribution.Compat.Time
553
    UnitTests.Distribution.Compat.Graph
554
    UnitTests.Distribution.Simple.Program.Internal
555
    UnitTests.Distribution.Simple.Utils
556
    UnitTests.Distribution.System
557
    UnitTests.Distribution.Utils.NubList
558
    UnitTests.Distribution.Utils.ShortText
559
    UnitTests.Distribution.Version
560
  main-is: UnitTests.hs
561
  build-depends:
562
    array,
563
    base,
564
    containers,
565
    directory,
566
    filepath,
567 568 569
    tasty,
    tasty-hunit,
    tasty-quickcheck,
570
    tagged,
571
    pretty,
Oleg Grenrus's avatar
Oleg Grenrus committed
572
    QuickCheck >= 2.7 && < 2.10,
573
    Cabal
tibbe's avatar
tibbe committed
574
  ghc-options: -Wall
575
  default-language: Haskell2010
576 577 578 579 580

-- Large, system tests that build packages.
test-suite package-tests
  type: exitcode-stdio-1.0
  main-is: PackageTests.hs
581
  other-modules:
fmaste's avatar
fmaste committed
582 583
    PackageTests.AutogenModules.Package.Check
    PackageTests.AutogenModules.SrcDist.Check
584
    PackageTests.BenchmarkStanza.Check
585 586
    PackageTests.BuildDeps.GlobalBuildDepsNotAdditive1.Check
    PackageTests.BuildDeps.GlobalBuildDepsNotAdditive2.Check
587
    PackageTests.CaretOperator.Check
588
    PackageTests.DeterministicAr.Check
589
    PackageTests.TestStanza.Check
ttuegel's avatar
ttuegel committed
590
    PackageTests.TestSuiteTests.ExeV10.Check
591
    PackageTests.PackageTester
592 593
  hs-source-dirs: tests
  build-depends:
594
    base,
595
    containers,
596
    tagged,
597 598
    tasty,
    tasty-hunit,
599
    transformers,
600
    time,
601 602 603 604
    Cabal,
    process,
    directory,
    filepath,
605
    bytestring,
606 607
    regex-posix,
    old-time
tibbe's avatar
tibbe committed
608
  if !os(windows)
609
    build-depends: unix, exceptions
610
  ghc-options: -Wall -rtsopts
611
  default-extensions: CPP
612
  default-language: Haskell2010