packages feed

clashilator 0.1.3 → 0.1.4

raw patch · 2 files changed

+23/−8 lines, 2 files

Files

clashilator.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           clashilator-version:        0.1.3+version:        0.1.4 synopsis:       Automated Clash to Verilator bridge description:    Code generator and @Setup.hs@ hooks to generate a Verilator simulation and access it from Clash category:       Hardware, Development
src/Clash/Clashilator/Setup.hs view
@@ -21,6 +21,9 @@ import Distribution.Verbosity import Distribution.ModuleName import Distribution.Types.UnqualComponentName+#if MIN_VERSION_Cabal(3,8,0)+import Distribution.Utils.Path+#endif  import Distribution.Types.Lens import Control.Lens hiding ((<.>))@@ -28,16 +31,29 @@ import Data.Maybe (fromMaybe) import System.FilePath import GHC (Ghc)-#if MIN_VERSION_ghc(9,0,0)+#if MIN_VERSION_ghc(9,4,0)+#elif MIN_VERSION_ghc(9,0,0)+#define RESET_LINKER import GHC (getSession, setSession)-import GHC.Driver.Types (HscEnv (..))+import GHC.Driver.Types (HscEnv(..)) import GHC.Runtime.Linker #elif MIN_VERSION_ghc(8,10,0)+#define RESET_LINKER import GHC (getSession, setSession)-import HscTypes (HscEnv (..))+import HscTypes (HscEnv(..)) import Linker #endif +#if !MIN_VERSION_Cabal(3,8,0)+type SymbolicPath from to = FilePath++getSymbolicPath :: SymbolicPath from to -> FilePath+getSymbolicPath = id++unsafeMakeSymbolicPath :: FilePath -> SymbolicPath from to+unsafeMakeSymbolicPath = id+#endif+ lookupX :: String -> BuildInfo -> Maybe String lookupX key buildInfo = lookup ("x-clashilator-" <> key) (view customFieldsBI buildInfo) @@ -105,7 +121,6 @@          compileFlags =             [ "-fPIC"-            , "-pgml c++"             ]          ldFlags =@@ -122,7 +137,7 @@       & extraLibs %~ ("stdc++":)       & options %~ fixupOptions (compileFlags++)       & ldOptions %~ (ldFlags++)-      & hsSourceDirs %~ (incDir:)+      & hsSourceDirs %~ (unsafeMakeSymbolicPath incDir:)       & otherModules %~ (fromString "Clash.Clashilator.FFI":)   where     verbosity = fromFlagOrDefault normal (buildVerbosity flags)@@ -130,7 +145,7 @@     clk = lookup "x-clashilator-clock" $ view customFieldsBI buildInfo      -- TODO: Maybe we could add extra source dirs from "x-clashilator-source-dirs"?-    srcDirs = view hsSourceDirs buildInfo+    srcDirs = getSymbolicPath <$> view hsSourceDirs buildInfo     outDir = case compName of         Nothing -> buildDir lbi         Just name -> buildDir lbi </> unUnqualComponentName name@@ -139,7 +154,7 @@  clashilate :: LocalBuildInfo -> BuildFlags -> Component -> IO BuildInfo clashilate lbi flags c = do-#if MIN_VERSION_ghc(8,10,0)+#ifdef RESET_LINKER     linker <- uninitializedLinker     let startAction = do             env <- getSession