Buck: prebuilt_haskell_library()

prebuilt_haskell_library()

This is liable to change in the future.

A prebuilt_haskell_library() rule is used to identify Haskell prebuilt libraries and their associated interface files.

Arguments

  • name (required) #

    The name of the rule.

  • deps (defaults to []) #

    Other prebuilt_haskell_library() rules from which this library imports modules.

  • staticInterfaces (defaults to None) #

    Directory of interface files dependents will use when building for a statically linked top-level target.

  • sharedInterfaces (defaults to None) #

    Directory of interface files dependents will use when building for a dynamically linked top-level target.

  • static_libs (defaults to []) #

    The libraries to use when building a statically linked top-level target.

  • shared_libs (defaults to {}) #

    A map of shared library names to shared library paths to use when building a dynamically linked top-level target.

  • exported_compiler_flags (defaults to []) #

    Compiler flags used by dependent rules when compiling with this library.

  • exported_linker_flags (defaults to []) #

    Linker flags used by dependent rules when linking with this library.

  • cxxHeaderDirs (defaults to []) #

    Directories with C/C++ headers which can be included by dependent C/C++ rules.

  • visibility (defaults to []) #

    List of build target patterns that identify the build rules that can include this rule in its deps.

  • 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

prebuilt_haskell_library(
  name = 'file',
  static_interfaces = [
    'interfaces',
  ],
  shared_interfaces = [
    'interfaces_dyn',
  ],
  static_libs = [
    'libFileUtil.a',
  ],
  shared_libs = {
    'libFileUtil.so': 'libFileUtil.so',
  },
)