mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-15 02:18:34 -05:00
A try to #14524 without using the syso files --------- Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
91 lines
2.6 KiB
Diff
91 lines
2.6 KiB
Diff
diff -urN a/BUILD.bazel b/BUILD.bazel
|
|
--- a/BUILD.bazel 1969-12-31 18:00:00.000000000 -0600
|
|
+++ b/BUILD.bazel 2025-01-05 12:00:00.000000000 -0600
|
|
@@ -0,0 +1,86 @@
|
|
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
|
+
|
|
+go_library(
|
|
+ name = "go_default_library",
|
|
+ srcs = [
|
|
+ "bindings.go",
|
|
+ "sha256_1_generic.go",
|
|
+ ] + select({
|
|
+ "@io_bazel_rules_go//go/platform:linux_amd64": [
|
|
+ "bindings_amd64.go",
|
|
+ "wrapper_linux_amd64.s",
|
|
+ ":hashtree_amd64_syso",
|
|
+ ],
|
|
+ "@io_bazel_rules_go//go/platform:windows_amd64": [
|
|
+ "bindings_amd64.go",
|
|
+ "wrapper_windows_amd64.s",
|
|
+ ":hashtree_amd64_syso",
|
|
+ ],
|
|
+ "@io_bazel_rules_go//go/platform:linux_arm64": [
|
|
+ "bindings_arm64.go",
|
|
+ "wrapper_arm64.s",
|
|
+ ":hashtree_arm64_syso",
|
|
+ ],
|
|
+ "@io_bazel_rules_go//go/platform:darwin_arm64": [
|
|
+ "bindings_arm64.go",
|
|
+ "wrapper_arm64.s",
|
|
+ ":hashtree_arm64_syso",
|
|
+ ],
|
|
+ "@io_bazel_rules_go//go/platform:darwin_amd64": [
|
|
+ "bindings_darwin_amd64.go",
|
|
+ ],
|
|
+ "//conditions:default": [],
|
|
+ }),
|
|
+ importpath = "github.com/OffchainLabs/hashtree",
|
|
+ visibility = ["//visibility:public"],
|
|
+ deps = ["@com_github_klauspost_cpuid_v2//:go_default_library"],
|
|
+)
|
|
+
|
|
+genrule(
|
|
+ name = "hashtree_arm64_syso",
|
|
+ srcs = [":hashtree_arm64"],
|
|
+ outs = ["hashtree_arm64.syso"],
|
|
+ cmd = "cp $(location :hashtree_arm64) $@",
|
|
+)
|
|
+
|
|
+genrule(
|
|
+ name = "hashtree_amd64_syso",
|
|
+ srcs = [":hashtree_amd64"],
|
|
+ outs = ["hashtree_amd64.syso"],
|
|
+ cmd = "cp $(location :hashtree_amd64) $@",
|
|
+)
|
|
+
|
|
+cc_library(
|
|
+ name = "hashtree_arm64",
|
|
+ srcs = [
|
|
+ "src/hashtree.c",
|
|
+ "src/sha256_generic.c",
|
|
+ "src/sha256_armv8_crypto.S",
|
|
+ "src/sha256_armv8_neon_x1.S",
|
|
+ "src/sha256_armv8_neon_x4.S",
|
|
+ ],
|
|
+ hdrs = ["src/hashtree.h"],
|
|
+ copts = ["-O3", "-Wall"],
|
|
+ linkstatic = True,
|
|
+ strip_include_prefix = "src",
|
|
+ visibility = ["//visibility:public"],
|
|
+)
|
|
+
|
|
+cc_library(
|
|
+ name = "hashtree_amd64",
|
|
+ srcs = [
|
|
+ "src/hashtree.c",
|
|
+ "src/sha256_generic.c",
|
|
+ "src/sha256_avx_x1.S",
|
|
+ "src/sha256_avx_x4.S",
|
|
+ "src/sha256_avx_x8.S",
|
|
+ "src/sha256_avx_x16.S",
|
|
+ "src/sha256_shani.S",
|
|
+ "src/sha256_sse_x1.S",
|
|
+ ],
|
|
+ hdrs = ["src/hashtree.h"],
|
|
+ copts = ["-O3", "-Wall", "-fno-integrated-as"],
|
|
+ linkstatic = True,
|
|
+ strip_include_prefix = "src",
|
|
+ visibility = ["//visibility:public"],
|
|
+)
|