rules_foreign_cc/toolchains
jheaff1 3cbd0a9938
Add meson support (#986)
* Add meson support

* Modify zlib to be detected via pkgconfig in dependent rules

* Modify zlib and expat to be linked to shared libs in dependent rules

* Add example usage of Meson rule

This commit adds the glib library to the "examples" build. glib requires
pcre2, so pcre and libgit2 (a dependent of pcre) have been
updated/modified

* Add example usage of meson_with_requirements macro

This commit adds mesa to the "examples" build.

This commit also changes the "examples" build to use the hermetic python
toolchain provided by rules_foreign_cc. As such, the python toolchain
built by rules_foreign_cc is no longer used, as it cannot be used in
workspace rules, .e.g pip_parse(). As such, the python2 build has been
removed from the examples as python2 is end-of-life.

Until Bazel 4.2.0, the built-in android toolchain required Python 2. As
such the minimum supported version has been upversioned to 4.2.0.

Note that the BAZEL_VC env var was removed from CI as mesa requires MSVC
2019.

* Set visibility for each target in foreign_cc_rule_variant

* Apply formatting changes

* Get meson examples working with bzlmod

Note that a newer version of pkgconfig than that installed in ubuntu 20
must be used to build libxau, therefore the built_pkgconfig_toolchain is
now registered
2023-06-09 11:29:12 +01:00
..
native_tools Add meson support (#986) 2023-06-09 11:29:12 +01:00
BUILD.bazel Add meson support (#986) 2023-06-09 11:29:12 +01:00
README.md Added architecture documentation (#544) 2021-03-09 10:49:13 -08:00
built_toolchains.bzl Add meson support (#986) 2023-06-09 11:29:12 +01:00
cmake_versions.bzl Updated cmake versions (#1039) 2023-04-11 17:12:49 +00:00
make-reproducible-bootstrap.patch Bootstrap make reproducibly (#817) 2021-11-30 15:58:53 +00:00
pkgconfig-detectenv.patch Hermetic pkg config (#979) 2022-11-09 11:54:39 +00:00
pkgconfig-makefile-vc.patch Hermetic pkg config (#979) 2022-11-09 11:54:39 +00:00
prebuilt_toolchains.bzl Updated cmake versions (#1039) 2023-04-11 17:12:49 +00:00
prebuilt_toolchains.py Updated cmake versions (#1039) 2023-04-11 17:12:49 +00:00
prebuilt_toolchains_repository.bzl Moved more toolchain related rules into `./toolchains` (#541) 2021-03-11 08:52:36 -08:00
toolchains.bzl Add meson support (#986) 2023-06-09 11:29:12 +01:00

README.md

Rules Foreign CC Toolchains

This package contains implementations for toolchains required for the supported build systems.

Built Toolchains

These toolchains are for build tools that are built from source.

PreBuilt Toolchains

These toolchains are for build tools that are built and stored at some remote site and downloaded when required by any target currently in the build graph.

PreInstalled Toolchains

These toolchains are for build tools already installed on the host.