mirror of
https://boringssl.googlesource.com/boringssl
synced 2026-07-21 14:43:51 +00:00
Remove old Strawberry Perl workaround
This removal is not because the underlying issue is fixed. Strawberry Perl seems uninterested in fixing this.[1] However, our workaround seems to have had some other consequences (https://crbug.com/525786169), and Perl is less hard of a requirement for us now. You still need Perl to modify parts of BoringSSL, but building BoringSSL no longer needs Perl. Given that, it is probably simplest to just stay out of the business of overwriting CMake, even if CMake gets it wrong as as result of Strawberry Perl's misbehavior. Instead, we update the documentation to: - Remove mention of ActiveState Perl or MSYS Perl. ActiveState Perl seems to require an account to download now[2]. Despite the misbehavior, perl.org points to Strawberry Perl, so let's stick to just one recommended configuration. - Recommend the portable zip of Strawberry Perl, not the MSI installer. That doesn't mess with PATH. Otherwise, leave fixing the environment to the person setting up the environment. Strawberry Perl's misbehavior seems to have all kinds of side effects, so likely our workaround wasn't sufficient for more complicated setups anyway. E.g. see [3] and [4]. Though [3] is a little worrisome. It's possible some folks' CIs will need to start passing CMAKE_IGNORE_PATH. Update-Note: BoringSSL no longer works around Strawberry Perl for you. Let us know if it turns out your setup was relying on it. [1] https://github.com/StrawberryPerl/Perl-Dist-Strawberry/issues/11 [2] https://www.reddit.com/r/perl/comments/d9gctx/activeperl_is_dead_to_me/ [3] https://github.com/actions/runner-images/issues/6627 [4] https://gitlab.kitware.com/cmake/cmake/-/work_items/23975 Fixed: 525786169 Change-Id: Ia3c9e3885e095af6fb9df15bf49a00a163d8dd51 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/97767 Auto-Submit: David Benjamin <davidben@google.com> Presubmit-BoringSSL-Verified: boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com <boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Adam Langley <agl@google.com> Commit-Queue: Adam Langley <agl@google.com>
This commit is contained in:
committed by
boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com
parent
1046f4dd7a
commit
2bbaed043e
+27
-8
@@ -222,14 +222,33 @@ results.
|
||||
|
||||
# Pre-generated Files
|
||||
|
||||
If modifying perlasm files, or `util/pregenerate/build.json`, you will need to
|
||||
run `go run ./util/pregenerate` to refresh some pre-generated files. To do this,
|
||||
you will need a recent version of Perl.
|
||||
If modifying perlasm files, `util/pregenerate/build.json`, or adding new public
|
||||
symbols, you will need to run `go run ./util/pregenerate` to refresh some
|
||||
pre-generated files. To do this, you will need:
|
||||
|
||||
On Windows, [Active State Perl](http://www.activestate.com/activeperl/) has been
|
||||
reported to work, as has MSYS Perl.
|
||||
[Strawberry Perl](http://strawberryperl.com/) also works but it adds GCC
|
||||
to `PATH`, which can confuse some build tools when identifying the compiler
|
||||
(removing `C:\Strawberry\c\bin` from `PATH` should resolve any problems).
|
||||
- The most recent stable version of [Go](https://go.dev/)
|
||||
|
||||
- A recent version of [Perl](https://www.perl.org/)
|
||||
|
||||
- A recent version of [Clang](https://clang.llvm.org/)
|
||||
|
||||
If not available in `PATH`, the `-perl=path/to/perl` and `-clang=path/to/clang`
|
||||
flags can be used to specify where Perl and Clang can be found, respectively.
|
||||
Passing an empty string (`-perl=` and `-clang=`) will skip these dependencies,
|
||||
but not all files will be regenerated. If any skipped files need to be updated,
|
||||
some of your changes may not be applied to your build, and your change may fail
|
||||
tests on our CI.
|
||||
|
||||
On non-Windows systems, Perl and Clang are either installed by default or
|
||||
readily available from package managers or Xcode.
|
||||
|
||||
On Windows, Clang can be installed from Visual Studio. Perl can be installed
|
||||
from [Strawberry Perl](https://strawberryperl.com/). Prefer to use the
|
||||
"Portable zip" version. The MSI installer will
|
||||
[add GCC to `PATH`](https://github.com/StrawberryPerl/Perl-Dist-Strawberry/issues/11),
|
||||
which can confuse some build tools when identifying the compiler. If this has
|
||||
happened, removing `C:\Strawberry\c\bin` from `PATH` should resolve any
|
||||
problems. [`CMAKE_IGNORE_PATH`](https://cmake.org/cmake/help/latest/variable/CMAKE_IGNORE_PATH.html)
|
||||
may also be useful.
|
||||
|
||||
See [gen/README.md](./gen/README.md) for more details.
|
||||
|
||||
@@ -23,12 +23,6 @@ if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR}/install CACHE PATH "" FORCE)
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
# On Windows, prefer cl over gcc if both are available. By default most of
|
||||
# the CMake generators prefer gcc, even on Windows.
|
||||
set(CMAKE_GENERATOR_CC cl)
|
||||
endif()
|
||||
|
||||
include(cmake/go.cmake)
|
||||
include(gen/sources.cmake)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user