Enable launchd.
[platform/upstream/dbus.git] / bus / Makefile.am
1
2 configdir=$(sysconfdir)/dbus-1
3
4 INCLUDES=-I$(top_srcdir) $(DBUS_BUS_CFLAGS) @PIE_CFLAGS@                \
5         -DDBUS_SYSTEM_CONFIG_FILE=\""$(configdir)/system.conf"\"        \
6         -DDBUS_COMPILATION
7
8 EFENCE=
9
10 CONFIG_IN_FILES=                                \
11         session.conf.in                         \
12         system.conf.in                          \
13         org.freedesktop.dbus-session.plist.in
14
15 config_DATA=                                    \
16         session.conf                            \
17         system.conf
18
19 if DBUS_ENABLE_LAUNCHD
20 agentdir=$(LAUNCHD_AGENT_DIR)
21 agent_DATA=org.freedesktop.dbus-session.plist
22 endif
23
24 if DBUS_USE_LIBXML
25 XML_SOURCES=config-loader-libxml.c
26 endif
27 if DBUS_USE_EXPAT
28 XML_SOURCES=config-loader-expat.c
29 endif
30
31 if DBUS_BUS_ENABLE_KQUEUE
32 DIR_WATCH_SOURCE=dir-watch-kqueue.c
33 else
34 if DBUS_BUS_ENABLE_INOTIFY
35 DIR_WATCH_SOURCE=dir-watch-inotify.c
36 else
37 if DBUS_BUS_ENABLE_DNOTIFY_ON_LINUX
38 DIR_WATCH_SOURCE=dir-watch-dnotify.c
39 else
40 DIR_WATCH_SOURCE=dir-watch-default.c
41 endif
42 endif
43 endif
44
45 BUS_SOURCES=                                    \
46         activation.c                            \
47         activation.h                            \
48         activation-exit-codes.h                 \
49         bus.c                                   \
50         bus.h                                   \
51         config-parser.c                         \
52         config-parser.h                         \
53         config-parser-common.c                  \
54         config-parser-common.h                  \
55         connection.c                            \
56         connection.h                            \
57         desktop-file.c                          \
58         desktop-file.h                          \
59         $(DIR_WATCH_SOURCE)                     \
60         dir-watch.h                             \
61         dispatch.c                              \
62         dispatch.h                              \
63         driver.c                                \
64         driver.h                                \
65         expirelist.c                            \
66         expirelist.h                            \
67         policy.c                                \
68         policy.h                                \
69         selinux.h                               \
70         selinux.c                               \
71         services.c                              \
72         services.h                              \
73         signals.c                               \
74         signals.h                               \
75         test.c                                  \
76         test.h                                  \
77         utils.c                                 \
78         utils.h                                 \
79         $(XML_SOURCES)
80
81 dbus_daemon_SOURCES=                            \
82         $(BUS_SOURCES)                          \
83         main.c
84
85 dbus_daemon_CPPFLAGS = -DDBUS_STATIC_BUILD
86 dbus_daemon_LDADD=                                      \
87         $(top_builddir)/dbus/libdbus-internal.la        \
88         $(EFENCE)                                       \
89         $(DBUS_BUS_LIBS)
90
91 dbus_daemon_LDFLAGS=@R_DYNAMIC_LDFLAG@ @SECTION_LDFLAGS@ @PIE_LDFLAGS@
92
93 LAUNCH_HELPER_SOURCES=                          \
94         $(XML_SOURCES)                          \
95         config-parser-common.c                  \
96         config-parser-common.h                  \
97         config-parser-trivial.c                 \
98         config-parser-trivial.h                 \
99         desktop-file.c                          \
100         desktop-file.h                          \
101         utils.c                                 \
102         utils.h                                 \
103         activation-exit-codes.h                 \
104         activation-helper.h                     \
105         activation-helper.c
106
107 ## This is the installed launch helper with the setuid checks
108 dbus_daemon_launch_helper_SOURCES=              \
109         activation-helper-bin.c                 \
110         $(LAUNCH_HELPER_SOURCES)
111
112 dbus_daemon_launch_helper_CPPFLAGS = -DDBUS_STATIC_BUILD
113 dbus_daemon_launch_helper_LDADD=                \
114         $(top_builddir)/dbus/libdbus-internal.la \
115         $(DBUS_LAUNCHER_LIBS)
116
117 dbus_daemon_launch_helper_LDFLAGS=@R_DYNAMIC_LDFLAG@ @SECTION_LDFLAGS@
118
119 ## we build another binary so we can do the launch testing without root privs.
120 ## DO NOT INSTALL THIS FILE
121 dbus_daemon_launch_helper_test_SOURCES=         \
122         activation-helper-bin.c                 \
123         $(LAUNCH_HELPER_SOURCES)
124
125 dbus_daemon_launch_helper_test_LDADD=           \
126         $(top_builddir)/dbus/libdbus-internal.la \
127         $(DBUS_LAUNCHER_LIBS)
128
129 dbus_daemon_launch_helper_test_LDFLAGS=@R_DYNAMIC_LDFLAG@ @SECTION_LDFLAGS@
130 dbus_daemon_launch_helper_test_CPPFLAGS= -DDBUS_STATIC_BUILD    \
131         -DACTIVATION_LAUNCHER_TEST
132
133 ## we build yet another binary so we can do the OOM tests
134 ## DO NOT INSTALL THIS FILE
135 bus_test_launch_helper_SOURCES=         \
136         test-launch-helper.c            \
137         $(LAUNCH_HELPER_SOURCES)
138
139 bus_test_launch_helper_LDADD=           \
140         $(top_builddir)/dbus/libdbus-internal.la \
141         $(DBUS_LAUNCHER_LIBS)
142
143 bus_test_launch_helper_LDFLAGS=@R_DYNAMIC_LDFLAG@ @SECTION_LDFLAGS@
144 bus_test_launch_helper_CPPFLAGS= -DDBUS_STATIC_BUILD    \
145         -DACTIVATION_LAUNCHER_TEST      \
146         -DACTIVATION_LAUNCHER_DO_OOM
147
148 extra_tests=
149 extra_noinst_programs=
150 extra_inst_programs=
151 if DBUS_UNIX
152 extra_tests+=bus-test-launch-helper
153 extra_noinst_programs+=dbus-daemon-launch-helper dbus-daemon-launch-helper-test dbus-daemon
154 endif
155 if DBUS_WIN
156 extra_inst_programs+=dbus-daemon
157 endif
158
159 ## note that TESTS has special meaning (stuff to use in make check)
160 ## so if adding tests not to be run in make check, don't add them to
161 ## TESTS
162 if DBUS_BUILD_TESTS
163 TESTS_ENVIRONMENT=DBUS_TEST_DATA=$(top_builddir)/test/data DBUS_TEST_HOMEDIR=$(top_builddir)/dbus DBUS_FATAL_WARNINGS=1 DBUS_BLOCK_ON_ABORT=1
164 TESTS=bus-test bus-test-system $(extra_tests)
165 else
166 TESTS=
167 endif
168
169 ## we use noinst_PROGRAMS not check_PROGRAMS so that we build
170 ## even when not doing "make check"
171 noinst_PROGRAMS=$(TESTS) $(extra_noinst_programs)
172 bin_PROGRAMS=$(extra_inst_programs)
173
174 bus_test_system_SOURCES=                        \
175         $(XML_SOURCES)                          \
176         config-parser-common.c                  \
177         config-parser-common.h                  \
178         config-parser-trivial.c                 \
179         config-parser-trivial.h                 \
180         utils.c                                 \
181         utils.h                                 \
182         test-system.c
183
184 bus_test_system_CPPFLAGS = -DDBUS_STATIC_BUILD
185 bus_test_system_LDADD=$(top_builddir)/dbus/libdbus-internal.la $(DBUS_BUS_LIBS)
186 bus_test_system_LDFLAGS=@R_DYNAMIC_LDFLAG@
187
188 bus_test_SOURCES=                               \
189         $(BUS_SOURCES)                          \
190         test-main.c
191
192 bus_test_CPPFLAGS = -DDBUS_STATIC_BUILD
193 bus_test_LDADD=$(top_builddir)/dbus/libdbus-internal.la $(DBUS_BUS_LIBS)
194 bus_test_LDFLAGS=@R_DYNAMIC_LDFLAG@
195
196 ## mop up the gcov files
197 clean-local:
198         /bin/rm *.bb *.bbg *.da *.gcov || true
199
200 uninstall-hook:
201         rm -f $(DESTDIR)$(DBUS_DAEMONDIR)/dbus-daemon$(EXEEXT)
202         rm -f $(DESTDIR)$(libexecdir)/dbus-daemon-launch-helper$(EXEEXT)
203
204 install-data-hook:
205         $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus
206         $(mkinstalldirs) $(DESTDIR)$(configdir)/system.d
207         $(mkinstalldirs) $(DESTDIR)$(configdir)/session.d
208         $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services
209         $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/system-services
210 if DBUS_UNIX
211         if test '!' -d $(DESTDIR)$(DBUS_DAEMONDIR); then \
212                 $(mkinstalldirs) $(DESTDIR)$(DBUS_DAEMONDIR); \
213                 chmod 755 $(DESTDIR)$(DBUS_DAEMONDIR); \
214         fi
215         $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) dbus-daemon$(EXEEXT) $(DESTDIR)$(DBUS_DAEMONDIR)
216         $(mkinstalldirs) $(DESTDIR)$(libexecdir)/dbus-1
217         if test -f dbus-daemon-launch-helper$(EXEEXT) ; then \
218         $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) dbus-daemon-launch-helper$(EXEEXT) $(DESTDIR)$(libexecdir); \
219         if test `id -u` -eq 0; then \
220                 chown root:$(DBUS_USER) $(DESTDIR)$(libexecdir)/dbus-daemon-launch-helper$(EXEEXT); \
221                 chmod 4750 $(DESTDIR)$(libexecdir)/dbus-daemon-launch-helper$(EXEEXT); \
222         else \
223                 echo "Not installing $(DESTDIR)$(libexecdir)/dbus-daemon-launch-helper binary setuid!"; \
224                 echo "You'll need to manually set permissions to root:$(DBUS_USER) and permissions 4750"; \
225         fi \
226         fi
227 endif
228 if HAVE_SYSTEMD
229 # Install dbus.socket as default implementation of a D-Bus stack
230         $(mkinstalldirs) $(DESTDIR)$(systemdsystemunitdir)/dbus.target.wants
231         $(LN_S) ../dbus.socket $(DESTDIR)$(systemdsystemunitdir)/dbus.target.wants/dbus.socket
232 # Unconditionally enable D-Bus on systemd installations
233         $(mkinstalldirs) $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants
234         $(LN_S) ../dbus.socket $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants/dbus.socket
235         $(mkinstalldirs) $(DESTDIR)$(systemdsystemunitdir)/multi-user.target.wants
236         $(LN_S) ../dbus.service $(DESTDIR)$(systemdsystemunitdir)/multi-user.target.wants/dbus.service
237 endif
238
239 #### Init scripts fun
240 SCRIPT_IN_FILES=messagebus.in \
241                 messagebus-config.in \
242                 rc.messagebus.in
243
244 ## Red Hat start
245 if DBUS_INIT_SCRIPTS_RED_HAT
246
247 initddir=$(sysconfdir)/rc.d/init.d
248
249 initd_SCRIPTS=  \
250         messagebus
251
252 endif
253  ## Red Hat end
254
255 ## Slackware start
256 if DBUS_INIT_SCRIPTS_SLACKWARE
257
258 initddir=$(sysconfdir)/rc.d/
259
260 initd_SCRIPTS=  \
261         rc.messagebus
262
263 endif
264 ## Slackware end
265
266 ## Cygwin start
267 if DBUS_INIT_SCRIPTS_CYGWIN
268
269 bin_SCRIPTS=    \
270         messagebus-config
271
272 endif
273 ## Cygwin end
274
275 if HAVE_SYSTEMD
276 SCRIPT_IN_FILES += \
277         dbus.service.in \
278         dbus.socket.in
279
280 systemdsystemunit_DATA = \
281         dbus.service \
282         dbus.socket
283 endif
284
285 #### Extra dist
286
287 EXTRA_DIST=$(CONFIG_IN_FILES) $(SCRIPT_IN_FILES)