{-# LANGUAGE CPP #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Data.Array.Accelerate.LLVM.Native.Compile.Cache (
module Data.Array.Accelerate.LLVM.Compile.Cache
) where
import Data.Array.Accelerate.LLVM.Compile.Cache
import Data.Array.Accelerate.LLVM.Native.Target
import Data.Version
import System.FilePath
import qualified Data.ByteString.Char8 as B8
import qualified Data.ByteString.Short.Char8 as S8
import Paths_accelerate_llvm_native
instance Persistent Native where
targetCacheTemplate :: LLVM Native FilePath
targetCacheTemplate =
FilePath -> LLVM Native FilePath
forall (m :: * -> *) a. Monad m => a -> m a
return (FilePath -> LLVM Native FilePath)
-> FilePath -> LLVM Native FilePath
forall a b. (a -> b) -> a -> b
$ FilePath
"accelerate-llvm-native-" FilePath -> FilePath -> FilePath
forall a. [a] -> [a] -> [a]
++ Version -> FilePath
showVersion Version
version
FilePath -> FilePath -> FilePath
</> FilePath
"llvm-hs-" FilePath -> FilePath -> FilePath
forall a. [a] -> [a] -> [a]
++ VERSION_llvm_hs
FilePath -> FilePath -> FilePath
</> ShortByteString -> FilePath
S8.unpack ShortByteString
nativeTargetTriple
FilePath -> FilePath -> FilePath
</> ByteString -> FilePath
B8.unpack ByteString
nativeCPUName
FilePath -> FilePath -> FilePath
</> FilePath
"meep.o"