-
Notifications
You must be signed in to change notification settings - Fork 15.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix MinGW-w64 build issues. #8286
Conversation
Fix for Windows build with MinGW-w64 compiler. Windows is assumed to always be little endian.
Fix for Windows build with MinGW-w64 compiler which has __has_attribute but has issues with __attribute__((weak)).
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here with What to do if you already signed the CLAIndividual signers
Corporate signers
ℹ️ Googlers: Go here for more info. |
This comment has been minimized.
This comment has been minimized.
Thanks, @brechtsanders. |
This includes a fix for builds on Windows using mingw. See protocolbuffers/protobuf#8286
- Adds windows to the bindist pipeline os-matrix. - Specify bash as the shell for the pipeline actions. (Default on Windows would be powershell) - Extend start script to support Windows. - Add CI tag filters to disable unsupported tests on Windows. - A `sh_test`s name must have an extension matching that of `srcs`. ``` ERROR: D:/a/rules_haskell/rules_haskell/tests/BUILD.bazel:134:8: in sh_test rule //tests:test-binary-with-data: Source file is a Windows executable file, target name extension should match source file extension ``` - Use `rule_test_exe` instead of `rule_test` where appropriate. - Disable stack_snapshot lock files on Windows They were pinned on Linux and contain platform specific dependencies, e.g. `unix`. - Update protobuf to 3.15.1 This includes a fix for builds on Windows using mingw. See protocolbuffers/protobuf#8286 - Skip c2hs tests on Windows - Disable tests requiring nm `nm` is not in default `PATH` in Windows. We could obtain it either via `$(NM)` make variable or directl from the `CcToolchainInfo`. - Skip solib test on Windows - Skip runfiles-tree test on Windows - Disable haddock tests on Windows The haddock wrapper needs to be converted to a `sh_binary`. - Skip cabal library test on Windows Bazel builds are not sandboxed on Windows. These tests fail because both Cabal files are visible in the same build actions. - Remove libz.dll.a in GHC bindist, similar to other .dll.a libs. - Disable haskell_import test on Windows - Skip test on Windows that needs rlocation These can be fixed later on by using rlocation instead of expecting files to be available under a hard-coded relative path. - Skip proto test on Windows
See #8049