haskell_library()
This is liable to change in the future.
Ahaskell_library()
rule is used to identity a group of Haskell sources.Arguments
name
(required) #The short name for this build target.
srcs
(defaults to[]
) #A list of Haskell sources to be built by this rule.
compiler_flags
(defaults to[]
) #Flags to pass to the Haskell compiler when compiling this rule's sources.
deps
(defaults to[]
) #Either
haskell_library
orprebuilt_haskell_library
rules from which this rules sources import modules or native linkable rules exporting symbols this rules sources call into.platform_deps
(defaults to[]
) #Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as
deps
) that are exported if the platform matches the regex. Seedeps
for more information.link_whole
(defaults toFalse
) #On some platforms, the linker may choose to drop objects from libraries if it determines they may be unused. This parameter causes the linker to always include the entire library in top-level executables or shared libraries.
preferred_linkage
(defaults toany
) #Controls how a library should be linked.
any
- The library will be linked based on its dependents
link_style
. shared
- The library will be always be linked as a shared library.
static
- The library will be linked as a static library.
visibility
(defaults to[]
) #List of build target patterns that identify the build rules that can include this rule as a dependency, for example, by listing it in their
deps
orexported_deps
attributes. For more information, see visibility.licenses
(defaults to[]
) #Set of license files for this library. To get the list of license files for a given build rule and all of its dependencies, you can use
buck query
.labels
(defaults to[]
) #Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using
buck query attrfilter()
.
Examples
haskell_library( name = 'fileutil', srcs = [ 'FileUtil.hs', ], )