]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
added meson files to build kea 304-poc-replace-autotools-with-meson
authorMichal Nowikowski <godfryd@isc.org>
Fri, 30 Nov 2018 07:08:53 +0000 (08:08 +0100)
committerMichal Nowikowski <godfryd@isc.org>
Fri, 30 Nov 2018 07:08:53 +0000 (08:08 +0100)
23 files changed:
meson.build [new file with mode: 0644]
src/lib/asiolink/meson.build [new file with mode: 0644]
src/lib/cc/meson.build [new file with mode: 0644]
src/lib/cfgrpt/meson.build [new file with mode: 0644]
src/lib/config/meson.build [new file with mode: 0644]
src/lib/cryptolink/meson.build [new file with mode: 0644]
src/lib/database/meson.build [new file with mode: 0644]
src/lib/dhcp/meson.build [new file with mode: 0644]
src/lib/dhcp_ddns/meson.build [new file with mode: 0644]
src/lib/dhcpsrv/meson.build [new file with mode: 0644]
src/lib/dns/meson.build [new file with mode: 0644]
src/lib/exceptions/meson.build [new file with mode: 0644]
src/lib/hooks/meson.build [new file with mode: 0644]
src/lib/http/meson.build [new file with mode: 0644]
src/lib/log/compiler/meson.build [new file with mode: 0644]
src/lib/log/meson.build [new file with mode: 0644]
src/lib/mysql/meson.build [new file with mode: 0644]
src/lib/process/meson.build [new file with mode: 0644]
src/lib/stats/meson.build [new file with mode: 0644]
src/lib/util/io/meson.build [new file with mode: 0644]
src/lib/util/meson.build [new file with mode: 0644]
src/lib/util/threads/meson.build [new file with mode: 0755]
src/lib/util/threads/tests/meson.build [new file with mode: 0755]

diff --git a/meson.build b/meson.build
new file mode 100644 (file)
index 0000000..8971144
--- /dev/null
@@ -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 (file)
index 0000000..f6243e5
--- /dev/null
@@ -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 (file)
index 0000000..bbe968d
--- /dev/null
@@ -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 (file)
index 0000000..2b84981
--- /dev/null
@@ -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 (file)
index 0000000..4f937d6
--- /dev/null
@@ -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 (file)
index 0000000..6be61c0
--- /dev/null
@@ -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 (file)
index 0000000..f52e13e
--- /dev/null
@@ -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 (file)
index 0000000..e54467e
--- /dev/null
@@ -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 (file)
index 0000000..427c30e
--- /dev/null
@@ -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 (file)
index 0000000..1d52c2f
--- /dev/null
@@ -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 (file)
index 0000000..ad07be9
--- /dev/null
@@ -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 (file)
index 0000000..60b3e26
--- /dev/null
@@ -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 (file)
index 0000000..9de93d9
--- /dev/null
@@ -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 (file)
index 0000000..bf42cd6
--- /dev/null
@@ -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 (file)
index 0000000..f37881d
--- /dev/null
@@ -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 (file)
index 0000000..8b75fde
--- /dev/null
@@ -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 (file)
index 0000000..8d1b0f7
--- /dev/null
@@ -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 (file)
index 0000000..e0cae99
--- /dev/null
@@ -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 (file)
index 0000000..e2fd7ec
--- /dev/null
@@ -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 (file)
index 0000000..498b9bb
--- /dev/null
@@ -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 (file)
index 0000000..8f4b9aa
--- /dev/null
@@ -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 (executable)
index 0000000..9734ed4
--- /dev/null
@@ -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 (executable)
index 0000000..2fbf33c
--- /dev/null
@@ -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)