cabal-version: 2.4 name: rvFormal version: 0.1 license: BSD-2-Clause author: John Smith maintainer: John Smith common common-options default-extensions: NumericUnderscores DeriveDataTypeable 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 FlexibleContexts MagicHash -- 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 build-depends: base, Cabal, -- clash-prelude will set suitable version bounds for the plugins clash-prelude >= 1.6.4 && < 1.10, ghc-typelits-natnormalise, ghc-typelits-extra, ghc-typelits-knownnat, binary, bytestring, mtl, pretty-show custom-setup setup-depends: base >= 4.11, Cabal >= 2.4, cabal-doctest >= 1.0.1 && <1.1 library import: common-options hs-source-dirs: hs exposed-modules: Simulation other-modules: Isa.Decode, Isa.Forms, Peripherals.Ram, Peripherals.UartCFFI, Peripherals.Setup, Peripherals.Teardown, Types, Machine, RegFiles, Fetch, Util c-sources: c/uart_sim_device.c include-dirs: c default-language: Haskell2010 -- Builds the executable 'clash', with rvFormal project in scope executable clash main-is: bin/Clash.hs default-language: Haskell2010 Build-Depends: base, clash-ghc, rvFormal if !os(Windows) ghc-options: -dynamic -- Builds the executable 'clashi', with rvFormal project in scope executable clashi main-is: bin/Clashi.hs default-language: Haskell2010 if !os(Windows) ghc-options: -dynamic build-depends: base, clash-ghc, rvFormal executable main import: common-options main-is: bin/Main.hs -- hs-source-dirs: hs default-language: Haskell2010 build-depends: base, clash-ghc, rvFormal c-sources: c/uart_sim_device.c include-dirs: c if !os(Windows) ghc-options: -dynamic