|
|
|
@ -19,11 +19,10 @@
|
|
|
|
|
## boost_build
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
boost_build(<a href="#boost_build-name">name</a>, <a href="#boost_build-additional_inputs">additional_inputs</a>, <a href="#boost_build-additional_tools">additional_tools</a>, <a href="#boost_build-alwayslink">alwayslink</a>, <a href="#boost_build-binaries">binaries</a>, <a href="#boost_build-bootstrap_options">bootstrap_options</a>,
|
|
|
|
|
<a href="#boost_build-data">data</a>, <a href="#boost_build-defines">defines</a>, <a href="#boost_build-deps">deps</a>, <a href="#boost_build-env">env</a>, <a href="#boost_build-headers_only">headers_only</a>, <a href="#boost_build-interface_libraries">interface_libraries</a>, <a href="#boost_build-lib_name">lib_name</a>, <a href="#boost_build-lib_source">lib_source</a>,
|
|
|
|
|
<a href="#boost_build-linkopts">linkopts</a>, <a href="#boost_build-out_bin_dir">out_bin_dir</a>, <a href="#boost_build-out_binaries">out_binaries</a>, <a href="#boost_build-out_headers_only">out_headers_only</a>, <a href="#boost_build-out_include_dir">out_include_dir</a>,
|
|
|
|
|
<a href="#boost_build-out_interface_libs">out_interface_libs</a>, <a href="#boost_build-out_lib_dir">out_lib_dir</a>, <a href="#boost_build-out_shared_libs">out_shared_libs</a>, <a href="#boost_build-out_static_libs">out_static_libs</a>, <a href="#boost_build-postfix_script">postfix_script</a>,
|
|
|
|
|
<a href="#boost_build-shared_libraries">shared_libraries</a>, <a href="#boost_build-static_libraries">static_libraries</a>, <a href="#boost_build-tools_deps">tools_deps</a>, <a href="#boost_build-user_options">user_options</a>)
|
|
|
|
|
boost_build(<a href="#boost_build-name">name</a>, <a href="#boost_build-additional_inputs">additional_inputs</a>, <a href="#boost_build-additional_tools">additional_tools</a>, <a href="#boost_build-alwayslink">alwayslink</a>, <a href="#boost_build-bootstrap_options">bootstrap_options</a>, <a href="#boost_build-data">data</a>, <a href="#boost_build-defines">defines</a>,
|
|
|
|
|
<a href="#boost_build-deps">deps</a>, <a href="#boost_build-env">env</a>, <a href="#boost_build-lib_name">lib_name</a>, <a href="#boost_build-lib_source">lib_source</a>, <a href="#boost_build-linkopts">linkopts</a>, <a href="#boost_build-out_bin_dir">out_bin_dir</a>, <a href="#boost_build-out_binaries">out_binaries</a>, <a href="#boost_build-out_headers_only">out_headers_only</a>,
|
|
|
|
|
<a href="#boost_build-out_include_dir">out_include_dir</a>, <a href="#boost_build-out_interface_libs">out_interface_libs</a>, <a href="#boost_build-out_lib_dir">out_lib_dir</a>, <a href="#boost_build-out_shared_libs">out_shared_libs</a>, <a href="#boost_build-out_static_libs">out_static_libs</a>,
|
|
|
|
|
<a href="#boost_build-postfix_script">postfix_script</a>, <a href="#boost_build-tools_deps">tools_deps</a>, <a href="#boost_build-user_options">user_options</a>)
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
Rule for building Boost. Invokes bootstrap.sh and then b2 install.
|
|
|
|
@ -37,14 +36,11 @@ Rule for building Boost. Invokes bootstrap.sh and then b2 install.
|
|
|
|
|
| <a id="boost_build-additional_inputs"></a>additional_inputs | Optional additional inputs to be declared as needed for the shell script action.Not used by the shell script part in cc_external_rule_impl. | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
| <a id="boost_build-additional_tools"></a>additional_tools | Optional additional tools needed for the building. Not used by the shell script part in cc_external_rule_impl. | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
| <a id="boost_build-alwayslink"></a>alwayslink | Optional. if true, link all the object files from the static library, even if they are not used. | Boolean | optional | False |
|
|
|
|
|
| <a id="boost_build-binaries"></a>binaries | __deprecated__: Use <code>out_binaries</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="boost_build-bootstrap_options"></a>bootstrap_options | any additional flags to pass to bootstrap.sh | List of strings | optional | [] |
|
|
|
|
|
| <a id="boost_build-data"></a>data | Files needed by this rule at runtime. May list file or rule targets. Generally allows any target. | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
| <a id="boost_build-defines"></a>defines | Optional compilation definitions to be passed to the dependencies of this library. They are NOT passed to the compiler, you should duplicate them in the configuration options. | List of strings | optional | [] |
|
|
|
|
|
| <a id="boost_build-deps"></a>deps | Optional dependencies to be copied into the directory structure. Typically those directly required for the external building of the library/binaries. (i.e. those that the external buidl system will be looking for and paths to which are provided by the calling rule) | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
| <a id="boost_build-env"></a>env | Environment variables to set during the build. <code>$(execpath)</code> macros may be used to point at files which are listed as data deps, tools_deps, or additional_tools, but unlike with other rules, these will be replaced with absolute paths to those files, because the build does not run in the exec root. No other macros are supported. | <a href="https://bazel.build/docs/skylark/lib/dict.html">Dictionary: String -> String</a> | optional | {} |
|
|
|
|
|
| <a id="boost_build-headers_only"></a>headers_only | __deprecated__: Use <code>out_headers_only</code> instead. | Boolean | optional | False |
|
|
|
|
|
| <a id="boost_build-interface_libraries"></a>interface_libraries | __deprecated__: Use <code>out_interface_libs</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="boost_build-lib_name"></a>lib_name | Library name. Defines the name of the install directory and the name of the static library, if no output files parameters are defined (any of static_libraries, shared_libraries, interface_libraries, binaries_names) Optional. If not defined, defaults to the target's name. | String | optional | "" |
|
|
|
|
|
| <a id="boost_build-lib_source"></a>lib_source | Label with source code to build. Typically a filegroup for the source of remote repository. Mandatory. | <a href="https://bazel.build/docs/build-ref.html#labels">Label</a> | required | |
|
|
|
|
|
| <a id="boost_build-linkopts"></a>linkopts | Optional link options to be passed up to the dependencies of this library | List of strings | optional | [] |
|
|
|
|
@ -57,8 +53,6 @@ Rule for building Boost. Invokes bootstrap.sh and then b2 install.
|
|
|
|
|
| <a id="boost_build-out_shared_libs"></a>out_shared_libs | Optional names of the resulting shared libraries. | List of strings | optional | [] |
|
|
|
|
|
| <a id="boost_build-out_static_libs"></a>out_static_libs | 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 | List of strings | optional | [] |
|
|
|
|
|
| <a id="boost_build-postfix_script"></a>postfix_script | Optional part of the shell script to be added after the make commands | String | optional | "" |
|
|
|
|
|
| <a id="boost_build-shared_libraries"></a>shared_libraries | __deprecated__: Use <code>out_shared_libs</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="boost_build-static_libraries"></a>static_libraries | __deprecated__: Use <code>out_static_libs</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="boost_build-tools_deps"></a>tools_deps | Optional tools to be copied into the directory structure. Similar to deps, those directly required for the external building of the library/binaries. | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
| <a id="boost_build-user_options"></a>user_options | any additional flags to pass to b2 | List of strings | optional | [] |
|
|
|
|
|
|
|
|
|
@ -68,12 +62,11 @@ Rule for building Boost. Invokes bootstrap.sh and then b2 install.
|
|
|
|
|
## cmake
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
cmake(<a href="#cmake-name">name</a>, <a href="#cmake-additional_inputs">additional_inputs</a>, <a href="#cmake-additional_tools">additional_tools</a>, <a href="#cmake-alwayslink">alwayslink</a>, <a href="#cmake-binaries">binaries</a>, <a href="#cmake-build_args">build_args</a>, <a href="#cmake-cache_entries">cache_entries</a>,
|
|
|
|
|
<a href="#cmake-cmake_options">cmake_options</a>, <a href="#cmake-data">data</a>, <a href="#cmake-defines">defines</a>, <a href="#cmake-deps">deps</a>, <a href="#cmake-env">env</a>, <a href="#cmake-env_vars">env_vars</a>, <a href="#cmake-generate_args">generate_args</a>, <a href="#cmake-generate_crosstool_file">generate_crosstool_file</a>,
|
|
|
|
|
<a href="#cmake-headers_only">headers_only</a>, <a href="#cmake-install">install</a>, <a href="#cmake-install_args">install_args</a>, <a href="#cmake-install_prefix">install_prefix</a>, <a href="#cmake-interface_libraries">interface_libraries</a>, <a href="#cmake-lib_name">lib_name</a>, <a href="#cmake-lib_source">lib_source</a>,
|
|
|
|
|
<a href="#cmake-linkopts">linkopts</a>, <a href="#cmake-make_commands">make_commands</a>, <a href="#cmake-out_bin_dir">out_bin_dir</a>, <a href="#cmake-out_binaries">out_binaries</a>, <a href="#cmake-out_headers_only">out_headers_only</a>, <a href="#cmake-out_include_dir">out_include_dir</a>,
|
|
|
|
|
<a href="#cmake-out_interface_libs">out_interface_libs</a>, <a href="#cmake-out_lib_dir">out_lib_dir</a>, <a href="#cmake-out_shared_libs">out_shared_libs</a>, <a href="#cmake-out_static_libs">out_static_libs</a>, <a href="#cmake-postfix_script">postfix_script</a>,
|
|
|
|
|
<a href="#cmake-shared_libraries">shared_libraries</a>, <a href="#cmake-static_libraries">static_libraries</a>, <a href="#cmake-targets">targets</a>, <a href="#cmake-tools_deps">tools_deps</a>, <a href="#cmake-working_directory">working_directory</a>)
|
|
|
|
|
cmake(<a href="#cmake-name">name</a>, <a href="#cmake-additional_inputs">additional_inputs</a>, <a href="#cmake-additional_tools">additional_tools</a>, <a href="#cmake-alwayslink">alwayslink</a>, <a href="#cmake-build_args">build_args</a>, <a href="#cmake-cache_entries">cache_entries</a>, <a href="#cmake-data">data</a>,
|
|
|
|
|
<a href="#cmake-defines">defines</a>, <a href="#cmake-deps">deps</a>, <a href="#cmake-env">env</a>, <a href="#cmake-env_vars">env_vars</a>, <a href="#cmake-generate_args">generate_args</a>, <a href="#cmake-generate_crosstool_file">generate_crosstool_file</a>, <a href="#cmake-install">install</a>, <a href="#cmake-install_args">install_args</a>,
|
|
|
|
|
<a href="#cmake-lib_name">lib_name</a>, <a href="#cmake-lib_source">lib_source</a>, <a href="#cmake-linkopts">linkopts</a>, <a href="#cmake-out_bin_dir">out_bin_dir</a>, <a href="#cmake-out_binaries">out_binaries</a>, <a href="#cmake-out_headers_only">out_headers_only</a>, <a href="#cmake-out_include_dir">out_include_dir</a>,
|
|
|
|
|
<a href="#cmake-out_interface_libs">out_interface_libs</a>, <a href="#cmake-out_lib_dir">out_lib_dir</a>, <a href="#cmake-out_shared_libs">out_shared_libs</a>, <a href="#cmake-out_static_libs">out_static_libs</a>, <a href="#cmake-postfix_script">postfix_script</a>, <a href="#cmake-targets">targets</a>,
|
|
|
|
|
<a href="#cmake-tools_deps">tools_deps</a>, <a href="#cmake-working_directory">working_directory</a>)
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
Rule for building external library with CMake.
|
|
|
|
@ -87,10 +80,8 @@ Rule for building external library with CMake.
|
|
|
|
|
| <a id="cmake-additional_inputs"></a>additional_inputs | Optional additional inputs to be declared as needed for the shell script action.Not used by the shell script part in cc_external_rule_impl. | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
| <a id="cmake-additional_tools"></a>additional_tools | Optional additional tools needed for the building. Not used by the shell script part in cc_external_rule_impl. | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
| <a id="cmake-alwayslink"></a>alwayslink | Optional. if true, link all the object files from the static library, even if they are not used. | Boolean | optional | False |
|
|
|
|
|
| <a id="cmake-binaries"></a>binaries | __deprecated__: Use <code>out_binaries</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="cmake-build_args"></a>build_args | Arguments for the CMake build command | List of strings | optional | [] |
|
|
|
|
|
| <a id="cmake-cache_entries"></a>cache_entries | CMake cache entries to initialize (they will be passed with <code>-Dkey=value</code>) Values, defined by the toolchain, will be joined with the values, passed here. (Toolchain values come first) | <a href="https://bazel.build/docs/skylark/lib/dict.html">Dictionary: String -> String</a> | optional | {} |
|
|
|
|
|
| <a id="cmake-cmake_options"></a>cmake_options | __deprecated__: Use <code>generate_args</code> | List of strings | optional | [] |
|
|
|
|
|
| <a id="cmake-data"></a>data | Files needed by this rule at runtime. May list file or rule targets. Generally allows any target. | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
| <a id="cmake-defines"></a>defines | Optional compilation definitions to be passed to the dependencies of this library. They are NOT passed to the compiler, you should duplicate them in the configuration options. | List of strings | optional | [] |
|
|
|
|
|
| <a id="cmake-deps"></a>deps | Optional dependencies to be copied into the directory structure. Typically those directly required for the external building of the library/binaries. (i.e. those that the external buidl system will be looking for and paths to which are provided by the calling rule) | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
@ -98,15 +89,11 @@ Rule for building external library with CMake.
|
|
|
|
|
| <a id="cmake-env_vars"></a>env_vars | CMake environment variable values to join with toolchain-defined. For example, additional <code>CXXFLAGS</code>. | <a href="https://bazel.build/docs/skylark/lib/dict.html">Dictionary: String -> String</a> | optional | {} |
|
|
|
|
|
| <a id="cmake-generate_args"></a>generate_args | Arguments for CMake's generate command. Arguments should be passed as key/value pairs. eg: <code>["-G Ninja", "--debug-output", "-DFOO=bar"]</code>. Note that unless a generator (<code>-G</code>) argument is provided, the default generators are [Unix Makefiles](https://cmake.org/cmake/help/latest/generator/Unix%20Makefiles.html) for Linux and MacOS and [Ninja](https://cmake.org/cmake/help/latest/generator/Ninja.html) for Windows. | List of strings | optional | [] |
|
|
|
|
|
| <a id="cmake-generate_crosstool_file"></a>generate_crosstool_file | When True, CMake crosstool file will be generated from the toolchain values, provided cache-entries and env_vars (some values will still be passed as <code>-Dkey=value</code> and environment variables). If <code>CMAKE_TOOLCHAIN_FILE</code> cache entry is passed, specified crosstool file will be used When using this option to cross-compile, it is required to specify <code>CMAKE_SYSTEM_NAME</code> in the cache_entries | Boolean | optional | True |
|
|
|
|
|
| <a id="cmake-headers_only"></a>headers_only | __deprecated__: Use <code>out_headers_only</code> instead. | Boolean | optional | False |
|
|
|
|
|
| <a id="cmake-install"></a>install | If True, the <code>cmake --install</code> comand will be performed after a build | Boolean | optional | True |
|
|
|
|
|
| <a id="cmake-install_args"></a>install_args | Arguments for the CMake install command | List of strings | optional | [] |
|
|
|
|
|
| <a id="cmake-install_prefix"></a>install_prefix | __deprecated__: This field is deprecated and is no longer used. | String | optional | "" |
|
|
|
|
|
| <a id="cmake-interface_libraries"></a>interface_libraries | __deprecated__: Use <code>out_interface_libs</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="cmake-lib_name"></a>lib_name | Library name. Defines the name of the install directory and the name of the static library, if no output files parameters are defined (any of static_libraries, shared_libraries, interface_libraries, binaries_names) Optional. If not defined, defaults to the target's name. | String | optional | "" |
|
|
|
|
|
| <a id="cmake-lib_source"></a>lib_source | Label with source code to build. Typically a filegroup for the source of remote repository. Mandatory. | <a href="https://bazel.build/docs/build-ref.html#labels">Label</a> | required | |
|
|
|
|
|
| <a id="cmake-linkopts"></a>linkopts | Optional link options to be passed up to the dependencies of this library | List of strings | optional | [] |
|
|
|
|
|
| <a id="cmake-make_commands"></a>make_commands | __deprecated__: Optional hard coded commands to replace the <code>cmake --build</code> commands. It's recommended to leave this empty and use the <code>targets</code> + <code>build_args</code> attributes. | List of strings | optional | [] |
|
|
|
|
|
| <a id="cmake-out_bin_dir"></a>out_bin_dir | Optional name of the output subdirectory with the binary files, defaults to 'bin'. | String | optional | "bin" |
|
|
|
|
|
| <a id="cmake-out_binaries"></a>out_binaries | Optional names of the resulting binaries. | List of strings | optional | [] |
|
|
|
|
|
| <a id="cmake-out_headers_only"></a>out_headers_only | Flag variable to indicate that the library produces only headers | Boolean | optional | False |
|
|
|
|
@ -116,8 +103,6 @@ Rule for building external library with CMake.
|
|
|
|
|
| <a id="cmake-out_shared_libs"></a>out_shared_libs | Optional names of the resulting shared libraries. | List of strings | optional | [] |
|
|
|
|
|
| <a id="cmake-out_static_libs"></a>out_static_libs | 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 | List of strings | optional | [] |
|
|
|
|
|
| <a id="cmake-postfix_script"></a>postfix_script | Optional part of the shell script to be added after the make commands | String | optional | "" |
|
|
|
|
|
| <a id="cmake-shared_libraries"></a>shared_libraries | __deprecated__: Use <code>out_shared_libs</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="cmake-static_libraries"></a>static_libraries | __deprecated__: Use <code>out_static_libs</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="cmake-targets"></a>targets | A list of targets with in 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 | List of strings | optional | [] |
|
|
|
|
|
| <a id="cmake-tools_deps"></a>tools_deps | Optional tools to be copied into the directory structure. Similar to deps, those directly required for the external building of the library/binaries. | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
| <a id="cmake-working_directory"></a>working_directory | Working directory, with the main CMakeLists.txt (otherwise, the top directory of the lib_source label files is used.) | String | optional | "" |
|
|
|
|
@ -149,12 +134,11 @@ Rule for building CMake. Invokes bootstrap script and make install.
|
|
|
|
|
<pre>
|
|
|
|
|
configure_make(<a href="#configure_make-name">name</a>, <a href="#configure_make-additional_inputs">additional_inputs</a>, <a href="#configure_make-additional_tools">additional_tools</a>, <a href="#configure_make-alwayslink">alwayslink</a>, <a href="#configure_make-args">args</a>, <a href="#configure_make-autoconf">autoconf</a>,
|
|
|
|
|
<a href="#configure_make-autoconf_env_vars">autoconf_env_vars</a>, <a href="#configure_make-autoconf_options">autoconf_options</a>, <a href="#configure_make-autogen">autogen</a>, <a href="#configure_make-autogen_command">autogen_command</a>, <a href="#configure_make-autogen_env_vars">autogen_env_vars</a>,
|
|
|
|
|
<a href="#configure_make-autogen_options">autogen_options</a>, <a href="#configure_make-autoreconf">autoreconf</a>, <a href="#configure_make-autoreconf_env_vars">autoreconf_env_vars</a>, <a href="#configure_make-autoreconf_options">autoreconf_options</a>, <a href="#configure_make-binaries">binaries</a>,
|
|
|
|
|
<a href="#configure_make-autogen_options">autogen_options</a>, <a href="#configure_make-autoreconf">autoreconf</a>, <a href="#configure_make-autoreconf_env_vars">autoreconf_env_vars</a>, <a href="#configure_make-autoreconf_options">autoreconf_options</a>,
|
|
|
|
|
<a href="#configure_make-configure_command">configure_command</a>, <a href="#configure_make-configure_env_vars">configure_env_vars</a>, <a href="#configure_make-configure_in_place">configure_in_place</a>, <a href="#configure_make-configure_options">configure_options</a>, <a href="#configure_make-data">data</a>,
|
|
|
|
|
<a href="#configure_make-defines">defines</a>, <a href="#configure_make-deps">deps</a>, <a href="#configure_make-env">env</a>, <a href="#configure_make-headers_only">headers_only</a>, <a href="#configure_make-install_prefix">install_prefix</a>, <a href="#configure_make-interface_libraries">interface_libraries</a>, <a href="#configure_make-lib_name">lib_name</a>,
|
|
|
|
|
<a href="#configure_make-lib_source">lib_source</a>, <a href="#configure_make-linkopts">linkopts</a>, <a href="#configure_make-make_commands">make_commands</a>, <a href="#configure_make-out_bin_dir">out_bin_dir</a>, <a href="#configure_make-out_binaries">out_binaries</a>, <a href="#configure_make-out_headers_only">out_headers_only</a>,
|
|
|
|
|
<a href="#configure_make-out_include_dir">out_include_dir</a>, <a href="#configure_make-out_interface_libs">out_interface_libs</a>, <a href="#configure_make-out_lib_dir">out_lib_dir</a>, <a href="#configure_make-out_shared_libs">out_shared_libs</a>, <a href="#configure_make-out_static_libs">out_static_libs</a>,
|
|
|
|
|
<a href="#configure_make-postfix_script">postfix_script</a>, <a href="#configure_make-shared_libraries">shared_libraries</a>, <a href="#configure_make-static_libraries">static_libraries</a>, <a href="#configure_make-targets">targets</a>, <a href="#configure_make-tools_deps">tools_deps</a>)
|
|
|
|
|
<a href="#configure_make-defines">defines</a>, <a href="#configure_make-deps">deps</a>, <a href="#configure_make-env">env</a>, <a href="#configure_make-install_prefix">install_prefix</a>, <a href="#configure_make-lib_name">lib_name</a>, <a href="#configure_make-lib_source">lib_source</a>, <a href="#configure_make-linkopts">linkopts</a>, <a href="#configure_make-make_commands">make_commands</a>,
|
|
|
|
|
<a href="#configure_make-out_bin_dir">out_bin_dir</a>, <a href="#configure_make-out_binaries">out_binaries</a>, <a href="#configure_make-out_headers_only">out_headers_only</a>, <a href="#configure_make-out_include_dir">out_include_dir</a>, <a href="#configure_make-out_interface_libs">out_interface_libs</a>,
|
|
|
|
|
<a href="#configure_make-out_lib_dir">out_lib_dir</a>, <a href="#configure_make-out_shared_libs">out_shared_libs</a>, <a href="#configure_make-out_static_libs">out_static_libs</a>, <a href="#configure_make-postfix_script">postfix_script</a>, <a href="#configure_make-targets">targets</a>, <a href="#configure_make-tools_deps">tools_deps</a>)
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
Rule for building external libraries with configure-make pattern. Some 'configure' script is invoked with --prefix=install (by default), and other parameters for compilation and linking, taken from Bazel C/C++ toolchain and passed dependencies. After configuration, GNU Make is called.
|
|
|
|
@ -179,7 +163,6 @@ Rule for building external libraries with configure-make pattern. Some 'configur
|
|
|
|
|
| <a id="configure_make-autoreconf"></a>autoreconf | Set to True if 'autoreconf' should be invoked before 'configure.', currently requires 'configure_in_place' to be True. | Boolean | optional | False |
|
|
|
|
|
| <a id="configure_make-autoreconf_env_vars"></a>autoreconf_env_vars | Environment variables to be set for 'autoreconf' invocation. | <a href="https://bazel.build/docs/skylark/lib/dict.html">Dictionary: String -> String</a> | optional | {} |
|
|
|
|
|
| <a id="configure_make-autoreconf_options"></a>autoreconf_options | Any options to be put in the 'autoreconf.sh' command line. | List of strings | optional | [] |
|
|
|
|
|
| <a id="configure_make-binaries"></a>binaries | __deprecated__: Use <code>out_binaries</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="configure_make-configure_command"></a>configure_command | The name of the configuration script file, default: configure. The file must be in the root of the source directory. | String | optional | "configure" |
|
|
|
|
|
| <a id="configure_make-configure_env_vars"></a>configure_env_vars | Environment variables to be set for the 'configure' invocation. | <a href="https://bazel.build/docs/skylark/lib/dict.html">Dictionary: String -> String</a> | optional | {} |
|
|
|
|
|
| <a id="configure_make-configure_in_place"></a>configure_in_place | Set to True if 'configure' should be invoked in place, i.e. from its enclosing directory. | Boolean | optional | False |
|
|
|
|
@ -188,9 +171,7 @@ Rule for building external libraries with configure-make pattern. Some 'configur
|
|
|
|
|
| <a id="configure_make-defines"></a>defines | Optional compilation definitions to be passed to the dependencies of this library. They are NOT passed to the compiler, you should duplicate them in the configuration options. | List of strings | optional | [] |
|
|
|
|
|
| <a id="configure_make-deps"></a>deps | Optional dependencies to be copied into the directory structure. Typically those directly required for the external building of the library/binaries. (i.e. those that the external buidl system will be looking for and paths to which are provided by the calling rule) | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
| <a id="configure_make-env"></a>env | Environment variables to set during the build. <code>$(execpath)</code> macros may be used to point at files which are listed as data deps, tools_deps, or additional_tools, but unlike with other rules, these will be replaced with absolute paths to those files, because the build does not run in the exec root. No other macros are supported. | <a href="https://bazel.build/docs/skylark/lib/dict.html">Dictionary: String -> String</a> | optional | {} |
|
|
|
|
|
| <a id="configure_make-headers_only"></a>headers_only | __deprecated__: Use <code>out_headers_only</code> instead. | Boolean | optional | False |
|
|
|
|
|
| <a id="configure_make-install_prefix"></a>install_prefix | Install prefix, i.e. relative path to where to install the result of the build. Passed to the 'configure' script with --prefix flag. | String | optional | "" |
|
|
|
|
|
| <a id="configure_make-interface_libraries"></a>interface_libraries | __deprecated__: Use <code>out_interface_libs</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="configure_make-lib_name"></a>lib_name | Library name. Defines the name of the install directory and the name of the static library, if no output files parameters are defined (any of static_libraries, shared_libraries, interface_libraries, binaries_names) Optional. If not defined, defaults to the target's name. | String | optional | "" |
|
|
|
|
|
| <a id="configure_make-lib_source"></a>lib_source | Label with source code to build. Typically a filegroup for the source of remote repository. Mandatory. | <a href="https://bazel.build/docs/build-ref.html#labels">Label</a> | required | |
|
|
|
|
|
| <a id="configure_make-linkopts"></a>linkopts | Optional link options to be passed up to the dependencies of this library | List of strings | optional | [] |
|
|
|
|
@ -204,8 +185,6 @@ Rule for building external libraries with configure-make pattern. Some 'configur
|
|
|
|
|
| <a id="configure_make-out_shared_libs"></a>out_shared_libs | Optional names of the resulting shared libraries. | List of strings | optional | [] |
|
|
|
|
|
| <a id="configure_make-out_static_libs"></a>out_static_libs | 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 | List of strings | optional | [] |
|
|
|
|
|
| <a id="configure_make-postfix_script"></a>postfix_script | Optional part of the shell script to be added after the make commands | String | optional | "" |
|
|
|
|
|
| <a id="configure_make-shared_libraries"></a>shared_libraries | __deprecated__: Use <code>out_shared_libs</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="configure_make-static_libraries"></a>static_libraries | __deprecated__: Use <code>out_static_libs</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="configure_make-targets"></a>targets | 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 | List of strings | optional | ["", "install"] |
|
|
|
|
|
| <a id="configure_make-tools_deps"></a>tools_deps | Optional tools to be copied into the directory structure. Similar to deps, those directly required for the external building of the library/binaries. | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
|
|
|
|
@ -215,11 +194,10 @@ Rule for building external libraries with configure-make pattern. Some 'configur
|
|
|
|
|
## make
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
make(<a href="#make-name">name</a>, <a href="#make-additional_inputs">additional_inputs</a>, <a href="#make-additional_tools">additional_tools</a>, <a href="#make-alwayslink">alwayslink</a>, <a href="#make-args">args</a>, <a href="#make-binaries">binaries</a>, <a href="#make-data">data</a>, <a href="#make-defines">defines</a>, <a href="#make-deps">deps</a>,
|
|
|
|
|
<a href="#make-env">env</a>, <a href="#make-headers_only">headers_only</a>, <a href="#make-interface_libraries">interface_libraries</a>, <a href="#make-keep_going">keep_going</a>, <a href="#make-lib_name">lib_name</a>, <a href="#make-lib_source">lib_source</a>, <a href="#make-linkopts">linkopts</a>,
|
|
|
|
|
<a href="#make-make_commands">make_commands</a>, <a href="#make-make_env_vars">make_env_vars</a>, <a href="#make-out_bin_dir">out_bin_dir</a>, <a href="#make-out_binaries">out_binaries</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-prefix">prefix</a>,
|
|
|
|
|
<a href="#make-shared_libraries">shared_libraries</a>, <a href="#make-static_libraries">static_libraries</a>, <a href="#make-targets">targets</a>, <a href="#make-tools_deps">tools_deps</a>)
|
|
|
|
|
make(<a href="#make-name">name</a>, <a href="#make-additional_inputs">additional_inputs</a>, <a href="#make-additional_tools">additional_tools</a>, <a href="#make-alwayslink">alwayslink</a>, <a href="#make-args">args</a>, <a href="#make-data">data</a>, <a href="#make-defines">defines</a>, <a href="#make-deps">deps</a>, <a href="#make-env">env</a>,
|
|
|
|
|
<a href="#make-lib_name">lib_name</a>, <a href="#make-lib_source">lib_source</a>, <a href="#make-linkopts">linkopts</a>, <a href="#make-out_bin_dir">out_bin_dir</a>, <a href="#make-out_binaries">out_binaries</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-tools_deps">tools_deps</a>)
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
@ -234,19 +212,13 @@ Rule for building external libraries with GNU Make. GNU Make commands (make and
|
|
|
|
|
| <a id="make-additional_tools"></a>additional_tools | Optional additional tools needed for the building. Not used by the shell script part in cc_external_rule_impl. | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
| <a id="make-alwayslink"></a>alwayslink | Optional. if true, link all the object files from the static library, even if they are not used. | Boolean | optional | False |
|
|
|
|
|
| <a id="make-args"></a>args | A list of arguments to pass to the call to <code>make</code> | List of strings | optional | [] |
|
|
|
|
|
| <a id="make-binaries"></a>binaries | __deprecated__: Use <code>out_binaries</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="make-data"></a>data | Files needed by this rule at runtime. May list file or rule targets. Generally allows any target. | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
| <a id="make-defines"></a>defines | Optional compilation definitions to be passed to the dependencies of this library. They are NOT passed to the compiler, you should duplicate them in the configuration options. | List of strings | optional | [] |
|
|
|
|
|
| <a id="make-deps"></a>deps | Optional dependencies to be copied into the directory structure. Typically those directly required for the external building of the library/binaries. (i.e. those that the external buidl system will be looking for and paths to which are provided by the calling rule) | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
| <a id="make-env"></a>env | Environment variables to set during the build. <code>$(execpath)</code> macros may be used to point at files which are listed as data deps, tools_deps, or additional_tools, but unlike with other rules, these will be replaced with absolute paths to those files, because the build does not run in the exec root. No other macros are supported. | <a href="https://bazel.build/docs/skylark/lib/dict.html">Dictionary: String -> String</a> | optional | {} |
|
|
|
|
|
| <a id="make-headers_only"></a>headers_only | __deprecated__: Use <code>out_headers_only</code> instead. | Boolean | optional | False |
|
|
|
|
|
| <a id="make-interface_libraries"></a>interface_libraries | __deprecated__: Use <code>out_interface_libs</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="make-keep_going"></a>keep_going | __deprecated__: To maintain this behavior, pass <code>-k</code> to the <code>args</code> attribute when not using the <code>make_commands</code> attribute. | Boolean | optional | True |
|
|
|
|
|
| <a id="make-lib_name"></a>lib_name | Library name. Defines the name of the install directory and the name of the static library, if no output files parameters are defined (any of static_libraries, shared_libraries, interface_libraries, binaries_names) Optional. If not defined, defaults to the target's name. | String | optional | "" |
|
|
|
|
|
| <a id="make-lib_source"></a>lib_source | Label with source code to build. Typically a filegroup for the source of remote repository. Mandatory. | <a href="https://bazel.build/docs/build-ref.html#labels">Label</a> | required | |
|
|
|
|
|
| <a id="make-linkopts"></a>linkopts | Optional link options to be passed up to the dependencies of this library | List of strings | optional | [] |
|
|
|
|
|
| <a id="make-make_commands"></a>make_commands | __deprecated__: A list of hard coded bash commands for building source code. It's recommended to leave this empty and use the <code>targets</code> + <code>args</code> attributes. | List of strings | optional | [] |
|
|
|
|
|
| <a id="make-make_env_vars"></a>make_env_vars | __deprecated__: Use the <code>env</code> attribute | <a href="https://bazel.build/docs/skylark/lib/dict.html">Dictionary: String -> String</a> | optional | {} |
|
|
|
|
|
| <a id="make-out_bin_dir"></a>out_bin_dir | Optional name of the output subdirectory with the binary files, defaults to 'bin'. | String | optional | "bin" |
|
|
|
|
|
| <a id="make-out_binaries"></a>out_binaries | Optional names of the resulting binaries. | List of strings | optional | [] |
|
|
|
|
|
| <a id="make-out_headers_only"></a>out_headers_only | Flag variable to indicate that the library produces only headers | Boolean | optional | False |
|
|
|
|
@ -256,9 +228,6 @@ Rule for building external libraries with GNU Make. GNU Make commands (make and
|
|
|
|
|
| <a id="make-out_shared_libs"></a>out_shared_libs | Optional names of the resulting shared libraries. | List of strings | optional | [] |
|
|
|
|
|
| <a id="make-out_static_libs"></a>out_static_libs | 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 | List of strings | optional | [] |
|
|
|
|
|
| <a id="make-postfix_script"></a>postfix_script | Optional part of the shell script to be added after the make commands | String | optional | "" |
|
|
|
|
|
| <a id="make-prefix"></a>prefix | __deprecated__: To maintain this behavior, pass <code>PREFIX=<value></code> to the <code>args</code> attribute | String | optional | "" |
|
|
|
|
|
| <a id="make-shared_libraries"></a>shared_libraries | __deprecated__: Use <code>out_shared_libs</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="make-static_libraries"></a>static_libraries | __deprecated__: Use <code>out_static_libs</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="make-targets"></a>targets | 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 | List of strings | optional | ["", "install"] |
|
|
|
|
|
| <a id="make-tools_deps"></a>tools_deps | Optional tools to be copied into the directory structure. Similar to deps, those directly required for the external building of the library/binaries. | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
|
|
|
|
@ -307,11 +276,10 @@ Rule for defining the toolchain data of the native tools (cmake, ninja), to be u
|
|
|
|
|
## ninja
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
ninja(<a href="#ninja-name">name</a>, <a href="#ninja-additional_inputs">additional_inputs</a>, <a href="#ninja-additional_tools">additional_tools</a>, <a href="#ninja-alwayslink">alwayslink</a>, <a href="#ninja-args">args</a>, <a href="#ninja-binaries">binaries</a>, <a href="#ninja-data">data</a>, <a href="#ninja-defines">defines</a>, <a href="#ninja-deps">deps</a>,
|
|
|
|
|
<a href="#ninja-directory">directory</a>, <a href="#ninja-env">env</a>, <a href="#ninja-headers_only">headers_only</a>, <a href="#ninja-interface_libraries">interface_libraries</a>, <a href="#ninja-lib_name">lib_name</a>, <a href="#ninja-lib_source">lib_source</a>, <a href="#ninja-linkopts">linkopts</a>, <a href="#ninja-out_bin_dir">out_bin_dir</a>,
|
|
|
|
|
<a href="#ninja-out_binaries">out_binaries</a>, <a href="#ninja-out_headers_only">out_headers_only</a>, <a href="#ninja-out_include_dir">out_include_dir</a>, <a href="#ninja-out_interface_libs">out_interface_libs</a>, <a href="#ninja-out_lib_dir">out_lib_dir</a>,
|
|
|
|
|
<a href="#ninja-out_shared_libs">out_shared_libs</a>, <a href="#ninja-out_static_libs">out_static_libs</a>, <a href="#ninja-postfix_script">postfix_script</a>, <a href="#ninja-shared_libraries">shared_libraries</a>, <a href="#ninja-static_libraries">static_libraries</a>, <a href="#ninja-targets">targets</a>,
|
|
|
|
|
<a href="#ninja-tools_deps">tools_deps</a>)
|
|
|
|
|
ninja(<a href="#ninja-name">name</a>, <a href="#ninja-additional_inputs">additional_inputs</a>, <a href="#ninja-additional_tools">additional_tools</a>, <a href="#ninja-alwayslink">alwayslink</a>, <a href="#ninja-args">args</a>, <a href="#ninja-data">data</a>, <a href="#ninja-defines">defines</a>, <a href="#ninja-deps">deps</a>, <a href="#ninja-directory">directory</a>,
|
|
|
|
|
<a href="#ninja-env">env</a>, <a href="#ninja-lib_name">lib_name</a>, <a href="#ninja-lib_source">lib_source</a>, <a href="#ninja-linkopts">linkopts</a>, <a href="#ninja-out_bin_dir">out_bin_dir</a>, <a href="#ninja-out_binaries">out_binaries</a>, <a href="#ninja-out_headers_only">out_headers_only</a>,
|
|
|
|
|
<a href="#ninja-out_include_dir">out_include_dir</a>, <a href="#ninja-out_interface_libs">out_interface_libs</a>, <a href="#ninja-out_lib_dir">out_lib_dir</a>, <a href="#ninja-out_shared_libs">out_shared_libs</a>, <a href="#ninja-out_static_libs">out_static_libs</a>,
|
|
|
|
|
<a href="#ninja-postfix_script">postfix_script</a>, <a href="#ninja-targets">targets</a>, <a href="#ninja-tools_deps">tools_deps</a>)
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
Rule for building external libraries with [Ninja](https://ninja-build.org/).
|
|
|
|
@ -326,14 +294,11 @@ Rule for building external libraries with [Ninja](https://ninja-build.org/).
|
|
|
|
|
| <a id="ninja-additional_tools"></a>additional_tools | Optional additional tools needed for the building. Not used by the shell script part in cc_external_rule_impl. | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
| <a id="ninja-alwayslink"></a>alwayslink | Optional. if true, link all the object files from the static library, even if they are not used. | Boolean | optional | False |
|
|
|
|
|
| <a id="ninja-args"></a>args | A list of arguments to pass to the call to <code>ninja</code> | List of strings | optional | [] |
|
|
|
|
|
| <a id="ninja-binaries"></a>binaries | __deprecated__: Use <code>out_binaries</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="ninja-data"></a>data | Files needed by this rule at runtime. May list file or rule targets. Generally allows any target. | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
| <a id="ninja-defines"></a>defines | Optional compilation definitions to be passed to the dependencies of this library. They are NOT passed to the compiler, you should duplicate them in the configuration options. | List of strings | optional | [] |
|
|
|
|
|
| <a id="ninja-deps"></a>deps | Optional dependencies to be copied into the directory structure. Typically those directly required for the external building of the library/binaries. (i.e. those that the external buidl system will be looking for and paths to which are provided by the calling rule) | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
| <a id="ninja-directory"></a>directory | A directory to pass as the <code>-C</code> argument. The rule will always use the root directory of the <code>lib_sources</code> attribute if this attribute is not set | String | optional | "" |
|
|
|
|
|
| <a id="ninja-env"></a>env | Environment variables to set during the build. <code>$(execpath)</code> macros may be used to point at files which are listed as data deps, tools_deps, or additional_tools, but unlike with other rules, these will be replaced with absolute paths to those files, because the build does not run in the exec root. No other macros are supported. | <a href="https://bazel.build/docs/skylark/lib/dict.html">Dictionary: String -> String</a> | optional | {} |
|
|
|
|
|
| <a id="ninja-headers_only"></a>headers_only | __deprecated__: Use <code>out_headers_only</code> instead. | Boolean | optional | False |
|
|
|
|
|
| <a id="ninja-interface_libraries"></a>interface_libraries | __deprecated__: Use <code>out_interface_libs</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="ninja-lib_name"></a>lib_name | Library name. Defines the name of the install directory and the name of the static library, if no output files parameters are defined (any of static_libraries, shared_libraries, interface_libraries, binaries_names) Optional. If not defined, defaults to the target's name. | String | optional | "" |
|
|
|
|
|
| <a id="ninja-lib_source"></a>lib_source | Label with source code to build. Typically a filegroup for the source of remote repository. Mandatory. | <a href="https://bazel.build/docs/build-ref.html#labels">Label</a> | required | |
|
|
|
|
|
| <a id="ninja-linkopts"></a>linkopts | Optional link options to be passed up to the dependencies of this library | List of strings | optional | [] |
|
|
|
|
@ -346,8 +311,6 @@ Rule for building external libraries with [Ninja](https://ninja-build.org/).
|
|
|
|
|
| <a id="ninja-out_shared_libs"></a>out_shared_libs | Optional names of the resulting shared libraries. | List of strings | optional | [] |
|
|
|
|
|
| <a id="ninja-out_static_libs"></a>out_static_libs | 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 | List of strings | optional | [] |
|
|
|
|
|
| <a id="ninja-postfix_script"></a>postfix_script | Optional part of the shell script to be added after the make commands | String | optional | "" |
|
|
|
|
|
| <a id="ninja-shared_libraries"></a>shared_libraries | __deprecated__: Use <code>out_shared_libs</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="ninja-static_libraries"></a>static_libraries | __deprecated__: Use <code>out_static_libs</code> instead. | List of strings | optional | [] |
|
|
|
|
|
| <a id="ninja-targets"></a>targets | A list of targets with in 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 | List of strings | optional | [] |
|
|
|
|
|
| <a id="ninja-tools_deps"></a>tools_deps | Optional tools to be copied into the directory structure. Similar to deps, those directly required for the external building of the library/binaries. | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
|
|
|
|
|
|
|
|
|
|