jheaff1
93d7c272cc
Build make windows ( #716 )
...
* Refactor _env_prelude method to be public (589)
In an upcoming commit, the method will be used to set the PATH,
INCLUDE and LIB environment variables in Windows when building GNU
Make from source
* Build make from source on Windows (#589 )
The built_tools_framework.bzl file was modified so that the PATH,
INCLUDE and LIB environment variables are set from the C++ toolchain,
e.g. MSVC.
The PATH environment variable is prepended with the path to the
toolchain's linker, otherwise the MSYS2 linker would be used instead
of MSVC (as they are both named link.exe).
2021-07-12 07:17:18 -07:00
James Sharpe
bb2f0ab0aa
Use configure_make to build cmake. ( #588 )
...
* Add copts to framework
* Use configure_make to build cmake. Closes #584
2021-07-06 22:58:00 +01:00
James Sharpe
c41020e465
Always set use_default_shell_env=True so that action_env is propagated. ( #701 )
2021-06-28 20:13:17 +00: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
jheaff1
99ea7e75c2
Set progress message when building targets ( #697 ) ( #697 )
2021-06-23 08:32:21 -07:00
UebelAndre
a7f1c9e604
Docs are now auto-generated using mdbook ( #692 )
2021-06-22 13:10:31 -07:00
jheaff1
5663d884a2
Provide out_data_dirs attribute ( #419 ) ( #622 )
...
This change facilitates hermetic python toolchains, as demonstrated by
the test added in this commit.
2021-06-22 08:51:29 -07:00
UebelAndre
96dc580194
Updated macos `copy_dir_contents_to_dir` to behave more like other platforms ( #687 )
2021-06-22 16:14:38 +01:00
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