-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Embed data into object files. -- -- Given a list of files and directories to include, binembed generates -- assembly source to include the data into an object file that can be -- linked to a library or executable, along with interface modules for -- higher level access from languages such as C, Haskell, ... -- -- See the package 'binembed-example' for a concrete example. @package binembed @version 0.1 -- | Support code to use binembed as a pre-processor in Cabal. For -- example, your Setup.hs might look like: -- --
--   import Distribution.Simple
--   import Distribution.Simple.BinEmbed
--   main = defaultMainWithHooks (withBinEmbed simpleUserHooks)
--   
-- -- See the 'binembed-example' package for a more detailed example. module Distribution.Simple.BinEmbed -- | Add hooks to use binembed as a pre-processor, with input -- files having the file name extension .binembed. These hooks -- also handle building the assembly output of binembed, as well -- as cleaning it up afterwards. withBinEmbed :: UserHooks -> UserHooks -- | Support code used by the output of binembed --output-hs=. -- -- For example, given MyData.binembed listing some files, you -- might get at the contents embedded into your executable using: -- --
--   import MyData   -- which re-exports this module
--   main = do
--     myData' <- unBinEmbed myData
--     ...
--   
-- -- See the 'binembed-example' package for a more detailed example. module Data.BinEmbed -- | A directory tree data Node a -- | A file has contents. File :: a -> Node a -- | A directory has named Nodes. Dir :: (Map String (Node a)) -> Node a -- | Unpack embedded data. unBinEmbed :: Node (IO ByteString) -> IO (Node ByteString) -- | Repack the contents between two pointers. Your code probably doesn't -- need to call this, but it's needed in generated code. unBinEmbedFile :: Ptr () -> Ptr () -> IO ByteString instance Show a => Show (Node a) instance Read a => Read (Node a) instance Eq a => Eq (Node a) instance Ord a => Ord (Node a) instance Traversable Node instance Foldable Node instance Functor Node