1 # SPDX-License-Identifier: LGPL-2.1+
3 basic_sources = files('''
214 missing_audit_h = files('missing_audit.h')
215 missing_capability_h = files('missing_capability.h')
216 missing_network_h = files('missing_network.h')
217 missing_socket_h = files('missing_socket.h')
219 generate_af_list = find_program('generate-af-list.sh')
220 af_list_txt = custom_target(
222 output : 'af-list.txt',
223 command : [generate_af_list, cpp, config_h, missing_socket_h],
226 generate_arphrd_list = find_program('generate-arphrd-list.sh')
227 arphrd_list_txt = custom_target(
229 output : 'arphrd-list.txt',
230 command : [generate_arphrd_list, cpp, config_h, missing_network_h],
233 generate_cap_list = find_program('generate-cap-list.sh')
234 cap_list_txt = custom_target(
236 output : 'cap-list.txt',
237 command : [generate_cap_list, cpp, config_h, missing_capability_h],
240 generate_errno_list = find_program('generate-errno-list.sh')
241 errno_list_txt = custom_target(
243 output : 'errno-list.txt',
244 command : [generate_errno_list, cpp],
247 generated_gperf_headers = []
248 foreach item : [['af', af_list_txt, 'af', ''],
249 ['arphrd', arphrd_list_txt, 'arphrd', 'ARPHRD_'],
250 ['cap', cap_list_txt, 'capability', ''],
251 ['errno', errno_list_txt, 'errno', '']]
253 fname = '@0@-from-name.gperf'.format(item[0])
254 gperf_file = custom_target(
258 command : [generate_gperfs, item[2], item[3], '@INPUT@'],
261 fname = '@0@-from-name.h'.format(item[0])
262 target1 = custom_target(
267 '-L', 'ANSI-C', '-t', '--ignore-case',
268 '-N', 'lookup_@0@'.format(item[2]),
269 '-H', 'hash_@0@_name'.format(item[2]),
274 fname = '@0@-to-name.h'.format(item[0])
275 awkscript = '@0@-to-name.awk'.format(item[0])
276 target2 = custom_target(
278 input : [awkscript, item[1]],
280 command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
283 generated_gperf_headers += [target1, target2]
286 basic_sources += generated_gperf_headers
287 basic_gcrypt_sources = files(
291 libbasic = static_library(
294 include_directories : includes,
295 dependencies : [versiondep,
300 c_args : ['-fvisibility=default'],
303 # A convenience library that is separate from libbasic to avoid
304 # unnecessary linking to libgcrypt.
305 libbasic_gcrypt = static_library(
307 basic_gcrypt_sources,
308 include_directories : includes,
309 dependencies : [libgcrypt],
310 c_args : ['-fvisibility=default'])