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