Skip to content
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

Merged
merged 2 commits into from
Feb 12, 2021
Merged

Fix MinGW-w64 build issues. #8286

merged 2 commits into from
Feb 12, 2021

Conversation

brechtsanders
Copy link
Contributor

See #8049

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)).
@google-cla
Copy link

google-cla bot commented Feb 11, 2021

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 @googlebot I signed it! and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers

ℹ️ Googlers: Go here for more info.

@brechtsanders

This comment has been minimized.

@google-cla google-cla bot added cla: yes and removed cla: no labels Feb 11, 2021
@acozzette acozzette merged commit aee143a into protocolbuffers:master Feb 12, 2021
@acozzette
Copy link
Member

Thanks, @brechtsanders.

aherrmann added a commit to tweag/rules_haskell that referenced this pull request Feb 23, 2021
This includes a fix for builds on Windows using mingw.
See protocolbuffers/protobuf#8286
aherrmann added a commit to tweag/rules_haskell that referenced this pull request Feb 23, 2021
- 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants