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