Cabal revisions of hs-bindgen-1.0.0.0
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-cabal-version: 3.0-name: hs-bindgen-version: 1.0.0.0-license: BSD-3-Clause-license-file: LICENSE-author: Well-Typed LLP-maintainer: info@well-typed.com-category: Development-build-type: Simple-synopsis: Generate Haskell bindings from C headers-description: Automatically generate Haskell bindings from C headers-tested-with:- GHC ==9.4.8- || ==9.6.7- || ==9.8.4- || ==9.10.3- || ==9.12.2- || ==9.14.1--extra-source-files:- bootstrap/*.h- musl-include/**/*.h- musl-include/COPYRIGHT- musl-include/VERSION- test-artefacts/fixtures/**/*.hs- test-artefacts/fixtures/**/*.txt- test-artefacts/fixtures/**/*.yaml- test-artefacts/headers/**/*.h- test-artefacts/headers/**/*.yaml--extra-doc-files:- CHANGELOG.md- known-issues.md- README.md--source-repository head- type: git- location: https://github.com/well-typed/hs-bindgen- subdir: hs-bindgen--source-repository this- type: git- location: https://github.com/well-typed/hs-bindgen- subdir: hs-bindgen- tag: release-1.0.0.0--flag dev- description: Build debugging utilities for developing hs-bindgen itself- default: False- manual: True--common lang- ghc-options:- -Wall -Widentities -Wprepositive-qualified-module- -Wredundant-constraints -Wunused-packages- -Wno-unticked-promoted-constructors-- build-depends: base >=4.17 && <4.23- default-language: GHC2021- default-extensions:- DataKinds- DefaultSignatures- DeriveAnyClass- DerivingStrategies- DerivingVia- DisambiguateRecordFields- DuplicateRecordFields- FunctionalDependencies- LambdaCase- MultiWayIf- NoFieldSelectors- NoNamedFieldPuns- OverloadedLabels- OverloadedRecordDot- OverloadedStrings- PatternSynonyms- QuantifiedConstraints- TypeApplications- TypeFamilies- UndecidableInstances- ViewPatterns-- if impl(ghc >=9.8)- default-extensions: TypeAbstractions--library internal- import: lang- hs-source-dirs: src-internal- ghc-options: -Wmissing-export-lists-- -- Modules containing public API.- exposed-modules: HsBindgen.Config-- -- Internal modules- --- -- Rules:- --- -- * HsBindgen.IR.* modules must not (transitively) import from Frontend or- -- Backend- exposed-modules:- Data.Digraph- HsBindgen- HsBindgen.Artefact- HsBindgen.ArtefactM- HsBindgen.Backend- HsBindgen.Backend.Category- HsBindgen.Backend.Category.ApplyChoice- HsBindgen.Backend.Extensions- HsBindgen.Backend.Global- HsBindgen.Backend.Hs.AST- HsBindgen.Backend.Hs.AST.CompletePragma- HsBindgen.Backend.Hs.AST.Strategy- HsBindgen.Backend.Hs.CallConv- HsBindgen.Backend.Hs.Haddock.Documentation- HsBindgen.Backend.Hs.Haddock.Translation- HsBindgen.Backend.Hs.Name- HsBindgen.Backend.Hs.Origin- HsBindgen.Backend.Hs.Translation- HsBindgen.Backend.Hs.Translation.Field- HsBindgen.Backend.Hs.Translation.ForeignImport- HsBindgen.Backend.Hs.Translation.Function- HsBindgen.Backend.Hs.Translation.Instances- HsBindgen.Backend.Hs.Translation.Monad- HsBindgen.Backend.Hs.Translation.Newtype- HsBindgen.Backend.Hs.Translation.Structure- HsBindgen.Backend.Hs.Translation.ToFromFunPtr- HsBindgen.Backend.Hs.Translation.Union- HsBindgen.Backend.HsModule.Names- HsBindgen.Backend.HsModule.Pretty- HsBindgen.Backend.HsModule.Pretty.CAPI- HsBindgen.Backend.HsModule.Pretty.Comment- HsBindgen.Backend.HsModule.Pretty.Common- HsBindgen.Backend.HsModule.Pretty.Decl- HsBindgen.Backend.HsModule.Pretty.Expr- HsBindgen.Backend.HsModule.Pretty.Type- HsBindgen.Backend.HsModule.Render- HsBindgen.Backend.HsModule.Translation- HsBindgen.Backend.HsModule.Translation.Doxygen- HsBindgen.Backend.Level- HsBindgen.Backend.Runtime- HsBindgen.Backend.SHs.AST- HsBindgen.Backend.SHs.AST.Expr- HsBindgen.Backend.SHs.AST.Type- HsBindgen.Backend.SHs.Simplify- HsBindgen.Backend.SHs.Translation- HsBindgen.Backend.SHs.Translation.Common- HsBindgen.Backend.SHs.Translation.MapFunction- HsBindgen.Backend.TH.Translation- HsBindgen.Backend.UniqueSymbol- HsBindgen.BindingSpec- HsBindgen.BindingSpec.Gen- HsBindgen.BindingSpec.Private.Common- HsBindgen.BindingSpec.Private.Stdlib- HsBindgen.BindingSpec.Private.V1- HsBindgen.BindingSpec.Private.Version- HsBindgen.Boot- HsBindgen.Cache- HsBindgen.Clang- HsBindgen.Clang.CompareVersions- HsBindgen.Clang.Discover- HsBindgen.Clang.ExtraClangArgs- HsBindgen.Clang.Macos- HsBindgen.Clang.Tokens- HsBindgen.Config.ClangArgs- HsBindgen.Config.Internal- HsBindgen.Config.MangleCandidate- HsBindgen.Config.MangleCandidate.ReservedNames- HsBindgen.Config.Prelims- HsBindgen.Doxygen- HsBindgen.Eff- HsBindgen.Errors- HsBindgen.Frontend- HsBindgen.Frontend.Analysis- HsBindgen.Frontend.Analysis.DeclIndex- HsBindgen.Frontend.Analysis.DeclIndex.ResolveMacro- HsBindgen.Frontend.Analysis.DeclUseGraph- HsBindgen.Frontend.Analysis.DeclUseGraph.Construction- HsBindgen.Frontend.Analysis.DeclUseGraph.Definition- HsBindgen.Frontend.Analysis.DeclUseGraph.Query- HsBindgen.Frontend.Analysis.Deps- HsBindgen.Frontend.Analysis.IncludeGraph- HsBindgen.Frontend.Analysis.Typedefs- HsBindgen.Frontend.Analysis.UnnamedIdUsage- HsBindgen.Frontend.Analysis.UseDeclGraph- HsBindgen.Frontend.DeclMeta- HsBindgen.Frontend.LanguageC- HsBindgen.Frontend.LanguageC.Error- HsBindgen.Frontend.LanguageC.Monad- HsBindgen.Frontend.LanguageC.PartialAST- HsBindgen.Frontend.LanguageC.PartialAST.FromLanC- HsBindgen.Frontend.LanguageC.PartialAST.ToBindgen- HsBindgen.Frontend.Pass.AdjustTypes- HsBindgen.Frontend.Pass.AdjustTypes.IsPass- HsBindgen.Frontend.Pass.ConstructTranslationUnit- HsBindgen.Frontend.Pass.ConstructTranslationUnit.IsPass- HsBindgen.Frontend.Pass.EnrichComments- HsBindgen.Frontend.Pass.EnrichComments.IsPass- HsBindgen.Frontend.Pass.FillUnnamedIds- HsBindgen.Frontend.Pass.FillUnnamedIds.ChooseNames- HsBindgen.Frontend.Pass.FillUnnamedIds.IsPass- HsBindgen.Frontend.Pass.Final- HsBindgen.Frontend.Pass.MangleNames- HsBindgen.Frontend.Pass.MangleNames.CreateNames- HsBindgen.Frontend.Pass.MangleNames.DetectClashes- HsBindgen.Frontend.Pass.MangleNames.Error- HsBindgen.Frontend.Pass.MangleNames.IsPass- HsBindgen.Frontend.Pass.MangleNames.Names- HsBindgen.Frontend.Pass.MangleNames.ResolveNames- HsBindgen.Frontend.Pass.Parse- HsBindgen.Frontend.Pass.Parse.Builtin- HsBindgen.Frontend.Pass.Parse.Context- HsBindgen.Frontend.Pass.Parse.Decl- HsBindgen.Frontend.Pass.Parse.Decl.Field- HsBindgen.Frontend.Pass.Parse.Decl.ImplicitFields- HsBindgen.Frontend.Pass.Parse.Decl.Macro- HsBindgen.Frontend.Pass.Parse.Decl.Members- HsBindgen.Frontend.Pass.Parse.IsPass- HsBindgen.Frontend.Pass.Parse.Monad.Decl- HsBindgen.Frontend.Pass.Parse.Monad.SourceRangeMap- HsBindgen.Frontend.Pass.Parse.Monad.Type- HsBindgen.Frontend.Pass.Parse.Msg- HsBindgen.Frontend.Pass.Parse.Result- HsBindgen.Frontend.Pass.Parse.Type- HsBindgen.Frontend.Pass.PrepareReparse- HsBindgen.Frontend.Pass.PrepareReparse.AST- HsBindgen.Frontend.Pass.PrepareReparse.Flatten- HsBindgen.Frontend.Pass.PrepareReparse.IsPass- HsBindgen.Frontend.Pass.PrepareReparse.IsPass.Msg- HsBindgen.Frontend.Pass.PrepareReparse.Lexer- HsBindgen.Frontend.Pass.PrepareReparse.Parser- HsBindgen.Frontend.Pass.PrepareReparse.Preprocessor- HsBindgen.Frontend.Pass.PrepareReparse.Printer- HsBindgen.Frontend.Pass.PrepareReparse.Printer.Util- HsBindgen.Frontend.Pass.PrepareReparse.Simplifier- HsBindgen.Frontend.Pass.PrepareReparse.Tracer- HsBindgen.Frontend.Pass.PrepareReparse.Update- HsBindgen.Frontend.Pass.ReparseMacroExpansions- HsBindgen.Frontend.Pass.ReparseMacroExpansions.ForgetAnn- HsBindgen.Frontend.Pass.ReparseMacroExpansions.IsPass- HsBindgen.Frontend.Pass.ReparseMacroExpansions.IsPass.Msg- HsBindgen.Frontend.Pass.ReparseMacroExpansions.LanC- HsBindgen.Frontend.Pass.ReparseMacroExpansions.Zip- HsBindgen.Frontend.Pass.ReparseMacroExpansions.Zip.Error- HsBindgen.Frontend.Pass.ResolveBindingSpecs- HsBindgen.Frontend.Pass.ResolveBindingSpecs.IsPass- HsBindgen.Frontend.Pass.Select- HsBindgen.Frontend.Pass.Select.IsPass- HsBindgen.Frontend.Pass.SimplifyAST- HsBindgen.Frontend.Pass.SimplifyAST.IsPass- HsBindgen.Frontend.Pass.TranslateTypes- HsBindgen.Frontend.Pass.TranslateTypes.IsPass- HsBindgen.Frontend.Pass.TranslateTypes.IsPass.Msg- HsBindgen.Frontend.Pass.TranslateTypes.Translation- HsBindgen.Frontend.Pass.TypecheckMacros- HsBindgen.Frontend.Pass.TypecheckMacros.IsPass- HsBindgen.Frontend.Pass.TypecheckMacros.KnownTypes- HsBindgen.Frontend.Pass.TypecheckMacros.Typecheck- HsBindgen.Frontend.Predicate- HsBindgen.Frontend.PrettyC- HsBindgen.Frontend.ProcessIncludes- HsBindgen.Frontend.RootHeader- HsBindgen.Frontend.TranslationUnit- HsBindgen.Guasi- HsBindgen.Imports- HsBindgen.Instances- HsBindgen.IR.C- HsBindgen.IR.C.Conflict- HsBindgen.IR.C.Decl- HsBindgen.IR.C.DeclPath- HsBindgen.IR.C.HashDefine- HsBindgen.IR.C.HashIncludeArg- HsBindgen.IR.C.LocationInfo- HsBindgen.IR.C.Naming- HsBindgen.IR.C.PrettyPrinter- HsBindgen.IR.C.RootDirective- HsBindgen.IR.C.Type- HsBindgen.IR.Hs- HsBindgen.IR.Hs.Type- HsBindgen.IR.Pass- HsBindgen.IR.Pass.Ann- HsBindgen.IR.Pass.CommentDecl- HsBindgen.IR.Pass.Definition- HsBindgen.IR.Pass.ExtBinding- HsBindgen.IR.Pass.Id- HsBindgen.IR.Pass.Macro- HsBindgen.IR.Pass.Msg- HsBindgen.IR.Pass.ScopedName- HsBindgen.IR.Pass.Types- HsBindgen.IR.Translation- HsBindgen.Language.C- HsBindgen.Language.Haskell- HsBindgen.Macro.Empty- HsBindgen.Macro.Error- HsBindgen.Macro.Flip- HsBindgen.Macro.Interface- HsBindgen.Macro.Parse- HsBindgen.Macro.Raw- HsBindgen.Macro.Raw.Lang- HsBindgen.Macro.Raw.Parse- HsBindgen.Macro.Syntax- HsBindgen.Macro.Type- HsBindgen.Macro.UniqueExpansion- HsBindgen.Macro.UniqueExpansion.Parse- HsBindgen.Macro.UniqueExpansion.Types- HsBindgen.NameHint- HsBindgen.Orphans- HsBindgen.Resolve- HsBindgen.Test- HsBindgen.Test.C- HsBindgen.Test.Hs- HsBindgen.Test.Internal- HsBindgen.Test.Readme- HsBindgen.TH.Internal- HsBindgen.TraceMsg- HsBindgen.Util.Monad- HsBindgen.Util.Process- HsBindgen.Util.Rational- HsBindgen.Util.Tracer- Text.SimplePrettyPrint-- other-modules: Paths_hs_bindgen- autogen-modules: Paths_hs_bindgen- other-extensions: TemplateHaskellQuotes-- -- Internal dependencies- build-depends: hs-bindgen-runtime >=1.0.0.0 && <1.1-- -- External dependencies- build-depends:- , aeson >=2.2.1.0 && <2.3- , ansi-terminal >=1.0.0 && <1.2- , array >=0.5.4.0 && <0.6- , base-compat >=0.13.1 && <0.16- , base16-bytestring >=1.0.2.0 && <1.1- , bytestring >=0.11.4.0 && <0.13- , containers >=0.6.5.1 && <0.9- , contra-tracer >=0.2 && <0.3- , cryptohash-sha256 >=0.11.102.1 && <0.12- , data-default >=0.7 && <0.9- , debruijn ^>=0.3.1- , directory >=1.3.6.2 && <1.4- , doxygen-parser >=0.1 && <0.2- , exceptions >=0.10 && <0.11- , filepath >=1.4 && <1.6- , fin >=0.3.2 && <0.4- , language-c >=0.9 && <0.11- , libclang-bindings >=0.2 && <0.3- , mtl >=2.2 && <2.4- , optics-core >=0.4 && <0.5- , parsec >=3.1 && <3.2- , pretty >=1.1.3.6 && <1.2- , process >=1.6 && <1.7- , regex-pcre-builtin >=0.95 && <0.96- , some >=1.0.6 && <1.1- , template-haskell >=2.19 && <2.25- , temporary >=1.3 && <1.4- , text >=1.2 && <2.2- , transformers >=0.5 && <0.7- , unliftio-core >=0.2.1 && <0.3- , vec >=0.5 && <0.6- , yaml >=0.11.11.1 && <0.12--library- import: lang- hs-source-dirs: src- exposed-modules:- HsBindgen.Macro- HsBindgen.TH-- other-modules:- HsBindgen.Internal.Macro.CExpr- HsBindgen.Internal.Macro.CExpr.Global- HsBindgen.Internal.Macro.CExpr.Parse- HsBindgen.Internal.Macro.CExpr.Resolution- HsBindgen.Internal.Macro.CExpr.Translation.Type- HsBindgen.Internal.Macro.CExpr.Translation.Value- HsBindgen.Internal.Macro.CExpr.Type- HsBindgen.Internal.Macro.CExpr.Typecheck-- reexported-modules:- other-extensions: TemplateHaskellQuotes-- -- Internal dependencies- build-depends:- , hs-bindgen-runtime- , hs-bindgen:internal-- -- External dependencies- build-depends:- , c-expr-dsl >=0.2 && <0.3- , c-expr-runtime >=0.1 && <0.2-- -- Inherited dependencies- build-depends:- , containers- , data-default- , debruijn- , fin- , libclang-bindings- , template-haskell- , text- , vec--executable hs-bindgen-cli- import: lang- default-extensions: NoFieldSelectors- main-is: hs-bindgen-cli.hs- hs-source-dirs: app- other-modules:- HsBindgen.App- HsBindgen.App.Output- HsBindgen.Cli- HsBindgen.Cli.BindingSpec- HsBindgen.Cli.BindingSpec.StdLib- HsBindgen.Cli.GenTests- HsBindgen.Cli.Info- HsBindgen.Cli.Info.BuiltinMacros- HsBindgen.Cli.Info.Doxygen- HsBindgen.Cli.Info.IncludeGraph- HsBindgen.Cli.Info.Instances- HsBindgen.Cli.Info.Libclang- HsBindgen.Cli.Info.ResolveHeader- HsBindgen.Cli.Info.UseDeclGraph- HsBindgen.Cli.Internal- HsBindgen.Cli.Internal.Frontend- HsBindgen.Cli.Preprocess- HsBindgen.Cli.ToolSupport- HsBindgen.Cli.ToolSupport.Literate- Paths_hs_bindgen-- autogen-modules: Paths_hs_bindgen-- -- Internal dependencies- build-depends:- , hs-bindgen- , hs-bindgen:internal-- -- Inherited dependencies- build-depends:- , containers- , data-default- , libclang-bindings-- -- External dependencies- build-depends:- , bytestring >=0.11.4.0 && <0.13- , optparse-applicative >=0.18 && <0.20- , prettyprinter >=1.7.1 && <1.8- , text >=1.2 && <2.2--executable clang-ast-dump- import: lang- main-is: Main.hs- hs-source-dirs: clang-ast-dump-- if flag(dev)- buildable: True-- else- buildable: False-- -- Internal dependencies- build-depends: hs-bindgen:internal-- -- Inherited dependencies- build-depends:- , containers- , data-default- , libclang-bindings- , text-- -- External dependencies- build-depends: optparse-applicative >=0.18 && <0.20--library test-common- import: lang- hs-source-dirs: test/common- exposed-modules:- Test.Common.HsBindgen.Trace- Test.Common.HsBindgen.Trace.Patterns- Test.Common.HsBindgen.Trace.Predicate- Test.Common.Util.AnsiDiff- Test.Common.Util.Cabal- Test.Common.Util.Tasty- Test.Common.Util.Tasty.Golden-- -- Internal dependencies- build-depends: hs-bindgen:internal-- -- Inherited dependencies- build-depends:- , ansi-terminal- , bytestring- , containers- , directory- , filepath- , mtl- , text- , transformers-- -- External dependencies- build-depends:- , deepseq >=1.4 && <1.6- , Diff >=1.0 && <1.1- , edit-distance >=0.2.2.1 && <0.3- , primitive >=0.9 && <0.10- , tasty >=1.5 && <1.6- , tasty-hunit >=0.10.2 && <0.11- , utf8-string >=1.0.2 && <1.1--test-suite test-hs-bindgen- import: lang- type: exitcode-stdio-1.0- main-is: test-hs-bindgen.hs- hs-source-dirs: test/hs-bindgen-- -- -threaded is needed for parallel fixture compilation via direct GHC- -- invocations.- -- Suppress warning about hs-bindgen being unused in test code- -- (it's only used when compiling generated TH modules)- ghc-options: -threaded -Wno-unused-packages- other-modules:- Test.HsBindgen.Clang- Test.HsBindgen.Fixtures.Haddock- Test.HsBindgen.Fixtures.TestCases- Test.HsBindgen.Fixtures.Utils- Test.HsBindgen.Frontend.LanguageC- Test.HsBindgen.Frontend.Pass.PrepareReparse- Test.HsBindgen.Golden- Test.HsBindgen.Golden.Arrays- Test.HsBindgen.Golden.Attributes- Test.HsBindgen.Golden.BindingSpecs- Test.HsBindgen.Golden.Comprehensive- Test.HsBindgen.Golden.Declarations- Test.HsBindgen.Golden.Documentation- Test.HsBindgen.Golden.EdgeCases- Test.HsBindgen.Golden.Functions- Test.HsBindgen.Golden.Globals- Test.HsBindgen.Golden.Infra.Check.BindingSpec- Test.HsBindgen.Golden.Infra.Check.FailureBindgen- Test.HsBindgen.Golden.Infra.Check.FailureLibclang- Test.HsBindgen.Golden.Infra.Check.PP- Test.HsBindgen.Golden.Infra.Check.TH- Test.HsBindgen.Golden.Infra.TestCase- Test.HsBindgen.Golden.Infra.TestCaseTree- Test.HsBindgen.Golden.Macros- Test.HsBindgen.Golden.Macros.Lang- Test.HsBindgen.Golden.Macros.Redeclaration- Test.HsBindgen.Golden.Macros.Reparse- Test.HsBindgen.Golden.ProgramAnalysis- Test.HsBindgen.Golden.Types- Test.HsBindgen.Integration.ExitCode- Test.HsBindgen.Integration.OverwritePolicy- Test.HsBindgen.Macro.CExpr- Test.HsBindgen.Macro.Infra- Test.HsBindgen.Macro.Syntax- Test.HsBindgen.Macro.Syntax.Clang- Test.HsBindgen.Macro.UniqueExpansion- Test.HsBindgen.PPFixtures- Test.HsBindgen.PPFixtures.Compile- Test.HsBindgen.PPFixtures.TestCases- Test.HsBindgen.Prop.Selection- Test.HsBindgen.Resources- Test.HsBindgen.THFixtures- Test.HsBindgen.THFixtures.Compile- Test.HsBindgen.THFixtures.Generate- Test.HsBindgen.THFixtures.TestCases- Test.HsBindgen.Unit.ClangArgs- Test.HsBindgen.Unit.Digraph- Test.HsBindgen.Unit.Frontend- Test.HsBindgen.Unit.Pretty- Test.HsBindgen.Unit.RootDirective- Test.HsBindgen.Unit.Runtime- Test.HsBindgen.Unit.Tracer-- -- Internal dependencies- build-depends:- , hs-bindgen- , hs-bindgen-runtime- , hs-bindgen:internal- , test-common-- -- Inherited dependencies- build-depends:- , c-expr-dsl- , containers- , data-default- , debruijn- , directory- , filepath- , libclang-bindings- , mtl- , optics-core- , parsec- , process- , tasty- , tasty-hunit- , template-haskell- , temporary- , text- , utf8-string-- -- External dependencies- build-depends:- , async >=2.2 && <2.3- , syb >=0.7.2.4 && <0.8- , tasty-quickcheck >=0.11 && <0.12-- -- Build tools needed for integration tests- build-tool-depends: hs-bindgen:hs-bindgen-cli---- Test TH mode------ We're intentionally /not/ importing the common @lang@ section here: this--- forces us to explicitly declare whatever language extensions are needed--- when using hs-bindgen's TH mode.-test-suite test-th- type: exitcode-stdio-1.0- main-is: test-th.hs- hs-source-dirs: test/th- include-dirs: test-artefacts/headers- default-language: GHC2021- ghc-options:- -Wall -Widentities -Wprepositive-qualified-module- -Wredundant-constraints -Wunused-packages- -Wno-unticked-promoted-constructors-- other-modules:- Test.TH.RecordDot- Test.TH.StaticCounterA- Test.TH.StaticCounterB- Test.TH.Test01- Test.TH.Test02-- -- Internal dependencies- build-depends:- , hs-bindgen- , hs-bindgen-runtime- , test-common-- -- Inherited dependencies- build-depends:- , base- , filepath- , optics- , tasty- , tasty-hunit-- -- External dependencies- build-depends: vector ^>=0.13.2.0--test-suite test-literate- type: exitcode-stdio-1.0- main-is: test-literate.hs- hs-source-dirs: test/literate- include-dirs: test-artefacts/headers- default-language: GHC2021- build-depends: base >=4.17 && <4.23- ghc-options:- -Wall -Widentities -Wredundant-constraints -Wunused-packages- -Wno-unticked-promoted-constructors-- other-modules:- Test.Literate.Test01- Test.Literate.Test02- Test.Literate.TestPointer- Test.Literate.TestSafe- Test.Literate.TestSafeAndUnsafe- Test.Literate.TestUnsafe-- -- Here we use literate haskell "hook" to avoid setting up true preprocessors- -- (which would require either build-type: Custom or Hooks - both not a great options, at least yet).- --- -- The source files contains the actual options and arguments to be used with hs-bindgen- ghc-options: -pgmL hs-bindgen-cli -optL tool-support -optL literate- build-tool-depends: hs-bindgen:hs-bindgen-cli-- -- Internal dependencies- build-depends:- , c-expr-runtime- , hs-bindgen-runtime+cabal-version: 3.0 +name: hs-bindgen +version: 1.0.0.0 +x-revision: 1 +license: BSD-3-Clause +license-file: LICENSE +author: Well-Typed LLP +maintainer: info@well-typed.com +category: Development +build-type: Simple +synopsis: Generate Haskell bindings from C headers +description: Automatically generate Haskell bindings from C headers +tested-with: + GHC ==9.4.8 + || ==9.6.7 + || ==9.8.4 + || ==9.10.3 + || ==9.12.2 + || ==9.14.1 + +extra-source-files: + bootstrap/*.h + musl-include/**/*.h + musl-include/COPYRIGHT + musl-include/VERSION + test-artefacts/fixtures/**/*.hs + test-artefacts/fixtures/**/*.txt + test-artefacts/fixtures/**/*.yaml + test-artefacts/headers/**/*.h + test-artefacts/headers/**/*.yaml + +extra-doc-files: + CHANGELOG.md + known-issues.md + README.md + +source-repository head + type: git + location: https://github.com/well-typed/hs-bindgen + subdir: hs-bindgen + +source-repository this + type: git + location: https://github.com/well-typed/hs-bindgen + subdir: hs-bindgen + tag: release-1.0.0.0 + +flag dev + description: Build debugging utilities for developing hs-bindgen itself + default: False + manual: True + +common lang + ghc-options: + -Wall -Widentities -Wprepositive-qualified-module + -Wredundant-constraints -Wunused-packages + -Wno-unticked-promoted-constructors + + build-depends: base >=4.17 && <4.23 + default-language: GHC2021 + default-extensions: + DataKinds + DefaultSignatures + DeriveAnyClass + DerivingStrategies + DerivingVia + DisambiguateRecordFields + DuplicateRecordFields + FunctionalDependencies + LambdaCase + MultiWayIf + NoFieldSelectors + NoNamedFieldPuns + OverloadedLabels + OverloadedRecordDot + OverloadedStrings + PatternSynonyms + QuantifiedConstraints + TypeApplications + TypeFamilies + UndecidableInstances + ViewPatterns + + if impl(ghc >=9.8) + default-extensions: TypeAbstractions + +library internal + import: lang + hs-source-dirs: src-internal + ghc-options: -Wmissing-export-lists + + -- Modules containing public API. + exposed-modules: HsBindgen.Config + + -- Internal modules + -- + -- Rules: + -- + -- * HsBindgen.IR.* modules must not (transitively) import from Frontend or + -- Backend + exposed-modules: + Data.Digraph + HsBindgen + HsBindgen.Artefact + HsBindgen.ArtefactM + HsBindgen.Backend + HsBindgen.Backend.Category + HsBindgen.Backend.Category.ApplyChoice + HsBindgen.Backend.Extensions + HsBindgen.Backend.Global + HsBindgen.Backend.Hs.AST + HsBindgen.Backend.Hs.AST.CompletePragma + HsBindgen.Backend.Hs.AST.Strategy + HsBindgen.Backend.Hs.CallConv + HsBindgen.Backend.Hs.Haddock.Documentation + HsBindgen.Backend.Hs.Haddock.Translation + HsBindgen.Backend.Hs.Name + HsBindgen.Backend.Hs.Origin + HsBindgen.Backend.Hs.Translation + HsBindgen.Backend.Hs.Translation.Field + HsBindgen.Backend.Hs.Translation.ForeignImport + HsBindgen.Backend.Hs.Translation.Function + HsBindgen.Backend.Hs.Translation.Instances + HsBindgen.Backend.Hs.Translation.Monad + HsBindgen.Backend.Hs.Translation.Newtype + HsBindgen.Backend.Hs.Translation.Structure + HsBindgen.Backend.Hs.Translation.ToFromFunPtr + HsBindgen.Backend.Hs.Translation.Union + HsBindgen.Backend.HsModule.Names + HsBindgen.Backend.HsModule.Pretty + HsBindgen.Backend.HsModule.Pretty.CAPI + HsBindgen.Backend.HsModule.Pretty.Comment + HsBindgen.Backend.HsModule.Pretty.Common + HsBindgen.Backend.HsModule.Pretty.Decl + HsBindgen.Backend.HsModule.Pretty.Expr + HsBindgen.Backend.HsModule.Pretty.Type + HsBindgen.Backend.HsModule.Render + HsBindgen.Backend.HsModule.Translation + HsBindgen.Backend.HsModule.Translation.Doxygen + HsBindgen.Backend.Level + HsBindgen.Backend.Runtime + HsBindgen.Backend.SHs.AST + HsBindgen.Backend.SHs.AST.Expr + HsBindgen.Backend.SHs.AST.Type + HsBindgen.Backend.SHs.Simplify + HsBindgen.Backend.SHs.Translation + HsBindgen.Backend.SHs.Translation.Common + HsBindgen.Backend.SHs.Translation.MapFunction + HsBindgen.Backend.TH.Translation + HsBindgen.Backend.UniqueSymbol + HsBindgen.BindingSpec + HsBindgen.BindingSpec.Gen + HsBindgen.BindingSpec.Private.Common + HsBindgen.BindingSpec.Private.Stdlib + HsBindgen.BindingSpec.Private.V1 + HsBindgen.BindingSpec.Private.Version + HsBindgen.Boot + HsBindgen.Cache + HsBindgen.Clang + HsBindgen.Clang.CompareVersions + HsBindgen.Clang.Discover + HsBindgen.Clang.ExtraClangArgs + HsBindgen.Clang.Macos + HsBindgen.Clang.Tokens + HsBindgen.Config.ClangArgs + HsBindgen.Config.Internal + HsBindgen.Config.MangleCandidate + HsBindgen.Config.MangleCandidate.ReservedNames + HsBindgen.Config.Prelims + HsBindgen.Doxygen + HsBindgen.Eff + HsBindgen.Errors + HsBindgen.Frontend + HsBindgen.Frontend.Analysis + HsBindgen.Frontend.Analysis.DeclIndex + HsBindgen.Frontend.Analysis.DeclIndex.ResolveMacro + HsBindgen.Frontend.Analysis.DeclUseGraph + HsBindgen.Frontend.Analysis.DeclUseGraph.Construction + HsBindgen.Frontend.Analysis.DeclUseGraph.Definition + HsBindgen.Frontend.Analysis.DeclUseGraph.Query + HsBindgen.Frontend.Analysis.Deps + HsBindgen.Frontend.Analysis.IncludeGraph + HsBindgen.Frontend.Analysis.Typedefs + HsBindgen.Frontend.Analysis.UnnamedIdUsage + HsBindgen.Frontend.Analysis.UseDeclGraph + HsBindgen.Frontend.DeclMeta + HsBindgen.Frontend.LanguageC + HsBindgen.Frontend.LanguageC.Error + HsBindgen.Frontend.LanguageC.Monad + HsBindgen.Frontend.LanguageC.PartialAST + HsBindgen.Frontend.LanguageC.PartialAST.FromLanC + HsBindgen.Frontend.LanguageC.PartialAST.ToBindgen + HsBindgen.Frontend.Pass.AdjustTypes + HsBindgen.Frontend.Pass.AdjustTypes.IsPass + HsBindgen.Frontend.Pass.ConstructTranslationUnit + HsBindgen.Frontend.Pass.ConstructTranslationUnit.IsPass + HsBindgen.Frontend.Pass.EnrichComments + HsBindgen.Frontend.Pass.EnrichComments.IsPass + HsBindgen.Frontend.Pass.FillUnnamedIds + HsBindgen.Frontend.Pass.FillUnnamedIds.ChooseNames + HsBindgen.Frontend.Pass.FillUnnamedIds.IsPass + HsBindgen.Frontend.Pass.Final + HsBindgen.Frontend.Pass.MangleNames + HsBindgen.Frontend.Pass.MangleNames.CreateNames + HsBindgen.Frontend.Pass.MangleNames.DetectClashes + HsBindgen.Frontend.Pass.MangleNames.Error + HsBindgen.Frontend.Pass.MangleNames.IsPass + HsBindgen.Frontend.Pass.MangleNames.Names + HsBindgen.Frontend.Pass.MangleNames.ResolveNames + HsBindgen.Frontend.Pass.Parse + HsBindgen.Frontend.Pass.Parse.Builtin + HsBindgen.Frontend.Pass.Parse.Context + HsBindgen.Frontend.Pass.Parse.Decl + HsBindgen.Frontend.Pass.Parse.Decl.Field + HsBindgen.Frontend.Pass.Parse.Decl.ImplicitFields + HsBindgen.Frontend.Pass.Parse.Decl.Macro + HsBindgen.Frontend.Pass.Parse.Decl.Members + HsBindgen.Frontend.Pass.Parse.IsPass + HsBindgen.Frontend.Pass.Parse.Monad.Decl + HsBindgen.Frontend.Pass.Parse.Monad.SourceRangeMap + HsBindgen.Frontend.Pass.Parse.Monad.Type + HsBindgen.Frontend.Pass.Parse.Msg + HsBindgen.Frontend.Pass.Parse.Result + HsBindgen.Frontend.Pass.Parse.Type + HsBindgen.Frontend.Pass.PrepareReparse + HsBindgen.Frontend.Pass.PrepareReparse.AST + HsBindgen.Frontend.Pass.PrepareReparse.Flatten + HsBindgen.Frontend.Pass.PrepareReparse.IsPass + HsBindgen.Frontend.Pass.PrepareReparse.IsPass.Msg + HsBindgen.Frontend.Pass.PrepareReparse.Lexer + HsBindgen.Frontend.Pass.PrepareReparse.Parser + HsBindgen.Frontend.Pass.PrepareReparse.Preprocessor + HsBindgen.Frontend.Pass.PrepareReparse.Printer + HsBindgen.Frontend.Pass.PrepareReparse.Printer.Util + HsBindgen.Frontend.Pass.PrepareReparse.Simplifier + HsBindgen.Frontend.Pass.PrepareReparse.Tracer + HsBindgen.Frontend.Pass.PrepareReparse.Update + HsBindgen.Frontend.Pass.ReparseMacroExpansions + HsBindgen.Frontend.Pass.ReparseMacroExpansions.ForgetAnn + HsBindgen.Frontend.Pass.ReparseMacroExpansions.IsPass + HsBindgen.Frontend.Pass.ReparseMacroExpansions.IsPass.Msg + HsBindgen.Frontend.Pass.ReparseMacroExpansions.LanC + HsBindgen.Frontend.Pass.ReparseMacroExpansions.Zip + HsBindgen.Frontend.Pass.ReparseMacroExpansions.Zip.Error + HsBindgen.Frontend.Pass.ResolveBindingSpecs + HsBindgen.Frontend.Pass.ResolveBindingSpecs.IsPass + HsBindgen.Frontend.Pass.Select + HsBindgen.Frontend.Pass.Select.IsPass + HsBindgen.Frontend.Pass.SimplifyAST + HsBindgen.Frontend.Pass.SimplifyAST.IsPass + HsBindgen.Frontend.Pass.TranslateTypes + HsBindgen.Frontend.Pass.TranslateTypes.IsPass + HsBindgen.Frontend.Pass.TranslateTypes.IsPass.Msg + HsBindgen.Frontend.Pass.TranslateTypes.Translation + HsBindgen.Frontend.Pass.TypecheckMacros + HsBindgen.Frontend.Pass.TypecheckMacros.IsPass + HsBindgen.Frontend.Pass.TypecheckMacros.KnownTypes + HsBindgen.Frontend.Pass.TypecheckMacros.Typecheck + HsBindgen.Frontend.Predicate + HsBindgen.Frontend.PrettyC + HsBindgen.Frontend.ProcessIncludes + HsBindgen.Frontend.RootHeader + HsBindgen.Frontend.TranslationUnit + HsBindgen.Guasi + HsBindgen.Imports + HsBindgen.Instances + HsBindgen.IR.C + HsBindgen.IR.C.Conflict + HsBindgen.IR.C.Decl + HsBindgen.IR.C.DeclPath + HsBindgen.IR.C.HashDefine + HsBindgen.IR.C.HashIncludeArg + HsBindgen.IR.C.LocationInfo + HsBindgen.IR.C.Naming + HsBindgen.IR.C.PrettyPrinter + HsBindgen.IR.C.RootDirective + HsBindgen.IR.C.Type + HsBindgen.IR.Hs + HsBindgen.IR.Hs.Type + HsBindgen.IR.Pass + HsBindgen.IR.Pass.Ann + HsBindgen.IR.Pass.CommentDecl + HsBindgen.IR.Pass.Definition + HsBindgen.IR.Pass.ExtBinding + HsBindgen.IR.Pass.Id + HsBindgen.IR.Pass.Macro + HsBindgen.IR.Pass.Msg + HsBindgen.IR.Pass.ScopedName + HsBindgen.IR.Pass.Types + HsBindgen.IR.Translation + HsBindgen.Language.C + HsBindgen.Language.Haskell + HsBindgen.Macro.Empty + HsBindgen.Macro.Error + HsBindgen.Macro.Flip + HsBindgen.Macro.Interface + HsBindgen.Macro.Parse + HsBindgen.Macro.Raw + HsBindgen.Macro.Raw.Lang + HsBindgen.Macro.Raw.Parse + HsBindgen.Macro.Syntax + HsBindgen.Macro.Type + HsBindgen.Macro.UniqueExpansion + HsBindgen.Macro.UniqueExpansion.Parse + HsBindgen.Macro.UniqueExpansion.Types + HsBindgen.NameHint + HsBindgen.Orphans + HsBindgen.Resolve + HsBindgen.Test + HsBindgen.Test.C + HsBindgen.Test.Hs + HsBindgen.Test.Internal + HsBindgen.Test.Readme + HsBindgen.TH.Internal + HsBindgen.TraceMsg + HsBindgen.Util.Monad + HsBindgen.Util.Process + HsBindgen.Util.Rational + HsBindgen.Util.Tracer + Text.SimplePrettyPrint + + other-modules: Paths_hs_bindgen + autogen-modules: Paths_hs_bindgen + other-extensions: TemplateHaskellQuotes + + -- Internal dependencies + build-depends: hs-bindgen-runtime >=1.0.0.0 && <1.1 + + -- External dependencies + build-depends: + , aeson >=2.2.1.0 && <2.3 + , ansi-terminal >=1.0.0 && <1.2 + , array >=0.5.4.0 && <0.6 + , base-compat >=0.13.1 && <0.16 + , base16-bytestring >=1.0.2.0 && <1.1 + , bytestring >=0.11.4.0 && <0.13 + , containers >=0.6.5.1 && <0.9 + , contra-tracer >=0.2 && <0.3 + , cryptohash-sha256 >=0.11.102.1 && <0.12 + , data-default >=0.7 && <0.9 + , debruijn ^>=0.3.1 + , directory >=1.3.6.2 && <1.4 + , doxygen-parser >=0.1 && <0.2 + , exceptions >=0.10 && <0.11 + , filepath >=1.4 && <1.6 + , fin >=0.3.2 && <0.4 + , language-c >=0.9 && <0.11 + , libclang-bindings >=0.2 && <0.3 + , mtl >=2.2 && <2.4 + , optics-core >=0.4 && <0.5 + , parsec >=3.1 && <3.2 + , pretty >=1.1.3.6 && <1.2 + , process >=1.6 && <1.7 + , regex-pcre-builtin >=0.95 && <0.96 + , some >=1.0.6 && <1.1 + , template-haskell >=2.19 && <2.25 + , temporary >=1.3 && <1.4 + , text >=1.2 && <2.2 + , transformers >=0.5 && <0.7 + , unliftio-core >=0.2.1 && <0.3 + , vec >=0.5 && <0.6 + , yaml >=0.11.11.1 && <0.12 + +library + import: lang + hs-source-dirs: src + exposed-modules: + HsBindgen.Macro + HsBindgen.TH + + other-modules: + HsBindgen.Internal.Macro.CExpr + HsBindgen.Internal.Macro.CExpr.Global + HsBindgen.Internal.Macro.CExpr.Parse + HsBindgen.Internal.Macro.CExpr.Resolution + HsBindgen.Internal.Macro.CExpr.Translation.Type + HsBindgen.Internal.Macro.CExpr.Translation.Value + HsBindgen.Internal.Macro.CExpr.Type + HsBindgen.Internal.Macro.CExpr.Typecheck + + reexported-modules: + other-extensions: TemplateHaskellQuotes + + -- Internal dependencies + build-depends: + , hs-bindgen-runtime + , hs-bindgen:internal + + -- External dependencies + build-depends: + , c-expr-dsl >=0.2 && <0.3 + , c-expr-runtime >=0.1 && <0.3 + + -- Inherited dependencies + build-depends: + , containers + , data-default + , debruijn + , fin + , libclang-bindings + , template-haskell + , text + , vec + +executable hs-bindgen-cli + import: lang + default-extensions: NoFieldSelectors + main-is: hs-bindgen-cli.hs + hs-source-dirs: app + other-modules: + HsBindgen.App + HsBindgen.App.Output + HsBindgen.Cli + HsBindgen.Cli.BindingSpec + HsBindgen.Cli.BindingSpec.StdLib + HsBindgen.Cli.GenTests + HsBindgen.Cli.Info + HsBindgen.Cli.Info.BuiltinMacros + HsBindgen.Cli.Info.Doxygen + HsBindgen.Cli.Info.IncludeGraph + HsBindgen.Cli.Info.Instances + HsBindgen.Cli.Info.Libclang + HsBindgen.Cli.Info.ResolveHeader + HsBindgen.Cli.Info.UseDeclGraph + HsBindgen.Cli.Internal + HsBindgen.Cli.Internal.Frontend + HsBindgen.Cli.Preprocess + HsBindgen.Cli.ToolSupport + HsBindgen.Cli.ToolSupport.Literate + Paths_hs_bindgen + + autogen-modules: Paths_hs_bindgen + + -- Internal dependencies + build-depends: + , hs-bindgen + , hs-bindgen:internal + + -- Inherited dependencies + build-depends: + , containers + , data-default + , libclang-bindings + + -- External dependencies + build-depends: + , bytestring >=0.11.4.0 && <0.13 + , optparse-applicative >=0.18 && <0.20 + , prettyprinter >=1.7.1 && <1.8 + , text >=1.2 && <2.2 + +executable clang-ast-dump + import: lang + main-is: Main.hs + hs-source-dirs: clang-ast-dump + + if flag(dev) + buildable: True + + else + buildable: False + + -- Internal dependencies + build-depends: hs-bindgen:internal + + -- Inherited dependencies + build-depends: + , containers + , data-default + , libclang-bindings + , text + + -- External dependencies + build-depends: optparse-applicative >=0.18 && <0.20 + +library test-common + import: lang + hs-source-dirs: test/common + exposed-modules: + Test.Common.HsBindgen.Trace + Test.Common.HsBindgen.Trace.Patterns + Test.Common.HsBindgen.Trace.Predicate + Test.Common.Util.AnsiDiff + Test.Common.Util.Cabal + Test.Common.Util.Tasty + Test.Common.Util.Tasty.Golden + + -- Internal dependencies + build-depends: hs-bindgen:internal + + -- Inherited dependencies + build-depends: + , ansi-terminal + , bytestring + , containers + , directory + , filepath + , mtl + , text + , transformers + + -- External dependencies + build-depends: + , deepseq >=1.4 && <1.6 + , Diff >=1.0 && <1.1 + , edit-distance >=0.2.2.1 && <0.3 + , primitive >=0.9 && <0.10 + , tasty >=1.5 && <1.6 + , tasty-hunit >=0.10.2 && <0.11 + , utf8-string >=1.0.2 && <1.1 + +test-suite test-hs-bindgen + import: lang + type: exitcode-stdio-1.0 + main-is: test-hs-bindgen.hs + hs-source-dirs: test/hs-bindgen + + -- -threaded is needed for parallel fixture compilation via direct GHC + -- invocations. + -- Suppress warning about hs-bindgen being unused in test code + -- (it's only used when compiling generated TH modules) + ghc-options: -threaded -Wno-unused-packages + other-modules: + Test.HsBindgen.Clang + Test.HsBindgen.Fixtures.Haddock + Test.HsBindgen.Fixtures.TestCases + Test.HsBindgen.Fixtures.Utils + Test.HsBindgen.Frontend.LanguageC + Test.HsBindgen.Frontend.Pass.PrepareReparse + Test.HsBindgen.Golden + Test.HsBindgen.Golden.Arrays + Test.HsBindgen.Golden.Attributes + Test.HsBindgen.Golden.BindingSpecs + Test.HsBindgen.Golden.Comprehensive + Test.HsBindgen.Golden.Declarations + Test.HsBindgen.Golden.Documentation + Test.HsBindgen.Golden.EdgeCases + Test.HsBindgen.Golden.Functions + Test.HsBindgen.Golden.Globals + Test.HsBindgen.Golden.Infra.Check.BindingSpec + Test.HsBindgen.Golden.Infra.Check.FailureBindgen + Test.HsBindgen.Golden.Infra.Check.FailureLibclang + Test.HsBindgen.Golden.Infra.Check.PP + Test.HsBindgen.Golden.Infra.Check.TH + Test.HsBindgen.Golden.Infra.TestCase + Test.HsBindgen.Golden.Infra.TestCaseTree + Test.HsBindgen.Golden.Macros + Test.HsBindgen.Golden.Macros.Lang + Test.HsBindgen.Golden.Macros.Redeclaration + Test.HsBindgen.Golden.Macros.Reparse + Test.HsBindgen.Golden.ProgramAnalysis + Test.HsBindgen.Golden.Types + Test.HsBindgen.Integration.ExitCode + Test.HsBindgen.Integration.OverwritePolicy + Test.HsBindgen.Macro.CExpr + Test.HsBindgen.Macro.Infra + Test.HsBindgen.Macro.Syntax + Test.HsBindgen.Macro.Syntax.Clang + Test.HsBindgen.Macro.UniqueExpansion + Test.HsBindgen.PPFixtures + Test.HsBindgen.PPFixtures.Compile + Test.HsBindgen.PPFixtures.TestCases + Test.HsBindgen.Prop.Selection + Test.HsBindgen.Resources + Test.HsBindgen.THFixtures + Test.HsBindgen.THFixtures.Compile + Test.HsBindgen.THFixtures.Generate + Test.HsBindgen.THFixtures.TestCases + Test.HsBindgen.Unit.ClangArgs + Test.HsBindgen.Unit.Digraph + Test.HsBindgen.Unit.Frontend + Test.HsBindgen.Unit.Pretty + Test.HsBindgen.Unit.RootDirective + Test.HsBindgen.Unit.Runtime + Test.HsBindgen.Unit.Tracer + + -- Internal dependencies + build-depends: + , hs-bindgen + , hs-bindgen-runtime + , hs-bindgen:internal + , test-common + + -- Inherited dependencies + build-depends: + , c-expr-dsl + , containers + , data-default + , debruijn + , directory + , filepath + , libclang-bindings + , mtl + , optics-core + , parsec + , process + , tasty + , tasty-hunit + , template-haskell + , temporary + , text + , utf8-string + + -- External dependencies + build-depends: + , async >=2.2 && <2.3 + , syb >=0.7.2.4 && <0.8 + , tasty-quickcheck >=0.11 && <0.12 + + -- Build tools needed for integration tests + build-tool-depends: hs-bindgen:hs-bindgen-cli + +-- Test TH mode +-- +-- We're intentionally /not/ importing the common @lang@ section here: this +-- forces us to explicitly declare whatever language extensions are needed +-- when using hs-bindgen's TH mode. +test-suite test-th + type: exitcode-stdio-1.0 + main-is: test-th.hs + hs-source-dirs: test/th + include-dirs: test-artefacts/headers + default-language: GHC2021 + ghc-options: + -Wall -Widentities -Wprepositive-qualified-module + -Wredundant-constraints -Wunused-packages + -Wno-unticked-promoted-constructors + + other-modules: + Test.TH.RecordDot + Test.TH.StaticCounterA + Test.TH.StaticCounterB + Test.TH.Test01 + Test.TH.Test02 + + -- Internal dependencies + build-depends: + , hs-bindgen + , hs-bindgen-runtime + , test-common + + -- Inherited dependencies + build-depends: + , base + , filepath + , optics + , tasty + , tasty-hunit + + -- External dependencies + build-depends: vector ^>=0.13.2.0 + +test-suite test-literate + type: exitcode-stdio-1.0 + main-is: test-literate.hs + hs-source-dirs: test/literate + include-dirs: test-artefacts/headers + default-language: GHC2021 + build-depends: base >=4.17 && <4.23 + ghc-options: + -Wall -Widentities -Wredundant-constraints -Wunused-packages + -Wno-unticked-promoted-constructors + + other-modules: + Test.Literate.Test01 + Test.Literate.Test02 + Test.Literate.TestPointer + Test.Literate.TestSafe + Test.Literate.TestSafeAndUnsafe + Test.Literate.TestUnsafe + + -- Here we use literate haskell "hook" to avoid setting up true preprocessors + -- (which would require either build-type: Custom or Hooks - both not a great options, at least yet). + -- + -- The source files contains the actual options and arguments to be used with hs-bindgen + ghc-options: -pgmL hs-bindgen-cli -optL tool-support -optL literate + build-tool-depends: hs-bindgen:hs-bindgen-cli + + -- Internal dependencies + build-depends: + , c-expr-runtime + , hs-bindgen-runtime