deps,tools: add zstd 1.5.6 · nodejs/node@380a8d8
1+cxx_library(
2+name='zstd',
3+header_namespace='',
4+exported_headers=['zstd.h'],
5+visibility=['PUBLIC'],
6+deps=[
7+':common',
8+':compress',
9+':decompress',
10+':deprecated',
11+ ],
12+)
13+14+cxx_library(
15+name='compress',
16+header_namespace='',
17+visibility=['PUBLIC'],
18+exported_headers=subdir_glob([
19+ ('compress', 'zstd*.h'),
20+ ]),
21+srcs=glob(['compress/zstd*.c', 'compress/hist.c']),
22+deps=[':common'],
23+)
24+25+cxx_library(
26+name='decompress',
27+header_namespace='',
28+visibility=['PUBLIC'],
29+headers=subdir_glob([
30+ ('decompress', '*_impl.h'),
31+ ]),
32+srcs=glob(['decompress/zstd*.c']),
33+deps=[
34+':common',
35+':legacy',
36+ ],
37+)
38+39+cxx_library(
40+name='deprecated',
41+header_namespace='',
42+visibility=['PUBLIC'],
43+exported_headers=subdir_glob([
44+ ('deprecated', '*.h'),
45+ ]),
46+srcs=glob(['deprecated/*.c']),
47+deps=[':common'],
48+)
49+50+cxx_library(
51+name='legacy',
52+header_namespace='',
53+visibility=['PUBLIC'],
54+exported_headers=subdir_glob([
55+ ('legacy', '*.h'),
56+ ]),
57+srcs=glob(['legacy/*.c']),
58+deps=[':common'],
59+exported_preprocessor_flags=[
60+'-DZSTD_LEGACY_SUPPORT=4',
61+ ],
62+)
63+64+cxx_library(
65+name='zdict',
66+header_namespace='',
67+visibility=['PUBLIC'],
68+exported_headers=['zdict.h'],
69+headers=subdir_glob([
70+ ('dictBuilder', 'divsufsort.h'),
71+ ('dictBuilder', 'cover.h'),
72+ ]),
73+srcs=glob(['dictBuilder/*.c']),
74+deps=[':common'],
75+)
76+77+cxx_library(
78+name='compiler',
79+header_namespace='',
80+visibility=['PUBLIC'],
81+exported_headers=subdir_glob([
82+ ('common', 'compiler.h'),
83+ ]),
84+)
85+86+cxx_library(
87+name='cpu',
88+header_namespace='',
89+visibility=['PUBLIC'],
90+exported_headers=subdir_glob([
91+ ('common', 'cpu.h'),
92+ ]),
93+)
94+95+cxx_library(
96+name='bitstream',
97+header_namespace='',
98+visibility=['PUBLIC'],
99+exported_headers=subdir_glob([
100+ ('common', 'bitstream.h'),
101+ ]),
102+)
103+104+cxx_library(
105+name='entropy',
106+header_namespace='',
107+visibility=['PUBLIC'],
108+exported_headers=subdir_glob([
109+ ('common', 'fse.h'),
110+ ('common', 'huf.h'),
111+ ]),
112+srcs=[
113+'common/entropy_common.c',
114+'common/fse_decompress.c',
115+'compress/fse_compress.c',
116+'compress/huf_compress.c',
117+'decompress/huf_decompress.c',
118+ ],
119+deps=[
120+':debug',
121+':bitstream',
122+':compiler',
123+':errors',
124+':mem',
125+ ],
126+)
127+128+cxx_library(
129+name='errors',
130+header_namespace='',
131+visibility=['PUBLIC'],
132+exported_headers=[
133+'zstd_errors.h',
134+'common/error_private.h',
135+ ]
136+srcs=['common/error_private.c'],
137+)
138+139+cxx_library(
140+name='mem',
141+header_namespace='',
142+visibility=['PUBLIC'],
143+exported_headers=subdir_glob([
144+ ('common', 'mem.h'),
145+ ]),
146+)
147+148+cxx_library(
149+name='pool',
150+header_namespace='',
151+visibility=['PUBLIC'],
152+exported_headers=subdir_glob([
153+ ('common', 'pool.h'),
154+ ]),
155+srcs=['common/pool.c'],
156+deps=[
157+':threading',
158+':zstd_common',
159+ ],
160+)
161+162+cxx_library(
163+name='threading',
164+header_namespace='',
165+visibility=['PUBLIC'],
166+exported_headers=subdir_glob([
167+ ('common', 'threading.h'),
168+ ]),
169+srcs=['common/threading.c'],
170+exported_preprocessor_flags=[
171+'-DZSTD_MULTITHREAD',
172+ ],
173+exported_linker_flags=[
174+'-pthread',
175+ ],
176+)
177+178+cxx_library(
179+name='xxhash',
180+header_namespace='',
181+visibility=['PUBLIC'],
182+exported_headers=subdir_glob([
183+ ('common', 'xxhash.h'),
184+ ]),
185+srcs=['common/xxhash.c'],
186+exported_preprocessor_flags=[
187+'-DXXH_NAMESPACE=ZSTD_',
188+ ],
189+)
190+191+cxx_library(
192+name='zstd_common',
193+header_namespace='',
194+visibility=['PUBLIC'],
195+exported_headers=subdir_glob([
196+ ('', 'zstd.h'),
197+ ('common', 'zstd_internal.h'),
198+ ]),
199+srcs=['common/zstd_common.c'],
200+deps=[
201+':compiler',
202+':errors',
203+':mem',
204+ ],
205+)
206+207+cxx_library(
208+name='debug',
209+header_namespace='',
210+visibility=['PUBLIC'],
211+exported_headers=subdir_glob([
212+ ('common', 'debug.h'),
213+ ]),
214+srcs=['common/debug.c'],
215+)
216+217+cxx_library(
218+name='common',
219+deps=[
220+':debug',
221+':bitstream',
222+':compiler',
223+':cpu',
224+':entropy',
225+':errors',
226+':mem',
227+':pool',
228+':threading',
229+':xxhash',
230+':zstd_common',
231+ ]
232+)