--- /dev/null
+project('kea', 'cpp',
+ version : '1.5',
+ default_options : ['warning_level=3', 'cpp_std=c++14'])
+
+conf_data = configuration_data()
+conf_data.set_quoted('VERSION', '1.5')
+conf_data.set('TEST_DATA_TOPBUILDDIR', '/tmp/kea-gtest')
+configure_file(#input : 'config.h.in',
+ output : 'config.h',
+ configuration : conf_data)
+
+configuration_inc = include_directories('.')
+lib_inc = include_directories('src/lib')
+gtest_inc = include_directories('/usr/src/googletest/googletest/include')
+
+#kea_version_h = custom_target('kea_version_h',
+# output : 'kea_version.h',
+# command : [kea_msg_compiler, '-d', meson.current_build_dir(), '@INPUT@'])
+vcs_tag(input : 'kea_version.h.in',
+ output : 'kea_version.h',
+ replace_string : '@KEA_SRCID@')
+
+
+
+subdir('src/lib/asiolink')
+subdir('src/lib/cc')
+subdir('src/lib/cryptolink')
+subdir('src/lib/dhcp')
+subdir('src/lib/dns')
+subdir('src/lib/exceptions')
+subdir('src/lib/log')
+subdir('src/lib/mysql')
+subdir('src/lib/stats')
+subdir('src/lib/util')
+subdir('src/lib/util/io')
+subdir('src/lib/util/threads')
+
+subdir('src/lib/log/compiler')
+subdir('src/lib/config') # depends on compiler
+subdir('src/lib/database') # depends on compiler
+subdir('src/lib/dhcp_ddns') # depends on compiler
+subdir('src/lib/dhcpsrv') # depends on compiler
+subdir('src/lib/hooks') # depends on compiler
+subdir('src/lib/http') # depends on compiler
+subdir('src/lib/process') # depends on compiler
+
+# subdir('src/lib/util/threads/tests') TODO: fix setting gtest paths in config.h
+
+#executable('kea',
+# 'src/lib/util/signal_set.cc',
+# include_directories : configuration_inc,
+# install : true)
--- /dev/null
+sources = [
+ 'asiolink.h',
+ 'asio_wrapper.h',
+ 'addr_utilities.cc',
+ 'addr_utilities.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.h',
+ 'io_service.cc',
+ 'io_socket.h',
+ 'io_socket.cc',
+ 'tcp_acceptor.h',
+ 'tcp_endpoint.h',
+ 'tcp_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']
+
+
+
+asiolink_lib = static_library('kea-asiolink',
+ sources,
+ include_directories : [lib_inc, configuration_inc],
+ install : true)
--- /dev/null
+sources = [
+ 'data.cc',
+ 'data.h',
+ 'cfg_to_element.h',
+ 'dhcp_config_error.h',
+ 'command_interpreter.cc',
+ 'command_interpreter.h',
+ 'json_feed.cc',
+ 'json_feed.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']
+
+
+cc_lib = static_library('kea-cc',
+ sources,
+ include_directories : [lib_inc, configuration_inc],
+ install : true)
--- /dev/null
+sources = [
+ 'config_report.cc',
+ 'config_report.h',
+ 'cfgrpt.cc']
+
+http_messages_ch = custom_target('http_messages.[ch]',
+ output : ['http_messages.cc',
+ 'http_messages.h'],
+ input : 'http_messages.mes',
+ command : [kea_msg_compiler, '-d', meson.current_build_dir(), '@INPUT@'])
+report_file = $(abs_top_builddir)/config.report
+
+config_report.cc: $(report_file)
+ ${SHELL} $(top_srcdir)/tools/mk_cfgrpt.sh $(report_file) $(top_builddir)/src/lib/cfgrpt/config_report.cc
+
+
+http_lib = static_library('cfgrpt',
+ sources,
+ include_directories : [lib_inc, configuration_inc],
+ install : true)
--- /dev/null
+sources = [
+ 'cmds_impl.h',
+ 'base_command_mgr.cc',
+ 'base_command_mgr.h',
+ 'client_connection.cc',
+ 'client_connection.h',
+ 'command_mgr.cc',
+ 'command_mgr.h',
+ 'config_log.h',
+ 'config_log.cc',
+ 'hooked_command_mgr.cc',
+ 'hooked_command_mgr.h',
+ 'timeouts.h']
+
+
+config_messages_ch = custom_target('config_messages.[ch]',
+ output : ['config_messages.cc',
+ 'config_messages.h'],
+ input : 'config_messages.mes',
+ command : [kea_msg_compiler, '-d', meson.current_build_dir(), '@INPUT@'])
+
+sources += config_messages_ch
+
+cfgclient_lib = static_library('kea-cfgclient',
+ sources,
+ include_directories : [lib_inc, configuration_inc],
+ install : true)
--- /dev/null
+sources = [
+ 'cryptolink.h',
+ 'cryptolink.cc',
+ 'crypto_hash.h',
+ 'crypto_hash.cc',
+ 'crypto_hmac.h',
+ 'crypto_hmac.cc',
+ 'crypto_rng.h',
+ 'crypto_rng.cc']
+
+# in case of openssl
+sources += [
+ 'openssl_link.cc',
+ 'openssl_common.h',
+ 'openssl_hash.cc',
+ 'openssl_compat.h',
+ 'openssl_hmac.cc']
+
+foolib = static_library('kea-cryptolink',
+ sources,
+ include_directories : [lib_inc, configuration_inc],
+ #dependencies : glib_dep,
+ install : true)
--- /dev/null
+sources = [
+ 'backend_selector.cc',
+ 'backend_selector.h',
+ 'database_connection.cc',
+ 'database_connection.h',
+ 'dbaccess_parser.h',
+ 'dbaccess_parser.cc',
+ 'db_exceptions.h',
+ 'db_log.cc',
+ 'db_log.h',
+ 'server_selector.h']
+
+
+db_messages_ch = custom_target('db_messages.[ch]',
+ output : ['db_messages.cc',
+ 'db_messages.h'],
+ input : 'db_messages.mes',
+ command : [kea_msg_compiler, '-d', meson.current_build_dir(), '@INPUT@'])
+
+sources += db_messages_ch
+
+database_lib = static_library('kea-database',
+ sources,
+ #cpp_args : ['-DDATA_DIR="' + join_paths(get_option('prefix'), get_option('localstatedir')) + '"'],
+ include_directories : [lib_inc, configuration_inc],
+ install : true)
--- /dev/null
+sources = [
+ 'classify.cc',
+ 'classify.h',
+ 'dhcp6.h',
+ 'dhcp4.h',
+ 'duid.cc',
+ 'duid.h',
+ 'duid_factory.cc',
+ 'duid_factory.h',
+ 'docsis3_option_defs.h',
+ 'hwaddr.cc',
+ 'hwaddr.h',
+ 'iface_mgr.cc',
+ 'iface_mgr.h',
+ 'iface_mgr_bsd.cc',
+ 'iface_mgr_error_handler.h',
+ 'iface_mgr_linux.cc',
+ 'iface_mgr_sun.cc',
+ 'libdhcp++.cc',
+ 'libdhcp++.h',
+ 'opaque_data_tuple.cc',
+ 'opaque_data_tuple.h',
+ 'option4_addrlst.cc',
+ 'option4_addrlst.h',
+ 'option4_client_fqdn.cc',
+ 'option4_client_fqdn.h',
+ 'option6_addrlst.cc',
+ 'option6_addrlst.h',
+ 'option6_auth.cc',
+ 'option6_auth.h',
+ 'option6_client_fqdn.cc',
+ 'option6_client_fqdn.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.cc',
+ 'option.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',
+ 'pkt.cc',
+ 'pkt.h',
+ 'pkt4.cc',
+ 'pkt4.h',
+ 'pkt4o6.cc',
+ 'pkt4o6.h',
+ 'pkt6.cc',
+ 'pkt6.h',
+ 'pkt_filter.h',
+ 'pkt_filter.cc',
+ 'pkt_filter6.h',
+ 'pkt_filter6.cc',
+ 'pkt_filter_inet.cc',
+ 'pkt_filter_inet.h',
+ 'pkt_filter_inet6.cc',
+ 'pkt_filter_inet6.h',
+ 'socket_info.h',
+ 'protocol_util.cc',
+ 'protocol_util.h',
+ 'std_option_defs.h']
+
+# # Utilize Linux Packet Filtering on Linux.
+# if OS_LINUX
+# libkea_dhcp___la_SOURCES += pkt_filter_lpf.cc pkt_filter_lpf.h
+# endif
+
+# # Utilize Berkeley Packet Filtering on BSD.
+# if OS_BSD
+# libkea_dhcp___la_SOURCES += pkt_filter_bpf.cc pkt_filter_bpf.h
+# endif
+
+
+
+dhcppp_lib = static_library('kea-dhcp++',
+ sources,
+ include_directories : [lib_inc, configuration_inc],
+ install : true)
--- /dev/null
+sources = [
+ 'dhcp_ddns_log.cc',
+ 'dhcp_ddns_log.h',
+ 'ncr_io.cc',
+ 'ncr_io.h',
+ 'ncr_msg.cc',
+ 'ncr_msg.h',
+ 'ncr_udp.cc',
+ 'ncr_udp.h']
+
+dhcp_ddns_messages_ch = custom_target('dhcp_ddns_messages.[ch]',
+ output : ['dhcp_ddns_messages.cc',
+ 'dhcp_ddns_messages.h'],
+ input : 'dhcp_ddns_messages.mes',
+ command : [kea_msg_compiler, '-d', meson.current_build_dir(), '@INPUT@'])
+sources += dhcp_ddns_messages_ch
+
+
+dhcp_ddns_lib = static_library('kea-dhcp_ddns',
+ sources,
+ include_directories : [lib_inc, configuration_inc],
+ install : true)
--- /dev/null
+sources = [
+ 'alloc_engine.cc',
+ 'alloc_engine.h',
+ 'alloc_engine_log.cc',
+ 'alloc_engine_log.h',
+ 'assignable_network.h',
+ 'base_host_data_source.h',
+ 'cache_host_data_source.h',
+ 'callout_handle_store.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_hosts.cc',
+ 'cfg_hosts.h',
+ 'cfg_hosts_util.cc',
+ 'cfg_hosts_util.h',
+ 'cfg_iface.cc',
+ 'cfg_iface.h',
+ 'cfg_expiration.cc',
+ 'cfg_expiration.h',
+ 'cfg_host_operations.cc',
+ 'cfg_host_operations.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',
+ 'cfg_mac_source.cc',
+ 'cfg_mac_source.h',
+ 'cfgmgr.cc',
+ 'cfgmgr.h',
+ 'client_class_def.cc',
+ 'client_class_def.h',
+ 'config_backend_dhcp4.h',
+ 'config_backend_pool_dhcp4.cc',
+ 'config_backend_pool_dhcp4.h',
+ 'config_backend_dhcp4_mgr.cc',
+ 'config_backend_dhcp4_mgr.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',
+ 'dhcp4o6_ipc.cc',
+ 'dhcp4o6_ipc.h',
+ 'dhcpsrv_exceptions.h',
+ 'dhcpsrv_log.cc',
+ 'dhcpsrv_log.h',
+ 'host.cc',
+ 'host.h',
+ 'host_container.h',
+ 'host_data_source_factory.cc',
+ 'host_data_source_factory.h',
+ 'host_mgr.cc',
+ 'host_mgr.h',
+ 'hosts_log.cc',
+ 'hosts_log.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_mgr.cc',
+ 'memfile_lease_mgr.h',
+ 'memfile_lease_storage.h',
+ 'pool.cc',
+ 'pool.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',
+ 'triplet.h',
+ 'utils.h',
+ 'writable_host_data_source.h',
+# Configuration parsers',
+ 'parsers/client_class_def_parser.cc',
+ 'parsers/client_class_def_parser.h',
+ 'parsers/dhcp_parsers.cc',
+ 'parsers/dhcp_parsers.h',
+ 'parsers/duid_config_parser.cc',
+ 'parsers/duid_config_parser.h',
+ 'parsers/expiration_config_parser.cc',
+ 'parsers/expiration_config_parser.h',
+ 'parsers/host_reservation_parser.cc',
+ 'parsers/host_reservation_parser.h',
+ 'parsers/host_reservations_list_parser.h',
+ 'parsers/ifaces_config_parser.cc',
+ 'parsers/ifaces_config_parser.h',
+ 'parsers/option_data_parser.cc',
+ 'parsers/option_data_parser.h',
+ 'parsers/dhcp_queue_control_parser.cc',
+ 'parsers/dhcp_queue_control_parser.h',
+ 'parsers/sanity_checks_parser.cc',
+ 'parsers/sanity_checks_parser.h',
+ 'parsers/shared_network_parser.cc',
+ 'parsers/shared_network_parser.h',
+ 'parsers/shared_networks_list_parser.h',
+ 'parsers/simple_parser4.cc',
+ 'parsers/simple_parser4.h',
+ 'parsers/simple_parser6.cc',
+ 'parsers/simple_parser6.h']
+
+# if HAVE_MYSQL
+# libkea_dhcpsrv_la_SOURCES += mysql_lease_mgr.cc mysql_lease_mgr.h
+# libkea_dhcpsrv_la_SOURCES += mysql_host_data_source.cc mysql_host_data_source.h
+# endif
+
+# libkea_dhcpsrv_la_SOURCES += ncr_generator.cc ncr_generator.h
+# libkea_dhcpsrv_la_SOURCES += network.cc network.h
+# libkea_dhcpsrv_la_SOURCES += network_state.cc network_state.h
+
+# if HAVE_PGSQL
+# libkea_dhcpsrv_la_SOURCES += pgsql_host_data_source.cc pgsql_host_data_source.h
+# libkea_dhcpsrv_la_SOURCES += pgsql_lease_mgr.cc pgsql_lease_mgr.h
+# endif
+
+# if HAVE_CQL
+# libkea_dhcpsrv_la_SOURCES += cql_host_data_source.cc cql_host_data_source.h
+# libkea_dhcpsrv_la_SOURCES += cql_lease_mgr.cc cql_lease_mgr.h
+# endif
+
+
+alloc_engine_messages_ch = custom_target('alloc_engine_messages.[ch]',
+ output : ['alloc_engine_messages.cc',
+ 'alloc_engine_messages.h'],
+ input : 'alloc_engine_messages.mes',
+ command : [kea_msg_compiler, '-d', meson.current_build_dir(), '@INPUT@'])
+dhcpsrv_messages_ch = custom_target('dhcpsrv_messages.[ch]',
+ output : ['dhcpsrv_messages.cc',
+ 'dhcpsrv_messages.h'],
+ input : 'dhcpsrv_messages.mes',
+ command : [kea_msg_compiler, '-d', meson.current_build_dir(), '@INPUT@'])
+hosts_messages_ch = custom_target('hosts_messages.[ch]',
+ output : ['hosts_messages.cc',
+ 'hosts_messages.h'],
+ input : 'hosts_messages.mes',
+ command : [kea_msg_compiler, '-d', meson.current_build_dir(), '@INPUT@'])
+
+sources += alloc_engine_messages_ch
+sources += dhcpsrv_messages_ch
+sources += hosts_messages_ch
+
+
+
+dhcpsrv_lib = static_library('kea-dhcpsrv',
+ sources,
+ cpp_args : ['-DKEA_LFC_EXECUTABLE="' + join_paths(get_option('prefix'), 'sbin/kea-lfc"'),
+ '-DDHCP_DATA_DIR="' + join_paths(get_option('prefix'), get_option('localstatedir')) + '"'], # add @PACKAGE@
+ include_directories : [lib_inc, configuration_inc],
+ install : true)
--- /dev/null
+sources = [
+ 'dns_fwd.h',
+ 'edns.h',
+ 'edns.cc',
+ 'exceptions.h',
+ 'exceptions.cc',
+ 'master_lexer_inputsource.h',
+ 'master_lexer_inputsource.cc',
+ 'labelsequence.h',
+ 'labelsequence.cc',
+ 'masterload.h',
+ 'masterload.cc',
+ 'master_lexer.h',
+ 'master_lexer.cc',
+ 'master_lexer_state.h',
+ 'master_loader.h',
+ 'master_loader.cc',
+ 'message.h',
+ 'message.cc',
+ 'messagerenderer.h',
+ 'messagerenderer.cc',
+ 'name.h',
+ 'name.cc',
+ 'name_internal.h',
+ 'nsec3hash.h',
+ 'nsec3hash.cc',
+ 'opcode.h',
+ 'opcode.cc',
+ 'rcode.h',
+ 'rcode.cc',
+ 'rdata.h',
+ 'rdata.cc',
+ 'rdatafields.h',
+ 'rdatafields.cc',
+ 'rrclass.cc',
+ 'rrparamregistry.h',
+ 'rrset.h',
+ 'rrset.cc',
+ 'rrttl.h',
+ 'rrttl.cc',
+ 'rrtype.cc',
+ 'rrcollator.h',
+ 'rrcollator.cc',
+ 'question.h',
+ 'question.cc',
+ 'serial.h',
+ 'serial.cc',
+ 'tsig.h',
+ 'tsig.cc',
+ 'tsigerror.h',
+ 'tsigerror.cc',
+ 'tsigkey.h',
+ 'tsigkey.cc',
+ 'tsigrecord.h',
+ 'tsigrecord.cc',
+ 'master_loader_callbacks.h',
+ 'master_loader_callbacks.cc',
+ 'master_loader.h',
+ 'rrset_collection_base.h',
+ 'rrset_collection.h',
+ 'rrset_collection.cc',
+ 'zone_checker.h',
+ 'zone_checker.cc',
+ 'rdata_pimpl_holder.h',
+ 'rdata/generic/detail/char_string.h',
+ 'rdata/generic/detail/char_string.cc',
+ 'rdata/generic/detail/nsec_bitmap.h',
+ 'rdata/generic/detail/nsec_bitmap.cc',
+ 'rdata/generic/detail/nsec3param_common.cc',
+ 'rdata/generic/detail/nsec3param_common.h',
+ 'rdata/generic/detail/txt_like.h',
+ 'rdata/generic/detail/ds_like.h']
+
+
+
+dnspp_lib = static_library('kea-dns++',
+ sources,
+ include_directories : [lib_inc, configuration_inc],
+ install : true)
--- /dev/null
+sources = [
+ 'exceptions.h',
+ 'exceptions.cc']
+
+
+exceptions_lib = static_library('kea-exceptions',
+ sources,
+ include_directories : [lib_inc, configuration_inc],
+ install : true)
--- /dev/null
+sources = [
+ 'callout_handle.cc',
+ 'callout_handle.h',
+ 'callout_handle_associate.cc',
+ 'callout_handle_associate.h',
+ 'callout_manager.cc',
+ 'callout_manager.h',
+ 'hooks.h',
+ 'hooks_log.cc',
+ 'hooks_log.h',
+ 'hooks_manager.cc',
+ 'hooks_manager.h',
+ 'hooks_config.cc',
+ 'hooks_config.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']
+
+
+hooks_messages_ch = custom_target('hooks_messages.[ch]',
+ output : ['hooks_messages.cc',
+ 'hooks_messages.h'],
+ input : 'hooks_messages.mes',
+ command : [kea_msg_compiler, '-d', meson.current_build_dir(), '@INPUT@'])
+
+sources += hooks_messages_ch
+
+hooks_lib = static_library('kea-hooks',
+ sources,
+ include_directories : [lib_inc, configuration_inc],
+ install : true)
--- /dev/null
+sources = [
+ 'client.cc',
+ 'client.h',
+ 'connection.cc',
+ 'connection.h',
+ 'connection_pool.cc',
+ 'connection_pool.h',
+ 'date_time.cc',
+ 'date_time.h',
+ 'http_log.cc',
+ 'http_log.h',
+ 'header_context.h',
+ 'http_acceptor.h',
+ 'http_header.cc',
+ 'http_header.h',
+ 'http_message.cc',
+ 'http_message.h',
+ 'http_message_parser_base.cc',
+ 'http_message_parser_base.h',
+ 'http_types.h',
+ 'listener.cc',
+ 'listener.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_parser.cc',
+ 'response_parser.h',
+ 'response_context.h',
+ 'response_creator.cc',
+ 'response_creator.h',
+ 'response_creator_factory.h',
+ 'response_json.cc',
+ 'response_json.h',
+ 'url.cc',
+ 'url.h']
+
+
+http_messages_ch = custom_target('http_messages.[ch]',
+ output : ['http_messages.cc',
+ 'http_messages.h'],
+ input : 'http_messages.mes',
+ command : [kea_msg_compiler, '-d', meson.current_build_dir(), '@INPUT@'])
+sources += http_messages_ch
+
+
+
+http_lib = static_library('kea-http',
+ sources,
+ include_directories : [lib_inc, configuration_inc],
+ install : true)
--- /dev/null
+sources = [
+ 'message.cc']
+
+kea_msg_compiler = executable('kea-msg-compiler',
+ sources,
+ include_directories : [lib_inc, configuration_inc],
+ link_with : [exceptions_lib, log_lib, util_lib],
+ install : true)
--- /dev/null
+sources = [
+ 'logimpl_messages.cc',
+ 'logimpl_messages.h',
+ 'log_dbglevels.cc',
+ 'log_dbglevels.h',
+ 'log_formatter.h',
+ 'log_formatter.cc',
+ 'logger.cc',
+ 'logger.h',
+ 'logger_impl.cc',
+ 'logger_impl.h',
+ 'logger_level.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',
+ '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',
+ 'buffer_appender_impl.cc',
+ 'buffer_appender_impl.h']
+
+
+log_lib = static_library('kea-log',
+ sources,
+ cpp_args : ['-DTOP_BUILDDIR="' + meson.build_root() + '"'],
+ include_directories : [lib_inc, configuration_inc],
+ install : true)
--- /dev/null
+sources = [
+ 'mysql_connection.cc',
+ 'mysql_connection.h',
+ 'mysql_binding.cc',
+ 'mysql_binding.h',
+ 'mysql_constants.h']
+
+mysql_dep = dependency('mysqlclient')
+
+foolib = static_library('kea-mysql',
+ sources,
+ include_directories : [lib_inc, configuration_inc],
+ dependencies : mysql_dep,
+ install : true)
--- /dev/null
+sources = [
+ 'config_base.cc',
+ 'config_base.h',
+ 'config_ctl_info.cc',
+ 'config_ctl_info.h',
+ 'config_ctl_parser.cc',
+ 'config_ctl_parser.h',
+ 'd_cfg_mgr.cc',
+ 'd_cfg_mgr.h',
+ 'd_controller.cc',
+ 'd_controller.h',
+ 'd_log.cc',
+ 'd_log.h',
+ 'd_process.h',
+ 'daemon.cc',
+ 'daemon.h',
+ 'io_service_signal.cc',
+ 'io_service_signal.h',
+ 'log_parser.cc',
+ 'log_parser.h',
+ 'logging_info.cc',
+ 'logging_info.h']
+
+
+process_messages_ch = custom_target('process_messages.[ch]',
+ output : ['process_messages.cc',
+ 'process_messages.h'],
+ input : 'process_messages.mes',
+ command : [kea_msg_compiler, '-d', meson.current_build_dir(), '@INPUT@'])
+
+sources += process_messages_ch
+
+process_lib = static_library('kea-process',
+ sources,
+ cpp_args : ['-DDATA_DIR="' + join_paths(get_option('prefix'), get_option('localstatedir')) + '"'],
+ include_directories : [lib_inc, configuration_inc],
+ install : true)
--- /dev/null
+sources = [
+ 'observation.h',
+ 'observation.cc',
+ 'context.h',
+ 'context.cc',
+ 'stats_mgr.h',
+ 'stats_mgr.cc']
+
+foolib = static_library('kea-stats',
+ sources,
+ include_directories : [lib_inc, configuration_inc],
+ #dependencies : glib_dep,
+ install : true)
--- /dev/null
+sources = [
+ 'fd.h',
+ 'fd.cc',
+ 'fd_share.h',
+ 'fd_share.cc',
+ 'socketsession.h',
+ 'socketsession.cc',
+ 'sockaddr_util.h',
+ 'pktinfo_utilities.h']
+
+foolib = static_library('kea-util-io',
+ sources,
+ include_directories : [lib_inc, configuration_inc],
+ #dependencies : glib_dep,
+ install : true)
--- /dev/null
+sources = [
+ 'boost_time_utils.h',
+ 'boost_time_utils.cc',
+ 'buffer.h',
+ 'io_utilities.h',
+ 'csv_file.h',
+ 'csv_file.cc',
+ 'filename.h',
+ 'filename.cc',
+ 'hash.h',
+ 'labeled_value.h',
+ 'labeled_value.cc',
+ 'memory_segment.h',
+ 'memory_segment_local.h',
+ 'memory_segment_local.cc',
+ 'optional_value.h',
+ 'pid_file.h',
+ 'pid_file.cc',
+ 'pointer_util.h',
+ 'process_spawn.h',
+ 'process_spawn.cc',
+ 'range_utilities.h',
+ 'signal_set.cc',
+ 'signal_set.h',
+ 'staged_value.h',
+ 'state_model.cc',
+ 'state_model.h',
+ 'stopwatch.cc',
+ 'stopwatch.h',
+ 'stopwatch_impl.cc',
+ 'stopwatch_impl.h',
+ 'strutil.h',
+ 'strutil.cc',
+ 'time_utilities.h',
+ 'time_utilities.cc',
+ 'versioned_csv_file.h',
+ 'versioned_csv_file.cc',
+ 'watch_socket.cc',
+ 'watch_socket.h',
+ 'encode/base16_from_binary.h',
+ 'encode/base32hex.h',
+ 'encode/base64.h',
+ 'encode/base32hex_from_binary.h',
+ 'encode/base_n.cc',
+ 'encode/hex.h',
+ 'encode/binary_from_base32hex.h',
+ 'encode/binary_from_base16.h',
+ 'random/qid_gen.h',
+ 'random/qid_gen.cc',
+ 'random/random_number_generator.h']
+
+util_lib = static_library('kea-util',
+ sources,
+ include_directories : [lib_inc, configuration_inc])
--- /dev/null
+sources = [
+ 'sync.h',
+ 'sync.cc',
+ 'thread.h',
+ 'thread.cc',
+ 'watched_thread.h',
+ 'watched_thread.cc']
+
+foolib = static_library('kea-threads',
+ sources,
+ include_directories : [lib_inc, configuration_inc],
+ #dependencies : glib_dep,
+ install : true)
--- /dev/null
+sources = [
+ 'run_unittests.cc',
+ 'thread_unittest.cc',
+ 'lock_unittest.cc',
+ 'condvar_unittest.cc',
+ 'watched_thread_unittest.cc']
+
+foolib = static_library('kea-threads',
+ sources,
+ include_directories : [lib_inc, configuration_inc, gtest_inc],
+ #dependencies : glib_dep,
+ install : true)