blob: ccfa8a80abe8b658bd85e5c01187aecd75756200 [file]
# SipHash and HighwayHash: cryptographically-strong pseudorandom functions
licenses(["notice"]) # Apache 2.0
exports_files(["LICENSE"])
cc_library(
name = "code_annotation",
hdrs = [
"highwayhash/code_annotation.h",
],
includes = ["."],
visibility = ["//visibility:public"],
)
cc_library(
name = "arch_specific",
hdrs = [
"highwayhash/arch_specific.h",
],
includes = ["."],
visibility = ["//visibility:public"],
)
cc_library(
name = "vector",
hdrs = [
"highwayhash/types.h",
"highwayhash/vec.h",
"highwayhash/vec2.h",
],
includes = ["."],
visibility = ["//visibility:public"],
deps = [
":code_annotation",
],
)
cc_test(
name = "vector_test",
size = "small",
srcs = ["highwayhash/vector_test.cc"],
tags = ["manual"],
deps = [
":vector",
"//base",
"//testing/base/public:gunit_main",
],
)
cc_library(
name = "os_specific",
srcs = ["highwayhash/os_specific.cc"],
hdrs = [
"highwayhash/os_specific.h",
],
includes = ["."],
visibility = ["//visibility:public"],
deps = [
":code_annotation",
],
)
cc_library(
name = "tsc_timer",
hdrs = [
"highwayhash/tsc_timer.h",
],
includes = ["."],
visibility = ["//visibility:public"],
deps = [
":code_annotation",
":os_specific",
],
)
cc_library(
name = "profiler",
hdrs = [
"highwayhash/profiler.h",
],
includes = ["."],
visibility = ["//visibility:public"],
deps = [
":code_annotation",
":tsc_timer",
],
)
cc_binary(
name = "profiler_example",
srcs = ["highwayhash/profiler_example.cc"],
deps = [
":os_specific",
":profiler",
],
)
cc_library(
name = "nanobenchmark",
hdrs = [
"highwayhash/nanobenchmark.h",
],
includes = ["."],
visibility = ["//visibility:public"],
deps = [
":arch_specific",
":code_annotation",
":os_specific",
":tsc_timer",
],
)
cc_binary(
name = "nanobenchmark_example",
srcs = [
"highwayhash/nanobenchmark_example.cc",
],
includes = ["."],
deps = [
":nanobenchmark",
":os_specific",
],
)
cc_library(
name = "data_parallel",
hdrs = [
"highwayhash/data_parallel.h",
],
includes = ["."],
visibility = ["//visibility:public"],
)
cc_test(
name = "data_parallel_test",
size = "small",
srcs = ["highwayhash/data_parallel_test.cc"],
tags = ["manual"],
deps = [
":data_parallel",
"//base",
"//testing/base/public:gunit_main_no_google3",
],
)
cc_test(
name = "data_parallel_benchmark",
size = "small",
srcs = ["highwayhash/data_parallel_benchmark.cc"],
tags = [
"local",
"manual",
"notap",
],
deps = [
":data_parallel",
"//base",
"//testing/base/public:gunit_main_no_google3",
"//thread",
],
)
cc_library(
name = "sip_hash",
srcs = ["highwayhash/sip_hash.cc"],
hdrs = [
"highwayhash/sip_hash.h",
"highwayhash/state_helpers.h",
"highwayhash/types.h",
],
includes = ["."],
visibility = ["//visibility:public"],
deps = [
":code_annotation",
],
)
cc_library(
name = "sip_tree_hash",
srcs = ["highwayhash/sip_tree_hash.cc"],
hdrs = ["highwayhash/sip_tree_hash.h"],
includes = ["."],
visibility = ["//visibility:public"],
deps = [
":code_annotation",
":sip_hash",
":vector",
],
)
cc_library(
name = "scalar_sip_tree_hash",
srcs = ["highwayhash/scalar_sip_tree_hash.cc"],
hdrs = ["highwayhash/scalar_sip_tree_hash.h"],
includes = ["."],
deps = [
":code_annotation",
":sip_hash",
":vector",
],
)
cc_library(
name = "highway_tree_hash",
srcs = ["highwayhash/highway_tree_hash.cc"],
hdrs = [
"highwayhash/highway_tree_hash.h",
"highwayhash/state_helpers.h",
],
includes = ["."],
visibility = ["//visibility:public"],
deps = [
":code_annotation",
":vector",
],
)
cc_library(
name = "sse41_highway_tree_hash",
srcs = ["highwayhash/sse41_highway_tree_hash.cc"],
hdrs = [
"highwayhash/sse41_highway_tree_hash.h",
"highwayhash/state_helpers.h",
],
includes = ["."],
deps = [
":code_annotation",
":vector",
],
)
cc_library(
name = "scalar_highway_tree_hash",
srcs = ["highwayhash/scalar_highway_tree_hash.cc"],
hdrs = [
"highwayhash/scalar_highway_tree_hash.h",
"highwayhash/state_helpers.h",
],
includes = ["."],
deps = [
":code_annotation",
":vector",
],
)
cc_test(
name = "sip_hash_test",
size = "small",
srcs = ["highwayhash/sip_hash_test.cc"],
tags = ["manual"],
deps = [
":highway_tree_hash",
":scalar_highway_tree_hash",
":scalar_sip_tree_hash",
":sip_hash",
":sip_tree_hash",
":sse41_highway_tree_hash",
"//base",
"//testing/base/public:gunit_main",
],
)
cc_binary(
name = "sip_hash_main",
srcs = [
"highwayhash/sip_hash_main.cc",
],
includes = ["."],
deps = [
":highway_tree_hash",
":nanobenchmark",
":os_specific",
":scalar_highway_tree_hash",
":scalar_sip_tree_hash",
":sip_hash",
":sip_tree_hash",
":sse41_highway_tree_hash",
":vector",
],
)