Build rules for interfacing with "foreign" (non-Bazel) build systems (CMake, configure-make, GNU Make, boost, ninja, Meson) https://bazel-contrib.github.io/rules_foreign_cc/
Go to file
Fabian Meumertzheim 0cf751c053
Bootstrap make reproducibly (#817)
* Make cc_toolchain_utils.bzl more reusable

By using getattr, the helper functions in this file can be reused in
rules that do not define all of the framework attributes, e.g. bootstrap
rules.

* Bootstrap make reproducibly on Linux and macOS

Uses the Bazel C/C++ toolchain to bootstrap make and ensure that the
resulting binary contains no absolute and thus non-hermetic paths.

Building make reproducibly helps with remote caching and removes the
dependency on a C compiler installed on the host.
2021-11-30 15:58:53 +00:00
.bazelci Update min tested Bazel version to 4.0.0 (#802) 2021-10-19 09:15:00 -07:00
.github Adds toolchain for freebsd. (#794) 2021-11-29 10:54:06 +00:00
docs Adds toolchain for freebsd. (#794) 2021-11-29 10:54:06 +00:00
examples Adds toolchain for freebsd. (#794) 2021-11-29 10:54:06 +00:00
foreign_cc Bootstrap make reproducibly (#817) 2021-11-30 15:58:53 +00:00
test Adds toolchain for freebsd. (#794) 2021-11-29 10:54:06 +00:00
toolchains Bootstrap make reproducibly (#817) 2021-11-30 15:58:53 +00:00
.bazelignore
.gitignore
.pre-commit-config.yaml chore: setup a buildifier pre-commit hook (#661) 2021-06-03 13:30:26 -07:00
ARCHITECTURE.md
AUTHORS
BUILD.bazel
CODEOWNERS Updated code owners file (#688) 2021-07-19 18:43:46 +00:00
CONTRIBUTING.md chore: setup a buildifier pre-commit hook (#661) 2021-06-03 13:30:26 -07:00
LICENSE
NEWS.md
README.md Adds toolchain for freebsd. (#794) 2021-11-29 10:54:06 +00:00
WORKSPACE.bazel
version.bzl Release 0.6.0 (#784) 2021-09-13 09:21:24 -07:00

README.md

rules_foreign_cc

Build status

Rules for building C/C++ projects using foreign build systems inside Bazel projects.

This is not an officially supported Google product (meaning, support and/or new releases may be limited.)

Documentation

Documentation for all rules and providers are available at: https://bazelbuild.github.io/rules_foreign_cc/

Bazel versions compatibility

Works with Bazel after 4.0.0 without any flags.

Note that the rules may be compatible with older versions of Bazel but support may break in future changes as these older versions are not tested.

News

For more generalized updates, please see NEWS.md or checkout the release notes of current or previous releases

Design document

External C/C++ libraries rules

Caveats

  • FreeBSD support is currently experimental and on a best-effort basis. Google currently doesn't have a CI test environment for FreeBSD, but please make your voice heard by upvoting this issue.