configdir=$(sysconfdir)/dbus-1
-INCLUDES=-I$(top_builddir) -I$(top_srcdir) $(DBUS_CLIENT_CFLAGS) @PIC_CFLAGS@ -DDBUS_COMPILATION \
- -DDBUS_MACHINE_UUID_FILE=\""$(localstatedir)/lib/dbus/machine-id"\" \
- -DDBUS_SYSTEM_CONFIG_FILE=\""$(configdir)/system.conf"\" \
- -DDBUS_SESSION_CONFIG_FILE=\""$(configdir)/session.conf"\"
+AM_CPPFLAGS = \
+ -I$(top_builddir) \
+ -I$(top_srcdir) \
+ $(SYSTEMD_CFLAGS) \
+ $(VALGRIND_CFLAGS) \
+ -DDBUS_COMPILATION \
+ -DDBUS_MACHINE_UUID_FILE=\""$(localstatedir)/lib/dbus/machine-id"\" \
+ -DDBUS_SYSTEM_CONFIG_FILE=\""$(configdir)/system.conf"\" \
+ -DDBUS_SESSION_CONFIG_FILE=\""$(configdir)/session.conf"\" \
+ $(NULL)
+
+# On Linux with glibc 2.17, sd-daemon.c support for POSIX message queues
+# results in an otherwise unnecessary dependency on librt. Disable it.
+AM_CPPFLAGS += -DSD_DAEMON_DISABLE_MQ
+
+# if assertions are enabled, improve backtraces
+AM_LDFLAGS = @R_DYNAMIC_LDFLAG@
dbusincludedir=$(includedir)/dbus-1.0/dbus
dbusarchincludedir=$(libdir)/dbus-1.0/include/dbus
# Deal with W32 .def and version-info.rc stuff
#
if DBUS_WIN
+
SUFFIXES = rc
.rc.o:
dbus_res = versioninfo.o
dbus_res_ldflag = -Wl,$(dbus_res)
no_undefined = -no-undefined
-export_symbols = -export-symbols $(srcdir)/dbus-1.def
-
-install-def-file:
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- $(INSTALL) dbus-1.def $(DESTDIR)$(libdir)/dbus-1.def
+export_symbols =
-uninstall-def-file:
- -rm $(DESTDIR)$(libdir)/dbus-1.def
-
-libdbus_1_la_DEPENDENCIES = $(dbus_res) dbus-1.def
+EXTRA_libdbus_1_la_DEPENDENCIES = $(dbus_res)
intllibs =
else
## don't export symbols that start with "_" (we use this
## convention for internal symbols)
export_symbols = -export-symbols-regex "^[^_].*"
-install-def-file:
-uninstall-def-file:
intllibs = @LTLIBINTL@
dbus-server-win.c \
dbus-server-win.h
+if DBUS_WINCE
+wince_source = dbus-sysdeps-wince-glue.h dbus-sysdeps-wince-glue.c
+else
+wince_source =
+endif
+
DBUS_SHARED_arch_sources = \
+ $(wince_source) \
+ dbus-file-win.c \
dbus-pipe-win.c \
+ dbus-sockets-win.h \
dbus-sysdeps-win.c \
dbus-sysdeps-win.h \
dbus-sysdeps-thread-win.c \
dbus-sysdeps-util-win.c \
dbus-spawn-win.c
else
+
+if DBUS_ENABLE_LAUNCHD
+launchd_source = dbus-server-launchd.h dbus-server-launchd.c
+else
+launchd_source =
+endif
+
DBUS_LIB_arch_sources = \
dbus-uuidgen.c \
dbus-uuidgen.h \
dbus-server-unix.h
DBUS_SHARED_arch_sources = \
+ $(launchd_source) \
+ dbus-file-unix.c \
dbus-pipe-unix.c \
dbus-sysdeps-unix.c \
dbus-sysdeps-unix.h \
dbus-transport-unix.c \
dbus-transport-unix.h \
dbus-userdb.c \
- dbus-userdb.h
+ dbus-userdb.h \
+ sd-daemon.c \
+ sd-daemon.h
DBUS_UTIL_arch_sources = \
dbus-sysdeps-util-unix.c \
dbus-spawn.c
endif
+if HAVE_LINUX_EPOLL
+DBUS_UTIL_arch_sources += dbus-socket-set-epoll.c
+endif
+
dbusinclude_HEADERS= \
dbus.h \
dbus-address.h \
dbus-server.h \
dbus-shared.h \
dbus-signature.h \
- dbus-spawn.h \
+ dbus-syntax.h \
dbus-threads.h \
dbus-types.h
-dbusarchinclude_HEADERS= \
+nodist_dbusarchinclude_HEADERS= \
dbus-arch-deps.h
### source code that goes in the installed client library
dbus-address.c \
dbus-auth.c \
dbus-auth.h \
- dbus-auth-script.c \
- dbus-auth-script.h \
dbus-bus.c \
dbus-connection.c \
dbus-connection-internal.h \
dbus-message-internal.h \
dbus-message-private.h \
dbus-misc.c \
+ dbus-nonce.h \
dbus-nonce.c \
dbus-object-tree.c \
dbus-object-tree.h \
dbus-sha.c \
dbus-sha.h \
dbus-signature.c \
+ dbus-syntax.c \
dbus-timeout.c \
dbus-timeout.h \
dbus-threads-internal.h \
dbus-watch.c \
dbus-watch.h
-## dbus-md5.c \
-## dbus-md5.h \
-
### source code that goes in the installed client library
-### AND is generic utility functionality used by the
-### daemon or test programs (all symbols in here should
+### AND is generic utility functionality used by the
+### daemon or test programs (all symbols in here should
### be underscore-prefixed)
DBUS_SHARED_SOURCES= \
dbus-dataslot.c \
dbus-dataslot.h \
+ dbus-file.c \
+ dbus-file.h \
dbus-hash.c \
dbus-hash.h \
dbus-internals.c \
dbus-string-private.h \
$(DBUS_SHARED_arch_sources) \
dbus-sysdeps.c \
- dbus-sysdeps.h
+ dbus-sysdeps.h \
+ dbus-valgrind-internal.h
### source code that is generic utility functionality used
### by the bus daemon or test apps, but is NOT included
-### in the D-Bus client library (all symbols in here
-### should be underscore-prefixed but don't really need
+### in the D-Bus client library (all symbols in here
+### should be underscore-prefixed but don't really need
### to be unless they move to DBUS_SHARED_SOURCES later)
DBUS_UTIL_SOURCES= \
+ dbus-asv-util.c \
+ dbus-asv-util.h \
+ dbus-auth-script.c \
+ dbus-auth-script.h \
dbus-auth-util.c \
dbus-credentials-util.c \
dbus-mainloop.c \
dbus-shell.c \
dbus-shell.h \
$(DBUS_UTIL_arch_sources) \
+ dbus-socket-set.h \
+ dbus-socket-set.c \
+ dbus-socket-set-poll.c \
dbus-spawn.h \
dbus-string-util.c \
dbus-sysdeps-util.c \
$(DBUS_LIB_SOURCES) \
$(DBUS_SHARED_SOURCES)
-libdbus_convenience_la_SOURCES= \
+libdbus_internal_la_SOURCES= \
$(DBUS_LIB_SOURCES) \
$(DBUS_SHARED_SOURCES) \
$(DBUS_UTIL_SOURCES)
-
-BUILT_SOURCES=$(dbusarchinclude_HEADERS)
-EXTRA_DIST=dbus-arch-deps.h.in dbus-1.def
+BUILT_SOURCES=$(nodist_dbusarchinclude_HEADERS)
+EXTRA_DIST=dbus-arch-deps.h.in
## this library is the same as libdbus, but exports all the symbols
## and is only used for static linking within the dbus package.
-noinst_LTLIBRARIES=libdbus-convenience.la
+noinst_LTLIBRARIES=libdbus-internal.la
+
+libdbus_1_la_CPPFLAGS = \
+ $(AM_CPPFLAGS) \
+ -Ddbus_1_EXPORTS \
+ $(NULL)
+libdbus_1_la_LIBADD= $(LIBDBUS_LIBS)
+libdbus_1_la_LDFLAGS = \
+ $(AM_LDFLAGS) \
+ $(export_symbols) \
+ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
+ -no-undefined \
+ $(NULL)
+
+libdbus_internal_la_CPPFLAGS = \
+ $(AM_CPPFLAGS) \
+ -DDBUS_STATIC_BUILD \
+ $(NULL)
+libdbus_internal_la_LIBADD=$(LIBDBUS_LIBS) $(SYSTEMD_LIBS)
-libdbus_1_la_LIBADD= $(DBUS_CLIENT_LIBS)
-libdbus_1_la_LDFLAGS= $(export_symbols) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -no-undefined @R_DYNAMIC_LDFLAG@ @PIC_LDFLAGS@
+if DBUS_WIN
+# This must be a separate convenience library, otherwise libtool notices
+# that libdbus-1 might contain C++, links it with g++ and links in libstdc++,
+# even on Unix where in fact it doesn't contain any C++. For Windows, where
+# this code is used, we don't actually need libstdc++.
+noinst_LTLIBRARIES += libdbus-init-win.la
+libdbus_init_win_la_SOURCES = dbus-init-win.cpp
+libdbus_1_la_LIBADD += libdbus-init-win.la
+libdbus_internal_la_LIBADD += libdbus-init-win.la
+endif
-libdbus_convenience_la_LIBADD=$(DBUS_CLIENT_LIBS)
-libdbus_convenience_la_LDFLAGS=@R_DYNAMIC_LDFLAG@
+noinst_PROGRAMS =
-## 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
-## TESTS
-if DBUS_BUILD_TESTS
-TESTS_ENVIRONMENT=DBUS_TEST_DATA=$(top_builddir)/test/data DBUS_TEST_HOMEDIR=$(top_builddir)/dbus
-TESTS=dbus-test
-else
-TESTS=
+if DBUS_ENABLE_EMBEDDED_TESTS
+# We can't actually run this til we've reached test/
+noinst_PROGRAMS += dbus-test
endif
-## we use noinst_PROGRAMS not check_PROGRAMS so that we build
-## even when not doing "make check"
-noinst_PROGRAMS=$(TESTS)
-
dbus_test_SOURCES= \
dbus-test-main.c
-dbus_test_LDADD=libdbus-convenience.la $(DBUS_TEST_LIBS)
-dbus_test_LDFLAGS=@R_DYNAMIC_LDFLAG@
-
-install-data-local: install-def-file
-
-uninstall-local: uninstall-def-file
+dbus_test_LDADD = libdbus-internal.la
## mop up the gcov files
clean-local:
/bin/rm *.bb *.bbg *.da *.gcov .libs/*.da .libs/*.bbg || true
+
+update-systemd:
+ curl http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c > $(srcdir)/sd-daemon.c
+ curl http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h > $(srcdir)/sd-daemon.h