blob: e99b26a01dcc6df6fcd4a1a186b674fd520ba0d6 [file] [log] [blame]
/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
{namespace prebuilt_haskell_library}
/***/
{template .soyweb}
{call buck.page}
{param title: 'prebuilt_haskell_library()' /}
{param navid: 'rule_prebuilt_haskell_library' /}
{param prettify: true /}
{param description}
A prebuilt_haskell_library() rule represents prebuilt Haskell library
and interface files.
{/param}
{param content}
{call buck.rule}
{param status: 'UNFROZEN' /}
{param overview}
A <code>prebuilt_haskell_library()</code> rule is used to identify Haskell
prebuilt libraries and their associated interface files.
{/param}
{param args}
{call buck.name_arg /}
{call buck.arg}
{param name: 'deps' /}
{param default : '[]' /}
{param desc}
Other <code>prebuilt_haskell_library()</code> rules from which this library
imports modules.
{/param}
{/call}
{call buck.arg}
{param name: 'staticInterfaces' /}
{param default : 'None' /}
{param desc}
Directory of interface files dependents will use when building for a statically
linked top-level target.
{/param}
{/call}
{call buck.arg}
{param name: 'sharedInterfaces' /}
{param default : 'None' /}
{param desc}
Directory of interface files dependents will use when building for a dynamically
linked top-level target.
{/param}
{/call}
{call buck.arg}
{param name: 'static_libs' /}
{param default : '[]' /}
{param desc}
The libraries to use when building a statically linked top-level target.
{/param}
{/call}
{call buck.arg}
{param name: 'shared_libs' /}
{{param default : '{}' /}}
{param desc}
A map of shared library names to shared library paths to use when building a
dynamically linked top-level target.
{/param}
{/call}
{call buck.arg}
{param name: 'exported_compiler_flags' /}
{param default : '[]' /}
{param desc}
Compiler flags used by dependent rules when compiling with this library.
{/param}
{/call}
{call haskell_common.exported_linker_flags_arg /}
{call buck.arg}
{param name: 'cxxHeaderDirs' /}
{param default : '[]' /}
{param desc}
Directories with C/C++ headers which can be included by dependent C/C++ rules.
{/param}
{/call}
{/param} // close args
{param examples}
{literal}<pre class="prettyprint lang-py">
prebuilt_haskell_library(
name = 'file',
static_interfaces = [
'interfaces',
],
shared_interfaces = [
'interfaces_dyn',
],
static_libs = [
'libFileUtil.a',
],
shared_libs = {
'libFileUtil.so': 'libFileUtil.so',
},
)
</pre>{/literal}
{/param}
{/call} // close buck.rule
{/param}
{/call}
{/template}