From 5d660ebe872cadcdc85de9d6f9afe05de629c030 Mon Sep 17 00:00:00 2001 From: Uli Schlachter Date: Wed, 6 May 2015 08:10:53 +0200 Subject: Do not distribute extensions.c and fix out-of-tree builds It all started with src/extensions.c being distributed. Thanks to this, tarballs shipped with this generated file and actually building this file was skipped. Fix this by using the nodist_ variant of the SOURCES variable. Due to this oversight (sorry!), the out-of-tree build wasn't actually tested. The rule that generates src/extensions.c was missing $(srcdir) in front of the path to extensions.py. This rule is now fixed and, as suggested by Daphne Pfister, also changed to explicitly call the python interpreter. Configure is changed to look for it. Finally, extensions.c couldn't include errors.h. This worked before, because the C compiler automatically looks for headers in the same directory as the source file. However, for out-of-tree builds, the source directory and build directory are different. Paper over this problem by explicitly making it look in the right directory. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=90328 Signed-off-by: Uli Schlachter --- Makefile.am | 7 ++++--- configure.ac | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Makefile.am b/Makefile.am index 746cde3..bdf4a30 100644 --- a/Makefile.am +++ b/Makefile.am @@ -20,8 +20,9 @@ xcbinclude_HEADERS = src/xcb_errors.h AM_CFLAGS = $(CWARNFLAGS) -libxcb_errors_la_SOURCES = src/xcb_errors.c src/extensions.c -libxcb_errors_la_CPPFLAGS = $(XCB_CFLAGS) $(XPROTO_CFLAGS) +libxcb_errors_la_SOURCES = src/xcb_errors.c +nodist_libxcb_errors_la_SOURCES = src/extensions.c +libxcb_errors_la_CPPFLAGS = $(XCB_CFLAGS) $(XPROTO_CFLAGS) -I$(srcdir)/src libxcb_errors_la_LIBADD = $(XCB_LIBS) $(XPROTO_LIBS) libxcb_errors_la_LDFLAGS = -version-info 0:0:0 -no-undefined -export-symbols-regex '^xcb_errors_' @@ -36,5 +37,5 @@ tests_test_LDADD = libxcb-errors.la $(XCB_LIBS) CLEANFILES = src/extensions.c src/extensions.c: src/extensions.py - $(AM_V_GEN)src/extensions.py $@.tmp ${XCBPROTO_XCBINCLUDEDIR}/*.xml && \ + $(AM_V_GEN)$(PYTHON) $(srcdir)/src/extensions.py $@.tmp ${XCBPROTO_XCBINCLUDEDIR}/*.xml && \ mv $@.tmp $@ diff --git a/configure.ac b/configure.ac index d0bcc63..0379093 100644 --- a/configure.ac +++ b/configure.ac @@ -17,6 +17,8 @@ AC_TYPE_SSIZE_T XCB_UTIL_M4_WITH_INCLUDE_PATH XCB_UTIL_COMMON([1.4], [1.6]) +AM_PATH_PYTHON + # Checks for xcb-proto's XML files, inspired from libxcb's configure.ac PKG_CHECK_MODULES(XCBPROTO, xcb-proto) AC_MSG_CHECKING(XCBPROTO_XCBINCLUDEDIR) -- cgit v1.2.3