summaryrefslogtreecommitdiff
path: root/src/login/meson.build
blob: 000a5f9d96a913e47672eb401e47aa2b766c7997 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# SPDX-License-Identifier: LGPL-2.1-or-later

systemd_logind_sources = files(
        'logind.c',
        'logind.h')

logind_gperf_c = custom_target(
        'logind_gperf.c',
        input : 'logind-gperf.gperf',
        output : 'logind-gperf.c',
        command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])

liblogind_core_sources = files(
        'logind-action.c',
        'logind-action.h',
        'logind-brightness.c',
        'logind-brightness.h',
        'logind-button.c',
        'logind-button.h',
        'logind-core.c',
        'logind-dbus.c',
        'logind-dbus.h',
        'logind-device.c',
        'logind-device.h',
        'logind-inhibit.c',
        'logind-inhibit.h',
        'logind-polkit.c',
        'logind-polkit.h',
        'logind-seat-dbus.c',
        'logind-seat-dbus.h',
        'logind-seat.c',
        'logind-seat.h',
        'logind-session-dbus.c',
        'logind-session-dbus.h',
        'logind-session-device.c',
        'logind-session-device.h',
        'logind-session.c',
        'logind-session.h',
        'logind-user-dbus.c',
        'logind-user-dbus.h',
        'logind-user.c',
        'logind-user.h',
        'logind-utmp.c')

liblogind_core_sources += [logind_gperf_c]

liblogind_core = static_library(
        'logind-core',
        liblogind_core_sources,
        include_directories : includes,
        dependencies : libacl,
        build_by_default : false)

loginctl_sources = files(
        'loginctl.c',
        'sysfs-show.h',
        'sysfs-show.c')

user_runtime_dir_sources = files('user-runtime-dir.c')

pam_systemd_sym = 'src/login/pam_systemd.sym'
pam_systemd_c = files('pam_systemd.c')

enable_logind = conf.get('ENABLE_LOGIND') == 1
in_files = [
        ['logind.conf',        pkgsysconfdir, enable_logind and install_sysconfdir_samples],
        ['70-uaccess.rules',   udevrulesdir,  enable_logind and conf.get('HAVE_ACL') == 1],
        ['71-seat.rules',      udevrulesdir,  enable_logind],
        ['73-seat-late.rules', udevrulesdir,  enable_logind],
        ['systemd-user',       pamconfdir,    enable_logind]]

foreach tuple : in_files
        file = tuple[0]
        dir = tuple[1]
        install = (dir == pkgsysconfdir) ? install_sysconfdir_samples : (dir != 'no')
        custom_target(
                file,
                input : file + '.in',
                output: file,
                command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
                install : tuple[2] and install,
                install_dir : dir)
endforeach

if enable_logind
        install_data('org.freedesktop.login1.conf',
                     install_dir : dbuspolicydir)
        install_data('org.freedesktop.login1.service',
                     install_dir : dbussystemservicedir)
        install_data('org.freedesktop.login1.policy',
                     install_dir : polkitpolicydir)
        install_data('70-power-switch.rules',
                     install_dir : udevrulesdir)
endif

############################################################

tests += [
        [files('test-login-shared.c')],

        [files('test-inhibit.c'),
         [], [], [], '', 'manual'],

        [files('test-login-tables.c'),
         [liblogind_core,
          libshared],
         [threads]],
]