X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bus%2FMakefile.am;h=9761c27c7d4d05dd7233b235eaf8b37933e167f6;hb=93385b733927bdcfd5c6e97f9684820aa9d3d4ae;hp=823d9cc4089b174a02df0aa374d56ec62186ce41;hpb=e0b284c7e38f0c002b2173d85ab89dc18700867c;p=platform%2Fupstream%2Fdbus.git diff --git a/bus/Makefile.am b/bus/Makefile.am index 823d9cc..9761c27 100644 --- a/bus/Makefile.am +++ b/bus/Makefile.am @@ -1,22 +1,26 @@ - configdir=$(sysconfdir)/dbus-1 +dbus_daemon_execdir = $(DBUS_DAEMONDIR) -INCLUDES=-I$(top_srcdir) $(DBUS_BUS_CFLAGS) \ - -DDAEMON_NAME=\"dbus-daemon-1\" -DDBUS_COMPILATION \ - -DDBUS_SYSTEM_CONFIG_FILE=\""$(configdir)/system.conf"\" \ - -DDBUS_SESSION_CONFIG_FILE=\""$(configdir)/session.conf"\" +INCLUDES = -I$(top_srcdir) \ + $(DBUS_BUS_CFLAGS) \ + -DDBUS_SYSTEM_CONFIG_FILE=\""$(configdir)/system.conf"\" \ + -DDBUS_COMPILATION EFENCE= CONFIG_IN_FILES= \ session.conf.in \ - system.conf.in + system.conf.in \ + org.freedesktop.dbus-session.plist.in config_DATA= \ session.conf \ system.conf -bin_PROGRAMS=dbus-daemon-1 +if DBUS_ENABLE_LAUNCHD +agentdir=$(LAUNCHD_AGENT_DIR) +agent_DATA=org.freedesktop.dbus-session.plist +endif if DBUS_USE_LIBXML XML_SOURCES=config-loader-libxml.c @@ -25,74 +29,213 @@ if DBUS_USE_EXPAT XML_SOURCES=config-loader-expat.c endif +if DBUS_BUS_ENABLE_KQUEUE +DIR_WATCH_SOURCE=dir-watch-kqueue.c +else +if DBUS_BUS_ENABLE_INOTIFY +DIR_WATCH_SOURCE=dir-watch-inotify.c +else +if DBUS_BUS_ENABLE_DNOTIFY_ON_LINUX +DIR_WATCH_SOURCE=dir-watch-dnotify.c +else +DIR_WATCH_SOURCE=dir-watch-default.c +endif +endif +endif + BUS_SOURCES= \ activation.c \ activation.h \ + activation-exit-codes.h \ bus.c \ bus.h \ config-parser.c \ config-parser.h \ + config-parser-common.c \ + config-parser-common.h \ connection.c \ connection.h \ desktop-file.c \ desktop-file.h \ + $(DIR_WATCH_SOURCE) \ + dir-watch.h \ dispatch.c \ dispatch.h \ driver.c \ driver.h \ + expirelist.c \ + expirelist.h \ policy.c \ policy.h \ + selinux.h \ + selinux.c \ services.c \ services.h \ + signals.c \ + signals.h \ test.c \ test.h \ utils.c \ utils.h \ $(XML_SOURCES) -dbus_daemon_1_SOURCES= \ +dbus_daemon_SOURCES= \ $(BUS_SOURCES) \ - main.c + main.c -dbus_daemon_1_LDADD= \ +dbus_daemon_CPPFLAGS = -DDBUS_STATIC_BUILD +dbus_daemon_LDADD= \ + $(top_builddir)/dbus/libdbus-internal.la \ $(EFENCE) \ - $(DBUS_BUS_LIBS) \ - $(top_builddir)/dbus/libdbus-convenience.la + $(DBUS_BUS_LIBS) + +dbus_daemon_LDFLAGS=@R_DYNAMIC_LDFLAG@ + +LAUNCH_HELPER_SOURCES= \ + $(XML_SOURCES) \ + config-parser-common.c \ + config-parser-common.h \ + config-parser-trivial.c \ + config-parser-trivial.h \ + desktop-file.c \ + desktop-file.h \ + utils.c \ + utils.h \ + activation-exit-codes.h \ + activation-helper.h \ + activation-helper.c + +## This is the installed launch helper with the setuid checks +dbus_daemon_launch_helper_SOURCES= \ + activation-helper-bin.c \ + $(LAUNCH_HELPER_SOURCES) + +dbus_daemon_launch_helper_CPPFLAGS = -DDBUS_STATIC_BUILD +dbus_daemon_launch_helper_LDADD= \ + $(top_builddir)/dbus/libdbus-internal.la \ + $(DBUS_LAUNCHER_LIBS) + +dbus_daemon_launch_helper_LDFLAGS=@R_DYNAMIC_LDFLAG@ + +## we build another binary so we can do the launch testing without root privs. +## DO NOT INSTALL THIS FILE +dbus_daemon_launch_helper_test_SOURCES= \ + activation-helper-bin.c \ + $(LAUNCH_HELPER_SOURCES) + +dbus_daemon_launch_helper_test_LDADD= \ + $(top_builddir)/dbus/libdbus-internal.la \ + $(DBUS_LAUNCHER_LIBS) + +dbus_daemon_launch_helper_test_LDFLAGS=@R_DYNAMIC_LDFLAG@ +dbus_daemon_launch_helper_test_CPPFLAGS= -DDBUS_STATIC_BUILD \ + -DACTIVATION_LAUNCHER_TEST + +## we build yet another binary so we can do the OOM tests +## DO NOT INSTALL THIS FILE +bus_test_launch_helper_SOURCES= \ + test-launch-helper.c \ + $(LAUNCH_HELPER_SOURCES) + +bus_test_launch_helper_LDADD= \ + $(top_builddir)/dbus/libdbus-internal.la \ + $(DBUS_LAUNCHER_LIBS) + +bus_test_launch_helper_LDFLAGS=@R_DYNAMIC_LDFLAG@ +bus_test_launch_helper_CPPFLAGS= -DDBUS_STATIC_BUILD \ + -DACTIVATION_LAUNCHER_TEST \ + -DACTIVATION_LAUNCHER_DO_OOM + +## we use noinst_PROGRAMS not check_PROGRAMS so that we build +## even when not doing "make check" +noinst_PROGRAMS = $(TESTS) +dbus_daemon_exec_PROGRAMS = dbus-daemon +if DBUS_UNIX +libexec_PROGRAMS = dbus-daemon-launch-helper +endif DBUS_UNIX ## note that TESTS has special meaning (stuff to use in make check) -## so if adding tests not to be run in make check, don't add them to +## so if adding tests not to be run in make check, don't add them to ## TESTS +TESTS = + if DBUS_BUILD_TESTS -TESTS_ENVIRONMENT=DBUS_TEST_DATA=$(top_builddir)/test/data DBUS_TEST_HOMEDIR=$(top_builddir)/dbus -TESTS=bus-test -else -TESTS= -endif +TESTS_ENVIRONMENT=DBUS_TEST_DATA=$(top_builddir)/test/data DBUS_TEST_HOMEDIR=$(top_builddir)/dbus DBUS_FATAL_WARNINGS=1 DBUS_BLOCK_ON_ABORT=1 +TESTS += bus-test bus-test-system -## we use noinst_PROGRAMS not check_PROGRAMS so that we build -## even when not doing "make check" -noinst_PROGRAMS=$(TESTS) +if DBUS_UNIX +TESTS += bus-test-launch-helper +# this is used by the tests but is not,itself, a test +noinst_PROGRAMS += dbus-daemon-launch-helper-test +endif DBUS_UNIX + +endif DBUS_BUILD_TESTS + +bus_test_system_SOURCES= \ + $(XML_SOURCES) \ + config-parser-common.c \ + config-parser-common.h \ + config-parser-trivial.c \ + config-parser-trivial.h \ + utils.c \ + utils.h \ + test-system.c + +bus_test_system_CPPFLAGS = -DDBUS_STATIC_BUILD +bus_test_system_LDADD=$(top_builddir)/dbus/libdbus-internal.la $(DBUS_BUS_LIBS) +bus_test_system_LDFLAGS=@R_DYNAMIC_LDFLAG@ bus_test_SOURCES= \ $(BUS_SOURCES) \ test-main.c -bus_test_LDADD=$(top_builddir)/dbus/libdbus-convenience.la $(DBUS_BUS_LIBS) +bus_test_CPPFLAGS = -DDBUS_STATIC_BUILD +bus_test_LDADD=$(top_builddir)/dbus/libdbus-internal.la $(DBUS_BUS_LIBS) +bus_test_LDFLAGS=@R_DYNAMIC_LDFLAG@ ## mop up the gcov files clean-local: /bin/rm *.bb *.bbg *.da *.gcov || true install-data-hook: - $(mkinstalldirs) $(DESTDIR)/$(localstatedir)/run/dbus + $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus + $(mkinstalldirs) $(DESTDIR)$(configdir)/system.d + $(mkinstalldirs) $(DESTDIR)$(configdir)/session.d + $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services + $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/system-services +if HAVE_SYSTEMD +# Install dbus.socket as default implementation of a D-Bus stack. +# Deliberately not using $(LN_S) here: ln -fs is not universally portable, +# but neither is systemd, so it's OK to assume here that ln complies with SUS. + $(mkinstalldirs) $(DESTDIR)$(systemdsystemunitdir)/dbus.target.wants + ln -fs ../dbus.socket $(DESTDIR)$(systemdsystemunitdir)/dbus.target.wants/dbus.socket +# Unconditionally enable D-Bus on systemd installations + $(mkinstalldirs) $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants + ln -fs ../dbus.socket $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants/dbus.socket + $(mkinstalldirs) $(DESTDIR)$(systemdsystemunitdir)/multi-user.target.wants + ln -fs ../dbus.service $(DESTDIR)$(systemdsystemunitdir)/multi-user.target.wants/dbus.service +endif + +if DBUS_UNIX +install-exec-hook: + if test `id -u` -eq 0; then \ + chown root:$(DBUS_USER) $(DESTDIR)$(libexecdir)/dbus-daemon-launch-helper$(EXEEXT); \ + chmod 4750 $(DESTDIR)$(libexecdir)/dbus-daemon-launch-helper$(EXEEXT); \ + else \ + echo "Not installing $(DESTDIR)$(libexecdir)/dbus-daemon-launch-helper binary setuid!"; \ + echo "You'll need to manually set permissions to root:$(DBUS_USER) and permissions 4750"; \ + fi +endif #### Init scripts fun -SCRIPT_IN_FILES=messagebus.in +SCRIPT_IN_FILES=messagebus.in \ + messagebus-config.in \ + rc.messagebus.in ## Red Hat start if DBUS_INIT_SCRIPTS_RED_HAT -initddir=$(sysconfdir)/init.d +initddir=$(sysconfdir)/rc.d/init.d initd_SCRIPTS= \ messagebus @@ -100,6 +243,36 @@ initd_SCRIPTS= \ endif ## Red Hat end -#### Extra dist +## Slackware start +if DBUS_INIT_SCRIPTS_SLACKWARE + +initddir=$(sysconfdir)/rc.d/ + +initd_SCRIPTS= \ + rc.messagebus + +endif +## Slackware end + +## Cygwin start +if DBUS_INIT_SCRIPTS_CYGWIN + +bin_SCRIPTS= \ + messagebus-config + +endif +## Cygwin end + +if HAVE_SYSTEMD +SCRIPT_IN_FILES += \ + dbus.service.in \ + dbus.socket.in + +systemdsystemunit_DATA = \ + dbus.service \ + dbus.socket +endif + +#### Extra dist -EXTRA_DIST=$(CONFIG_IN_FILES) $(SCRIPT_IN_FILES) \ No newline at end of file +EXTRA_DIST=$(CONFIG_IN_FILES) $(SCRIPT_IN_FILES)