Buck: haskell_library()
Support Ukraine. Help Provide Humanitarian Aid to Ukraine.

haskell_library()

This is liable to change in the future.

A haskell_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 or prebuilt_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. See deps for more information.

  • preferred_linkage (defaults to any) #

    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.
    Note: since shared libraries re-export its dependencies, depending on multiple shared libraries which themselves have overlapping static dependencies will cause duplicate symbols.

  • 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 or exported_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',
  ],
)