1bb939ea4SPatrick Williamssystemd_system_unit_dir = systemd_dep.get_variable(
275111af1SPatrick Williams    'systemdsystemunitdir'
3bb939ea4SPatrick Williams)
4bb939ea4SPatrick Williamsbusconfig_dir = get_option('datadir') / 'dbus-1' / 'system.d'
5bb939ea4SPatrick Williamscert_manager_dir = get_option('datadir') / 'phosphor-certificate-manager'
6bb939ea4SPatrick Williams
7bb939ea4SPatrick Williamscerts = []
8bb939ea4SPatrick Williamsbusconfig = []
9bb939ea4SPatrick Williamsservice_files = [ 'phosphor-certificate-manager@.service' ]
10bb939ea4SPatrick Williamssystemd_alias = []
11bb939ea4SPatrick Williams
12bb939ea4SPatrick Williamsif not get_option('ca-cert-extension').disabled()
13bb939ea4SPatrick Williams    busconfig += 'busconfig/bmc-vmi-ca.conf'
14bb939ea4SPatrick Williams    service_files += 'bmc-vmi-ca-manager.service'
15bb939ea4SPatrick Williamsendif
16bb939ea4SPatrick Williams
17bb939ea4SPatrick Williamsif not get_option('config-bmcweb').disabled()
18bb939ea4SPatrick Williams    busconfig += 'busconfig/phosphor-bmcweb-cert-config.conf'
19bb939ea4SPatrick Williams    certs += 'env/bmcweb'
20bb939ea4SPatrick Williams    systemd_alias += [[
21bb939ea4SPatrick Williams        '../phosphor-certificate-manager@.service',
22bb939ea4SPatrick Williams        'multi-user.target.wants/phosphor-certificate-manager@bmcweb.service'
23bb939ea4SPatrick Williams    ]]
24bb939ea4SPatrick Williamsendif
25bb939ea4SPatrick Williams
26*2e8fa88eSMichal Orzelif not get_option('config-authority').disabled()
27*2e8fa88eSMichal Orzel    busconfig += 'busconfig/phosphor-authority-cert-config.conf'
28bb939ea4SPatrick Williams    certs += 'env/authority'
29bb939ea4SPatrick Williams    systemd_alias += [[
30bb939ea4SPatrick Williams        '../phosphor-certificate-manager@.service',
31bb939ea4SPatrick Williams        'multi-user.target.wants/phosphor-certificate-manager@authority.service'
32bb939ea4SPatrick Williams    ]]
33bb939ea4SPatrick Williamsendif
34bb939ea4SPatrick Williams
35bb939ea4SPatrick Williamsinstall_data(
36bb939ea4SPatrick Williams    service_files,
37bb939ea4SPatrick Williams    install_dir: systemd_system_unit_dir,
38bb939ea4SPatrick Williams)
39bb939ea4SPatrick Williams
40bb939ea4SPatrick Williamsinstall_data(
41bb939ea4SPatrick Williams    busconfig,
42bb939ea4SPatrick Williams    install_dir: busconfig_dir,
43bb939ea4SPatrick Williams)
44bb939ea4SPatrick Williams
45bb939ea4SPatrick Williamsinstall_data(
46bb939ea4SPatrick Williams    certs,
47bb939ea4SPatrick Williams    install_dir: cert_manager_dir,
48bb939ea4SPatrick Williams)
49bb939ea4SPatrick Williams
50bb939ea4SPatrick Williamsforeach service: systemd_alias
51bb939ea4SPatrick Williams    # Meson 0.61 will support this:
52bb939ea4SPatrick Williams    #install_symlink(
53bb939ea4SPatrick Williams    #      service,
54bb939ea4SPatrick Williams    #      install_dir: systemd_system_unit_dir,
55bb939ea4SPatrick Williams    #      pointing_to: link,
56bb939ea4SPatrick Williams    #  )
57bb939ea4SPatrick Williams    meson.add_install_script(
58bb939ea4SPatrick Williams        'sh', '-c',
59bb939ea4SPatrick Williams        'mkdir -p $(dirname $DESTDIR/@0@/@1@)'.format(systemd_system_unit_dir,
60bb939ea4SPatrick Williams            service[1]),
61bb939ea4SPatrick Williams    )
62bb939ea4SPatrick Williams    meson.add_install_script(
63bb939ea4SPatrick Williams        'sh', '-c',
64bb939ea4SPatrick Williams        'ln -s @0@ $DESTDIR/@1@/@2@'.format(service[0], systemd_system_unit_dir,
65bb939ea4SPatrick Williams            service[1]),
66bb939ea4SPatrick Williams    )
67bb939ea4SPatrick Williamsendforeach
68