| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Development.Shake.Language.C.Target.NaCl
Description
This module provides toolchain definitions and utilities for targeting Google Pepper and Portable Native Client (PNaCl). Arguably it should be renamed appropriately. See Development.Shake.Language.C.Rules for examples of how to use a target toolchain.
Synopsis
- pepper :: Int -> Version
- canary :: Version
- target :: Target
- data Config
- toolChain :: FilePath -> Version -> Config -> Target -> ToolChain
- finalize :: ToolChain -> FilePath -> FilePath -> Action ()
- translate :: ToolChain -> Arch -> FilePath -> FilePath -> Action ()
- data Executable = Executable {}
- data Program = Program {}
- mk_nmf :: Program -> FilePath -> Action ()
Documentation
Pepper target.
LLVM_IR (PNaCl) is the only supported target architecture at the moment.
Pepper build configuration.
This is used to select the respective library versions when linking.
Arguments
Pepper SDK directory (nacl_sdk)
Build configuration for linked libraries
Resulting toolchain
Construct Pepper toolchain.
Arguments
Bit code input executable
Finalised bit code output executable
Finalize a bit code executable.
translate :: ToolChain -> Arch -> FilePath -> FilePath -> Action () Source #
Translate bit code to native code.
data Executable Source #
Executable specification for Native Client Manifest (nmf) files.
Constructors
Fields
- executablePath :: FilePath
Relative path to executable.
- optimizationLevel :: Maybe Int
Optional optimization level.
Instances
Methods
showsPrec :: Int -> Executable -> ShowS #
show :: Executable -> String #
showList :: [Executable] -> ShowS #
Program specification for Native Client Manifest (nmf) files.
Constructors
Fields
- pnaclTranslate :: Executable
Release executable (pexe)
- pnaclDebug :: Maybe Executable
Executable used when debugging (bit code).