rules_foreign_cc
0.14.0
published 1 week ago
690 stars
248 forks
33 watchers
Apache License 2.0
public
1 assets
3,359,012 downloads
311 KB
Compatability level 1
4PDrsaIiPJmpBKVl5iqihb8dGortoi0Q6iEnWRYkhmw=
Maintained byJames Sharpe
0.14.0
February 11, 2025

Using Bzlmod

  1. Enable with common --enable_bzlmod in .bazelrc.
  2. Add to your MODULE.bazel file:
bazel_dep(name = "rules_foreign_cc", version = "0.14.0")

Using WORKSPACE

Paste this snippet into your WORKSPACE.bazel file:

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "rules_foreign_cc",
    sha256 = "e0f0ebb1a2223c99a904a565e62aa285bf1d1a8aeda22d10ea2127591624866c",
    strip_prefix = "rules_foreign_cc-0.14.0",
    url = "https://github.com/bazel-contrib/rules_foreign_cc/releases/download/0.14.0/rules_foreign_cc-0.14.0.tar.gz",
)

load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies")

# This sets up some common toolchains for building targets. For more details, please see
# https://bazel-contrib.github.io/rules_foreign_cc/0.14.0/flatten.html#rules_foreign_cc_dependencies
rules_foreign_cc_dependencies()

# If you're not already using bazel_skylib, bazel_features or rules_python,
# you'll need to add these calls as well.

load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")

bazel_skylib_workspace()

load("@bazel_features//:deps.bzl", "bazel_features_deps")

bazel_features_deps()

load("@rules_python//python:repositories.bzl", "py_repositories")

py_repositories()

What's Changed

Full Changelog: https://github.com/bazel-contrib/rules_foreign_cc/compare/0.13.0...0.14.0

Deps:
Assets:

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://bazel-contrib.github.io/rules_foreign_cc/

Bazel versions compatibility

Works with Bazel after 5.4.0.

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.

Note also that the runnable_binary macro requires bazel 5.4.0, for the rlocationpath path variable

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.