# This file is licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
package(
default_visibility = ["//visibility:public"],
# BSD/MIT-like license (for zstd)
licenses = ["notice"],
)
bool_flag(
name = "llvm_enable_zstd",
build_setting_default = True,
)
config_setting(
name = "llvm_zstd_enabled",
flag_values = {":llvm_enable_zstd": "true"},
)
cc_library(
name = "zstd",
srcs = select({
":llvm_zstd_enabled": glob([
"lib/common/*.c",
"lib/common/*.h",
"lib/compress/*.c",
"lib/compress/*.h",
"lib/decompress/*.c",
"lib/decompress/*.h",
"lib/decompress/*.S",
"lib/dictBuilder/*.c",
"lib/dictBuilder/*.h",
]),
"//conditions:default": [],
}),
hdrs = select({
":llvm_zstd_enabled": [
"lib/zdict.h",
"lib/zstd.h",
"lib/zstd_errors.h",
],
"//conditions:default": [],
}),
defines = select({
":llvm_zstd_enabled": [
"LLVM_ENABLE_ZSTD=1",
"ZSTD_MULTITHREAD",
],
"//conditions:default": [],
}),
strip_include_prefix = "lib",
)