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