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