aboutsummaryrefslogtreecommitdiffstats
path: root/roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/BUILD
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/BUILD
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/BUILD')
-rw-r--r--roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/BUILD144
1 files changed, 144 insertions, 0 deletions
diff --git a/roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/BUILD b/roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/BUILD
new file mode 100644
index 000000000..4c9b57ac9
--- /dev/null
+++ b/roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/BUILD
@@ -0,0 +1,144 @@
+# Description:
+# Brotli is a generic-purpose lossless compression algorithm.
+
+package(
+ default_visibility = ["//visibility:public"],
+)
+
+licenses(["notice"]) # MIT
+
+exports_files(["LICENSE"])
+
+config_setting(
+ name = "darwin",
+ values = {"cpu": "darwin"},
+ visibility = ["//visibility:public"],
+)
+
+config_setting(
+ name = "darwin_x86_64",
+ values = {"cpu": "darwin_x86_64"},
+ visibility = ["//visibility:public"],
+)
+
+config_setting(
+ name = "windows",
+ values = {"cpu": "x64_windows"},
+ visibility = ["//visibility:public"],
+)
+
+config_setting(
+ name = "windows_msvc",
+ values = {"cpu": "x64_windows_msvc"},
+ visibility = ["//visibility:public"],
+)
+
+config_setting(
+ name = "windows_msys",
+ values = {"cpu": "x64_windows_msys"},
+ visibility = ["//visibility:public"],
+)
+
+load(":compiler_config_setting.bzl", "create_msvc_config")
+
+create_msvc_config()
+
+STRICT_C_OPTIONS = select({
+ ":msvc": [],
+ "//conditions:default": [
+ "--pedantic-errors",
+ "-Wall",
+ "-Wconversion",
+ "-Werror",
+ "-Wextra",
+ "-Wlong-long",
+ "-Wmissing-declarations",
+ "-Wmissing-prototypes",
+ "-Wno-strict-aliasing",
+ "-Wshadow",
+ "-Wsign-compare",
+ ],
+})
+
+filegroup(
+ name = "public_headers",
+ srcs = glob(["c/include/brotli/*.h"]),
+)
+
+filegroup(
+ name = "common_headers",
+ srcs = glob(["c/common/*.h"]),
+)
+
+filegroup(
+ name = "common_sources",
+ srcs = glob(["c/common/*.c"]),
+)
+
+filegroup(
+ name = "dec_headers",
+ srcs = glob(["c/dec/*.h"]),
+)
+
+filegroup(
+ name = "dec_sources",
+ srcs = glob(["c/dec/*.c"]),
+)
+
+filegroup(
+ name = "enc_headers",
+ srcs = glob(["c/enc/*.h"]),
+)
+
+filegroup(
+ name = "enc_sources",
+ srcs = glob(["c/enc/*.c"]),
+)
+
+cc_library(
+ name = "brotli_inc",
+ hdrs = [":public_headers"],
+ copts = STRICT_C_OPTIONS,
+ strip_include_prefix = "c/include",
+)
+
+cc_library(
+ name = "brotlicommon",
+ srcs = [":common_sources"],
+ hdrs = [":common_headers"],
+ copts = STRICT_C_OPTIONS,
+ deps = [":brotli_inc"],
+)
+
+cc_library(
+ name = "brotlidec",
+ srcs = [":dec_sources"],
+ hdrs = [":dec_headers"],
+ copts = STRICT_C_OPTIONS,
+ deps = [":brotlicommon"],
+)
+
+cc_library(
+ name = "brotlienc",
+ srcs = [":enc_sources"],
+ hdrs = [":enc_headers"],
+ copts = STRICT_C_OPTIONS,
+ linkopts = ["-lm"],
+ deps = [":brotlicommon"],
+)
+
+cc_binary(
+ name = "brotli",
+ srcs = ["c/tools/brotli.c"],
+ copts = STRICT_C_OPTIONS,
+ linkstatic = 1,
+ deps = [
+ ":brotlidec",
+ ":brotlienc",
+ ],
+)
+
+filegroup(
+ name = "dictionary",
+ srcs = ["c/common/dictionary.bin"],
+)