1 # Copyright 2023 The Chromium Authors
2 # Use of this source code is governed by a BSD - style license that can be
3 # found in the LICENSE file.
5 config("zstd_internal_config") {
7 # Build code using -O3.
9 "//build/config/compiler:no_chromium_code",
10 "//build/config/compiler:optimize_speed",
15 config("zstd_hide_symbols") {
17 "ZSTDLIB_STATIC_API=ZSTDLIB_HIDDEN",
18 "ZDICTLIB_STATIC_API=ZDICTLIB_HIDDEN",
19 "ZSTDLIB_VISIBLE=ZSTDLIB_HIDDEN",
20 "ZSTDERRORLIB_VISIBLE=ZSTDERRORLIB_HIDDEN",
21 "ZDICTLIB_VISIBLE=ZDICTLIB_HIDDEN",
25 source_set("headers") {
28 "src/lib/zstd_errors.h",
30 configs += [ ":zstd_hide_symbols" ]
33 source_set("common") {
35 "src/lib/common/allocations.h",
36 "src/lib/common/bits.h",
37 "src/lib/common/bitstream.h",
38 "src/lib/common/compiler.h",
39 "src/lib/common/cpu.h",
40 "src/lib/common/debug.c",
41 "src/lib/common/debug.h",
42 "src/lib/common/entropy_common.c",
43 "src/lib/common/error_private.c",
44 "src/lib/common/error_private.h",
45 "src/lib/common/fse.h",
46 "src/lib/common/fse_decompress.c",
47 "src/lib/common/huf.h",
48 "src/lib/common/mem.h",
49 "src/lib/common/pool.c",
50 "src/lib/common/pool.h",
51 "src/lib/common/portability_macros.h",
52 "src/lib/common/threading.c",
53 "src/lib/common/threading.h",
54 "src/lib/common/xxhash.c",
55 "src/lib/common/xxhash.h",
56 "src/lib/common/zstd_common.c",
57 "src/lib/common/zstd_deps.h",
58 "src/lib/common/zstd_internal.h",
59 "src/lib/common/zstd_trace.h",
62 "//build/config/compiler:chromium_code",
63 "//build/config/compiler:default_optimization",
65 configs += [ ":zstd_hide_symbols" ]
66 configs += [ ":zstd_internal_config" ]
67 public_deps = [ ":headers" ]
70 source_set("decompress") {
72 "src/lib/decompress/huf_decompress.c",
73 "src/lib/decompress/zstd_ddict.c",
74 "src/lib/decompress/zstd_ddict.h",
75 "src/lib/decompress/zstd_decompress.c",
76 "src/lib/decompress/zstd_decompress_block.c",
77 "src/lib/decompress/zstd_decompress_block.h",
78 "src/lib/decompress/zstd_decompress_internal.h",
80 if (current_cpu == "x64" && !is_win) {
81 sources += [ "src/lib/decompress/huf_decompress_amd64.S" ]
84 "//build/config/compiler:chromium_code",
85 "//build/config/compiler:default_optimization",
87 configs += [ ":zstd_hide_symbols" ]
88 configs += [ ":zstd_internal_config" ]