* 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
The macros utilise bazel "transitions" to set the `make` toolchain used
in the configure_make(), cmake() or make() rules to
a given make variant toolchain, e.g. preinstalled_nmake.
Note that the msvc constraint was removed from the
`exec_compatible_with` attribute of `preinstalled_nmake_toolchain` as
the condition is not actually met even when building with msvc. See
https://github.com/bazelbuild/bazel/issues/7730.
This will be tested in PR#729