+# SPDX-License-Identifier: LGPL-2.1+
+
basic_dns_sources = files('''
resolved-dns-dnssec.c
resolved-dns-dnssec.h
dns_type_h = files('dns-type.h')[0]
-systemd_resolved_only_sources = files('''
+systemd_resolved_sources = files('''
resolved.c
resolved-manager.c
resolved-manager.h
+ resolved-dnssd.c
+ resolved-dnssd.h
+ resolved-dnssd-bus.c
+ resolved-dnssd-bus.h
resolved-conf.c
resolved-conf.h
resolved-resolv-conf.c
resolved-dns-stub.c
resolved-etc-hosts.h
resolved-etc-hosts.c
+ resolved-dnstls.h
'''.split())
-systemd_resolve_only_sources = files('resolve-tool.c')
+resolvectl_sources = files('''
+ resolvconf-compat.c
+ resolvconf-compat.h
+ resolvectl.c
+ resolvectl.h
+'''.split())
############################################################
output : 'resolved-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
-systemd_resolved_sources = (basic_dns_sources +
- [resolved_gperf_c] +
- systemd_resolved_only_sources +
- dns_type_headers)
+resolved_dnssd_gperf_c = custom_target(
+ 'resolved_dnssd_gperf.c',
+ input : 'resolved-dnssd-gperf.gperf',
+ output : 'resolved-dnssd-gperf.c',
+ command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
-systemd_resolve_sources = (basic_dns_sources +
- systemd_resolve_only_sources +
- dns_type_headers)
+libsystemd_resolve_core = static_library(
+ 'systemd-resolve-core',
+ basic_dns_sources,
+ dns_type_headers,
+ include_directories : includes)
+
+systemd_resolved_sources += [resolved_gperf_c, resolved_dnssd_gperf_c]
+
+systemd_resolved_dependencies = [threads, libgpg_error, libm, libidn]
+if conf.get('ENABLE_DNS_OVER_TLS') == 1
+ if conf.get('DNS_OVER_TLS_USE_GNUTLS') == 1
+ systemd_resolved_sources += files('resolved-dnstls-gnutls.c',
+ 'resolved-dnstls-gnutls.h')
+ systemd_resolved_dependencies += libgnutls
+ elif conf.get('DNS_OVER_TLS_USE_OPENSSL') == 1
+ systemd_resolved_sources += files('resolved-dnstls-openssl.c',
+ 'resolved-dnstls-openssl.h')
+ systemd_resolved_dependencies += libopenssl
+ else
+ error('unknown dependency for supporting DNS-over-TLS')
+ endif
+endif
-if conf.get('ENABLE_RESOLVED') == 1
+if conf.get('ENABLE_RESOLVE') == 1
install_data('org.freedesktop.resolve1.conf',
install_dir : dbuspolicydir)
install_data('org.freedesktop.resolve1.service',
install_dir : dbussystemservicedir)
+ install_data('org.freedesktop.resolve1.policy',
+ install_dir : polkitpolicydir)
resolved_conf = configure_file(
input : 'resolved.conf.in',
tests += [
[['src/resolve/test-resolve-tables.c',
- basic_dns_sources,
dns_type_headers,
'src/shared/test-tables.h'],
- [],
+ [libsystemd_resolve_core,
+ libshared],
[libgcrypt,
libgpg_error,
libm],
- 'ENABLE_RESOLVED'],
+ 'ENABLE_RESOLVE'],
[['src/resolve/test-dns-packet.c',
- basic_dns_sources,
dns_type_headers],
- [],
+ [libsystemd_resolve_core,
+ libshared],
[libgcrypt,
libgpg_error,
libm],
- 'ENABLE_RESOLVED'],
+ 'ENABLE_RESOLVE'],
+
+ [['src/resolve/test-resolved-etc-hosts.c',
+ 'src/resolve/resolved-etc-hosts.c',
+ 'src/resolve/resolved-etc-hosts.h'],
+ [libsystemd_resolve_core,
+ libshared],
+ [libgcrypt,
+ libgpg_error,
+ libm],
+ 'ENABLE_RESOLVE'],
[['src/resolve/test-resolved-packet.c',
- basic_dns_sources,
dns_type_headers],
- [],
+ [libsystemd_resolve_core,
+ libshared],
[libgcrypt,
libgpg_error,
libm],
- 'ENABLE_RESOLVED'],
+ 'ENABLE_RESOLVE'],
[['src/resolve/test-dnssec.c',
- basic_dns_sources,
dns_type_headers],
- [],
+ [libsystemd_resolve_core,
+ libshared],
[libgcrypt,
libgpg_error,
libm],
- 'ENABLE_RESOLVED'],
+ 'ENABLE_RESOLVE'],
[['src/resolve/test-dnssec-complex.c',
'src/resolve/dns-type.c',
dns_type_headers],
[],
[],
- 'ENABLE_RESOLVED', 'manual'],
+ 'ENABLE_RESOLVE', 'manual'],
]