Skip to content

Commit

Permalink
Add BLAKE3 source code to third_party
Browse files Browse the repository at this point in the history
Partial commit for third_party/*, see bazelbuild#18682.

Signed-off-by: Sunil Gowroji <[email protected]>
  • Loading branch information
tylerwilliams authored and sgowroji committed Jun 18, 2023
1 parent 38ce7e1 commit 0ff4f6d
Showing 1 changed file with 83 additions and 0 deletions.
83 changes: 83 additions & 0 deletions third_party/blake3/blake3.BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
load("@rules_license//rules:license.bzl", "license")
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")

licenses(["notice"]) # BSD/MIT-like license

exports_files(["LICENSE"])

license(
name = "license",
package_name = "blake3",
license_kinds = [
"@rules_license//licenses/spdx:Apache-2.0",
],
license_text = "LICENSE",
package_version = "1.3.3",
)

filegroup(
name = "srcs",
srcs = glob(["**"]),
visibility = ["//third_party:__pkg__"],
)

cc_library(
name = "blake3",
srcs = [
"c/blake3.c",
"c/blake3_dispatch.c",
"c/blake3_portable.c",
] + select({
"@bazel_tools//src/conditions:linux_x86_64": [
"c/blake3_avx2_x86-64_unix.S",
"c/blake3_avx512_x86-64_unix.S",
"c/blake3_sse2_x86-64_unix.S",
"c/blake3_sse41_x86-64_unix.S",
],
"@bazel_tools//src/conditions:windows_x64": [
"c/blake3_avx2_x86-64_windows_msvc.asm",
"c/blake3_avx512_x86-64_windows_msvc.asm",
"c/blake3_sse2_x86-64_windows_msvc.asm",
"c/blake3_sse41_x86-64_windows_msvc.asm",
],
"@bazel_tools//src/conditions:darwin_arm64": [
"c/blake3_neon.c",
],
"//conditions:default": [],
}),
hdrs = [
"c/blake3.h",
"c/blake3_impl.h",
],
copts = select({
"@bazel_tools//src/conditions:linux_x86_64": [],
"@bazel_tools//src/conditions:windows_x64": [],
"@bazel_tools//src/conditions:darwin_arm64": [
"-DBLAKE3_USE_NEON=1",
],
"//conditions:default": [
"-DBLAKE3_NO_SSE2",
"-DBLAKE3_NO_SSE41",
"-DBLAKE3_NO_AVX2",
"-DBLAKE3_NO_AVX512",
],
}),
includes = ["."],
visibility = ["//visibility:public"],
)

cc_binary(
name = "example",
srcs = [
"c/example.c",
],
copts = [
"-w",
"-O3",
],
includes = ["."],
visibility = ["//visibility:public"],
deps = [
":blake3",
],
)

0 comments on commit 0ff4f6d

Please sign in to comment.