Commit Graph

45 Commits

Author SHA1 Message Date
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
James Sharpe 1fb8a1ed91
Updated cmake versions (#1039) 2023-04-11 17:12:49 +00:00
James Sharpe e3699b940f
Update cmake and ninja versions (#996) 2023-02-05 20:07:54 +00:00
Keith Smiley 9acbb35691
Update buildifier (#998) 2023-01-06 19:56:01 +00:00
jheaff1 0ed27c13b1
Add toolchain executables to the PATH (#987) 2022-12-10 20:16:40 +00:00
jheaff1 2c6262f8f4
Hermetic pkg config (#979) 2022-11-09 11:54:39 +00:00
James Sharpe 78acc733fb
Add make 4.4 (#980) 2022-11-04 17:29:42 +00:00
jheaff1 ee079b7261
Fix current toolchains (#978) 2022-11-02 22:02:55 +00:00
jheaff1 52edc1c70d
Add ninja 11 to prebuilt_toolchains.py (#950) 2022-08-16 13:07:40 +01:00
James Sharpe 0cdd7132b5
Update cmake versions (#918) 2022-05-27 18:16:41 +00:00
James Sharpe f53188cb8d
Ninja 1.11.0 (#919) 2022-05-27 16:55:59 +00:00
Roman Kashitsyn 324dbd13cf
fix: expose CMAKE env variable from cmake toolchains (#911)
This change updates the definitions of cmake toolchains to expose CMAKE
environment variable that makes it easier to integrate the toolchain
with other build rules (e.g., with rules_rust).
2022-05-18 21:20:24 +00:00
James Sharpe 4aa243d4db
Fixups to use of Labels to support bzlmod (#872) 2022-04-07 16:44:38 +01:00
James Sharpe 9fc3411bb5
Add current_*_toolchain rules to allow passing current toolchain inst… (#843)
Co-authored-by: UebelAndre <github@uebelandre.com>
2022-03-14 14:06:22 +00:00
James Sharpe f54068e889
Add 3.22.2 and 3.21.5 (#875) 2022-02-20 17:06:56 -08:00
James Sharpe 5f37b4245b
CMake 3.22.1 (#841) 2022-01-01 21:46:02 +00:00
James Sharpe 3c14ef4a73
Initial bzlmod support (#839) 2022-01-01 21:07:29 +00:00
James Sharpe 26ccca83b8
Add toolchain types for autotools tools (#816) 2021-12-17 23:27:10 +00:00
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
James Sharpe 1327fa3d4c
CMake 3.21.3, 3.21.4 and 3.22.0 support (#815) 2021-11-19 00:27:40 +00:00
James Sharpe 8f6fc67384
Add cmake version 3.21.2 (#778) 2021-08-28 21:16:01 +01:00
UebelAndre 9bfb4d7da6
Added CMake 3.21.1 (#757) 2021-08-17 13:49:18 +00:00
jheaff1 2e61d9588a
Add <rule>_variant macros (#734)
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
2021-07-28 15:30:04 +01:00
Alexander Turkin 721fd85881
added cmake 3.21.0 (#726) 2021-07-19 10:04:44 +01:00
UebelAndre c95d769e30
Added a `make_toolchain`, `nmake` for `msvc` windows platforms (#724) 2021-07-18 20:46:46 +01:00
UebelAndre 6f03311e89
Added cmake 3.20.5 and all other final releases of 3.X (#698)
* Added cmake 3.20.5 and all other final releases of 3.X

* Updated built-toolchains
2021-06-28 15:22:06 +00:00
UebelAndre 0887dc8044
Added google mirror for gnu make (#693) 2021-06-21 08:14:51 -07:00
Alexander Turkin 23907e5972
update cmake to 3.20.4 (#680)
* update cmake to 3.20.4

* update cmake to 3.20.4

* update cmake to 3.20.4
2021-06-16 12:46:23 +01:00
James Sharpe 2baa2e8948
Correct configuration for native_tools_toolchain (#637) 2021-05-09 15:15:52 -07:00
James Sharpe b9685b507e
Update cmake to 3.20.2 (#636)
* Update cmake to 3.20.2

* Update docs
2021-05-09 09:17:54 -07:00
UebelAndre d9ef75e6fc
Fixed missing sha256 value for cmake v3.20.1 (#610) 2021-04-18 15:31:50 +00:00
James Sharpe 1f48d7756c
Update CMake versions (#605) 2021-04-09 07:00:16 -07:00
UebelAndre 2ac3b83c93
Addressed buildifier defects (#599) 2021-04-02 01:45:36 +00:00
UebelAndre 5686d0f832
built ninja tools no longer carry the entire source tree (#580) 2021-03-31 13:23:07 -07:00
James Sharpe 322732bef7
Add CMake 3.20.0 and 3.19.7 (#587)
* Add CMake 3.20.0 and 3.19.7

* Update docs
2021-03-28 16:04:35 -07:00
UebelAndre f48ec05fed
Fixed incorrect tool paths for windows (#561)
Co-authored-by: James Sharpe <james.sharpe@zenotech.com>
2021-03-15 10:24:49 -07:00
UebelAndre ec65e18bb5
Added a common framework for built tools (#559)
Co-authored-by: James Sharpe <james.sharpe@zenotech.com>
2021-03-15 17:17:59 +00:00
UebelAndre 43a43353ff
Moved more toolchain related rules into `./toolchains` (#541)
* Moved more toolchain related rules into `./toolchains`

* Updated toolchain locations in rules
2021-03-11 08:52:36 -08:00
UebelAndre dc49c3716c
Added architecture documentation (#544) 2021-03-09 10:49:13 -08:00
James Sharpe b7c0461a66
Fixes to cmake toolchain so it can find CMAKE_ROOT correctly (#547) 2021-03-09 07:21:10 -08:00
UebelAndre 175b29c6f7
Renamed BUILD files to BUILD.bazel (#540)
* Renamed BUILD files to BUILD.bazel

* Ran Buildifier
2021-03-03 10:08:03 -08:00
James Sharpe 03cd811f50
Fix build_make and enable other built toolchains (#521)
* Don't use deprecated targets for the preinstalled toolchains

* Add option to the repository macro for using built version of the build tools.

* Fix buildifier complaint

* Create BUILD_TMP directory when building make

* Corrections to toolchain setup for make_tool, cmake_tool and ninja_tool

* Fix path to built tools

* Attempting to fix make_tool for RBE

* Disable dependency tracking for make build

* Add cc_toolchain deps

* Add a built_toolchains.bzl file to be able to select the version to build

* Address buildifier issues

* Use geolocated mirror redirect for downloading make srcs

* Update docs
2021-03-02 08:32:31 -08:00
James Sharpe 0010a50291
Update default cmake to 3.19.6 (#522) 2021-02-24 12:51:09 -08:00
UebelAndre 5a09829838
Updated documentation (#516) 2021-02-18 22:51:11 -08:00
UebelAndre 689c96aaa7
Fetch prebuilt cmake and ninja binaries as registered default toolchains (#508)
* Added tooling for generating repositories for pre-built cmake and ninja binaries

* Generated toolchains

* Picked up fix

* Removed toolchains from http_archives and updated generator script

* Regenerated toolchains

* Updated cmake version

* Added additional constraints

* Added option for registering preinstalled toolchains

* MacOS uses universal binaries

* Fixed typo

* More constraints
2021-02-16 15:41:58 +00:00