Commit Graph

108 Commits

Author SHA1 Message Date
UebelAndre 3dbe409720
Removed legacy `*env_vars` attributes from `cmake` and `configure_make` rule (#675)
* Removed legacy `*env_vars` attributes from `cmake` and `configure_make` rule. Use `env` instead.

* Updated examples

* Improved variable expansion

* Fixed missing `build_data` attribute for `configure_make`

* Fix environment variable quotes

* Attempt to address quoted environment variables.

* Updated documentation
2021-06-21 08:24:34 -07:00
Attila Oláh fccd4ddaeb
Fix tool_prefix for CMake (#686)
* Fix tool_prefix for CMake.

Set the prefix before the first CMake invocation (where all the extra
flags are passed), and don't set the prefix for the `--build` and
`--install` invocations of CMake.

Fixes #685.

* Update test/cmake_text_tests.bzl

Co-authored-by: UebelAndre <github@uebelandre.com>
2021-06-16 21:55:02 +00:00
UebelAndre f11977b484
Added documentation for providers (#681) 2021-06-16 13:58:55 +00:00
UebelAndre 9932c7dbc2
Removed `make_commands` attribute and fixed `configure_make` (#671) 2021-06-16 13:09:15 +00: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
UebelAndre 497d929ec5
Added support for replacing sandbox paths in build artifacts (#650)
* Added support for replacing sandbox paths in build artifacts

* Added examples
2021-06-15 15:10:08 -07:00
UebelAndre 3b3960267c
Added `tool_prefix` attribute (#676)
* Added `build_data` attribute and deprecated `additional_inputs`, `additional_tools`, and `tool_deps`.

* Added `tool_prefix` and `configure_prefix` attributes

* Updated examples

* Fixed typo
2021-06-14 16:59:49 +00:00
UebelAndre a669422fa5
Fixed docs (#674) 2021-06-13 11:21:29 -07:00
thekyz eb72705d3d
set write permission on boost_build for INSTALL_DIR (#653)
Co-authored-by: James Sharpe <james.sharpe@zenotech.com>
2021-06-02 20:39:25 +01:00
UebelAndre beddf776f9
Fixed naming convention issues in common providers (#659) 2021-06-02 20:34:20 +01:00
UebelAndre f471bbfeb2
Updated documentation and removed the need to commit updated docs (#652) 2021-06-02 19:58:56 +01:00
UebelAndre 76198edc79
Fixed dangling symlinks in builds (#656) 2021-06-01 13:59:16 -07:00
UebelAndre 4e702ae6ea
Restrict use of `use_default_shell_env` to windows. (#647)
* Reduce the use of `use_default_shell_env` to windows

* Added helper macro for setting up the framework environment

* Apply suggestions from code review

Co-authored-by: James Sharpe <james.sharpe@zenotech.com>

* Allow action_env to take precedence over cc env

Co-authored-by: James Sharpe <james.sharpe@zenotech.com>
2021-05-18 16:40:19 +01:00
UebelAndre 66cd7dc9d4
Revert "Include `libtool` and `.nice` files when replacing sandbox paths (#644)" (#648)
This reverts commit 0859891060.
2021-05-16 22:53:04 +01:00
UebelAndre 71ebe2b3fd
Removed references to deprecated attributes (#632) 2021-05-13 14:23:02 +00:00
UebelAndre eeb267dd15
Remove the need to always generate an empty file (#646) 2021-05-12 21:16:45 +00:00
UebelAndre 0859891060
Include `libtool` and `.nice` files when replacing sandbox paths (#644) 2021-05-12 14:00:42 -07:00
UebelAndre 6b1b3655bf
Cleanup toolchain utils (#645) 2021-05-12 20:43:19 +00:00
sam-lunt f9dc5ebb0f
Build make commands from correct attribute dict (#643)
* build make commands from attrs, not ctx.attr

* do not replace all instances of make/ninja
2021-05-12 16:21:25 +01:00
James Sharpe cef5ee61ff
Set MAKE env var (#638)
* Set MAKE env var

* Update foreign_cc/private/configure_script.bzl

Co-authored-by: UebelAndre <github@uebelandre.com>

Co-authored-by: UebelAndre <andre.brisco@gmail.com>
Co-authored-by: UebelAndre <github@uebelandre.com>
2021-05-09 15:44:57 -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 32b0c10972
configure_make hard requires `configure_in_place` for certain attributes (#633) 2021-05-09 05:24:30 +00:00
UebelAndre 62fcc5f143
Fixed silent failures replacing sandbox paths in outputs (#635) 2021-05-09 06:18:25 +01:00
James Sharpe b8b88cd2d1
Add set of features to disable from the toolchain used to pass to the external build system (#631)
Co-authored-by: UebelAndre <github@uebelandre.com>
2021-05-07 08:39:57 -07:00
James Sharpe b136e6c52d
Add config for building with spawn_strategy=standalone (#603)
* Add config for building with spawn_strategy=standalone

* Always build RELEASE configuration to avoid having to select for the output due to change in artifact names for debug builds

* Fix for copy_contents_to_dir and symlink_contents_to_dir on macOS as per #512

* Update name of test files
2021-05-05 17:47:25 -07:00
UebelAndre 4eb5c5c0c2
Added a new `platform_info` target to the foreign_cc framework (#629)
* Added a new `platform_info` target to the foreign_cc framework

* Update foreign_cc/private/framework/platform.bzl

Co-authored-by: James Sharpe <james.sharpe@zenotech.com>

Co-authored-by: James Sharpe <james.sharpe@zenotech.com>
2021-05-05 21:35:54 +01:00
UebelAndre 923cd88ed4
Added new foreign_cc framework commands: (#628)
- enable_tracing
- disable_tracing
- script_extension
- shebang
2021-04-30 13:26:23 -07:00
UebelAndre 1bd2a8c547
Refactored framework to avoid polymorphism complexity (#612)
* Refactored framework to be less complex

* Deleted default commands (aka 'stale linux commands')

* Restored toolchain name
2021-04-30 17:03:32 +01:00
UebelAndre 98c88de5e0
Deleted unused tests/examples and performed some slight cleanup (#613) 2021-04-23 20:41:42 +01:00
UebelAndre a2ec6c0d26
Fixed provider name which was violating naming conventions (#620) 2021-04-23 17:11:13 +00:00
James Sharpe b66074cdd2
Add incompatible_use_toolchain_transition = True as per https://github.com/bazelbuild/bazel/issues/11584 (#617) 2021-04-19 08:01:50 -07:00
UebelAndre c734ca8446
Replaced uses of `export ` with `##export_var##` (#614) 2021-04-19 15:37:56 +01:00
Danny Wolf b6135adb24
Fix string escaping for cmake and configure/make (#567)
* Fix string escaping for cmake and configure/make

Use raw strings where possible to make readability slightly less maddening.

* Example usage of __TIME__

* Allow expansion of environment variables in HEREDOC for cmake crosstool

* Add compile check that __TIME__ is correctly redacted

* Ran buildifier

* Remove comment that is now invalid

Co-authored-by: James Sharpe <james.sharpe@zenotech.com>
2021-04-15 16:44:41 -07:00
UebelAndre 2d98051813
Removed all deprecated attributes (#600)
* Removed all deprecated attributes

* Updated documentation
2021-04-12 15:23:42 +00:00
James Sharpe 1f48d7756c
Update CMake versions (#605) 2021-04-09 07:00:16 -07:00
jheaff1 619f3881db
absolutize tool paths for (configure_)make (#593) (#601) 2021-04-08 14:39:27 -07:00
UebelAndre 2ac3b83c93
Addressed buildifier defects (#599) 2021-04-02 01:45:36 +00:00
James Sharpe 18b491b61d
Pass empty suffix to sed on macOS (#598) 2021-03-31 15:46:19 -07:00
UebelAndre 5686d0f832
built ninja tools no longer carry the entire source tree (#580) 2021-03-31 13:23:07 -07:00
David Marcin bae11c9a50
Optimize methods in detect_root.bzl (#591)
* Faster method for detecting root

* Implement filter without sort

* Add comments
2021-03-29 17:34:01 -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
James Sharpe 0379c97cb6
Built Make toolchains can now be used in RBE (#548)
* Enable more tests for RBE

* Turn off gn build for RBE

* Fix to make_simple example

* Turn off configure_with_bazel_transitive due to an issue with toolchain configuration

* Add CMAKE_MAKE_PROGRAM to generate_args

* Set CMP0074 policy for cmake to use the ZLIB_ROOT entry

* Disable libpng build on rbe

* Disable bison build on RBE

* Disable cmake_android example on RBE

* Fix typo in ZLIB_ROOT

* Reenable libpng build

* Address review comments
2021-03-28 14:01:15 -07:00
UebelAndre 46047ae15c
Set CMAKE_INSTALL_PREFIX to the actual install directory to avoid copy (#575) 2021-03-26 19:31:07 +00:00
Daniel Wagner-Hall 0a0f8fd6db
Use touch not cp -p to preserve timestamps (#583) 2021-03-25 09:01:12 -07:00
UebelAndre bf8c42f883
Ran buildifier (#581) 2021-03-22 08:13:48 -07:00
UebelAndre 07e1645dcc
Added test for ensuring docs are always appropriately updated (#576)
* Added test for ensuring docs are always appropriately updated

* Updated docs
2021-03-20 20:11:57 +00:00
UebelAndre d02390f136
Enabled error checking in the built_tools framework (#574) 2021-03-18 15:41:36 +00:00
UebelAndre d4256561fa
Fixed cmake build and target arguments (#573) 2021-03-18 15:35:55 +00:00
James Sharpe ede2c80a51
Keep lines of scripts as a list of commands until script creation (#572)
This reduced the large amount of `"\n".join()` calls
2021-03-17 14:50:25 -07:00
UebelAndre 88338f1ce6
Updated cmake docs (#571) 2021-03-17 16:31:04 +00:00
UebelAndre e4399415b8
Added "targets" API (#556)
* Added `targets` API to all existing build rules

* Updated examples

* Restore making the make toolchain always available.

* Add support for generator cmake parsing and setting CMAKE_MAKE_PROGRAM

* Cleaned up duplicate generator arguments

* Fixed cmake tests

* Updated docs

* Addressed PR feedback

* Fixed missing and incorrect generators

* Fixed `generate_args` name
2021-03-17 13:42:44 +00:00
UebelAndre eae19778d5
Update the macos `os_name` from `osx` to `macos` (#568) 2021-03-16 14:59:29 +00:00
James Sharpe 0171f55d0b
Update cfg for tools to use exec rather than host (And target in the case of additional_tools) configurations (#565) 2021-03-15 15:25:36 -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 976530d54e
Moved `make` script creation into it's own file (#560) 2021-03-15 16:00:46 +00:00
UebelAndre 83e6cf48cf
Moved `workspace_definitions.bzl` to `foreign_cc/repositories.bzl` to solve for bzl-visibility issues. (#557) 2021-03-12 09:08:13 -08:00
UebelAndre edbfa3bfa9
Restructured rules to match architecture (#555)
* Restructured rules to match architecture

* Added exports of all symbols in the deprecated location for legacy support

* Updated examples
2021-03-12 16:54:14 +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