int main() {
auto _(boost::asio::ssl::context::tls);
+ return 0;
}
int main() {
struct sockaddr sa;
sa.sa_len = 0;
+ return 0;
}
int main() {
my_bool _(0);
+ return 0;
}
int main() {
auto _(boost::asio::ssl::error::stream_truncated);
+ return 0;
}
boost = dependency('boost', version: '>=1.66')
gtest = dependency('gtest', required: false)
log4cplus = dependency('log4cplus')
+threads = dependency('threads')
# Cryptography
crypto = disabler()
conf_data.set('WITH_BOTAN', true)
message('Using Botan.')
message('Checking Botan Boost support.')
- cpp.has_header(
- 'botan/asio_stream.h',
- dependencies: botan,
- required: true)
+ cpp.has_header('botan/asio_stream.h', dependencies: [botan], required: true)
endif
if not crypto.found()
error('Build failed: Could not find neither botan nor openssl libraries.')
if lib.found()
netconf_deps = netconf_deps + {
dep: declare_dependency(
- dependencies: lib,
+ dependencies: [lib],
include_directories: include_directories(
f'/opt/@dep@/include',
),
input: 'meson-config.h.in',
output: 'config.h',
configuration: conf_data,
+ install: true,
+ install_dir: 'include/kea',
)
# TODO: Change to kea_version.h.in when autotools are removed.
input: 'meson-kea_version.h.in',
output: 'kea_version.h',
configuration: conf_data,
+ install: true,
+ install_dir: 'include/kea',
)
#### Default Includes
#!/bin/sh
-# Copyright (C) 2014-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2014-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
configure_file(
input: 'kea-admin.in',
output: 'kea-admin',
- configuration: kea_admin_conf_data
-)
-configure_file(
- input: 'admin-utils.sh.in',
- output: 'admin-utils.sh',
- copy: true
+ configuration: kea_admin_conf_data,
)
+configure_file(input: 'admin-utils.sh.in', output: 'admin-utils.sh', copy: true)
# install?
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'sbin',
- link_with: LIBS_BUILT_SO_FAR + [dhcp4_lib],
+ link_with: [dhcp4_lib] + LIBS_BUILT_SO_FAR,
)
dhcp6_lib = static_library(
'dhcp6',
'client_handler.cc',
- 'client_handler.h',
'ctrl_dhcp6_srv.cc',
- 'ctrl_dhcp6_srv.h',
'dhcp6to4_ipc.cc',
- 'dhcp6to4_ipc.h',
'dhcp6_lexer.cc',
'dhcp6_log.cc',
- 'dhcp6_log.h',
'dhcp6_messages.cc',
- 'dhcp6_messages.h',
'dhcp6_parser.cc',
- 'dhcp6_parser.h',
'dhcp6_srv.cc',
- 'dhcp6_srv.h',
'json_config_parser.cc',
- 'json_config_parser.h',
'main.cc',
'parser_context.cc',
- 'parser_context.h',
- 'parser_context_decl.h',
dependencies: [crypto],
include_directories: [include_directories('.')] + INCLUDES,
link_with: LIBS_BUILT_SO_FAR,
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'sbin',
- link_with: LIBS_BUILT_SO_FAR + [dhcp6_lib],
+ link_with: [dhcp6_lib] + LIBS_BUILT_SO_FAR,
)
lfc_lib = static_library(
'lfc',
'lfc_controller.cc',
- 'lfc_controller.h',
'lfc_log.cc',
- 'lfc_log.h',
'lfc_messages.cc',
- 'lfc_messages.h',
+ dependencies: [boost],
include_directories: [include_directories('.')] + INCLUDES,
link_with: LIBS_BUILT_SO_FAR,
)
executable(
'kea-lfc',
'main.cc',
+ dependencies: [boost],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'sbin',
- link_with: LIBS_BUILT_SO_FAR + [lfc_lib],
+ link_with: [lfc_lib] + LIBS_BUILT_SO_FAR,
)
perfdhcplib_lib = static_library(
'perfdhcplib',
- 'abstract_scen.h',
'avalanche_scen.cc',
- 'avalanche_scen.h',
'basic_scen.cc',
- 'basic_scen.h',
'command_options.cc',
- 'command_options.h',
- 'localized_option.h',
- 'packet_storage.h',
'perf_pkt4.cc',
- 'perf_pkt4.h',
'perf_pkt6.cc',
- 'perf_pkt6.h',
'perf_socket.cc',
- 'perf_socket.h',
'pkt_transform.cc',
- 'pkt_transform.h',
'rate_control.cc',
- 'rate_control.h',
'receiver.cc',
- 'receiver.h',
'stats_mgr.cc',
- 'stats_mgr.h',
'test_control.cc',
- 'test_control.h',
+ dependencies: [boost],
include_directories: [include_directories('.')] + INCLUDES,
link_with: LIBS_BUILT_SO_FAR,
)
executable(
'perfdhcp',
'main.cc',
+ dependencies: [boost],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'sbin',
- link_with: LIBS_BUILT_SO_FAR + [perfdhcplib_lib],
+ link_with: [perfdhcplib_lib] + LIBS_BUILT_SO_FAR,
)
'dhcp_bootp',
'bootp_callouts.cc',
'bootp_log.cc',
- 'bootp_log.h',
'bootp_messages.cc',
- 'bootp_messages.h',
'version.cc',
+ dependencies: [boost],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib/kea/hooks',
link_with: LIBS_BUILT_SO_FAR,
- name_suffix: 'so'
+ name_suffix: 'so',
)
dhcp_flex_option_lib = library(
'dhcp_flex_option',
'flex_option.cc',
- 'flex_option.h',
'flex_option_callouts.cc',
'flex_option_log.cc',
- 'flex_option_log.h',
'flex_option_messages.cc',
- 'flex_option_messages.h',
'version.cc',
dependencies: [crypto],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib/kea/hooks',
link_with: LIBS_BUILT_SO_FAR,
+ name_suffix: 'so',
)
dhcp_high_availability_lib = library(
'dhcp_high_availability',
'command_creator.cc',
- 'command_creator.h',
'communication_state.cc',
- 'communication_state.h',
'ha_callouts.cc',
'ha_config.cc',
- 'ha_config.h',
'ha_config_parser.cc',
- 'ha_config_parser.h',
'ha_impl.cc',
- 'ha_impl.h',
'ha_log.cc',
- 'ha_log.h',
'ha_messages.cc',
- 'ha_messages.h',
- 'ha_relationship_mapper.h',
- 'ha_server_type.h',
'ha_service.cc',
- 'ha_service.h',
'ha_service_states.cc',
- 'ha_service_states.h',
'lease_sync_filter.cc',
- 'lease_sync_filter.h',
'lease_update_backlog.cc',
- 'lease_update_backlog.h',
'query_filter.cc',
- 'query_filter.h',
'version.cc',
dependencies: [crypto],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib/kea/hooks',
link_with: LIBS_BUILT_SO_FAR,
+ name_suffix: 'so',
)
dhcp_lease_cmds_lib = library(
'dhcp_lease_cmds',
'lease_cmds.cc',
- 'lease_cmds.h',
'lease_cmds_callouts.cc',
- 'lease_cmds_exceptions.h',
'lease_cmds_log.cc',
- 'lease_cmds_log.h',
'lease_cmds_messages.cc',
- 'lease_cmds_messages.h',
'lease_parser.cc',
- 'lease_parser.h',
'version.cc',
dependencies: [crypto],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib/kea/hooks',
link_with: LIBS_BUILT_SO_FAR,
+ name_suffix: 'so',
)
'dhcp_mysql',
'mysql_callouts.cc',
'mysql_cb_dhcp4.cc',
- 'mysql_cb_dhcp4.h',
'mysql_cb_dhcp6.cc',
- 'mysql_cb_dhcp6.h',
'mysql_cb_impl.cc',
- 'mysql_cb_impl.h',
'mysql_cb_log.cc',
- 'mysql_cb_log.h',
'mysql_cb_messages.cc',
- 'mysql_cb_messages.h',
'mysql_hb_log.cc',
- 'mysql_hb_log.h',
'mysql_hb_messages.cc',
- 'mysql_hb_messages.h',
'mysql_host_data_source.cc',
- 'mysql_host_data_source.h',
'mysql_lb_log.cc',
- 'mysql_lb_log.h',
'mysql_lb_messages.cc',
- 'mysql_lb_messages.h',
'mysql_lease_mgr.cc',
- 'mysql_lease_mgr.h',
- 'mysql_query_macros_dhcp.h',
'version.cc',
dependencies: [crypto, mysql],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib/kea/hooks',
link_with: LIBS_BUILT_SO_FAR,
+ name_suffix: 'so',
)
dhcp_perfmon_lib = library(
'dhcp_perfmon',
'alarm.cc',
- 'alarm.h',
'alarm_store.cc',
- 'alarm_store.h',
'monitored_duration.cc',
- 'monitored_duration.h',
'monitored_duration_store.cc',
- 'monitored_duration_store.h',
'perfmon_callouts.cc',
'perfmon_config.cc',
- 'perfmon_config.h',
'perfmon_log.cc',
- 'perfmon_log.h',
'perfmon_messages.cc',
- 'perfmon_messages.h',
'perfmon_mgr.cc',
- 'perfmon_mgr.h',
'version.cc',
dependencies: [crypto],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib/kea/hooks',
link_with: LIBS_BUILT_SO_FAR,
+ name_suffix: 'so',
)
'dhcp_pgsql',
'pgsql_callouts.cc',
'pgsql_cb_dhcp4.cc',
- 'pgsql_cb_dhcp4.h',
'pgsql_cb_dhcp6.cc',
- 'pgsql_cb_dhcp6.h',
'pgsql_cb_impl.cc',
- 'pgsql_cb_impl.h',
'pgsql_cb_log.cc',
- 'pgsql_cb_log.h',
'pgsql_cb_messages.cc',
- 'pgsql_cb_messages.h',
'pgsql_hb_log.cc',
- 'pgsql_hb_log.h',
'pgsql_hb_messages.cc',
- 'pgsql_hb_messages.h',
'pgsql_host_data_source.cc',
- 'pgsql_host_data_source.h',
'pgsql_lb_log.cc',
- 'pgsql_lb_log.h',
'pgsql_lb_messages.cc',
- 'pgsql_lb_messages.h',
'pgsql_lease_mgr.cc',
- 'pgsql_lease_mgr.h',
- 'pgsql_query_macros_dhcp.h',
'version.cc',
dependencies: [crypto, postgresql],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib/kea/hooks',
link_with: LIBS_BUILT_SO_FAR,
+ name_suffix: 'so',
)
dhcp_run_script_lib = library(
'dhcp_run_script',
'run_script.cc',
- 'run_script.h',
'run_script_callouts.cc',
'run_script_log.cc',
- 'run_script_log.h',
'run_script_messages.cc',
- 'run_script_messages.h',
'version.cc',
dependencies: [crypto],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib/kea/hooks',
link_with: LIBS_BUILT_SO_FAR,
+ name_suffix: 'so',
)
dhcp_stat_cmds_lib = library(
'dhcp_stat_cmds',
'stat_cmds.cc',
- 'stat_cmds.h',
'stat_cmds_callouts.cc',
'stat_cmds_log.cc',
- 'stat_cmds_log.h',
'stat_cmds_messages.cc',
- 'stat_cmds_messages.h',
'version.cc',
dependencies: [crypto],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib/kea/hooks',
link_with: LIBS_BUILT_SO_FAR,
+ name_suffix: 'so',
)
'pkt_send_co.cc',
'subnet_select_co.cc',
'user.cc',
- 'user.h',
- 'user_chk.h',
'user_chk_log.cc',
- 'user_chk_log.h',
'user_chk_messages.cc',
- 'user_chk_messages.h',
- 'user_data_source.h',
'user_file.cc',
- 'user_file.h',
'user_registry.cc',
- 'user_registry.h',
'version.cc',
+ dependencies: [boost],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib/kea/hooks',
link_with: LIBS_BUILT_SO_FAR,
+ name_suffix: 'so',
)
kea_asiodns_lib = library(
'kea-asiodns',
'asiodns_messages.cc',
- 'asiodns_messages.h',
'io_fetch.cc',
- 'io_fetch.h',
'logger.cc',
- 'logger.h',
+ dependencies: [boost],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib',
)
LIBS_BUILT_SO_FAR = [kea_asiodns_lib] + LIBS_BUILT_SO_FAR
subdir('tests')
+kea_asiodns_headers = ['asiodns_messages.h', 'io_fetch.h', 'logger.h']
+install_headers(kea_asiodns_headers, preserve_path: true, subdir: 'kea/asiodns')
'run_unittests.cc',
dependencies: [gtest],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR + [kea_testutils_lib, kea_util_unittests_lib],
+ link_with: [kea_testutils_lib, kea_util_unittests_lib] + LIBS_BUILT_SO_FAR,
)
test('kea_asiodns_tests', kea_asiodns_tests, protocol: 'gtest')
kea_asiolink_lib = library(
'kea-asiolink',
'addr_utilities.cc',
+ 'botan_tls.cc',
+ 'common_tls.cc',
+ 'interval_timer.cc',
+ 'io_address.cc',
+ 'io_endpoint.cc',
+ 'io_service.cc',
+ 'io_service_mgr.cc',
+ 'io_service_signal.cc',
+ 'io_service_thread_pool.cc',
+ 'io_socket.cc',
+ 'openssl_tls.cc',
+ 'process_spawn.cc',
+ 'unix_domain_socket.cc',
+ dependencies: [crypto, threads],
+ include_directories: [include_directories('.')] + INCLUDES,
+ install: true,
+ install_dir: 'lib',
+ link_with: LIBS_BUILT_SO_FAR,
+)
+LIBS_BUILT_SO_FAR = [kea_asiolink_lib] + LIBS_BUILT_SO_FAR
+subdir('testutils')
+subdir('tests')
+kea_asiolink_headers = [
'addr_utilities.h',
'asiolink.h',
'asio_wrapper.h',
- 'botan_tls.cc',
'botan_tls.h',
'botan_wrapper.h',
- 'common_tls.cc',
'common_tls.h',
'crypto_tls.h',
'dummy_io_cb.h',
- 'interval_timer.cc',
'interval_timer.h',
'io_acceptor.h',
- 'io_address.cc',
'io_address.h',
'io_asio_socket.h',
- 'io_endpoint.cc',
'io_endpoint.h',
'io_error.h',
- 'io_service.cc',
'io_service.h',
- 'io_service_mgr.cc',
'io_service_mgr.h',
- 'io_service_signal.cc',
'io_service_signal.h',
- 'io_service_thread_pool.cc',
'io_service_thread_pool.h',
- 'io_socket.cc',
'io_socket.h',
- 'openssl_tls.cc',
'openssl_tls.h',
- 'process_spawn.cc',
'process_spawn.h',
'tcp_acceptor.h',
'tcp_endpoint.h',
'tls_socket.h',
'udp_endpoint.h',
'udp_socket.h',
- 'unix_domain_socket.cc',
- 'unix_domain_socket.h',
'unix_domain_socket_acceptor.h',
'unix_domain_socket_endpoint.h',
- dependencies: crypto,
- include_directories: [include_directories('.')] + INCLUDES,
- install: true,
- install_dir: 'lib',
- link_with: LIBS_BUILT_SO_FAR,
+ 'unix_domain_socket.h',
+]
+install_headers(
+ kea_asiolink_headers,
+ preserve_path: true,
+ subdir: 'kea/asiolink',
)
-LIBS_BUILT_SO_FAR = [kea_asiolink_lib] + LIBS_BUILT_SO_FAR
-subdir('testutils')
-subdir('tests')
configure_file(
input: 'process_spawn_app.sh.in',
output: 'process_spawn_app.sh',
- copy: true
+ copy: true,
)
kea_asiolink_tests = executable(
'kea-asiolink-tests',
'udp_endpoint_unittest.cc',
'udp_socket_unittest.cc',
'unix_domain_socket_unittest.cc',
- cpp_args: [f'-DTEST_SCRIPT_SH="@CURRENT_BUILD_DIR@/process_spawn_app.sh"',
- f'-DINVALID_TEST_SCRIPT_SH="@TOP_SOURCE_DIR@/README"',
- f'-DTEST_CA_DIR="@TEST_CA_DIR@"'],
+ cpp_args: [
+ f'-DTEST_SCRIPT_SH="@CURRENT_BUILD_DIR@/process_spawn_app.sh"',
+ f'-DINVALID_TEST_SCRIPT_SH="@TOP_SOURCE_DIR@/README"',
+ f'-DTEST_CA_DIR="@TEST_CA_DIR@"',
+ ],
dependencies: [gtest, crypto],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR + [kea_asiolink_testutils_lib, kea_util_unittests_lib]
+ link_with: [kea_asiolink_testutils_lib, kea_util_unittests_lib] + LIBS_BUILT_SO_FAR,
)
test('kea_asiolink_tests', kea_asiolink_tests, protocol: 'gtest')
#!/bin/sh
-# Copyright (C) 2015-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2015-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
cpp_args: [f'-DTEST_CA_DIR="@TEST_CA_DIR@"'],
dependencies: [gtest, crypto],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR
+ link_with: LIBS_BUILT_SO_FAR,
)
kea_cc_lib = library(
'kea-cc',
'base_stamped_element.cc',
- 'base_stamped_element.h',
- 'cfg_to_element.h',
'command_interpreter.cc',
- 'command_interpreter.h',
'data.cc',
- 'data.h',
'default_credentials.cc',
- 'default_credentials.h',
- 'dhcp_config_error.h',
- 'element_value.h',
'json_feed.cc',
- 'json_feed.h',
'server_tag.cc',
- 'server_tag.h',
'simple_parser.cc',
- 'simple_parser.h',
'stamped_element.cc',
- 'stamped_element.h',
'stamped_value.cc',
- 'stamped_value.h',
'user_context.cc',
- 'user_context.h',
cpp_args: kea_cc_lib_cpp_args,
+ dependencies: [boost],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib',
)
LIBS_BUILT_SO_FAR = [kea_cc_lib] + LIBS_BUILT_SO_FAR
subdir('tests')
+kea_cc_headers = [
+ 'base_stamped_element.h',
+ 'cfg_to_element.h',
+ 'command_interpreter.h',
+ 'data.h',
+ 'default_credentials.h',
+ 'dhcp_config_error.h',
+ 'element_value.h',
+ 'json_feed.h',
+ 'server_tag.h',
+ 'simple_parser.h',
+ 'stamped_element.h',
+ 'stamped_value.h',
+ 'user_context.h',
+]
+install_headers(kea_cc_headers, preserve_path: true, subdir: 'kea/cc')
'user_context_unittests.cc',
dependencies: [gtest],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR + [kea_util_unittests_lib],
+ link_with: [kea_util_unittests_lib] + LIBS_BUILT_SO_FAR,
)
test('kea_cc_tests', kea_cc_tests, protocol: 'gtest')
kea_config_lib = library(
'kea-config',
'base_command_mgr.cc',
- 'base_command_mgr.h',
'client_connection.cc',
- 'client_connection.h',
- 'cmds_impl.h',
'cmd_http_listener.cc',
- 'cmd_http_listener.h',
'cmd_response_creator.cc',
- 'cmd_response_creator.h',
- 'cmd_response_creator_factory.h',
'command_mgr.cc',
- 'command_mgr.h',
'config_log.cc',
- 'config_log.h',
'config_messages.cc',
- 'config_messages.h',
'hooked_command_mgr.cc',
- 'hooked_command_mgr.h',
'http_command_config.cc',
- 'http_command_config.h',
'http_command_mgr.cc',
- 'http_command_mgr.h',
'http_command_response_creator.cc',
- 'http_command_response_creator.h',
- 'http_command_response_creator_factory.h',
- 'timeouts.h',
'unix_command_config.cc',
- 'unix_command_config.h',
'unix_command_mgr.cc',
- 'unix_command_mgr.h',
dependencies: [crypto],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
link_with: LIBS_BUILT_SO_FAR,
)
LIBS_BUILT_SO_FAR = [kea_config_lib] + LIBS_BUILT_SO_FAR
+kea_config_headers = [
+ 'base_command_mgr.h',
+ 'client_connection.h',
+ 'cmd_http_listener.h',
+ 'cmd_response_creator_factory.h',
+ 'cmd_response_creator.h',
+ 'cmds_impl.h',
+ 'command_mgr.h',
+ 'config_log.h',
+ 'config_messages.h',
+ 'hooked_command_mgr.h',
+ 'http_command_config.h',
+ 'http_command_mgr.h',
+ 'http_command_response_creator_factory.h',
+ 'http_command_response_creator.h',
+ 'timeouts.h',
+ 'unix_command_config.h',
+ 'unix_command_mgr.h',
+]
+install_headers(kea_config_headers, preserve_path: true, subdir: 'kea/config')
-kea_config_backend_lib = library(
- 'kea-config_backend',
+subdir('tests')
+kea_config_backend_headers = [
'base_config_backend.h',
'base_config_backend_mgr.h',
'base_config_backend_pool.h',
'constants.h',
- include_directories: [include_directories('.')] + INCLUDES,
- install: true,
- install_dir: 'lib',
- link_with: LIBS_BUILT_SO_FAR,
+]
+install_headers(
+ kea_config_backend_headers,
+ preserve_path: true,
+ subdir: 'kea/config_backend',
)
-LIBS_BUILT_SO_FAR = [kea_config_backend_lib] + LIBS_BUILT_SO_FAR
-subdir('tests')
'run_unittests.cc',
dependencies: [gtest],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR + [kea_testutils_lib, kea_util_unittests_lib],
+ link_with: [kea_testutils_lib, kea_util_unittests_lib] + LIBS_BUILT_SO_FAR,
)
test('kea_config_backend_tests', kea_config_backend_tests, protocol: 'gtest')
sources = []
-if crypto == botan
- sources += [
- 'botan_common.h',
- 'botan_hash.cc',
- 'botan_hmac.cc',
- 'botan_link.cc',
- ]
-elif crypto == openssl
- sources += [
- 'openssl_common.h',
- 'openssl_hash.cc',
- 'openssl_hmac.cc',
- 'openssl_link.cc',
- ]
+if crypto.name() == botan.name()
+ sources += ['botan_hash.cc', 'botan_hmac.cc', 'botan_link.cc']
+elif crypto.name() == openssl.name()
+ sources += ['openssl_hash.cc', 'openssl_hmac.cc', 'openssl_link.cc']
endif
kea_cryptolink_lib = library(
'kea-cryptolink',
'cryptolink.cc',
- 'cryptolink.h',
'crypto_hash.cc',
- 'crypto_hash.h',
'crypto_hmac.cc',
- 'crypto_hmac.h',
'crypto_rng.cc',
- 'crypto_rng.h',
sources,
dependencies: [crypto],
include_directories: [include_directories('.')] + INCLUDES,
)
LIBS_BUILT_SO_FAR = [kea_cryptolink_lib] + LIBS_BUILT_SO_FAR
subdir('tests')
+kea_cryptolink_headers = [
+ 'botan_common.h',
+ 'crypto_hash.h',
+ 'crypto_hmac.h',
+ 'cryptolink.h',
+ 'crypto_rng.h',
+ 'openssl_common.h',
+ 'openssl_compat.h',
+]
+install_headers(
+ kea_cryptolink_headers,
+ preserve_path: true,
+ subdir: 'kea/cryptolink',
+)
'run_unittests.cc',
dependencies: [gtest],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR + [kea_util_unittests_lib],
+ link_with: [kea_util_unittests_lib] + LIBS_BUILT_SO_FAR,
)
test('kea_cryptolink_tests', kea_cryptolink_tests, protocol: 'gtest')
kea_d2srv_lib = library(
'kea-d2srv',
'd2_cfg_mgr.cc',
- 'd2_cfg_mgr.h',
'd2_config.cc',
- 'd2_config.h',
'd2_log.cc',
- 'd2_log.h',
'd2_messages.cc',
- 'd2_messages.h',
'd2_simple_parser.cc',
- 'd2_simple_parser.h',
'd2_stats.cc',
- 'd2_stats.h',
'd2_tsig_key.cc',
- 'd2_tsig_key.h',
'd2_update_message.cc',
- 'd2_update_message.h',
'd2_zone.cc',
- 'd2_zone.h',
'dns_client.cc',
- 'dns_client.h',
'nc_trans.cc',
- 'nc_trans.h',
dependencies: [crypto],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
link_with: LIBS_BUILT_SO_FAR,
)
LIBS_BUILT_SO_FAR = [kea_d2srv_lib] + LIBS_BUILT_SO_FAR
+kea_d2srv_headers = [
+ 'd2_cfg_mgr.h',
+ 'd2_config.h',
+ 'd2_log.h',
+ 'd2_messages.h',
+ 'd2_simple_parser.h',
+ 'd2_stats.h',
+ 'd2_tsig_key.h',
+ 'd2_update_message.h',
+ 'd2_zone.h',
+ 'dns_client.h',
+ 'nc_trans.h',
+]
+install_headers(kea_d2srv_headers, preserve_path: true, subdir: 'kea/d2srv')
kea_database_lib = library(
'kea-database',
'audit_entry.cc',
- 'audit_entry.h',
'backend_selector.cc',
- 'backend_selector.h',
'database_connection.cc',
- 'database_connection.h',
'dbaccess_parser.cc',
- 'dbaccess_parser.h',
- 'db_exceptions.h',
'db_log.cc',
- 'db_log.h',
'db_messages.cc',
- 'db_messages.h',
'server.cc',
- 'server.h',
'server_collection.cc',
- 'server_collection.h',
'server_selector.cc',
- 'server_selector.h',
+ dependencies: [boost],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib',
LIBS_BUILT_SO_FAR = [kea_database_lib] + LIBS_BUILT_SO_FAR
subdir('testutils')
subdir('tests')
+kea_database_headers = [
+ 'audit_entry.h',
+ 'backend_selector.h',
+ 'database_connection.h',
+ 'dbaccess_parser.h',
+ 'db_exceptions.h',
+ 'db_log.h',
+ 'db_messages.h',
+ 'server_collection.h',
+ 'server.h',
+ 'server_selector.h',
+]
+install_headers(
+ kea_database_headers,
+ preserve_path: true,
+ subdir: 'kea/database',
+)
'server_unittest.cc',
dependencies: [gtest],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR + [kea_testutils_lib, kea_util_unittests_lib],
+ link_with: [kea_testutils_lib, kea_util_unittests_lib] + LIBS_BUILT_SO_FAR,
)
test('kea_database_tests', kea_database_tests, protocol: 'gtest')
'schema.cc',
cpp_args: [f'-DTEST_CA_DIR="@TEST_CA_DIR@"'],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR
+ link_with: LIBS_BUILT_SO_FAR,
)
pkt_filter_cc = 'pkt_filter_bpf.cc'
-pkt_filter_h = 'pkt_filter_bpf.h'
if SYSTEM == 'linux'
iface_mgr = 'iface_mgr_linux.cc'
pkt_filter_cc = 'pkt_filter_lpf.cc'
- pkt_filter_h = 'pkt_filter_lpf.h'
elif SYSTEM == 'freebsd' or SYSTEM == 'netbsd' or SYSTEM == 'openbsd' or SYSTEM == 'darwin'
iface_mgr = 'iface_mgr_bsd.cc'
elif SYSTEM == 'sun'
kea_dhcp_lib = library(
'kea-dhcp',
'classify.cc',
- 'classify.h',
- 'dhcp4.h',
- 'dhcp6.h',
- 'docsis3_option_defs.h',
'duid.cc',
- 'duid.h',
'duid_factory.cc',
- 'duid_factory.h',
'hwaddr.cc',
- 'hwaddr.h',
'iface_mgr.cc',
- 'iface_mgr.h',
- 'iface_mgr_error_handler.h',
iface_mgr,
'libdhcp++.cc',
- 'libdhcp++.h',
'opaque_data_tuple.cc',
- 'opaque_data_tuple.h',
'option.cc',
- 'option.h',
'option4_addrlst.cc',
- 'option4_addrlst.h',
'option4_client_fqdn.cc',
- 'option4_client_fqdn.h',
'option4_dnr.cc',
- 'option4_dnr.h',
'option6_addrlst.cc',
- 'option6_addrlst.h',
'option6_auth.cc',
- 'option6_auth.h',
'option6_client_fqdn.cc',
- 'option6_client_fqdn.h',
'option6_dnr.cc',
- 'option6_dnr.h',
'option6_ia.cc',
- 'option6_ia.h',
'option6_iaaddr.cc',
- 'option6_iaaddr.h',
'option6_iaprefix.cc',
- 'option6_iaprefix.h',
'option6_pdexclude.cc',
- 'option6_pdexclude.h',
'option6_status_code.cc',
- 'option6_status_code.h',
'option_classless_static_route.cc',
- 'option_classless_static_route.h',
'option_custom.cc',
- 'option_custom.h',
'option_data_types.cc',
- 'option_data_types.h',
'option_definition.cc',
- 'option_definition.h',
- 'option_int.h',
- 'option_int_array.h',
'option_opaque_data_tuples.cc',
- 'option_opaque_data_tuples.h',
'option_space.cc',
- 'option_space.h',
- 'option_space_container.h',
'option_string.cc',
- 'option_string.h',
'option_vendor.cc',
- 'option_vendor.h',
'option_vendor_class.cc',
- 'option_vendor_class.h',
- 'packet_queue.h',
- 'packet_queue_mgr.h',
'packet_queue_mgr4.cc',
- 'packet_queue_mgr4.h',
'packet_queue_mgr6.cc',
- 'packet_queue_mgr6.h',
- 'packet_queue_ring.h',
'pkt.cc',
- 'pkt.h',
'pkt4.cc',
- 'pkt4.h',
'pkt4o6.cc',
- 'pkt4o6.h',
'pkt6.cc',
- 'pkt6.h',
'pkt_filter.cc',
- 'pkt_filter.h',
'pkt_filter6.cc',
- 'pkt_filter6.h',
'pkt_filter_inet.cc',
- 'pkt_filter_inet.h',
'pkt_filter_inet6.cc',
- 'pkt_filter_inet6.h',
pkt_filter_cc,
- pkt_filter_h,
- 'pkt_template.h',
'protocol_util.cc',
- 'protocol_util.h',
- 'socket_info.h',
- 'std_option_defs.h',
+ dependencies: [boost],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib',
link_with: LIBS_BUILT_SO_FAR,
)
LIBS_BUILT_SO_FAR = [kea_dhcp_lib] + LIBS_BUILT_SO_FAR
+kea_dhcp_headers = [
+ 'classify.h',
+ 'dhcp4.h',
+ 'dhcp6.h',
+ 'docsis3_option_defs.h',
+ 'duid_factory.h',
+ 'duid.h',
+ 'hwaddr.h',
+ 'iface_mgr_error_handler.h',
+ 'iface_mgr.h',
+ 'libdhcp++.h',
+ 'opaque_data_tuple.h',
+ 'option4_addrlst.h',
+ 'option4_client_fqdn.h',
+ 'option4_dnr.h',
+ 'option6_addrlst.h',
+ 'option6_auth.h',
+ 'option6_client_fqdn.h',
+ 'option6_dnr.h',
+ 'option6_iaaddr.h',
+ 'option6_ia.h',
+ 'option6_iaprefix.h',
+ 'option6_pdexclude.h',
+ 'option6_status_code.h',
+ 'option_classless_static_route.h',
+ 'option_custom.h',
+ 'option_data_types.h',
+ 'option_definition.h',
+ 'option.h',
+ 'option_int_array.h',
+ 'option_int.h',
+ 'option_opaque_data_tuples.h',
+ 'option_space_container.h',
+ 'option_space.h',
+ 'option_string.h',
+ 'option_vendor_class.h',
+ 'option_vendor.h',
+ 'packet_queue.h',
+ 'packet_queue_mgr4.h',
+ 'packet_queue_mgr6.h',
+ 'packet_queue_mgr.h',
+ 'packet_queue_ring.h',
+ 'pkt4.h',
+ 'pkt4o6.h',
+ 'pkt6.h',
+ 'pkt_filter6.h',
+ 'pkt_filter_bpf.h',
+ 'pkt_filter.h',
+ 'pkt_filter_inet6.h',
+ 'pkt_filter_inet.h',
+ 'pkt_filter_lpf.h',
+ 'pkt.h',
+ 'pkt_template.h',
+ 'protocol_util.h',
+ 'socket_info.h',
+ 'std_option_defs.h',
+]
+install_headers(kea_dhcp_headers, preserve_path: true, subdir: 'kea/dhcp')
kea_dhcp_ddns_lib = library(
'kea-dhcp_ddns',
'dhcp_ddns_log.cc',
- 'dhcp_ddns_log.h',
'dhcp_ddns_messages.cc',
- 'dhcp_ddns_messages.h',
'ncr_io.cc',
- 'ncr_io.h',
'ncr_msg.cc',
- 'ncr_msg.h',
'ncr_udp.cc',
- 'ncr_udp.h',
+ dependencies: [boost],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib',
)
LIBS_BUILT_SO_FAR = [kea_dhcp_ddns_lib] + LIBS_BUILT_SO_FAR
subdir('tests')
+kea_dhcp_ddns_headers = [
+ 'dhcp_ddns_log.h',
+ 'dhcp_ddns_messages.h',
+ 'ncr_io.h',
+ 'ncr_msg.h',
+ 'ncr_udp.h',
+]
+install_headers(
+ kea_dhcp_ddns_headers,
+ preserve_path: true,
+ subdir: 'kea/dhcp_ddns',
+)
'test_utils.cc',
dependencies: [gtest],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR + [kea_testutils_lib, kea_util_unittests_lib],
+ link_with: [kea_testutils_lib, kea_util_unittests_lib] + LIBS_BUILT_SO_FAR,
)
test('kea_dhcp_ddns_tests', kea_dhcp_ddns_tests, protocol: 'gtest')
kea_dhcpsrv_lib = library(
'kea-dhcpsrv',
'allocation_state.cc',
- 'allocation_state.h',
'allocator.cc',
- 'allocator.h',
'alloc_engine.cc',
- 'alloc_engine.h',
'alloc_engine_log.cc',
- 'alloc_engine_log.h',
'alloc_engine_messages.cc',
- 'alloc_engine_messages.h',
- 'base_host_data_source.h',
- 'cache_host_data_source.h',
- 'callout_handle_store.h',
- 'cb_ctl_dhcp.h',
'cb_ctl_dhcp4.cc',
- 'cb_ctl_dhcp4.h',
'cb_ctl_dhcp6.cc',
- 'cb_ctl_dhcp6.h',
'cfgmgr.cc',
- 'cfgmgr.h',
'cfg_4o6.cc',
- 'cfg_4o6.h',
'cfg_consistency.cc',
- 'cfg_consistency.h',
'cfg_db_access.cc',
- 'cfg_db_access.h',
'cfg_duid.cc',
- 'cfg_duid.h',
'cfg_expiration.cc',
- 'cfg_expiration.h',
'cfg_globals.cc',
- 'cfg_globals.h',
'cfg_hosts.cc',
- 'cfg_hosts.h',
'cfg_hosts_util.cc',
- 'cfg_hosts_util.h',
'cfg_host_operations.cc',
- 'cfg_host_operations.h',
'cfg_iface.cc',
- 'cfg_iface.h',
'cfg_mac_source.cc',
- 'cfg_mac_source.h',
'cfg_multi_threading.cc',
- 'cfg_multi_threading.h',
'cfg_option.cc',
- 'cfg_option.h',
'cfg_option_def.cc',
- 'cfg_option_def.h',
'cfg_rsoo.cc',
- 'cfg_rsoo.h',
'cfg_shared_networks.cc',
- 'cfg_shared_networks.h',
'cfg_subnets4.cc',
- 'cfg_subnets4.h',
'cfg_subnets6.cc',
- 'cfg_subnets6.h',
'client_class_def.cc',
- 'client_class_def.h',
- 'config_backend_dhcp4.h',
'config_backend_dhcp4_mgr.cc',
- 'config_backend_dhcp4_mgr.h',
- 'config_backend_dhcp6.h',
'config_backend_dhcp6_mgr.cc',
- 'config_backend_dhcp6_mgr.h',
'config_backend_pool_dhcp4.cc',
- 'config_backend_pool_dhcp4.h',
'config_backend_pool_dhcp6.cc',
- 'config_backend_pool_dhcp6.h',
'csv_lease_file4.cc',
- 'csv_lease_file4.h',
'csv_lease_file6.cc',
- 'csv_lease_file6.h',
'd2_client_cfg.cc',
- 'd2_client_cfg.h',
'd2_client_mgr.cc',
- 'd2_client_mgr.h',
- 'db_type.h',
'ddns_params.cc',
- 'ddns_params.h',
'dhcp4o6_ipc.cc',
- 'dhcp4o6_ipc.h',
- 'dhcpsrv_exceptions.h',
'dhcpsrv_log.cc',
- 'dhcpsrv_log.h',
'dhcpsrv_messages.cc',
- 'dhcpsrv_messages.h',
'flq_allocation_state.cc',
- 'flq_allocation_state.h',
'flq_allocator.cc',
- 'flq_allocator.h',
'fuzz_log.cc',
- 'fuzz_log.h',
'fuzz_messages.cc',
- 'fuzz_messages.h',
'host.cc',
- 'host.h',
'hosts_log.cc',
- 'hosts_log.h',
'hosts_messages.cc',
- 'hosts_messages.h',
- 'host_container.h',
'host_data_source_factory.cc',
- 'host_data_source_factory.h',
'host_mgr.cc',
- 'host_mgr.h',
'ip_range.cc',
- 'ip_range.h',
'ip_range_permutation.cc',
- 'ip_range_permutation.h',
'iterative_allocation_state.cc',
- 'iterative_allocation_state.h',
'iterative_allocator.cc',
- 'iterative_allocator.h',
- 'key_from_key.h',
'lease.cc',
- 'lease.h',
- 'lease_file_loader.h',
- 'lease_file_stats.h',
'lease_mgr.cc',
- 'lease_mgr.h',
'lease_mgr_factory.cc',
- 'lease_mgr_factory.h',
'memfile_lease_limits.cc',
- 'memfile_lease_limits.h',
'memfile_lease_mgr.cc',
- 'memfile_lease_mgr.h',
- 'memfile_lease_storage.h',
'ncr_generator.cc',
- 'ncr_generator.h',
'network.cc',
- 'network.h',
'network_state.cc',
- 'network_state.h',
'packet_fuzzer.cc',
- 'packet_fuzzer.h',
'parsers/base_network_parser.cc',
- 'parsers/base_network_parser.h',
'parsers/client_class_def_parser.cc',
- 'parsers/client_class_def_parser.h',
'parsers/dhcp_parsers.cc',
- 'parsers/dhcp_parsers.h',
'parsers/dhcp_queue_control_parser.cc',
- 'parsers/dhcp_queue_control_parser.h',
'parsers/duid_config_parser.cc',
- 'parsers/duid_config_parser.h',
'parsers/expiration_config_parser.cc',
- 'parsers/expiration_config_parser.h',
- 'parsers/host_reservations_list_parser.h',
'parsers/host_reservation_parser.cc',
- 'parsers/host_reservation_parser.h',
'parsers/ifaces_config_parser.cc',
- 'parsers/ifaces_config_parser.h',
'parsers/multi_threading_config_parser.cc',
- 'parsers/multi_threading_config_parser.h',
'parsers/option_data_parser.cc',
- 'parsers/option_data_parser.h',
'parsers/sanity_checks_parser.cc',
- 'parsers/sanity_checks_parser.h',
- 'parsers/shared_networks_list_parser.h',
'parsers/shared_network_parser.cc',
- 'parsers/shared_network_parser.h',
'parsers/simple_parser4.cc',
- 'parsers/simple_parser4.h',
'parsers/simple_parser6.cc',
- 'parsers/simple_parser6.h',
'pool.cc',
- 'pool.h',
'random_allocation_state.cc',
- 'random_allocation_state.h',
'random_allocator.cc',
- 'random_allocator.h',
'resource_handler.cc',
- 'resource_handler.h',
'sanity_checker.cc',
- 'sanity_checker.h',
'shared_network.cc',
- 'shared_network.h',
'srv_config.cc',
- 'srv_config.h',
'subnet.cc',
- 'subnet.h',
- 'subnet_id.h',
- 'subnet_selector.h',
'timer_mgr.cc',
- 'timer_mgr.h',
'tracking_lease_mgr.cc',
- 'tracking_lease_mgr.h',
- 'utils.h',
- 'writable_host_data_source.h',
cpp_args: [
f'-DDHCP_DATA_DIR="@TOP_BUILD_DIR@"',
f'-DKEA_LFC_EXECUTABLE="@KEA_LFC@"',
link_with: LIBS_BUILT_SO_FAR,
)
LIBS_BUILT_SO_FAR = [kea_dhcpsrv_lib] + LIBS_BUILT_SO_FAR
+kea_dhcpsrv_headers = [
+ 'allocation_state.h',
+ 'allocator.h',
+ 'alloc_engine.h',
+ 'alloc_engine_log.h',
+ 'alloc_engine_messages.h',
+ 'base_host_data_source.h',
+ 'cache_host_data_source.h',
+ 'callout_handle_store.h',
+ 'cb_ctl_dhcp4.h',
+ 'cb_ctl_dhcp6.h',
+ 'cb_ctl_dhcp.h',
+ 'cfg_4o6.h',
+ 'cfg_consistency.h',
+ 'cfg_db_access.h',
+ 'cfg_duid.h',
+ 'cfg_expiration.h',
+ 'cfg_globals.h',
+ 'cfg_host_operations.h',
+ 'cfg_hosts.h',
+ 'cfg_hosts_util.h',
+ 'cfg_iface.h',
+ 'cfg_mac_source.h',
+ 'cfgmgr.h',
+ 'cfg_multi_threading.h',
+ 'cfg_option_def.h',
+ 'cfg_option.h',
+ 'cfg_rsoo.h',
+ 'cfg_shared_networks.h',
+ 'cfg_subnets4.h',
+ 'cfg_subnets6.h',
+ 'client_class_def.h',
+ 'config_backend_dhcp4.h',
+ 'config_backend_dhcp4_mgr.h',
+ 'config_backend_dhcp6.h',
+ 'config_backend_dhcp6_mgr.h',
+ 'config_backend_pool_dhcp4.h',
+ 'config_backend_pool_dhcp6.h',
+ 'csv_lease_file4.h',
+ 'csv_lease_file6.h',
+ 'd2_client_cfg.h',
+ 'd2_client_mgr.h',
+ 'db_type.h',
+ 'ddns_params.h',
+ 'dhcp4o6_ipc.h',
+ 'dhcpsrv_exceptions.h',
+ 'dhcpsrv_log.h',
+ 'dhcpsrv_messages.h',
+ 'flq_allocation_state.h',
+ 'flq_allocator.h',
+ 'fuzz_log.h',
+ 'fuzz_messages.h',
+ 'host_container.h',
+ 'host_data_source_factory.h',
+ 'host.h',
+ 'host_mgr.h',
+ 'hosts_log.h',
+ 'hosts_messages.h',
+ 'ip_range.h',
+ 'ip_range_permutation.h',
+ 'iterative_allocation_state.h',
+ 'iterative_allocator.h',
+ 'key_from_key.h',
+ 'lease_file_loader.h',
+ 'lease_file_stats.h',
+ 'lease.h',
+ 'lease_mgr_factory.h',
+ 'lease_mgr.h',
+ 'memfile_lease_limits.h',
+ 'memfile_lease_mgr.h',
+ 'memfile_lease_storage.h',
+ 'ncr_generator.h',
+ 'network.h',
+ 'network_state.h',
+ 'packet_fuzzer.h',
+ 'parsers/base_network_parser.h',
+ 'parsers/client_class_def_parser.h',
+ 'parsers/dhcp_parsers.h',
+ 'parsers/dhcp_queue_control_parser.h',
+ 'parsers/duid_config_parser.h',
+ 'parsers/expiration_config_parser.h',
+ 'parsers/host_reservations_list_parser.h',
+ 'parsers/host_reservation_parser.h',
+ 'parsers/ifaces_config_parser.h',
+ 'parsers/multi_threading_config_parser.h',
+ 'parsers/option_data_parser.h',
+ 'parsers/sanity_checks_parser.h',
+ 'parsers/shared_networks_list_parser.h',
+ 'parsers/shared_network_parser.h',
+ 'parsers/simple_parser4.h',
+ 'parsers/simple_parser6.h',
+ 'pool.h',
+ 'random_allocation_state.h',
+ 'random_allocator.h',
+ 'resource_handler.h',
+ 'sanity_checker.h',
+ 'shared_network.h',
+ 'srv_config.h',
+ 'subnet.h',
+ 'subnet_id.h',
+ 'subnet_selector.h',
+ 'timer_mgr.h',
+ 'tracking_lease_mgr.h',
+ 'utils.h',
+ 'writable_host_data_source.h',
+]
+install_headers(kea_dhcpsrv_headers, preserve_path: true, subdir: 'kea/dhcpsrv')
kea_dns_lib = library(
'kea-dns',
'char_string.cc',
- 'char_string.h',
'edns.cc',
- 'edns.h',
'exceptions.cc',
- 'exceptions.h',
'labelsequence.cc',
- 'labelsequence.h',
'master_lexer.cc',
- 'master_lexer.h',
'master_lexer_inputsource.cc',
- 'master_lexer_inputsource.h',
- 'master_lexer_state.h',
'master_loader.cc',
- 'master_loader.h',
- 'master_loader_callbacks.h',
'message.cc',
- 'message.h',
'messagerenderer.cc',
- 'messagerenderer.h',
'name.cc',
- 'name.h',
- 'name_internal.h',
'opcode.cc',
- 'opcode.h',
'question.cc',
- 'question.h',
'rcode.cc',
- 'rcode.h',
'rdata.cc',
- 'rdata.h',
'rdataclass.cc',
- 'rdataclass.h',
'rrclass.cc',
- 'rrclass.h',
'rrparamregistry.cc',
- 'rrparamregistry.h',
'rrset.cc',
- 'rrset.h',
'rrttl.cc',
- 'rrttl.h',
'rrtype.cc',
- 'rrtype.h',
'serial.cc',
- 'serial.h',
'time_utils.cc',
- 'time_utils.h',
'tsig.cc',
- 'tsig.h',
'tsigerror.cc',
- 'tsigerror.h',
'tsigkey.cc',
- 'tsigkey.h',
'tsigrecord.cc',
- 'tsigrecord.h',
- 'txt_like.h',
+ dependencies: [boost],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib',
)
LIBS_BUILT_SO_FAR = [kea_dns_lib] + LIBS_BUILT_SO_FAR
subdir('tests')
+kea_dns_headers = [
+ 'char_string.h',
+ 'edns.h',
+ 'exceptions.h',
+ 'labelsequence.h',
+ 'master_lexer.h',
+ 'master_lexer_inputsource.h',
+ 'master_lexer_state.h',
+ 'master_loader_callbacks.h',
+ 'master_loader.h',
+ 'message.h',
+ 'messagerenderer.h',
+ 'name.h',
+ 'opcode.h',
+ 'question.h',
+ 'rcode.h',
+ 'rdataclass.h',
+ 'rdata.h',
+ 'rrclass.h',
+ 'rrparamregistry.h',
+ 'rrset.h',
+ 'rrttl.h',
+ 'rrtype.h',
+ 'serial.h',
+ 'time_utils.h',
+ 'tsigerror.h',
+ 'tsig.h',
+ 'tsigkey.h',
+ 'tsigrecord.h',
+ 'txt_like.h',
+]
+# Purposely not installing these headers:
+# * name_internal.h: used only internally, and not actually DNS specific.
+install_headers(kea_dns_headers, preserve_path: true, subdir: 'kea/dns')
'rdata_tsig_unittest.cc',
'rdata_txt_like_unittest.cc',
'rdata_unittest.cc',
- 'rdata_unittest.h',
'rrclass_unittest.cc',
'rrparamregistry_unittest.cc',
'rrset_unittest.cc',
],
dependencies: [gtest],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR + [kea_util_unittests_lib],
+ link_with: [kea_util_unittests_lib] + LIBS_BUILT_SO_FAR,
)
test('kea_dns_tests', kea_dns_tests, protocol: 'gtest')
kea_eval_lib = library(
'kea-eval',
'dependency.cc',
- 'dependency.h',
'evaluate.cc',
- 'evaluate.h',
'eval_context.cc',
- 'eval_context.h',
- 'eval_context_decl.h',
'eval_log.cc',
- 'eval_log.h',
'eval_messages.cc',
- 'eval_messages.h',
'lexer.cc',
'parser.cc',
- 'parser.h',
'token.cc',
- 'token.h',
+ dependencies: [boost],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib',
)
LIBS_BUILT_SO_FAR = [kea_eval_lib] + LIBS_BUILT_SO_FAR
subdir('tests')
+kea_eval_headers = [
+ 'dependency.h',
+ 'eval_context_decl.h',
+ 'eval_context.h',
+ 'eval_log.h',
+ 'eval_messages.h',
+ 'evaluate.h',
+ 'parser.h',
+ 'token.h',
+]
+install_headers(kea_eval_headers, preserve_path: true, subdir: 'kea/eval')
'token_unittest.cc',
dependencies: [gtest],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR + [kea_testutils_lib, kea_util_unittests_lib],
+ link_with: [kea_testutils_lib, kea_util_unittests_lib] + LIBS_BUILT_SO_FAR,
)
test('kea_eval_tests', kea_eval_tests, protocol: 'gtest')
kea_exceptions_lib = library(
'kea-exceptions',
'exceptions.cc',
- 'exceptions.h',
- 'isc_assert.h',
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib',
)
LIBS_BUILT_SO_FAR = [kea_exceptions_lib] + LIBS_BUILT_SO_FAR
subdir('tests')
+kea_exceptions_headers = ['exceptions.h', 'isc_assert.h']
+install_headers(
+ kea_exceptions_headers,
+ preserve_path: true,
+ subdir: 'kea/exceptions',
+)
kea_hooks_lib = library(
'kea-hooks',
'callout_handle.cc',
- 'callout_handle.h',
'callout_handle_associate.cc',
- 'callout_handle_associate.h',
'callout_manager.cc',
- 'callout_manager.h',
- 'hooks.h',
'hooks_config.cc',
- 'hooks_config.h',
'hooks_log.cc',
- 'hooks_log.h',
'hooks_manager.cc',
- 'hooks_manager.h',
'hooks_messages.cc',
- 'hooks_messages.h',
'hooks_parser.cc',
- 'hooks_parser.h',
'libinfo.cc',
- 'libinfo.h',
'library_handle.cc',
- 'library_handle.h',
'library_manager.cc',
- 'library_manager.h',
'library_manager_collection.cc',
- 'library_manager_collection.h',
- 'parking_lots.h',
- 'pointer_converter.h',
'server_hooks.cc',
- 'server_hooks.h',
cpp_args: [f'-DDEFAULT_HOOKS_PATH="@TOP_BUILD_DIR@"'],
+ dependencies: [boost],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib',
link_with: LIBS_BUILT_SO_FAR,
)
LIBS_BUILT_SO_FAR = [kea_hooks_lib] + LIBS_BUILT_SO_FAR
+kea_hooks_headers = [
+ 'callout_handle_associate.h',
+ 'callout_handle.h',
+ 'callout_manager.h',
+ 'hooks_config.h',
+ 'hooks.h',
+ 'hooks_log.h',
+ 'hooks_manager.h',
+ 'hooks_messages.h',
+ 'hooks_parser.h',
+ 'libinfo.h',
+ 'library_handle.h',
+ 'library_manager_collection.h',
+ 'library_manager.h',
+ 'parking_lots.h',
+ 'pointer_converter.h',
+ 'server_hooks.h',
+]
+install_headers(kea_hooks_headers, preserve_path: true, subdir: 'kea/hooks')
kea_http_lib = library(
'kea-http',
- 'auth_config.h',
'auth_log.cc',
- 'auth_log.h',
'auth_messages.cc',
- 'auth_messages.h',
'basic_auth.cc',
- 'basic_auth.h',
'basic_auth_config.cc',
- 'basic_auth_config.h',
'cfg_http_header.cc',
- 'cfg_http_header.h',
'client.cc',
- 'client.h',
'connection.cc',
- 'connection.h',
'connection_pool.cc',
- 'connection_pool.h',
'date_time.cc',
- 'date_time.h',
- 'header_context.h',
- 'http_acceptor.h',
'http_header.cc',
- 'http_header.h',
'http_log.cc',
- 'http_log.h',
'http_message.cc',
- 'http_message.h',
'http_messages.cc',
- 'http_messages.h',
'http_message_parser_base.cc',
- 'http_message_parser_base.h',
- 'http_types.h',
'listener.cc',
- 'listener.h',
'listener_impl.cc',
- 'listener_impl.h',
'post_request.cc',
- 'post_request.h',
'post_request_json.cc',
- 'post_request_json.h',
'request.cc',
- 'request.h',
- 'request_context.h',
'request_parser.cc',
- 'request_parser.h',
'response.cc',
- 'response.h',
- 'response_context.h',
'response_creator.cc',
- 'response_creator.h',
- 'response_creator_factory.h',
'response_json.cc',
- 'response_json.h',
'response_parser.cc',
- 'response_parser.h',
'url.cc',
- 'url.h',
dependencies: [crypto],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
link_with: LIBS_BUILT_SO_FAR,
)
LIBS_BUILT_SO_FAR = [kea_http_lib] + LIBS_BUILT_SO_FAR
+kea_http_headers = [
+ 'auth_config.h',
+ 'auth_log.h',
+ 'auth_messages.h',
+ 'basic_auth_config.h',
+ 'basic_auth.h',
+ 'cfg_http_header.h',
+ 'client.h',
+ 'connection.h',
+ 'connection_pool.h',
+ 'date_time.h',
+ 'header_context.h',
+ 'http_acceptor.h',
+ 'http_header.h',
+ 'http_log.h',
+ 'http_message.h',
+ 'http_message_parser_base.h',
+ 'http_messages.h',
+ 'http_types.h',
+ 'listener.h',
+ 'listener_impl.h',
+ 'post_request.h',
+ 'post_request_json.h',
+ 'request_context.h',
+ 'request.h',
+ 'request_parser.h',
+ 'response_context.h',
+ 'response_creator_factory.h',
+ 'response_creator.h',
+ 'response.h',
+ 'response_json.h',
+ 'response_parser.h',
+ 'url.h',
+]
+install_headers(kea_http_headers, preserve_path: true, subdir: 'kea/http')
'message.cc',
include_directories: [include_directories('.')] + INCLUDES,
link_with : LIBS_BUILT_SO_FAR,
- install : true)
+ install : true,
+)
kea_log_interprocess_lib = library(
'kea-log-interprocess',
- 'interprocess_sync.h',
'interprocess_sync_file.cc',
- 'interprocess_sync_file.h',
'interprocess_sync_null.cc',
- 'interprocess_sync_null.h',
cpp_args: [f'-DLOCKFILE_DIR="@TOP_BUILD_DIR@"'],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
)
LIBS_BUILT_SO_FAR = [kea_log_interprocess_lib] + LIBS_BUILT_SO_FAR
subdir('tests')
+kea_log_interprocess_headers = [
+ 'interprocess_sync.h',
+ 'interprocess_sync_file.h',
+ 'interprocess_sync_null.h',
+]
+install_headers(
+ kea_log_interprocess_headers,
+ preserve_path: true,
+ subdir: 'kea/log/interprocess',
+)
cpp_args: [f'-DTEST_DATA_TOPBUILDDIR="@TOP_BUILD_DIR@"'],
dependencies: [gtest],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR + [kea_util_unittests_lib],
+ link_with: [kea_util_unittests_lib] + LIBS_BUILT_SO_FAR,
)
test('kea_log_interprocess_tests', kea_log_interprocess_tests, protocol: 'gtest')
kea_log_lib = library(
'kea-log',
'buffer_appender_impl.cc',
- 'buffer_appender_impl.h',
'logger.cc',
- 'logger.h',
'logger_impl.cc',
- 'logger_impl.h',
'logger_level.cc',
- 'logger_level.h',
'logger_level_impl.cc',
- 'logger_level_impl.h',
'logger_manager.cc',
- 'logger_manager.h',
'logger_manager_impl.cc',
- 'logger_manager_impl.h',
'logger_name.cc',
- 'logger_name.h',
- 'logger_specification.h',
'logger_support.cc',
- 'logger_support.h',
'logger_unittest_support.cc',
- 'logger_unittest_support.h',
'logimpl_messages.cc',
- 'logimpl_messages.h',
'log_dbglevels.cc',
- 'log_dbglevels.h',
'log_formatter.cc',
- 'log_formatter.h',
'log_messages.cc',
- 'log_messages.h',
- 'macros.h',
'message_dictionary.cc',
- 'message_dictionary.h',
- 'message_exception.h',
'message_initializer.cc',
- 'message_initializer.h',
'message_reader.cc',
- 'message_reader.h',
- 'message_types.h',
'output_option.cc',
- 'output_option.h',
cpp_args: [f'-DTOP_BUILDDIR="@TOP_BUILD_DIR@"'],
- dependencies: [log4cplus],
+ dependencies: [boost, log4cplus],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib',
)
LIBS_BUILT_SO_FAR = [kea_log_lib] + LIBS_BUILT_SO_FAR
subdir('tests')
+kea_log_headers = [
+ 'buffer_appender_impl.h',
+ 'log_dbglevels.h',
+ 'log_formatter.h',
+ 'logger.h',
+ 'logger_impl.h',
+ 'logger_level.h',
+ 'logger_level_impl.h',
+ 'logger_manager.h',
+ 'logger_manager_impl.h',
+ 'logger_name.h',
+ 'logger_specification.h',
+ 'logger_support.h',
+ 'logger_unittest_support.h',
+ 'logimpl_messages.h',
+ 'log_messages.h',
+ 'macros.h',
+ 'message_dictionary.h',
+ 'message_exception.h',
+ 'message_initializer.h',
+ 'message_reader.h',
+ 'message_types.h',
+ 'output_option.h',
+]
+install_headers(kea_log_headers, preserve_path: true, subdir: 'kea/log')
'logger_unittest.cc',
'log_formatter_unittest.cc',
'log_test_messages.cc',
- 'log_test_messages.h',
'message_dictionary_unittest.cc',
'message_reader_unittest.cc',
'output_option_unittest.cc',
cpp_args: [f'-DTEMP_DIR="@TOP_BUILD_DIR@"'],
dependencies: [gtest, log4cplus],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR + [kea_util_unittests_lib],
+ link_with: [kea_util_unittests_lib] + LIBS_BUILT_SO_FAR,
)
test('kea_log_tests', kea_log_tests, protocol: 'gtest')
kea_mysql_lib = library(
'kea-mysql',
'mysql_binding.cc',
- 'mysql_binding.h',
'mysql_connection.cc',
- 'mysql_connection.h',
- 'mysql_constants.h',
cpp_args: [f'-DKEA_ADMIN="@KEA_ADMIN@"'],
- dependencies: [mysql],
+ dependencies: [boost, mysql],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib',
LIBS_BUILT_SO_FAR = [kea_mysql_lib] + LIBS_BUILT_SO_FAR
subdir('testutils')
subdir('tests')
+kea_mysql_headers = [
+ 'mysql_binding.h',
+ 'mysql_connection.h',
+ 'mysql_constants.h',
+]
+install_headers(kea_mysql_headers, preserve_path: true, subdir: 'kea/mysql')
-LIBS_TESTUTILS = [
+libs_testutils = [
kea_mysql_testutils_lib,
kea_database_testutils_lib,
- kea_testutils_lib
+ kea_testutils_lib,
]
kea_mysql_tests = executable(
'kea-mysql-tests',
'mysql_binding_unittest.cc',
'mysql_connection_unittest.cc',
'run_unittests.cc',
- cpp_args: [f'-DTEST_CA_DIR="@TEST_CA_DIR@"',
- f'-DKEA_ADMIN="@KEA_ADMIN@"'],
+ cpp_args: [f'-DTEST_CA_DIR="@TEST_CA_DIR@"', f'-DKEA_ADMIN="@KEA_ADMIN@"'],
dependencies: [gtest, mysql],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR + LIBS_TESTUTILS + [kea_util_unittests_lib],
+ link_with: [kea_util_unittests_lib] + libs_testutils + LIBS_BUILT_SO_FAR,
)
test('kea_mysql_tests', kea_mysql_tests, protocol: 'gtest')
kea_mysql_testutils_lib = static_library(
'kea-mysql-testutils',
'mysql_schema.cc',
- cpp_args: [f'-DDATABASE_SCRIPTS_DIR="@DATABASE_SCRIPTS_DIR@"',
- f'-DDATABASE_WIPE_DIR="@DATABASE_SCRIPTS_DIR@"'],
- dependencies: [mysql],
+ cpp_args: [
+ f'-DDATABASE_SCRIPTS_DIR="@DATABASE_SCRIPTS_DIR@"',
+ f'-DDATABASE_WIPE_DIR="@DATABASE_SCRIPTS_DIR@"',
+ ],
+ dependencies: [boost, mysql],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR + [kea_database_testutils_lib]
+ link_with: [kea_database_testutils_lib] + LIBS_BUILT_SO_FAR,
)
kea_pgsql_lib = library(
'kea-pgsql',
'pgsql_connection.cc',
- 'pgsql_connection.h',
'pgsql_exchange.cc',
- 'pgsql_exchange.h',
cpp_args: [f'-DKEA_ADMIN="@KEA_ADMIN@"'],
- dependencies: [postgresql],
+ dependencies: [boost, postgresql],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib',
link_with: LIBS_BUILT_SO_FAR,
)
LIBS_BUILT_SO_FAR = [kea_pgsql_lib] + LIBS_BUILT_SO_FAR
+subdir('testutils')
+subdir('tests')
+kea_pgsql_headers = ['pgsql_connection.h', 'pgsql_exchange.h']
+install_headers(kea_pgsql_headers, preserve_path: true, subdir: 'kea/pgsql')
--- /dev/null
+libs_testutils = [
+ kea_pgsql_testutils_lib,
+ kea_database_testutils_lib,
+ kea_testutils_lib,
+]
+kea_pgsql_tests = executable(
+ 'kea-pgsql-tests',
+ 'pgsql_basics.cc',
+ 'pgsql_connection_unittest.cc',
+ 'pgsql_exchange_unittest.cc',
+ 'run_unittests.cc',
+ cpp_args: [f'-DTEST_CA_DIR="@TEST_CA_DIR@"', f'-DKEA_ADMIN="@KEA_ADMIN@"'],
+ dependencies: [gtest, postgresql],
+ include_directories: [include_directories('.')] + INCLUDES,
+ link_with: [kea_util_unittests_lib] + libs_testutils + LIBS_BUILT_SO_FAR,
+)
+test('kea_pgsql_tests', kea_pgsql_tests, protocol: 'gtest')
--- /dev/null
+DATABASE_SCRIPTS_DIR = f'@TOP_BUILD_DIR@/src/share/database/scripts'
+kea_pgsql_testutils_lib = static_library(
+ 'kea-pgsql-testutils',
+ 'pgsql_schema.cc',
+ cpp_args: [
+ f'-DDATABASE_SCRIPTS_DIR="@DATABASE_SCRIPTS_DIR@"',
+ f'-DDATABASE_WIPE_DIR="@DATABASE_SCRIPTS_DIR@"',
+ ],
+ dependencies: [postgresql],
+ include_directories: [include_directories('.')] + INCLUDES,
+ link_with: [kea_database_testutils_lib] + LIBS_BUILT_SO_FAR,
+)
output: 'config_report.cc',
configuration: conf_data,
)
-
kea_cfgrpt_lib = library(
'kea-cfgrpt',
'cfgrpt.cc',
config_report_cc,
- 'config_report.h',
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib',
link_with: LIBS_BUILT_SO_FAR,
)
LIBS_BUILT_SO_FAR = [kea_cfgrpt_lib] + LIBS_BUILT_SO_FAR
+kea_cfgrpt_headers = ['config_report.h']
+install_headers(
+ kea_cfgrpt_headers,
+ preserve_path: true,
+ subdir: 'kea/process/cfgrpt',
+)
subdir('cfgrpt')
kea_process_lib = library(
'kea-process',
- 'cb_ctl_base.h',
'config_base.cc',
- 'config_base.h',
'config_ctl_info.cc',
- 'config_ctl_info.h',
'config_ctl_parser.cc',
- 'config_ctl_parser.h',
'daemon.cc',
- 'daemon.h',
'd_cfg_mgr.cc',
- 'd_cfg_mgr.h',
'd_controller.cc',
- 'd_controller.h',
'd_log.cc',
- 'd_log.h',
- 'd_process.h',
'logging_info.cc',
- 'logging_info.h',
'log_parser.cc',
- 'log_parser.h',
'process_messages.cc',
- 'process_messages.h',
'redact_config.cc',
- 'redact_config.h',
cpp_args: [f'-DDATA_DIR="@TOP_BUILD_DIR@"'],
+ dependencies: [boost],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib',
link_with: LIBS_BUILT_SO_FAR,
)
LIBS_BUILT_SO_FAR = [kea_process_lib] + LIBS_BUILT_SO_FAR
+kea_process_headers = [
+ 'cb_ctl_base.h',
+ 'config_base.h',
+ 'config_ctl_info.h',
+ 'config_ctl_parser.h',
+ 'daemon.h',
+ 'd_cfg_mgr.h',
+ 'd_controller.h',
+ 'd_log.h',
+ 'd_process.h',
+ 'logging_info.h',
+ 'log_parser.h',
+ 'process_messages.h',
+ 'redact_config.h',
+]
+install_headers(kea_process_headers, preserve_path: true, subdir: 'kea/process')
kea_stats_lib = library(
'kea-stats',
'context.cc',
- 'context.h',
'observation.cc',
- 'observation.h',
'stats_mgr.cc',
- 'stats_mgr.h',
+ dependencies: [boost],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib',
)
LIBS_BUILT_SO_FAR = [kea_stats_lib] + LIBS_BUILT_SO_FAR
subdir('tests')
+kea_stats_headers = ['context.h', 'observation.h', 'stats_mgr.h']
+install_headers(kea_stats_headers, preserve_path: true, subdir: 'kea/stats')
'stats_mgr_unittest.cc',
dependencies: [gtest],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR + [kea_testutils_lib, kea_util_unittests_lib],
+ link_with: [kea_testutils_lib, kea_util_unittests_lib] + LIBS_BUILT_SO_FAR,
)
test('kea_stats_tests', kea_stats_tests, protocol: 'gtest')
kea_tcp_lib = library(
'kea-tcp',
'mt_tcp_listener_mgr.cc',
- 'mt_tcp_listener_mgr.h',
'tcp_connection.cc',
- 'tcp_connection.h',
- 'tcp_connection_acceptor.h',
'tcp_connection_pool.cc',
- 'tcp_connection_pool.h',
'tcp_listener.cc',
- 'tcp_listener.h',
'tcp_log.cc',
- 'tcp_log.h',
'tcp_messages.cc',
- 'tcp_messages.h',
'tcp_stream_msg.cc',
- 'tcp_stream_msg.h',
dependencies: [crypto],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
link_with: LIBS_BUILT_SO_FAR,
)
LIBS_BUILT_SO_FAR = [kea_tcp_lib] + LIBS_BUILT_SO_FAR
+kea_tcp_headers = [
+ 'mt_tcp_listener_mgr.h',
+ 'tcp_connection_acceptor.h',
+ 'tcp_connection.h',
+ 'tcp_connection_pool.h',
+ 'tcp_listener.h',
+ 'tcp_log.h',
+ 'tcp_messages.h',
+ 'tcp_stream_msg.h',
+]
+install_headers(kea_tcp_headers, preserve_path: true, subdir: 'kea/tcp')
'user_context_utils.cc',
dependencies: [gtest],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR + [kea_util_unittests_lib]
+ link_with: [kea_util_unittests_lib] + LIBS_BUILT_SO_FAR,
)
kea_util_io_lib = library(
'kea-util-io',
'fd.cc',
- 'fd.h',
- 'pktinfo_utilities.h',
- 'sockaddr_util.h',
include_directories: [include_directories('.')] + INCLUDES,
link_with: LIBS_BUILT_SO_FAR,
)
'versioned_csv_file.cc',
'watched_thread.cc',
'watch_socket.cc',
+ dependencies: [boost, threads],
include_directories: [include_directories('.')] + INCLUDES,
install: true,
install_dir: 'lib',
link_with: LIBS_BUILT_SO_FAR,
)
+subdir('io')
+subdir('unittests')
+LIBS_BUILT_SO_FAR = [kea_util_lib] + LIBS_BUILT_SO_FAR
+subdir('tests')
kea_util_headers = [
'bigints.h',
'boost_time_utils.h',
'encode/encode.h',
'encode/utf8.h',
'filesystem.h',
+ 'io/fd.h',
+ 'io/pktinfo_utilities.h',
+ 'io/sockaddr_util.h',
'hash.h',
'io.h',
'labeled_value.h',
'unlock_guard.h',
'versioned_csv_file.h',
'watched_thread.h',
- 'watch_socket.h'
+ 'watch_socket.h',
]
install_headers(kea_util_headers, preserve_path: true, subdir: 'kea/util')
-subdir('io')
-subdir('unittests')
-LIBS_BUILT_SO_FAR = [kea_util_lib] + LIBS_BUILT_SO_FAR
-subdir('tests')
'io_unittests.cc',
'labeled_value_unittest.cc',
'memory_segment_common_unittest.cc',
- 'memory_segment_common_unittest.h',
'memory_segment_local_unittest.cc',
'multi_threading_mgr_unittest.cc',
'optional_unittest.cc',
],
dependencies: [gtest],
include_directories: [include_directories('.')] + INCLUDES,
- link_with: LIBS_BUILT_SO_FAR + [kea_util_unittests_lib],
+ link_with: [kea_util_unittests_lib] + LIBS_BUILT_SO_FAR,
)
test('kea_util_tests', kea_util_tests, protocol: 'gtest')
kea_util_unittests_lib = static_library(
'kea-util-unittests',
'check_valgrind.cc',
- 'check_valgrind.h',
'fork.cc',
- 'fork.h',
'interprocess_util.cc',
- 'interprocess_util.h',
'newhook.cc',
- 'newhook.h',
'resource.cc',
- 'resource.h',
'run_all.cc',
- 'run_all.h',
'testdata.cc',
- 'testdata.h',
- 'textdata.h',
'wiredata.cc',
- 'wiredata.h',
dependencies: [gtest],
include_directories: [include_directories('.')] + INCLUDES,
link_with: LIBS_BUILT_SO_FAR,
kea_yang_lib = library(
'kea-yang',
'adaptor.cc',
- 'adaptor.h',
'adaptor_config.cc',
- 'adaptor_config.h',
'adaptor_host.cc',
- 'adaptor_host.h',
'adaptor_option.cc',
- 'adaptor_option.h',
'adaptor_pool.cc',
- 'adaptor_pool.h',
'adaptor_subnet.cc',
- 'adaptor_subnet.h',
- 'netconf_error.h',
'translator.cc',
- 'translator.h',
'translator_class.cc',
- 'translator_class.h',
'translator_config.cc',
- 'translator_config.h',
'translator_control_socket.cc',
- 'translator_control_socket.h',
'translator_database.cc',
- 'translator_database.h',
'translator_host.cc',
- 'translator_host.h',
'translator_logger.cc',
- 'translator_logger.h',
'translator_option_data.cc',
- 'translator_option_data.h',
'translator_option_def.cc',
- 'translator_option_def.h',
'translator_pd_pool.cc',
- 'translator_pd_pool.h',
'translator_pool.cc',
- 'translator_pool.h',
'translator_shared_network.cc',
- 'translator_shared_network.h',
'translator_subnet.cc',
- 'translator_subnet.h',
- 'yang_models.h',
- 'yang_revisions.h',
dependencies: netconf_deps_array,
include_directories: [include_directories('.')] + INCLUDES,
install: true,
override_options: ['cpp_std=c++20'],
)
LIBS_BUILT_SO_FAR = [kea_yang_lib] + LIBS_BUILT_SO_FAR
+kea_yang_headers = [
+ 'adaptor_config.h',
+ 'adaptor.h',
+ 'adaptor_host.h',
+ 'adaptor_option.h',
+ 'adaptor_pool.h',
+ 'adaptor_subnet.h',
+ 'netconf_error.h',
+ 'translator_class.h',
+ 'translator_config.h',
+ 'translator_control_socket.h',
+ 'translator_database.h',
+ 'translator.h',
+ 'translator_host.h',
+ 'translator_logger.h',
+ 'translator_option_data.h',
+ 'translator_option_def.h',
+ 'translator_pd_pool.h',
+ 'translator_pool.h',
+ 'translator_shared_network.h',
+ 'translator_subnet.h',
+ 'yang_models.h',
+ 'yang_revisions.h',
+]
+install_headers(kea_yang_headers, preserve_path: true, subdir: 'kea/yang')
subdir('mysql')
-# subdir('pgsql')
+subdir('pgsql')
configure_file(
input: 'wipe_data.sh.in',
output: 'wipe_data.sh',
- configuration: mysql_script_conf_data
+ configuration: mysql_script_conf_data,
)
configure_file(
input: 'dhcpdb_create.mysql',
output: 'dhcpdb_create.mysql',
- copy: true
+ copy: true,
)
configure_file(
input: 'dhcpdb_drop.mysql',
output: 'dhcpdb_drop.mysql',
- copy: true
+ copy: true,
)
# configure upgrade scripts
# install
#!/bin/sh
-# Copyright (C) 2016-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2016-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2016-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2016-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2016-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2016-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2016-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2016-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2016-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2016-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2017-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2017-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2018-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2018-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2018-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2018-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2018-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2018-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2019-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2019-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2019-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2019-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2019-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2019-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2019-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2019-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2020-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2020-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2020-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2020-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2020-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2020-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2020-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2020-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2020-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2020-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2021-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2021-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2021-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2021-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2021-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2021-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2021-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2021-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2022-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2022-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2022-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2022-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2023-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2023-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2023-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2023-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2023-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2023-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2023-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2023-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2023-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2023-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2023-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2023-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2023-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2023-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2023-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2023-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2024-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2024-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2024-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2024-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2024-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2024-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
#!/bin/sh
-# Copyright (C) 2019-2024 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2019-2025 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
--- /dev/null
+postgresql_script_conf_data = configuration_data()
+postgresql_script_conf_data.set('prefix', get_option('prefix'))
+postgresql_script_conf_data.set('abs_top_builddir', TOP_BUILD_DIR)
+postgresql_script_conf_data.set(
+ 'datarootdir',
+ '${prefix}/' + get_option('datadir'),
+)
+postgresql_script_conf_data.set('PACKAGE_NAME', 'kea')
+configure_file(
+ input: 'wipe_data.sh.in',
+ output: 'wipe_data.sh',
+ configuration: postgresql_script_conf_data,
+)
+configure_file(
+ input: 'dhcpdb_create.pgsql',
+ output: 'dhcpdb_create.pgsql',
+ copy: true,
+)
+configure_file(
+ input: 'dhcpdb_drop.pgsql',
+ output: 'dhcpdb_drop.pgsql',
+ copy: true,
+)
+# configure upgrade scripts
+# install