mirror of
https://github.com/bazel-contrib/rules_foreign_cc
synced 2024-11-30 16:42:07 +00:00
deploy: d74623f0ad
This commit is contained in:
parent
7eabebc439
commit
8affe6b112
|
@ -325,7 +325,7 @@ make(<a href="#make-name">name</a>, <a href="#make-additional_inputs">additional
|
||||||
<a href="#make-out_data_dirs">out_data_dirs</a>, <a href="#make-out_dll_dir">out_dll_dir</a>, <a href="#make-out_headers_only">out_headers_only</a>, <a href="#make-out_include_dir">out_include_dir</a>, <a href="#make-out_interface_libs">out_interface_libs</a>, <a href="#make-out_lib_dir">out_lib_dir</a>,
|
<a href="#make-out_data_dirs">out_data_dirs</a>, <a href="#make-out_dll_dir">out_dll_dir</a>, <a href="#make-out_headers_only">out_headers_only</a>, <a href="#make-out_include_dir">out_include_dir</a>, <a href="#make-out_interface_libs">out_interface_libs</a>, <a href="#make-out_lib_dir">out_lib_dir</a>,
|
||||||
<a href="#make-out_shared_libs">out_shared_libs</a>, <a href="#make-out_static_libs">out_static_libs</a>, <a href="#make-postfix_script">postfix_script</a>, <a href="#make-targets">targets</a>, <a href="#make-tool_prefix">tool_prefix</a>, <a href="#make-tools_deps">tools_deps</a>)
|
<a href="#make-out_shared_libs">out_shared_libs</a>, <a href="#make-out_static_libs">out_static_libs</a>, <a href="#make-postfix_script">postfix_script</a>, <a href="#make-targets">targets</a>, <a href="#make-tool_prefix">tool_prefix</a>, <a href="#make-tools_deps">tools_deps</a>)
|
||||||
</pre>
|
</pre>
|
||||||
<p>Rule for building external libraries with GNU Make. GNU Make commands (make and make install by default) are invoked with PREFIX="install" (by default), and other environment variables for compilation and linking, taken from Bazel C/C++ toolchain and passed dependencies.</p>
|
<p>Rule for building external libraries with GNU Make. GNU Make commands (make and make install by default) are invoked with PREFIX="install" (by default), and other environment variables for compilation and linking, taken from Bazel C/C++ toolchain and passed dependencies. Not all Makefiles will work equally well here, and some may require patching.Your Makefile must either support passing the install prefix using the PREFIX flag, or it needs to have a different way to pass install prefix to it. An equivalent of make install MUST be specified as one of the targets.This is because all the paths with param names prefixed by out_* are expressed as relative to INSTALLDIR, not the source directory.That is, if you execute only make, but not make install, this rule will not be able to pick up any build outputs. Finally, your make install rule must dereference symlinks to ensure that the installed files don't end up being symlinks to files in the sandbox. For example, installation lines like <code>cp $SOURCE $DEST</code> must become <code>cp -L $SOURCE $DEST</code>, as the -L will ensure that symlinks are dereferenced.</p>
|
||||||
<p><strong>ATTRIBUTES</strong></p>
|
<p><strong>ATTRIBUTES</strong></p>
|
||||||
<table><thead><tr><th align="left">Name</th><th align="left">Description</th><th align="left">Type</th><th align="left">Mandatory</th><th align="left">Default</th></tr></thead><tbody>
|
<table><thead><tr><th align="left">Name</th><th align="left">Description</th><th align="left">Type</th><th align="left">Mandatory</th><th align="left">Default</th></tr></thead><tbody>
|
||||||
<tr><td align="left"><a id="make-name"></a>name</td><td align="left">A unique name for this target.</td><td align="left"><a href="https://bazel.build/concepts/labels#target-names">Name</a></td><td align="left">required</td><td align="left"></td></tr>
|
<tr><td align="left"><a id="make-name"></a>name</td><td align="left">A unique name for this target.</td><td align="left"><a href="https://bazel.build/concepts/labels#target-names">Name</a></td><td align="left">required</td><td align="left"></td></tr>
|
||||||
|
@ -355,7 +355,7 @@ make(<a href="#make-name">name</a>, <a href="#make-additional_inputs">additional
|
||||||
<tr><td align="left"><a id="make-out_shared_libs"></a>out_shared_libs</td><td align="left">Optional names of the resulting shared libraries.</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
<tr><td align="left"><a id="make-out_shared_libs"></a>out_shared_libs</td><td align="left">Optional names of the resulting shared libraries.</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-out_static_libs"></a>out_static_libs</td><td align="left">Optional names of the resulting static libraries. Note that if <code>out_headers_only</code>, <code>out_static_libs</code>, <code>out_shared_libs</code>, and <code>out_binaries</code> are not set, default <code>lib_name.a</code>/<code>lib_name.lib</code> static library is assumed</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
<tr><td align="left"><a id="make-out_static_libs"></a>out_static_libs</td><td align="left">Optional names of the resulting static libraries. Note that if <code>out_headers_only</code>, <code>out_static_libs</code>, <code>out_shared_libs</code>, and <code>out_binaries</code> are not set, default <code>lib_name.a</code>/<code>lib_name.lib</code> static library is assumed</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-postfix_script"></a>postfix_script</td><td align="left">Optional part of the shell script to be added after the make commands</td><td align="left">String</td><td align="left">optional</td><td align="left"><code>""</code></td></tr>
|
<tr><td align="left"><a id="make-postfix_script"></a>postfix_script</td><td align="left">Optional part of the shell script to be added after the make commands</td><td align="left">String</td><td align="left">optional</td><td align="left"><code>""</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-targets"></a>targets</td><td align="left">A list of targets within the foreign build system to produce. An empty string (<code>""</code>) will result in a call to the underlying build system with no explicit target set</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>["", "install"]</code></td></tr>
|
<tr><td align="left"><a id="make-targets"></a>targets</td><td align="left">A list of targets within the foreign build system to produce. An empty string (<code>""</code>) will result in a call to the underlying build system with no explicit target set. However, in order to extract build outputs, you must execute at least an equivalent of make install, and have your make file copy the build outputs into the directory specified by <code>install_prefix</code>.</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>["", "install"]</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-tool_prefix"></a>tool_prefix</td><td align="left">A prefix for build commands</td><td align="left">String</td><td align="left">optional</td><td align="left"><code>""</code></td></tr>
|
<tr><td align="left"><a id="make-tool_prefix"></a>tool_prefix</td><td align="left">A prefix for build commands</td><td align="left">String</td><td align="left">optional</td><td align="left"><code>""</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-tools_deps"></a>tools_deps</td><td align="left"><strong>deprecated</strong>: Please use the <code>build_data</code> attribute.</td><td align="left"><a href="https://bazel.build/concepts/labels">List of labels</a></td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
<tr><td align="left"><a id="make-tools_deps"></a>tools_deps</td><td align="left"><strong>deprecated</strong>: Please use the <code>build_data</code> attribute.</td><td align="left"><a href="https://bazel.build/concepts/labels">List of labels</a></td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
||||||
</tbody></table>
|
</tbody></table>
|
||||||
|
|
|
@ -149,7 +149,7 @@
|
||||||
<h1 id="rules-foreigncc"><a class="header" href="#rules-foreigncc">Rules ForeignCc</a></h1>
|
<h1 id="rules-foreigncc"><a class="header" href="#rules-foreigncc">Rules ForeignCc</a></h1>
|
||||||
<p>Rules for building C/C++ projects using foreign build systems (non Bazel) inside Bazel projects.</p>
|
<p>Rules for building C/C++ projects using foreign build systems (non Bazel) inside Bazel projects.</p>
|
||||||
<table><thead><tr><th>Release</th><th>Commit</th><th>Status</th></tr></thead><tbody>
|
<table><thead><tr><th>Release</th><th>Commit</th><th>Status</th></tr></thead><tbody>
|
||||||
<tr><td>main</td><td><a href="https://github.com/bazelbuild/rules_foreign_cc/commit/4f0b6b8159ebb783acbb5d898751160aeede1c6a">4f0b6b8</a></td><td><a href="https://buildkite.com/bazel/rules-foreign-cc/builds?branch=main"><img src="https://badge.buildkite.com/c28afbf846e2077715c753dda1f4b820cdcc46cc6cde16503c.svg?branch=main" alt="Build status" /></a></td></tr>
|
<tr><td>main</td><td><a href="https://github.com/bazelbuild/rules_foreign_cc/commit/d74623f0ad47f4e375de81baa454eb106715a416">d74623f</a></td><td><a href="https://buildkite.com/bazel/rules-foreign-cc/builds?branch=main"><img src="https://badge.buildkite.com/c28afbf846e2077715c753dda1f4b820cdcc46cc6cde16503c.svg?branch=main" alt="Build status" /></a></td></tr>
|
||||||
</tbody></table>
|
</tbody></table>
|
||||||
<h2 id="overview"><a class="header" href="#overview">Overview</a></h2>
|
<h2 id="overview"><a class="header" href="#overview">Overview</a></h2>
|
||||||
<p>Rules ForeignCc is designed to help users build projects that are not built by Bazel and also
|
<p>Rules ForeignCc is designed to help users build projects that are not built by Bazel and also
|
||||||
|
@ -167,8 +167,8 @@ http_archive(
|
||||||
# release on the releases page: https://github.com/bazelbuild/rules_foreign_cc/releases
|
# release on the releases page: https://github.com/bazelbuild/rules_foreign_cc/releases
|
||||||
#
|
#
|
||||||
# sha256 = "...",
|
# sha256 = "...",
|
||||||
strip_prefix = "rules_foreign_cc-4f0b6b8159ebb783acbb5d898751160aeede1c6a",
|
strip_prefix = "rules_foreign_cc-d74623f0ad47f4e375de81baa454eb106715a416",
|
||||||
url = "https://github.com/bazelbuild/rules_foreign_cc/archive/4f0b6b8159ebb783acbb5d898751160aeede1c6a.tar.gz",
|
url = "https://github.com/bazelbuild/rules_foreign_cc/archive/d74623f0ad47f4e375de81baa454eb106715a416.tar.gz",
|
||||||
)
|
)
|
||||||
|
|
||||||
load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies")
|
load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies")
|
||||||
|
|
|
@ -156,7 +156,7 @@ make(<a href="#make-name">name</a>, <a href="#make-additional_inputs">additional
|
||||||
<a href="#make-out_data_dirs">out_data_dirs</a>, <a href="#make-out_dll_dir">out_dll_dir</a>, <a href="#make-out_headers_only">out_headers_only</a>, <a href="#make-out_include_dir">out_include_dir</a>, <a href="#make-out_interface_libs">out_interface_libs</a>, <a href="#make-out_lib_dir">out_lib_dir</a>,
|
<a href="#make-out_data_dirs">out_data_dirs</a>, <a href="#make-out_dll_dir">out_dll_dir</a>, <a href="#make-out_headers_only">out_headers_only</a>, <a href="#make-out_include_dir">out_include_dir</a>, <a href="#make-out_interface_libs">out_interface_libs</a>, <a href="#make-out_lib_dir">out_lib_dir</a>,
|
||||||
<a href="#make-out_shared_libs">out_shared_libs</a>, <a href="#make-out_static_libs">out_static_libs</a>, <a href="#make-postfix_script">postfix_script</a>, <a href="#make-targets">targets</a>, <a href="#make-tool_prefix">tool_prefix</a>, <a href="#make-tools_deps">tools_deps</a>)
|
<a href="#make-out_shared_libs">out_shared_libs</a>, <a href="#make-out_static_libs">out_static_libs</a>, <a href="#make-postfix_script">postfix_script</a>, <a href="#make-targets">targets</a>, <a href="#make-tool_prefix">tool_prefix</a>, <a href="#make-tools_deps">tools_deps</a>)
|
||||||
</pre>
|
</pre>
|
||||||
<p>Rule for building external libraries with GNU Make. GNU Make commands (make and make install by default) are invoked with PREFIX="install" (by default), and other environment variables for compilation and linking, taken from Bazel C/C++ toolchain and passed dependencies.</p>
|
<p>Rule for building external libraries with GNU Make. GNU Make commands (make and make install by default) are invoked with PREFIX="install" (by default), and other environment variables for compilation and linking, taken from Bazel C/C++ toolchain and passed dependencies. Not all Makefiles will work equally well here, and some may require patching.Your Makefile must either support passing the install prefix using the PREFIX flag, or it needs to have a different way to pass install prefix to it. An equivalent of make install MUST be specified as one of the targets.This is because all the paths with param names prefixed by out_* are expressed as relative to INSTALLDIR, not the source directory.That is, if you execute only make, but not make install, this rule will not be able to pick up any build outputs. Finally, your make install rule must dereference symlinks to ensure that the installed files don't end up being symlinks to files in the sandbox. For example, installation lines like <code>cp $SOURCE $DEST</code> must become <code>cp -L $SOURCE $DEST</code>, as the -L will ensure that symlinks are dereferenced.</p>
|
||||||
<p><strong>ATTRIBUTES</strong></p>
|
<p><strong>ATTRIBUTES</strong></p>
|
||||||
<table><thead><tr><th align="left">Name</th><th align="left">Description</th><th align="left">Type</th><th align="left">Mandatory</th><th align="left">Default</th></tr></thead><tbody>
|
<table><thead><tr><th align="left">Name</th><th align="left">Description</th><th align="left">Type</th><th align="left">Mandatory</th><th align="left">Default</th></tr></thead><tbody>
|
||||||
<tr><td align="left"><a id="make-name"></a>name</td><td align="left">A unique name for this target.</td><td align="left"><a href="https://bazel.build/concepts/labels#target-names">Name</a></td><td align="left">required</td><td align="left"></td></tr>
|
<tr><td align="left"><a id="make-name"></a>name</td><td align="left">A unique name for this target.</td><td align="left"><a href="https://bazel.build/concepts/labels#target-names">Name</a></td><td align="left">required</td><td align="left"></td></tr>
|
||||||
|
@ -186,7 +186,7 @@ make(<a href="#make-name">name</a>, <a href="#make-additional_inputs">additional
|
||||||
<tr><td align="left"><a id="make-out_shared_libs"></a>out_shared_libs</td><td align="left">Optional names of the resulting shared libraries.</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
<tr><td align="left"><a id="make-out_shared_libs"></a>out_shared_libs</td><td align="left">Optional names of the resulting shared libraries.</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-out_static_libs"></a>out_static_libs</td><td align="left">Optional names of the resulting static libraries. Note that if <code>out_headers_only</code>, <code>out_static_libs</code>, <code>out_shared_libs</code>, and <code>out_binaries</code> are not set, default <code>lib_name.a</code>/<code>lib_name.lib</code> static library is assumed</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
<tr><td align="left"><a id="make-out_static_libs"></a>out_static_libs</td><td align="left">Optional names of the resulting static libraries. Note that if <code>out_headers_only</code>, <code>out_static_libs</code>, <code>out_shared_libs</code>, and <code>out_binaries</code> are not set, default <code>lib_name.a</code>/<code>lib_name.lib</code> static library is assumed</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-postfix_script"></a>postfix_script</td><td align="left">Optional part of the shell script to be added after the make commands</td><td align="left">String</td><td align="left">optional</td><td align="left"><code>""</code></td></tr>
|
<tr><td align="left"><a id="make-postfix_script"></a>postfix_script</td><td align="left">Optional part of the shell script to be added after the make commands</td><td align="left">String</td><td align="left">optional</td><td align="left"><code>""</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-targets"></a>targets</td><td align="left">A list of targets within the foreign build system to produce. An empty string (<code>""</code>) will result in a call to the underlying build system with no explicit target set</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>["", "install"]</code></td></tr>
|
<tr><td align="left"><a id="make-targets"></a>targets</td><td align="left">A list of targets within the foreign build system to produce. An empty string (<code>""</code>) will result in a call to the underlying build system with no explicit target set. However, in order to extract build outputs, you must execute at least an equivalent of make install, and have your make file copy the build outputs into the directory specified by <code>install_prefix</code>.</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>["", "install"]</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-tool_prefix"></a>tool_prefix</td><td align="left">A prefix for build commands</td><td align="left">String</td><td align="left">optional</td><td align="left"><code>""</code></td></tr>
|
<tr><td align="left"><a id="make-tool_prefix"></a>tool_prefix</td><td align="left">A prefix for build commands</td><td align="left">String</td><td align="left">optional</td><td align="left"><code>""</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-tools_deps"></a>tools_deps</td><td align="left"><strong>deprecated</strong>: Please use the <code>build_data</code> attribute.</td><td align="left"><a href="https://bazel.build/concepts/labels">List of labels</a></td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
<tr><td align="left"><a id="make-tools_deps"></a>tools_deps</td><td align="left"><strong>deprecated</strong>: Please use the <code>build_data</code> attribute.</td><td align="left"><a href="https://bazel.build/concepts/labels">List of labels</a></td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
||||||
</tbody></table>
|
</tbody></table>
|
||||||
|
|
|
@ -150,7 +150,7 @@
|
||||||
<h1 id="rules-foreigncc"><a class="header" href="#rules-foreigncc">Rules ForeignCc</a></h1>
|
<h1 id="rules-foreigncc"><a class="header" href="#rules-foreigncc">Rules ForeignCc</a></h1>
|
||||||
<p>Rules for building C/C++ projects using foreign build systems (non Bazel) inside Bazel projects.</p>
|
<p>Rules for building C/C++ projects using foreign build systems (non Bazel) inside Bazel projects.</p>
|
||||||
<table><thead><tr><th>Release</th><th>Commit</th><th>Status</th></tr></thead><tbody>
|
<table><thead><tr><th>Release</th><th>Commit</th><th>Status</th></tr></thead><tbody>
|
||||||
<tr><td>main</td><td><a href="https://github.com/bazelbuild/rules_foreign_cc/commit/4f0b6b8159ebb783acbb5d898751160aeede1c6a">4f0b6b8</a></td><td><a href="https://buildkite.com/bazel/rules-foreign-cc/builds?branch=main"><img src="https://badge.buildkite.com/c28afbf846e2077715c753dda1f4b820cdcc46cc6cde16503c.svg?branch=main" alt="Build status" /></a></td></tr>
|
<tr><td>main</td><td><a href="https://github.com/bazelbuild/rules_foreign_cc/commit/d74623f0ad47f4e375de81baa454eb106715a416">d74623f</a></td><td><a href="https://buildkite.com/bazel/rules-foreign-cc/builds?branch=main"><img src="https://badge.buildkite.com/c28afbf846e2077715c753dda1f4b820cdcc46cc6cde16503c.svg?branch=main" alt="Build status" /></a></td></tr>
|
||||||
</tbody></table>
|
</tbody></table>
|
||||||
<h2 id="overview"><a class="header" href="#overview">Overview</a></h2>
|
<h2 id="overview"><a class="header" href="#overview">Overview</a></h2>
|
||||||
<p>Rules ForeignCc is designed to help users build projects that are not built by Bazel and also
|
<p>Rules ForeignCc is designed to help users build projects that are not built by Bazel and also
|
||||||
|
@ -168,8 +168,8 @@ http_archive(
|
||||||
# release on the releases page: https://github.com/bazelbuild/rules_foreign_cc/releases
|
# release on the releases page: https://github.com/bazelbuild/rules_foreign_cc/releases
|
||||||
#
|
#
|
||||||
# sha256 = "...",
|
# sha256 = "...",
|
||||||
strip_prefix = "rules_foreign_cc-4f0b6b8159ebb783acbb5d898751160aeede1c6a",
|
strip_prefix = "rules_foreign_cc-d74623f0ad47f4e375de81baa454eb106715a416",
|
||||||
url = "https://github.com/bazelbuild/rules_foreign_cc/archive/4f0b6b8159ebb783acbb5d898751160aeede1c6a.tar.gz",
|
url = "https://github.com/bazelbuild/rules_foreign_cc/archive/d74623f0ad47f4e375de81baa454eb106715a416.tar.gz",
|
||||||
)
|
)
|
||||||
|
|
||||||
load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies")
|
load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies")
|
||||||
|
@ -441,7 +441,7 @@ make(<a href="make.html#make-name">name</a>, <a href="make.html#make-additional_
|
||||||
<a href="make.html#make-out_data_dirs">out_data_dirs</a>, <a href="make.html#make-out_dll_dir">out_dll_dir</a>, <a href="make.html#make-out_headers_only">out_headers_only</a>, <a href="make.html#make-out_include_dir">out_include_dir</a>, <a href="make.html#make-out_interface_libs">out_interface_libs</a>, <a href="make.html#make-out_lib_dir">out_lib_dir</a>,
|
<a href="make.html#make-out_data_dirs">out_data_dirs</a>, <a href="make.html#make-out_dll_dir">out_dll_dir</a>, <a href="make.html#make-out_headers_only">out_headers_only</a>, <a href="make.html#make-out_include_dir">out_include_dir</a>, <a href="make.html#make-out_interface_libs">out_interface_libs</a>, <a href="make.html#make-out_lib_dir">out_lib_dir</a>,
|
||||||
<a href="make.html#make-out_shared_libs">out_shared_libs</a>, <a href="make.html#make-out_static_libs">out_static_libs</a>, <a href="make.html#make-postfix_script">postfix_script</a>, <a href="make.html#make-targets">targets</a>, <a href="make.html#make-tool_prefix">tool_prefix</a>, <a href="make.html#make-tools_deps">tools_deps</a>)
|
<a href="make.html#make-out_shared_libs">out_shared_libs</a>, <a href="make.html#make-out_static_libs">out_static_libs</a>, <a href="make.html#make-postfix_script">postfix_script</a>, <a href="make.html#make-targets">targets</a>, <a href="make.html#make-tool_prefix">tool_prefix</a>, <a href="make.html#make-tools_deps">tools_deps</a>)
|
||||||
</pre>
|
</pre>
|
||||||
<p>Rule for building external libraries with GNU Make. GNU Make commands (make and make install by default) are invoked with PREFIX="install" (by default), and other environment variables for compilation and linking, taken from Bazel C/C++ toolchain and passed dependencies.</p>
|
<p>Rule for building external libraries with GNU Make. GNU Make commands (make and make install by default) are invoked with PREFIX="install" (by default), and other environment variables for compilation and linking, taken from Bazel C/C++ toolchain and passed dependencies. Not all Makefiles will work equally well here, and some may require patching.Your Makefile must either support passing the install prefix using the PREFIX flag, or it needs to have a different way to pass install prefix to it. An equivalent of make install MUST be specified as one of the targets.This is because all the paths with param names prefixed by out_* are expressed as relative to INSTALLDIR, not the source directory.That is, if you execute only make, but not make install, this rule will not be able to pick up any build outputs. Finally, your make install rule must dereference symlinks to ensure that the installed files don't end up being symlinks to files in the sandbox. For example, installation lines like <code>cp $SOURCE $DEST</code> must become <code>cp -L $SOURCE $DEST</code>, as the -L will ensure that symlinks are dereferenced.</p>
|
||||||
<p><strong>ATTRIBUTES</strong></p>
|
<p><strong>ATTRIBUTES</strong></p>
|
||||||
<table><thead><tr><th align="left">Name</th><th align="left">Description</th><th align="left">Type</th><th align="left">Mandatory</th><th align="left">Default</th></tr></thead><tbody>
|
<table><thead><tr><th align="left">Name</th><th align="left">Description</th><th align="left">Type</th><th align="left">Mandatory</th><th align="left">Default</th></tr></thead><tbody>
|
||||||
<tr><td align="left"><a id="make-name"></a>name</td><td align="left">A unique name for this target.</td><td align="left"><a href="https://bazel.build/concepts/labels#target-names">Name</a></td><td align="left">required</td><td align="left"></td></tr>
|
<tr><td align="left"><a id="make-name"></a>name</td><td align="left">A unique name for this target.</td><td align="left"><a href="https://bazel.build/concepts/labels#target-names">Name</a></td><td align="left">required</td><td align="left"></td></tr>
|
||||||
|
@ -471,7 +471,7 @@ make(<a href="make.html#make-name">name</a>, <a href="make.html#make-additional_
|
||||||
<tr><td align="left"><a id="make-out_shared_libs"></a>out_shared_libs</td><td align="left">Optional names of the resulting shared libraries.</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
<tr><td align="left"><a id="make-out_shared_libs"></a>out_shared_libs</td><td align="left">Optional names of the resulting shared libraries.</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-out_static_libs"></a>out_static_libs</td><td align="left">Optional names of the resulting static libraries. Note that if <code>out_headers_only</code>, <code>out_static_libs</code>, <code>out_shared_libs</code>, and <code>out_binaries</code> are not set, default <code>lib_name.a</code>/<code>lib_name.lib</code> static library is assumed</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
<tr><td align="left"><a id="make-out_static_libs"></a>out_static_libs</td><td align="left">Optional names of the resulting static libraries. Note that if <code>out_headers_only</code>, <code>out_static_libs</code>, <code>out_shared_libs</code>, and <code>out_binaries</code> are not set, default <code>lib_name.a</code>/<code>lib_name.lib</code> static library is assumed</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-postfix_script"></a>postfix_script</td><td align="left">Optional part of the shell script to be added after the make commands</td><td align="left">String</td><td align="left">optional</td><td align="left"><code>""</code></td></tr>
|
<tr><td align="left"><a id="make-postfix_script"></a>postfix_script</td><td align="left">Optional part of the shell script to be added after the make commands</td><td align="left">String</td><td align="left">optional</td><td align="left"><code>""</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-targets"></a>targets</td><td align="left">A list of targets within the foreign build system to produce. An empty string (<code>""</code>) will result in a call to the underlying build system with no explicit target set</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>["", "install"]</code></td></tr>
|
<tr><td align="left"><a id="make-targets"></a>targets</td><td align="left">A list of targets within the foreign build system to produce. An empty string (<code>""</code>) will result in a call to the underlying build system with no explicit target set. However, in order to extract build outputs, you must execute at least an equivalent of make install, and have your make file copy the build outputs into the directory specified by <code>install_prefix</code>.</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>["", "install"]</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-tool_prefix"></a>tool_prefix</td><td align="left">A prefix for build commands</td><td align="left">String</td><td align="left">optional</td><td align="left"><code>""</code></td></tr>
|
<tr><td align="left"><a id="make-tool_prefix"></a>tool_prefix</td><td align="left">A prefix for build commands</td><td align="left">String</td><td align="left">optional</td><td align="left"><code>""</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-tools_deps"></a>tools_deps</td><td align="left"><strong>deprecated</strong>: Please use the <code>build_data</code> attribute.</td><td align="left"><a href="https://bazel.build/concepts/labels">List of labels</a></td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
<tr><td align="left"><a id="make-tools_deps"></a>tools_deps</td><td align="left"><strong>deprecated</strong>: Please use the <code>build_data</code> attribute.</td><td align="left"><a href="https://bazel.build/concepts/labels">List of labels</a></td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
||||||
</tbody></table>
|
</tbody></table>
|
||||||
|
@ -711,7 +711,7 @@ make(<a href="flatten.html#make-name">name</a>, <a href="flatten.html#make-addit
|
||||||
<a href="flatten.html#make-out_data_dirs">out_data_dirs</a>, <a href="flatten.html#make-out_dll_dir">out_dll_dir</a>, <a href="flatten.html#make-out_headers_only">out_headers_only</a>, <a href="flatten.html#make-out_include_dir">out_include_dir</a>, <a href="flatten.html#make-out_interface_libs">out_interface_libs</a>, <a href="flatten.html#make-out_lib_dir">out_lib_dir</a>,
|
<a href="flatten.html#make-out_data_dirs">out_data_dirs</a>, <a href="flatten.html#make-out_dll_dir">out_dll_dir</a>, <a href="flatten.html#make-out_headers_only">out_headers_only</a>, <a href="flatten.html#make-out_include_dir">out_include_dir</a>, <a href="flatten.html#make-out_interface_libs">out_interface_libs</a>, <a href="flatten.html#make-out_lib_dir">out_lib_dir</a>,
|
||||||
<a href="flatten.html#make-out_shared_libs">out_shared_libs</a>, <a href="flatten.html#make-out_static_libs">out_static_libs</a>, <a href="flatten.html#make-postfix_script">postfix_script</a>, <a href="flatten.html#make-targets">targets</a>, <a href="flatten.html#make-tool_prefix">tool_prefix</a>, <a href="flatten.html#make-tools_deps">tools_deps</a>)
|
<a href="flatten.html#make-out_shared_libs">out_shared_libs</a>, <a href="flatten.html#make-out_static_libs">out_static_libs</a>, <a href="flatten.html#make-postfix_script">postfix_script</a>, <a href="flatten.html#make-targets">targets</a>, <a href="flatten.html#make-tool_prefix">tool_prefix</a>, <a href="flatten.html#make-tools_deps">tools_deps</a>)
|
||||||
</pre>
|
</pre>
|
||||||
<p>Rule for building external libraries with GNU Make. GNU Make commands (make and make install by default) are invoked with PREFIX="install" (by default), and other environment variables for compilation and linking, taken from Bazel C/C++ toolchain and passed dependencies.</p>
|
<p>Rule for building external libraries with GNU Make. GNU Make commands (make and make install by default) are invoked with PREFIX="install" (by default), and other environment variables for compilation and linking, taken from Bazel C/C++ toolchain and passed dependencies. Not all Makefiles will work equally well here, and some may require patching.Your Makefile must either support passing the install prefix using the PREFIX flag, or it needs to have a different way to pass install prefix to it. An equivalent of make install MUST be specified as one of the targets.This is because all the paths with param names prefixed by out_* are expressed as relative to INSTALLDIR, not the source directory.That is, if you execute only make, but not make install, this rule will not be able to pick up any build outputs. Finally, your make install rule must dereference symlinks to ensure that the installed files don't end up being symlinks to files in the sandbox. For example, installation lines like <code>cp $SOURCE $DEST</code> must become <code>cp -L $SOURCE $DEST</code>, as the -L will ensure that symlinks are dereferenced.</p>
|
||||||
<p><strong>ATTRIBUTES</strong></p>
|
<p><strong>ATTRIBUTES</strong></p>
|
||||||
<table><thead><tr><th align="left">Name</th><th align="left">Description</th><th align="left">Type</th><th align="left">Mandatory</th><th align="left">Default</th></tr></thead><tbody>
|
<table><thead><tr><th align="left">Name</th><th align="left">Description</th><th align="left">Type</th><th align="left">Mandatory</th><th align="left">Default</th></tr></thead><tbody>
|
||||||
<tr><td align="left"><a id="make-name"></a>name</td><td align="left">A unique name for this target.</td><td align="left"><a href="https://bazel.build/concepts/labels#target-names">Name</a></td><td align="left">required</td><td align="left"></td></tr>
|
<tr><td align="left"><a id="make-name"></a>name</td><td align="left">A unique name for this target.</td><td align="left"><a href="https://bazel.build/concepts/labels#target-names">Name</a></td><td align="left">required</td><td align="left"></td></tr>
|
||||||
|
@ -741,7 +741,7 @@ make(<a href="flatten.html#make-name">name</a>, <a href="flatten.html#make-addit
|
||||||
<tr><td align="left"><a id="make-out_shared_libs"></a>out_shared_libs</td><td align="left">Optional names of the resulting shared libraries.</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
<tr><td align="left"><a id="make-out_shared_libs"></a>out_shared_libs</td><td align="left">Optional names of the resulting shared libraries.</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-out_static_libs"></a>out_static_libs</td><td align="left">Optional names of the resulting static libraries. Note that if <code>out_headers_only</code>, <code>out_static_libs</code>, <code>out_shared_libs</code>, and <code>out_binaries</code> are not set, default <code>lib_name.a</code>/<code>lib_name.lib</code> static library is assumed</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
<tr><td align="left"><a id="make-out_static_libs"></a>out_static_libs</td><td align="left">Optional names of the resulting static libraries. Note that if <code>out_headers_only</code>, <code>out_static_libs</code>, <code>out_shared_libs</code>, and <code>out_binaries</code> are not set, default <code>lib_name.a</code>/<code>lib_name.lib</code> static library is assumed</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-postfix_script"></a>postfix_script</td><td align="left">Optional part of the shell script to be added after the make commands</td><td align="left">String</td><td align="left">optional</td><td align="left"><code>""</code></td></tr>
|
<tr><td align="left"><a id="make-postfix_script"></a>postfix_script</td><td align="left">Optional part of the shell script to be added after the make commands</td><td align="left">String</td><td align="left">optional</td><td align="left"><code>""</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-targets"></a>targets</td><td align="left">A list of targets within the foreign build system to produce. An empty string (<code>""</code>) will result in a call to the underlying build system with no explicit target set</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>["", "install"]</code></td></tr>
|
<tr><td align="left"><a id="make-targets"></a>targets</td><td align="left">A list of targets within the foreign build system to produce. An empty string (<code>""</code>) will result in a call to the underlying build system with no explicit target set. However, in order to extract build outputs, you must execute at least an equivalent of make install, and have your make file copy the build outputs into the directory specified by <code>install_prefix</code>.</td><td align="left">List of strings</td><td align="left">optional</td><td align="left"><code>["", "install"]</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-tool_prefix"></a>tool_prefix</td><td align="left">A prefix for build commands</td><td align="left">String</td><td align="left">optional</td><td align="left"><code>""</code></td></tr>
|
<tr><td align="left"><a id="make-tool_prefix"></a>tool_prefix</td><td align="left">A prefix for build commands</td><td align="left">String</td><td align="left">optional</td><td align="left"><code>""</code></td></tr>
|
||||||
<tr><td align="left"><a id="make-tools_deps"></a>tools_deps</td><td align="left"><strong>deprecated</strong>: Please use the <code>build_data</code> attribute.</td><td align="left"><a href="https://bazel.build/concepts/labels">List of labels</a></td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
<tr><td align="left"><a id="make-tools_deps"></a>tools_deps</td><td align="left"><strong>deprecated</strong>: Please use the <code>build_data</code> attribute.</td><td align="left"><a href="https://bazel.build/concepts/labels">List of labels</a></td><td align="left">optional</td><td align="left"><code>[]</code></td></tr>
|
||||||
</tbody></table>
|
</tbody></table>
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue