From: Michal Nowikowski Date: Fri, 30 Nov 2018 07:08:53 +0000 (+0100) Subject: added meson files to build kea X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2745f20fb01eafdf1b007af5b7c030047e5ced7d;p=thirdparty%2Fkea.git added meson files to build kea --- diff --git a/meson.build b/meson.build new file mode 100644 index 0000000000..8971144432 --- /dev/null +++ b/meson.build @@ -0,0 +1,52 @@ +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) diff --git a/src/lib/asiolink/meson.build b/src/lib/asiolink/meson.build new file mode 100644 index 0000000000..f6243e5a5c --- /dev/null +++ b/src/lib/asiolink/meson.build @@ -0,0 +1,35 @@ +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) diff --git a/src/lib/cc/meson.build b/src/lib/cc/meson.build new file mode 100644 index 0000000000..bbe968dba9 --- /dev/null +++ b/src/lib/cc/meson.build @@ -0,0 +1,23 @@ +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) diff --git a/src/lib/cfgrpt/meson.build b/src/lib/cfgrpt/meson.build new file mode 100644 index 0000000000..2b8498123d --- /dev/null +++ b/src/lib/cfgrpt/meson.build @@ -0,0 +1,20 @@ +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) diff --git a/src/lib/config/meson.build b/src/lib/config/meson.build new file mode 100644 index 0000000000..4f937d6c72 --- /dev/null +++ b/src/lib/config/meson.build @@ -0,0 +1,27 @@ +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) diff --git a/src/lib/cryptolink/meson.build b/src/lib/cryptolink/meson.build new file mode 100644 index 0000000000..6be61c0cad --- /dev/null +++ b/src/lib/cryptolink/meson.build @@ -0,0 +1,23 @@ +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) diff --git a/src/lib/database/meson.build b/src/lib/database/meson.build new file mode 100644 index 0000000000..f52e13e406 --- /dev/null +++ b/src/lib/database/meson.build @@ -0,0 +1,26 @@ +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) diff --git a/src/lib/dhcp/meson.build b/src/lib/dhcp/meson.build new file mode 100644 index 0000000000..e54467e46f --- /dev/null +++ b/src/lib/dhcp/meson.build @@ -0,0 +1,106 @@ +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) diff --git a/src/lib/dhcp_ddns/meson.build b/src/lib/dhcp_ddns/meson.build new file mode 100644 index 0000000000..427c30ee27 --- /dev/null +++ b/src/lib/dhcp_ddns/meson.build @@ -0,0 +1,22 @@ +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) diff --git a/src/lib/dhcpsrv/meson.build b/src/lib/dhcpsrv/meson.build new file mode 100644 index 0000000000..1d52c2fed0 --- /dev/null +++ b/src/lib/dhcpsrv/meson.build @@ -0,0 +1,178 @@ +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) diff --git a/src/lib/dns/meson.build b/src/lib/dns/meson.build new file mode 100644 index 0000000000..ad07be9187 --- /dev/null +++ b/src/lib/dns/meson.build @@ -0,0 +1,79 @@ +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) diff --git a/src/lib/exceptions/meson.build b/src/lib/exceptions/meson.build new file mode 100644 index 0000000000..60b3e26a7c --- /dev/null +++ b/src/lib/exceptions/meson.build @@ -0,0 +1,9 @@ +sources = [ + 'exceptions.h', + 'exceptions.cc'] + + +exceptions_lib = static_library('kea-exceptions', + sources, + include_directories : [lib_inc, configuration_inc], + install : true) diff --git a/src/lib/hooks/meson.build b/src/lib/hooks/meson.build new file mode 100644 index 0000000000..9de93d9d2b --- /dev/null +++ b/src/lib/hooks/meson.build @@ -0,0 +1,42 @@ +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) diff --git a/src/lib/http/meson.build b/src/lib/http/meson.build new file mode 100644 index 0000000000..bf42cd6718 --- /dev/null +++ b/src/lib/http/meson.build @@ -0,0 +1,58 @@ +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) diff --git a/src/lib/log/compiler/meson.build b/src/lib/log/compiler/meson.build new file mode 100644 index 0000000000..f37881d57b --- /dev/null +++ b/src/lib/log/compiler/meson.build @@ -0,0 +1,8 @@ +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) diff --git a/src/lib/log/meson.build b/src/lib/log/meson.build new file mode 100644 index 0000000000..8b75fde331 --- /dev/null +++ b/src/lib/log/meson.build @@ -0,0 +1,49 @@ +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) diff --git a/src/lib/mysql/meson.build b/src/lib/mysql/meson.build new file mode 100644 index 0000000000..8d1b0f7f47 --- /dev/null +++ b/src/lib/mysql/meson.build @@ -0,0 +1,14 @@ +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) diff --git a/src/lib/process/meson.build b/src/lib/process/meson.build new file mode 100644 index 0000000000..e0cae99934 --- /dev/null +++ b/src/lib/process/meson.build @@ -0,0 +1,37 @@ +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) diff --git a/src/lib/stats/meson.build b/src/lib/stats/meson.build new file mode 100644 index 0000000000..e2fd7ec16b --- /dev/null +++ b/src/lib/stats/meson.build @@ -0,0 +1,13 @@ +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) diff --git a/src/lib/util/io/meson.build b/src/lib/util/io/meson.build new file mode 100644 index 0000000000..498b9bbb12 --- /dev/null +++ b/src/lib/util/io/meson.build @@ -0,0 +1,15 @@ +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) diff --git a/src/lib/util/meson.build b/src/lib/util/meson.build new file mode 100644 index 0000000000..8f4b9aabc3 --- /dev/null +++ b/src/lib/util/meson.build @@ -0,0 +1,54 @@ +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]) diff --git a/src/lib/util/threads/meson.build b/src/lib/util/threads/meson.build new file mode 100755 index 0000000000..9734ed4ca8 --- /dev/null +++ b/src/lib/util/threads/meson.build @@ -0,0 +1,13 @@ +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) diff --git a/src/lib/util/threads/tests/meson.build b/src/lib/util/threads/tests/meson.build new file mode 100755 index 0000000000..2fbf33ce25 --- /dev/null +++ b/src/lib/util/threads/tests/meson.build @@ -0,0 +1,12 @@ +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)