2
0
Fork 0
mirror of https://github.com/bazel-contrib/rules_foreign_cc synced 2024-11-28 08:43:26 +00:00
Commit graph

430 commits

Author SHA1 Message Date
Keith Smiley 4ee863c1fc
Fix building without sandboxing (#769)
Since 466c32c70f any changes you made
while testing rules_foreign_cc, or changes to those rules, would not
invalidate the CMakeCache.txt and lead to build issues. It wasn't the
case before that because new temp dirs were used each time.
2021-08-20 09:33:10 +01:00
UebelAndre be72696944
Added support for Visual Studio 2022 (#758) 2021-08-18 13:07:49 +00:00
jheaff1 776f199f5d
Add log4cxx example to CI (#762)
Co-authored-by: UebelAndre <github@uebelandre.com>
2021-08-18 06:00:17 -07:00
David Marcin 3f61e246a3
Pass all tags to execution_requirements (#765) 2021-08-18 10:21:17 +01:00
UebelAndre 6d5dbf02f7
Move more example build config into example BUILD files (#763) 2021-08-17 14:05:12 +00:00
UebelAndre 9bfb4d7da6
Added CMake 3.21.1 (#757) 2021-08-17 13:49:18 +00:00
jheaff1 4febcea0b6
add expat dep to apr_util build (#750) (#753)
The build of apr_util would previously fail if expat libs and headers
were not preinstalled in the build environment.
2021-08-17 13:19:51 +00:00
UebelAndre e949e77629
Temporarily disable broken windows targets (#764) 2021-08-17 06:08:28 -07:00
jheaff1 f01fd353ee
Build apr for MSVC on Windows (#743) 2021-08-05 19:40:20 +01:00
jheaff1 3b72ab3468
Re-add setting of PREFIX variable in make invocation (#751) 2021-08-03 06:11:07 -07:00
UebelAndre db153c65c3
Added 0.5.1 docs (#748) 2021-07-30 14:35:21 +00:00
UebelAndre eb56038baa
Release 0.5.1 (#747) 2021-07-30 07:30:59 -07:00
UebelAndre 86979c9ece
Fix missing parameter (#746) 2021-07-30 09:09:06 +01:00
UebelAndre 4b024daf42
Updated 0.5.0 docs (#741) 2021-07-29 14:34:12 +00:00
UebelAndre 5accf6c25d
Release 0.5.0 (#740) 2021-07-29 14:30:52 +00:00
jheaff1 1cc0f074f4
Remove "GNU" prefix to Make (#744) 2021-07-29 06:13:26 -07:00
James Sharpe bad4ab0c3d
Fix quoting for cmake (#703) 2021-07-28 18:12:53 +01:00
UebelAndre 2eb510b5c6
Added <rule>_variant rules to docs (#739) 2021-07-28 09:18:48 -07:00
UebelAndre 3d97bed4a2
Added Google mirrors for new openssl repositories (#738) 2021-07-28 09:00:48 -07:00
UebelAndre bf6d54c470
Updated version of openssl (#737) 2021-07-28 15:46:08 +00:00
jheaff1 5163c3cec8
Build OpenSSL using MSVC toolchain on Windows (#729)
* build OpenSSL using MSVC toolchain on Windows

* Display lib name in progress message

Before this commit, when building OpenSSL using MSVC, the progress
message would display "Building openssl_msvc_".

After this commit, the progess message would display
"Building openssl".

* Add test to verify linkage with OpenSSL libs

* Add test to verify linkage with Curl libs

Note that linker errors occur in applications that link with libssl
and libcrypto if libcrypto comes before libssl on the linker
command-line. Swapping the order of libcrypto and libssl in
BUILD.openssl.bazel resolved the issue.
2021-07-28 08:13:03 -07: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
jheaff1 b51f25ee62
Prepend user-specified PATH to existing PATH (#733)
If a user specifies a PATH value as part of an `env` attribute, the
value will be prepended to the existing PATH.

An example requirement for this change is that the MSVC build of
OpenSSL requires that the Netwide Assembler (NASM) must be on the
PATH.
2021-07-22 20:30:25 +01:00
jheaff1 c7330faee5
Wrap tool paths that contain whitespaces in quotes (#732)
This change is required when using the MSVC toolchain on Windows,
as paths for tools such as the compiler contain whitespaces (e.g.
C:\Program Files\...)

Co-authored-by: UebelAndre <github@uebelandre.com>
2021-07-20 16:44:33 +00:00
jheaff1 919d65bb06
Convert MSVC flags by replacing slashes with dashes (#731)
* Convert MSVC flags by replacing slashes with dashes

This overcomes bugs in MSYS2 where leading slashes are converted to
paths, e.g. "/nologo" is converted to "C:\msys64\nologo".

This commit would modify the flag to become "-nologo". MSVC supports
both slashes and dashes for flags.

* Update foreign_cc/private/cc_toolchain_util.bzl

Co-authored-by: UebelAndre <github@uebelandre.com>
2021-07-20 16:42:29 +00:00
UebelAndre 41f24f3a2f
Added consistent use of expand_locations to all rules. (#722)
* Added consistent use of `expand_locations` to all rules.

* Use variable expansion syntax from the framework.
2021-07-19 19:44:21 +00:00
UebelAndre 82ec80e810
Updated code owners file (#688)
Co-authored-by: James Sharpe <james.sharpe@zenotech.com>
2021-07-19 18:43:46 +00:00
James Sharpe a09b0954d4
Add missing includes for std::runtime_error (#728) 2021-07-19 18:40:31 +00:00
UebelAndre f9885a8066
Updated common deps attribute to require CcInfo in targets (#723) 2021-07-19 10:59:01 -07: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 32e222aeff
Enable more examples tests on windows (#718)
* Enable examples tests on windows

* Fixed windows absolute paths being treated as relative.

* Escape windows backslashes for sed replacement

* Improve `//cmake_hello_world_lib/static:libhello` example
2021-07-14 09:37:35 -07:00
UebelAndre 821d1efd24
Fixed build badge in docs. (#719) 2021-07-12 07:43:46 -07:00
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
Philipp Wollermann 6d1d16d3bb
Remove ubuntu1604 from presubmit.yml (#706)
Ubuntu 16.04 is end-of-life, we're going to remove it from Bazel CI.
2021-06-30 20:09:55 -07: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 2caf8db522
Fixed docs root and added link for 0.4.0 docs (#704) 2021-06-28 10:50:13 -07: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 8c20dfa264
Updated docs to be more appropriate when viewing main (#696) 2021-06-22 18:44:14 -07:00
UebelAndre 2c35d7361f
Fixed ability to generate docs (#695) 2021-06-22 20:26:07 +00:00
UebelAndre 5d1cdeba82
Add 0.4.0 docs (#694) 2021-06-22 20:17:59 +00:00
UebelAndre a7f1c9e604
Docs are now auto-generated using mdbook (#692) 2021-06-22 13:10:31 -07:00
UebelAndre 4a3b072f76
prep release 0.4.0 (#683) 2021-06-22 09:05:55 -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
UebelAndre 0887dc8044
Added google mirror for gnu make (#693) 2021-06-21 08:14:51 -07:00
UebelAndre 63305da85d Set theme jekyll-theme-midnight 2021-06-20 15:29:46 -07:00