
Imported n-dhcp4 code with command: git subtree add --prefix shared/n-dhcp4/ git@github.com:nettools/n-dhcp4.git master --squash To update the library use: git subtree pull --prefix shared/n-dhcp4/ git@github.com:nettools/n-dhcp4.git master --squash
92 lines
2.7 KiB
Meson
92 lines
2.7 KiB
Meson
#
|
|
# target: libndhcp4.so
|
|
#
|
|
|
|
libndhcp4_symfile = join_paths(meson.current_source_dir(), 'libndhcp4.sym')
|
|
|
|
libndhcp4_deps = [
|
|
dep_clist,
|
|
dep_csiphash,
|
|
dep_cstdaux,
|
|
]
|
|
|
|
libndhcp4_private = static_library(
|
|
'ndhcp4-private',
|
|
[
|
|
'n-dhcp4-c-connection.c',
|
|
'n-dhcp4-c-lease.c',
|
|
'n-dhcp4-c-probe.c',
|
|
'n-dhcp4-client.c',
|
|
'n-dhcp4-incoming.c',
|
|
'n-dhcp4-outgoing.c',
|
|
'n-dhcp4-s-connection.c',
|
|
'n-dhcp4-s-lease.c',
|
|
'n-dhcp4-server.c',
|
|
'n-dhcp4-socket.c',
|
|
'util/link.c',
|
|
'util/netns.c',
|
|
'util/packet.c',
|
|
'util/socket.c',
|
|
],
|
|
c_args: [
|
|
'-fvisibility=hidden',
|
|
'-fno-common'
|
|
],
|
|
dependencies: libndhcp4_deps,
|
|
pic: true,
|
|
)
|
|
|
|
libndhcp4_shared = shared_library(
|
|
'ndhcp4',
|
|
objects: libndhcp4_private.extract_all_objects(),
|
|
dependencies: libndhcp4_deps,
|
|
install: not meson.is_subproject(),
|
|
soversion: 0,
|
|
link_depends: libndhcp4_symfile,
|
|
link_args: [
|
|
'-Wl,--no-undefined',
|
|
'-Wl,--version-script=@0@'.format(libndhcp4_symfile)
|
|
],
|
|
)
|
|
|
|
libndhcp4_dep = declare_dependency(
|
|
include_directories: include_directories('.'),
|
|
link_with: libndhcp4_private,
|
|
dependencies: libndhcp4_deps,
|
|
version: meson.project_version(),
|
|
)
|
|
|
|
if not meson.is_subproject()
|
|
install_headers('n-dhcp4.h')
|
|
|
|
mod_pkgconfig.generate(
|
|
libraries: libndhcp4_shared,
|
|
version: meson.project_version(),
|
|
name: 'libndhcp4',
|
|
filebase: 'libndhcp4',
|
|
description: project_description,
|
|
)
|
|
endif
|
|
|
|
#
|
|
# target: test-*
|
|
#
|
|
|
|
test_api = executable('test-api', ['test-api.c'], link_with: libndhcp4_shared)
|
|
test('API Symbol Visibility', test_api)
|
|
|
|
test_connection = executable('test-connection', ['test-connection.c'], dependencies: libndhcp4_dep)
|
|
test('Connection Handling', test_connection)
|
|
|
|
test_message = executable('test-message', ['test-message.c'], dependencies: libndhcp4_dep)
|
|
test('Message Handling', test_message)
|
|
|
|
test_run_client = executable('test-run-client', ['test-run-client.c'], dependencies: libndhcp4_dep)
|
|
test('Client Runner', test_run_client, args: ['--test'])
|
|
|
|
test_socket = executable('test-socket', ['test-socket.c'], dependencies: libndhcp4_dep)
|
|
test('Socket Handling', test_socket)
|
|
|
|
test_util_packet = executable('test-util-packet', ['util/test-packet.c'], dependencies: libndhcp4_dep)
|
|
test('Packet Utility Library', test_util_packet)
|