[daemon-fix] Fixed sending daemon match rules for kdbus broadcasts
[platform/upstream/dbus.git] / dbus / Makefile.am
index 3e733fa..81abc30 100644 (file)
@@ -1,10 +1,23 @@
 
 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
@@ -15,6 +28,7 @@ lib_LTLIBRARIES=libdbus-1.la
 # Deal with W32 .def and version-info.rc stuff
 #
 if DBUS_WIN
+
 SUFFIXES = rc
 
 .rc.o:
@@ -23,20 +37,9 @@ SUFFIXES = rc
 dbus_res = versioninfo.o
 dbus_res_ldflag = -Wl,$(dbus_res)
 no_undefined = -no-undefined
+export_symbols =
 
-
-### FIXME use the .def.in files depending on the current config 
-### or combine them in a single .def file as done in the cmake build
-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
-
-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
@@ -46,8 +49,6 @@ no_undefined =
 ## 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@
 
@@ -62,9 +63,17 @@ DBUS_LIB_arch_sources =                      \
        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               \
@@ -75,6 +84,13 @@ DBUS_UTIL_arch_sources =                     \
        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                          \
@@ -82,6 +98,7 @@ DBUS_LIB_arch_sources =                       \
        dbus-server-unix.h
 
 DBUS_SHARED_arch_sources =                     \
+       $(launchd_source)                       \
        dbus-file-unix.c                        \
        dbus-pipe-unix.c                        \
        dbus-sysdeps-unix.c                     \
@@ -90,7 +107,17 @@ DBUS_SHARED_arch_sources =                  \
        dbus-transport-unix.c                   \
        dbus-transport-unix.h                   \
        dbus-userdb.c                           \
-       dbus-userdb.h
+       dbus-userdb.h                           \
+       sd-daemon.c                             \
+       sd-daemon.h
+
+if ENABLE_KDBUS_TRANSPORT
+DBUS_SHARED_arch_sources += \
+    dbus-transport-kdbus.c  \
+    dbus-transport-kdbus.h  \
+    kdbus-common.c          \
+    kdbus-common.h
+endif
 
 DBUS_UTIL_arch_sources =                       \
        dbus-sysdeps-util-unix.c                \
@@ -98,6 +125,10 @@ DBUS_UTIL_arch_sources =                    \
        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                          \
@@ -113,11 +144,12 @@ dbusinclude_HEADERS=                              \
        dbus-server.h                           \
        dbus-shared.h                           \
        dbus-signature.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
@@ -126,8 +158,6 @@ DBUS_LIB_SOURCES=                           \
        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              \
@@ -148,6 +178,7 @@ DBUS_LIB_SOURCES=                           \
        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                      \
@@ -165,6 +196,7 @@ DBUS_LIB_SOURCES=                           \
        dbus-sha.c                              \
        dbus-sha.h                              \
        dbus-signature.c                        \
+       dbus-syntax.c                           \
        dbus-timeout.c                          \
        dbus-timeout.h                          \
        dbus-threads-internal.h                 \
@@ -177,12 +209,9 @@ DBUS_LIB_SOURCES=                          \
        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                         \
@@ -207,14 +236,19 @@ DBUS_SHARED_SOURCES=                              \
        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                         \
@@ -228,6 +262,9 @@ DBUS_UTIL_SOURCES=                          \
        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                     \
@@ -238,49 +275,63 @@ libdbus_1_la_SOURCES=                             \
        $(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