[M120 Migration][HBBTV] Merge track and subtitle related patches
[platform/framework/web/chromium-efl.git] / third_party / zstd / BUILD.gn
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.
4
5 config("zstd_internal_config") {
6   if (!is_debug) {
7     # Build code using -O3.
8     configs = [
9       "//build/config/compiler:no_chromium_code",
10       "//build/config/compiler:optimize_speed",
11     ]
12   }
13 }
14
15 config("zstd_hide_symbols") {
16   defines = [
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",
22   ]
23 }
24
25 source_set("headers") {
26   sources = [
27     "src/lib/zstd.h",
28     "src/lib/zstd_errors.h",
29   ]
30   configs += [ ":zstd_hide_symbols" ]
31 }
32
33 source_set("common") {
34   sources = [
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",
60   ]
61   configs -= [
62     "//build/config/compiler:chromium_code",
63     "//build/config/compiler:default_optimization",
64   ]
65   configs += [ ":zstd_hide_symbols" ]
66   configs += [ ":zstd_internal_config" ]
67   public_deps = [ ":headers" ]
68 }
69
70 source_set("decompress") {
71   sources = [
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",
79   ]
80   if (current_cpu == "x64" && !is_win) {
81     sources += [ "src/lib/decompress/huf_decompress_amd64.S" ]
82   }
83   configs -= [
84     "//build/config/compiler:chromium_code",
85     "//build/config/compiler:default_optimization",
86   ]
87   configs += [ ":zstd_hide_symbols" ]
88   configs += [ ":zstd_internal_config" ]
89   public_deps = [
90     ":common",
91     ":headers",
92   ]
93 }