pidgin/pidgin

a5d234780454
Parents 4c7417b4d5fa
Children 443e8d364db7
libpurple/Makefile.am: Fix dbus code generation from VPATH

When building libpurple in a VPATH (an external directory such as when
running distcheck), make sometimes finds enums.h and marshallers.h in
the source directory, but dbus-analyze-types.py doesn't, because it's
only looking in the build directory.

This patch resolves this problem by having dbus-analyze-types.py not
scan enums.h nor marshallers.h. They don't actually generate anything
anyway.

However, it also adds enums.h and marshallers.h as dependencies to
the $(libpurple_la_OBJECTS) rule so that `make distcheck` directly
after configuring still works.
--- a/libpurple/Makefile.am Sun Oct 09 18:30:16 2016 -0500
+++ b/libpurple/Makefile.am Sun Oct 16 22:22:52 2016 -0500
@@ -326,10 +326,14 @@
prefs.h presence.h roomlist.h savedstatuses.h smiley.h smiley-list.h \
status.h server.h util.h xmlnode.h protocol.h protocols.h
+# Filter out enums.h and marshallers.h as they don't actually generate
+# anything. This way making from a VPATH and distcheck doesn't fail due
+# to not being able to find the enums.h or marshallers.h files if
+# they've already been generated in the $(srcdir).
purple_build_coreheaders = $(addprefix $(srcdir)/, $(purple_coreheaders)) \
$(addprefix $(srcdir)/ciphers/, $(purple_cipherheaders)) \
$(addprefix $(srcdir)/media/, $(purple_mediaheaders)) \
- $(purple_builtheaders)
+ $(filter-out: enums.h marshallers.h, $(purple_builtheaders))
dbus_build_exported = $(addprefix $(srcdir)/, $(dbus_exported))
# We should probably make this better
dbus_signals = $(addprefix $(srcdir)/, $(purple_coresources)) \
@@ -350,7 +354,10 @@
dbus-server.$(OBJEXT): dbus-bindings.c dbus-signals.c dbus-types.c dbus-types.h
dbus-server.lo: dbus-bindings.c dbus-signals.c dbus-types.c dbus-types.h
-$(libpurple_la_OBJECTS): dbus-types.h
+
+# Declare these as dependencies so they're built even if `make distcheck`
+# is run immediately after configuring.
+$(libpurple_la_OBJECTS): dbus-types.h enums.h marshallers.h
# libpurple-client
@@ -401,6 +408,10 @@
BUILT_SOURCES = $(purple_builtheaders) $(purple_builtsources)
+# Declare these as dependencies so they're built even if `make distcheck`
+# is run immediately after configuring.
+$(libpurple_la_OBJECTS): enums.h marshallers.h
+
endif
lib_LTLIBRARIES = libpurple.la $(libpurple_client_lib)