From 58fcb5222092eba1a97421753017547d09151e31 Mon Sep 17 00:00:00 2001 From: Nishant Das Date: Fri, 13 Nov 2020 15:17:39 +0800 Subject: [PATCH] Fix Windows Builds For Blst (#7803) * checkpoint * fixWindowsBuils add transitive includes to mingw toolchain * comment Co-authored-by: SuburbanDad Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> --- shared/bls/blst/BUILD.bazel | 17 +++++++++++++++++ shared/bls/blst/aliases.go | 2 +- shared/bls/blst/bls_benchmark_test.go | 2 +- shared/bls/blst/init.go | 2 +- shared/bls/blst/public_key.go | 2 +- shared/bls/blst/public_key_test.go | 2 +- shared/bls/blst/secret_key.go | 2 +- shared/bls/blst/secret_key_test.go | 2 +- shared/bls/blst/signature.go | 2 +- shared/bls/blst/signature_test.go | 2 +- shared/bls/blst/stub.go | 6 +++--- .../cc_toolchain.BUILD.bazel.tpl | 4 ++-- .../cc_toolchain_config_windows.bzl.tpl | 6 +++++- 13 files changed, 36 insertions(+), 15 deletions(-) diff --git a/shared/bls/blst/BUILD.bazel b/shared/bls/blst/BUILD.bazel index 6b0f3604ee..e6d9d6f35b 100644 --- a/shared/bls/blst/BUILD.bazel +++ b/shared/bls/blst/BUILD.bazel @@ -25,6 +25,17 @@ config_setting( }, ) +config_setting( + name = "blst_enabled_windows_amd64", + constraint_values = [ + "@platforms//os:windows", + "@platforms//cpu:x86_64", + ], + values = { + "define": "blst_enabled=true", + }, +) + config_setting( name = "blst_enabled_linux_arm64", constraint_values = [ @@ -68,6 +79,7 @@ go_library( ":blst_enabled_linux_amd64", ":blst_enabled_linux_arm64", ":blst_enabled_darwin_amd64", + ":blst_enabled_windows_amd64", ":blst_enabled_android_amd64", ":blst_enabled_android_arm64", ): [ @@ -91,6 +103,7 @@ go_library( ":blst_enabled_linux_amd64", ":blst_enabled_linux_arm64", ":blst_enabled_darwin_amd64", + ":blst_enabled_windows_amd64", ":blst_enabled_android_amd64", ":blst_enabled_android_arm64", ): [ @@ -114,6 +127,7 @@ go_test( ":blst_enabled_linux_amd64", ":blst_enabled_linux_arm64", ":blst_enabled_darwin_amd64", + ":blst_enabled_windows_amd64", ":blst_enabled_android_amd64", ":blst_enabled_android_arm64", ): [ @@ -127,6 +141,7 @@ go_test( ":blst_enabled_linux_amd64", ":blst_enabled_linux_arm64", ":blst_enabled_darwin_amd64", + ":blst_enabled_windows_amd64", ":blst_enabled_android_amd64", ":blst_enabled_android_arm64", ): [ @@ -148,6 +163,7 @@ go_test( ":blst_enabled_linux_amd64", ":blst_enabled_linux_arm64", ":blst_enabled_darwin_amd64", + ":blst_enabled_windows_amd64", ":blst_enabled_android_amd64", ":blst_enabled_android_arm64", ): [ @@ -161,6 +177,7 @@ go_test( ":blst_enabled_linux_amd64", ":blst_enabled_linux_arm64", ":blst_enabled_darwin_amd64", + ":blst_enabled_windows_amd64", ":blst_enabled_android_amd64", ":blst_enabled_android_arm64", ): [ diff --git a/shared/bls/blst/aliases.go b/shared/bls/blst/aliases.go index 1ad30f09ef..01909db944 100644 --- a/shared/bls/blst/aliases.go +++ b/shared/bls/blst/aliases.go @@ -1,4 +1,4 @@ -// +build linux,amd64 linux,arm64 darwin,amd64 +// +build linux,amd64 linux,arm64 darwin,amd64 windows,amd64 // +build blst_enabled package blst diff --git a/shared/bls/blst/bls_benchmark_test.go b/shared/bls/blst/bls_benchmark_test.go index 8d3071a73a..7d17e0e327 100644 --- a/shared/bls/blst/bls_benchmark_test.go +++ b/shared/bls/blst/bls_benchmark_test.go @@ -1,4 +1,4 @@ -// +build linux,amd64 linux,arm64 +// +build linux,amd64 linux,arm64 darwin,amd64 windows,amd64 // +build blst_enabled package blst_test diff --git a/shared/bls/blst/init.go b/shared/bls/blst/init.go index 77e6036aaf..59d189a33f 100644 --- a/shared/bls/blst/init.go +++ b/shared/bls/blst/init.go @@ -1,4 +1,4 @@ -// +build linux,amd64 linux,arm64 darwin,amd64 +// +build linux,amd64 linux,arm64 darwin,amd64 windows,amd64 // +build blst_enabled package blst diff --git a/shared/bls/blst/public_key.go b/shared/bls/blst/public_key.go index 9e20233b2f..64cecd0242 100644 --- a/shared/bls/blst/public_key.go +++ b/shared/bls/blst/public_key.go @@ -1,4 +1,4 @@ -// +build linux,amd64 linux,arm64 darwin,amd64 +// +build linux,amd64 linux,arm64 darwin,amd64 windows,amd64 // +build blst_enabled package blst diff --git a/shared/bls/blst/public_key_test.go b/shared/bls/blst/public_key_test.go index b8fbc5dc13..8166b2fa05 100644 --- a/shared/bls/blst/public_key_test.go +++ b/shared/bls/blst/public_key_test.go @@ -1,4 +1,4 @@ -// +build linux,amd64 linux,arm64 +// +build linux,amd64 linux,arm64 darwin,amd64 windows,amd64 // +build blst_enabled package blst_test diff --git a/shared/bls/blst/secret_key.go b/shared/bls/blst/secret_key.go index 68700b71c0..a489e4ae47 100644 --- a/shared/bls/blst/secret_key.go +++ b/shared/bls/blst/secret_key.go @@ -1,4 +1,4 @@ -// +build linux,amd64 linux,arm64 darwin,amd64 +// +build linux,amd64 linux,arm64 darwin,amd64 windows,amd64 // +build blst_enabled package blst diff --git a/shared/bls/blst/secret_key_test.go b/shared/bls/blst/secret_key_test.go index 88f892c981..34e8f48b66 100644 --- a/shared/bls/blst/secret_key_test.go +++ b/shared/bls/blst/secret_key_test.go @@ -1,4 +1,4 @@ -// +build linux,amd64 linux,arm64 +// +build linux,amd64 linux,arm64 darwin,amd64 windows,amd64 // +build blst_enabled package blst_test diff --git a/shared/bls/blst/signature.go b/shared/bls/blst/signature.go index 2c32cd4fb9..4ce9f1880c 100644 --- a/shared/bls/blst/signature.go +++ b/shared/bls/blst/signature.go @@ -1,4 +1,4 @@ -// +build linux,amd64 linux,arm64 darwin,amd64 +// +build linux,amd64 linux,arm64 darwin,amd64 windows,amd64 // +build blst_enabled package blst diff --git a/shared/bls/blst/signature_test.go b/shared/bls/blst/signature_test.go index 7d1c83bbc8..4f1f2bb89d 100644 --- a/shared/bls/blst/signature_test.go +++ b/shared/bls/blst/signature_test.go @@ -1,4 +1,4 @@ -// +build linux,amd64 linux,arm64 +// +build linux,amd64 linux,arm64 darwin,amd64 windows,amd64 // +build blst_enabled package blst diff --git a/shared/bls/blst/stub.go b/shared/bls/blst/stub.go index 90593d3a39..0653cd03a1 100644 --- a/shared/bls/blst/stub.go +++ b/shared/bls/blst/stub.go @@ -1,4 +1,4 @@ -// +build windows !blst_enabled +// +build !blst_enabled package blst @@ -6,8 +6,8 @@ import ( "github.com/prysmaticlabs/prysm/shared/bls/common" ) -// This stub file exists until build issues can be resolved for windows. -const err = "blst is only supported on linux,darwin with blst_enabled gotag" +// This stub file exists until build issues can be resolved for libfuzz. +const err = "blst is only supported on linux,darwin,windows with blst_enabled gotag" // SecretKey -- stub type SecretKey struct{} diff --git a/tools/cross-toolchain/cc_toolchain.BUILD.bazel.tpl b/tools/cross-toolchain/cc_toolchain.BUILD.bazel.tpl index 5496b2889e..b61bc8bf35 100644 --- a/tools/cross-toolchain/cc_toolchain.BUILD.bazel.tpl +++ b/tools/cross-toolchain/cc_toolchain.BUILD.bazel.tpl @@ -85,8 +85,8 @@ cc_toolchain( name = "cc-mingw-amd64", all_files = ":empty", ar_files = ":empty", - as_files = ":mingw_compiler_files", - compiler_files = ":mingw_compiler_files", + as_files = ":empty", + compiler_files = ":empty", dwp_files = ":empty", linker_files = ":empty", objcopy_files = ":empty", diff --git a/tools/cross-toolchain/cc_toolchain_config_windows.bzl.tpl b/tools/cross-toolchain/cc_toolchain_config_windows.bzl.tpl index eb783208f0..69f3012d64 100644 --- a/tools/cross-toolchain/cc_toolchain_config_windows.bzl.tpl +++ b/tools/cross-toolchain/cc_toolchain_config_windows.bzl.tpl @@ -37,6 +37,7 @@ def _impl(ctx): action_configs = [] install = "/usr/x86_64-w64-mingw32/" + gcc_libpath = "/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/" bin_prefix = "/usr/bin/x86_64-w64-mingw32-" @@ -158,7 +159,10 @@ def _impl(ctx): ] cxx_builtin_include_directories = [ - install +"include" + install +"include", + gcc_libpath +"include", + gcc_libpath +"include-fixed", + "/usr/share/mingw-w64/include/" ] artifact_name_patterns = [