From 7be1c699f018d96540d76e67ad7254bafe4caab1 Mon Sep 17 00:00:00 2001 From: tzlil Date: Thu, 16 Nov 2023 19:29:37 +0200 Subject: inital commit --- blinker.cabal | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 blinker.cabal (limited to 'blinker.cabal') diff --git a/blinker.cabal b/blinker.cabal new file mode 100644 index 0000000..3a2d389 --- /dev/null +++ b/blinker.cabal @@ -0,0 +1,84 @@ +cabal-version: 2.4 +name: Blinker +version: 0.1 +license: BSD-2-Clause +author: John Smith +maintainer: John Smith + +common common-options + default-extensions: + BangPatterns + BinaryLiterals + ConstraintKinds + DataKinds + DefaultSignatures + DeriveAnyClass + DeriveDataTypeable + DeriveFoldable + DeriveFunctor + DeriveGeneric + DeriveLift + DeriveTraversable + DerivingStrategies + InstanceSigs + KindSignatures + LambdaCase + NoStarIsType + PolyKinds + RankNTypes + ScopedTypeVariables + StandaloneDeriving + TupleSections + TypeApplications + TypeFamilies + TypeOperators + ViewPatterns + + -- TemplateHaskell is used to support convenience functions such as + -- 'listToVecTH' and 'bLit'. + TemplateHaskell + QuasiQuotes + + -- Prelude isn't imported by default as Clash offers Clash.Prelude + NoImplicitPrelude + ghc-options: + -Wall -Wcompat + -haddock + + -- Plugins to support type-level constraint solving on naturals + -fplugin GHC.TypeLits.Extra.Solver + -fplugin GHC.TypeLits.Normalise + -fplugin GHC.TypeLits.KnownNat.Solver + + -- Clash needs access to the source code in compiled modules + -fexpose-all-unfoldings + + -- Worker wrappers introduce unstable names for functions that might have + -- blackboxes attached for them. You can disable this, but be sure to add + -- a no-specialize pragma to every function with a blackbox. + -fno-worker-wrapper + + -- Strict annotations - while sometimes preventing space leaks - trigger + -- optimizations Clash can't deal with. See: + -- + -- https://github.com/clash-lang/clash-compiler/issues/2361 + -- + -- These flags disables these optimizations. Note that the fields will + -- remain strict. + -fno-unbox-small-strict-fields + -fno-unbox-strict-fields + build-depends: + base, + Cabal, + + -- clash-prelude will set suitable version bounds for the plugins + clash-prelude >= 1.8.1 && < 1.10, + ghc-typelits-natnormalise, + ghc-typelits-extra, + ghc-typelits-knownnat + +library + import: common-options + hs-source-dirs: src + exposed-modules: Blinker + default-language: Haskell2010 \ No newline at end of file -- cgit 1.4.1