chiark / gitweb /
2ead576655ac8ca4997b5f1b643744790307cae8
[elogind.git] / src / login / meson.build
1 # SPDX-License-Identifier: LGPL-2.1+
2 #if 0 /// rename to elogind
3
4 # systemd_logind_sources = files('''
5 #         logind.c
6 #         logind.h
7 # '''.split())
8 #else
9 elogind_sources = files('''
10         elogind.c
11         elogind.h
12         logind.c
13         logind.h
14 '''.split())
15 #endif // 0
16
17 logind_gperf_c = custom_target(
18         'logind_gperf.c',
19         input : 'logind-gperf.gperf',
20         output : 'logind-gperf.c',
21         command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
22
23 liblogind_core_sources = files('''
24         logind-core.c
25         logind-device.c
26         logind-device.h
27         logind-button.c
28         logind-button.h
29         logind-action.c
30         logind-action.h
31         logind-seat.c
32         logind-seat.h
33         logind-session.c
34         logind-session.h
35         logind-session-device.c
36         logind-session-device.h
37         logind-user.c
38         logind-user.h
39         logind-inhibit.c
40         logind-inhibit.h
41         logind-dbus.c
42         logind-session-dbus.c
43         logind-seat-dbus.c
44         logind-user-dbus.c
45         logind-utmp.c
46         logind-acl.h
47 '''.split())
48
49 #if 1 /// elogind has some additional files:
50 liblogind_core_sources += [files('''
51         elogind-dbus.c
52         elogind-dbus.h
53 '''.split()),
54         libcore_la_sources,
55         sleep_files,
56         update_utmp_files]
57 #endif // 1
58 liblogind_core_sources += [logind_gperf_c]
59
60 logind_acl_c = files('logind-acl.c')
61 if conf.get('HAVE_ACL') == 1
62         liblogind_core_sources += logind_acl_c
63 endif
64
65 liblogind_core = static_library(
66         'logind-core',
67         liblogind_core_sources,
68         include_directories : includes,
69 #if 0 /// elogind needs audit support for utmp inclusion
70 #         dependencies : [libacl])
71 #else
72         dependencies : [libacl,
73                         libaudit])
74 #endif // 0
75
76 loginctl_sources = files('''
77         loginctl.c
78         sysfs-show.h
79         sysfs-show.c
80 '''.split())
81
82 #if 0 /// UNNEEDED by elogind
83 # user_runtime_dir_sources = files('''
84 #         user-runtime-dir.c
85 #         logind.h
86 # '''.split())
87 #endif // 0
88
89 #if 1 /// elogind has some additional files:
90 loginctl_sources += files('''
91         eloginctl.c
92         eloginctl.h
93 '''.split())
94 #endif // 1
95
96 #if 0 /// elogind builds itself unconditionally
97 # if conf.get('ENABLE_LOGIND') == 1
98 #endif // 0
99         logind_conf = configure_file(
100                 input : 'logind.conf.in',
101                 output : 'logind.conf',
102                 configuration : substs)
103         install_data(logind_conf,
104                      install_dir : pkgsysconfdir)
105
106         pam_elogind_sym = 'src/login/pam_elogind.sym'
107         pam_elogind_c = files('pam_elogind.c')
108
109         install_data('org.freedesktop.login1.conf',
110                      install_dir : dbuspolicydir)
111 #if 0 /// Works a bit differently here, as elogind allows dbus activation.
112 #         install_data('org.freedesktop.login1.service',
113 #                      install_dir : dbussystemservicedir)
114 #else
115         logind_service = configure_file(
116                 input : 'org.freedesktop.login1.service.in',
117                 output : 'org.freedesktop.login1.service',
118                 configuration : substs)
119         install_data(logind_service,
120                 install_dir : dbussystemservicedir)
121 #endif // 0
122         install_data('org.freedesktop.login1.policy',
123                      install_dir : polkitpolicydir)
124
125         install_data('70-power-switch.rules', install_dir : udevrulesdir)
126
127         if conf.get('HAVE_ACL') == 1
128                 install_data('70-uaccess.rules', install_dir : udevrulesdir)
129         endif
130
131         seat_rules = configure_file(
132                 input : '71-seat.rules.in',
133                 output : '71-seat.rules',
134                 configuration : substs)
135         install_data(seat_rules,
136                      install_dir : udevrulesdir)
137
138 #if 1 /// elogind needs two passes of this file
139         seat_late_rules = configure_file(
140                 input : '73-seat-late.rules.in',
141                 output : '73-seat-late.rules.m4',
142                 configuration : substs)
143 #endif // 1
144
145         custom_target(
146                 '73-seat-late.rules',
147 #if 0 /// elogind must configure the source
148 #                 input : '73-seat-late.rules.m4',
149 #else
150                 input : seat_late_rules,
151 #endif // 0
152                 output: '73-seat-late.rules',
153                 command : [meson_apply_m4, config_h, '@INPUT@'],
154                 capture : true,
155                 install : true,
156                 install_dir : udevrulesdir)
157
158         custom_target(
159                 'elogind-user',
160                 input : 'elogind-user.m4',
161                 output: 'elogind-user',
162                 command : [meson_apply_m4, config_h, '@INPUT@'],
163                 capture : true,
164                 install : pamconfdir != 'no',
165                 install_dir : pamconfdir)
166 #if 0 /// elogind builds itself unconditionally
167 # endif
168 #endif //0