1 # SPDX-License-Identifier: LGPL-2.1-or-later
3 basic_sources = files('''
116 linux/netfilter/nf_tables.h
117 linux/netfilter/nfnetlink.h
267 missing_audit_h = files('missing_audit.h')
268 missing_capability_h = files('missing_capability.h')
269 missing_socket_h = files('missing_socket.h')
271 missing_syscall_def_h = files('missing_syscall_def.h')
272 basic_sources += missing_syscall_def_h
274 generate_af_list = find_program('generate-af-list.sh')
275 af_list_txt = custom_target(
277 output : 'af-list.txt',
278 command : [generate_af_list, cpp, config_h, missing_socket_h],
281 generate_arphrd_list = find_program('generate-arphrd-list.sh')
282 arphrd_list_txt = custom_target(
284 output : 'arphrd-list.txt',
285 command : [generate_arphrd_list, cpp, config_h],
288 generate_cap_list = find_program('generate-cap-list.sh')
289 cap_list_txt = custom_target(
291 output : 'cap-list.txt',
292 command : [generate_cap_list, cpp, config_h, missing_capability_h],
295 generate_errno_list = find_program('generate-errno-list.sh')
296 errno_list_txt = custom_target(
298 output : 'errno-list.txt',
299 command : [generate_errno_list, cpp],
302 generated_gperf_headers = []
303 foreach item : [['af', af_list_txt, 'af', ''],
304 ['arphrd', arphrd_list_txt, 'arphrd', 'ARPHRD_'],
305 ['cap', cap_list_txt, 'capability', ''],
306 ['errno', errno_list_txt, 'errno', '']]
308 fname = '@0@-from-name.gperf'.format(item[0])
309 gperf_file = custom_target(
313 command : [generate_gperfs, item[2], item[3], '@INPUT@'],
316 fname = '@0@-from-name.h'.format(item[0])
317 target1 = custom_target(
322 '-L', 'ANSI-C', '-t', '--ignore-case',
323 '-N', 'lookup_@0@'.format(item[2]),
324 '-H', 'hash_@0@_name'.format(item[2]),
329 fname = '@0@-to-name.h'.format(item[0])
330 awkscript = '@0@-to-name.awk'.format(item[0])
331 target2 = custom_target(
333 input : [awkscript, item[1]],
335 command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
338 generated_gperf_headers += [target1, target2]
341 basic_sources += generated_gperf_headers
343 ############################################################
367 'update-syscall-tables',
368 command : [update_syscall_tables_sh, meson.current_source_dir()] + arch_list)
370 syscall_list_txt = files('syscall-list.txt')
373 foreach arch: arch_list
374 syscall_lists += files('syscalls-@0@.txt'.format(arch))
377 missing_syscalls_py = find_program('missing_syscalls.py')
380 'update-syscall-header',
381 command : [missing_syscalls_py,
382 missing_syscall_def_h,
385 ############################################################
387 libbasic = static_library(
391 include_directories : basic_includes,
392 dependencies : [versiondep,
399 c_args : ['-fvisibility=default'],
402 ############################################################
404 basic_gcrypt_sources = files(
408 # A convenience library that is separate from libbasic to avoid
409 # unnecessary linking to libgcrypt.
410 libbasic_gcrypt = static_library(
412 basic_gcrypt_sources,
413 include_directories : basic_includes,
414 dependencies : [libgcrypt],
415 c_args : ['-fvisibility=default'])