Cabal.cabal 24.2 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 180 181 182 183
  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
184 185 186 187
  tests/PackageTests/CustomPreProcess/Hello.hs
  tests/PackageTests/CustomPreProcess/MyCustomPreprocessor.hs
  tests/PackageTests/CustomPreProcess/Setup.hs
  tests/PackageTests/CustomPreProcess/internal-preprocessor-test.cabal
188 189
  tests/PackageTests/DeterministicAr/Lib.hs
  tests/PackageTests/DeterministicAr/my.cabal
190 191 192 193
  tests/PackageTests/DuplicateModuleName/DuplicateModuleName.cabal
  tests/PackageTests/DuplicateModuleName/src/Foo.hs
  tests/PackageTests/DuplicateModuleName/tests/Foo.hs
  tests/PackageTests/DuplicateModuleName/tests2/Foo.hs
194
  tests/PackageTests/EmptyLib/empty/empty.cabal
195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
  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
213 214
  tests/PackageTests/Haddock/CPP.hs
  tests/PackageTests/Haddock/Literate.lhs
215
  tests/PackageTests/Haddock/NoCPP.hs
216
  tests/PackageTests/Haddock/Simple.hs
217
  tests/PackageTests/Haddock/my.cabal
Edward Z. Yang's avatar
Edward Z. Yang committed
218 219 220
  tests/PackageTests/HaddockNewline/A.hs
  tests/PackageTests/HaddockNewline/HaddockNewline.cabal
  tests/PackageTests/HaddockNewline/Setup.hs
221 222 223 224 225 226 227 228 229 230 231 232 233 234
  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
235 236
  tests/PackageTests/InternalLibraries/r/R.hs
  tests/PackageTests/InternalLibraries/r/r.cabal
237 238 239 240 241
  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
242
  tests/PackageTests/Options.hs
243 244
  tests/PackageTests/OrderFlags/Foo.hs
  tests/PackageTests/OrderFlags/my.cabal
245 246 247
  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
248
  tests/PackageTests/PreProcess/Foo.hsc
249
  tests/PackageTests/PreProcess/Main.hs
250
  tests/PackageTests/PreProcess/my.cabal
251 252 253
  tests/PackageTests/PreProcessExtraSources/Foo.hsc
  tests/PackageTests/PreProcessExtraSources/Main.hs
  tests/PackageTests/PreProcessExtraSources/my.cabal
254 255
  tests/PackageTests/ReexportedModules/containers-dupe/Data/Map.hs
  tests/PackageTests/ReexportedModules/containers-dupe/containers-dupe.cabal
256 257
  tests/PackageTests/ReexportedModules/p/Private.hs
  tests/PackageTests/ReexportedModules/p/Public.hs
258 259 260
  tests/PackageTests/ReexportedModules/p/fail-ambiguous.cabal
  tests/PackageTests/ReexportedModules/p/fail-missing.cabal
  tests/PackageTests/ReexportedModules/p/fail-other.cabal
261 262 263
  tests/PackageTests/ReexportedModules/p/p.cabal
  tests/PackageTests/ReexportedModules/q/A.hs
  tests/PackageTests/ReexportedModules/q/q.cabal
264
  tests/PackageTests/Regression/T3294/T3294.cabal
265 266
  tests/PackageTests/Regression/T3847/Main.hs
  tests/PackageTests/Regression/T3847/T3847.cabal
267 268 269 270 271 272 273 274
  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
275 276 277 278
  tests/PackageTests/TemplateHaskell/vanilla/Exe.hs
  tests/PackageTests/TemplateHaskell/vanilla/Lib.hs
  tests/PackageTests/TemplateHaskell/vanilla/TH.hs
  tests/PackageTests/TemplateHaskell/vanilla/my.cabal
279 280 281 282 283
  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
284 285
  tests/PackageTests/TestOptions/TestOptions.cabal
  tests/PackageTests/TestOptions/test-TestOptions.hs
286
  tests/PackageTests/TestStanza/my.cabal
ttuegel's avatar
ttuegel committed
287 288
  tests/PackageTests/TestSuiteTests/ExeV10/Foo.hs
  tests/PackageTests/TestSuiteTests/ExeV10/my.cabal
289
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Foo.hs
290
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Short.hs
291
  tests/PackageTests/TestSuiteTests/LibV09/Lib.hs
292
  tests/PackageTests/TestSuiteTests/LibV09/LibV09.cabal
293
  tests/PackageTests/TestSuiteTests/LibV09/tests/Deadlock.hs
294
  tests/PackageTests/Tests.hs
295 296 297 298
  tests/PackageTests/UniqueIPID/P1/M.hs
  tests/PackageTests/UniqueIPID/P1/my.cabal
  tests/PackageTests/UniqueIPID/P2/M.hs
  tests/PackageTests/UniqueIPID/P2/my.cabal
299
  tests/PackageTests/multInst/my.cabal
300 301 302
  tests/Setup.hs
  tests/hackage/check.sh
  tests/hackage/download.sh
303 304
  tests/hackage/unpack.sh
  tests/misc/ghc-supported-languages.hs
305
  -- END gen-extra-source-files
306

307
source-repository head
308 309
  type:     git
  location: https://github.com/haskell/cabal/
310
  subdir:   Cabal
311

312 313 314
flag bundled-binary-generic
  default: False

315 316 317 318
flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

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

331 332 333 334 335 336 337
  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

338 339 340
  if flag(bundled-binary-generic)
    build-depends: binary >= 0.5 && < 0.7
  else
341
    build-depends: binary >= 0.7 && < 0.9
342

ttuegel's avatar
ttuegel committed
343 344 345 346
  -- Needed for GHC.Generics before GHC 7.6
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

347
  if !os(windows)
348
    build-depends:
349
      unix >= 2.5 && < 2.8
350

Ben Gamari's avatar
Ben Gamari committed
351 352 353 354
  if os(windows)
    build-depends:
      Win32 >= 2.2 && < 2.4

355
  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs
356
  if impl(ghc >= 8.0)
357 358
    ghc-options: -Wcompat -Wnoncanonical-monad-instances
                 -Wnoncanonical-monadfail-instances
359

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

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

502 503 504 505 506
  if flag(bundled-binary-generic)
    other-modules:
      Distribution.Compat.Binary.Class
      Distribution.Compat.Binary.Generic

507 508 509 510 511 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
  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
537

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

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