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 name of the rule.
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_libraryorprebuilt_haskell_libraryrules from which this rules sources import modules or native linkable rules exporting symbols this rules sources call into.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
depsorexported_depsattributes. 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',
],
)