summary refs log tree commit diff
path: root/fpga.cabal
diff options
context:
space:
mode:
authortzlil <tzlils@protonmail.com>2024-02-23 16:28:14 +0200
committertzlil <tzlils@protonmail.com>2024-02-23 16:28:14 +0200
commit2d3e55c69d8ff08af0bc0363dd70879b8b6dc873 (patch)
treeb28fec165e5681a5b239e24c12d61872f79ccb77 /fpga.cabal
parentd06c0fa5a036ea068487b260e004dc5da8f92fb9 (diff)
rename stuff, add SSAM2603 ADC/DAC chip docs
Diffstat (limited to 'fpga.cabal')
-rw-r--r--fpga.cabal87
1 files changed, 87 insertions, 0 deletions
diff --git a/fpga.cabal b/fpga.cabal
new file mode 100644
index 0000000..14ac474
--- /dev/null
+++ b/fpga.cabal
@@ -0,0 +1,87 @@
+cabal-version:       2.4
+name:                Blinker
+version:             0.1
+license:             BSD-2-Clause
+author:              John Smith <john@example.com>
+maintainer:          John Smith <john@example.com>
+
+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,
+    mtl,
+    transformers,
+
+    -- clash-prelude will set suitable version bounds for the plugins
+    clash-prelude >= 1.8.1 && < 1.10,
+    clash-cores,
+    ghc-typelits-natnormalise,
+    ghc-typelits-extra,
+    ghc-typelits-knownnat
+
+library
+  import: common-options
+  hs-source-dirs: src
+  exposed-modules: Main
+  default-language: Haskell2010
\ No newline at end of file