kea_asiolink_lib = shared_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_DEP],
    include_directories: [include_directories('.')] + INCLUDES,
    install: true,
    install_dir: LIBDIR,
    install_rpath: INSTALL_RPATH,
    build_rpath: BUILD_RPATH,
    link_with: LIBS_BUILT_SO_FAR,
    version: '98.0.0',
)
LIBS_BUILT_SO_FAR = [kea_asiolink_lib] + LIBS_BUILT_SO_FAR
subdir('testutils')
subdir('tests')
kea_asiolink_headers = [
    'addr_utilities.h',
    'asio_wrapper.h',
    'asiolink.h',
    'botan_tls.h',
    'botan_wrapper.h',
    'common_tls.h',
    'crypto_tls.h',
    'dummy_io_cb.h',
    'interval_timer.h',
    'io_acceptor.h',
    'io_address.h',
    'io_asio_socket.h',
    'io_endpoint.h',
    'io_error.h',
    'io_service.h',
    'io_service_mgr.h',
    'io_service_signal.h',
    'io_service_thread_pool.h',
    'io_socket.h',
    'openssl_tls.h',
    'process_spawn.h',
    'tcp_acceptor.h',
    'tcp_endpoint.h',
    'tcp_socket.h',
    'tls_acceptor.h',
    'tls_socket.h',
    'udp_endpoint.h',
    'udp_socket.h',
    'unix_domain_socket.h',
    'unix_domain_socket_acceptor.h',
    'unix_domain_socket_endpoint.h',
]
install_headers(
    kea_asiolink_headers,
    preserve_path: true,
    subdir: 'kea/asiolink',
)
