python: Link 'data.h' and 'config.h' into the builddir.
authorAlon Bar-Lev <alon.barlev@gmail.com>
Thu, 29 Sep 2016 07:30:58 +0000 (10:30 +0300)
committerJustus Winter <justus@g10code.com>
Fri, 30 Sep 2016 12:47:26 +0000 (14:47 +0200)
* lang/python/Makefile.am: Link to the files.
* lang/python/gpgme.i: Update path.
* lang/python/setup.py.in: Do not add the top builddir to the include
path.
--
To make it easy to build the subpackage using standard tools without
altering environment or CFLAGS, symlink the required artifacts from
source tree into subpackage directory when preparing sources.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
lang/python/Makefile.am
lang/python/gpgme.i
lang/python/setup.py.in

index ea37da9..9cb99c4 100644 (file)
@@ -46,22 +46,27 @@ COPY_FILES_PYME = \
 
 # For VPATH builds we need to copy some files because Python's
 # distutils are not VPATH-aware.
-copystamp: $(COPY_FILES) $(COPY_FILES_PYME)
+copystamp: $(COPY_FILES) $(COPY_FILES_PYME) data.h config.h
        if test "$(srcdir)" != "$(builddir)" ; then \
          cp -R $(COPY_FILES) . ; \
          cp -R $(COPY_FILES_PYME) pyme ; \
        fi
        touch $@
 
+data.h:
+       ln -s "$(top_srcdir)/src/data.h"
+
+config.h:
+       ln -s "$(top_builddir)/config.h"
+
 all-local: copystamp
        for PYTHON in $(PYTHONS); do \
-         CFLAGS="$(CFLAGS) -I$(top_srcdir)" \
-         top_builddir="$(top_builddir)" \
+         CFLAGS="$(CFLAGS)" \
            $$PYTHON setup.py build --verbose ; \
        done
 
 dist/pyme3-$(VERSION).tar.gz dist/pyme3-$(VERSION).tar.gz.asc: copystamp
-       CFLAGS="$(CFLAGS) -I$(top_srcdir)" \
+       CFLAGS="$(CFLAGS)" \
          $(PYTHON) setup.py sdist --verbose
        gpg2 --detach-sign --armor dist/pyme3-$(VERSION).tar.gz
 
@@ -76,7 +81,7 @@ upload: dist/pyme3-$(VERSION).tar.gz dist/pyme3-$(VERSION).tar.gz.asc
        twine upload $^
 
 CLEANFILES = gpgme.h errors.i gpgme_wrap.c pyme/gpgme.py \
-         copystamp
+         data.h config.h copystamp
 
 # Remove the rest.
 #
index eaeb4f8..5d074aa 100644 (file)
    representation of struct gpgme_data for an very efficient check if
    the buffer has been modified.  */
 %{
-#include "src/data.h"  /* For struct gpgme_data.  */
+#include "data.h"      /* For struct gpgme_data.  */
 %}
 #endif
 
index 7af2d48..4c41673 100755 (executable)
@@ -39,10 +39,6 @@ if os.path.exists("../../src/gpgme-config"):
     in_tree = True
     gpgme_config = ["../../src/gpgme-config"] + gpgme_config_flags
     gpgme_h = "../../src/gpgme.h"
-    if 'top_builddir' in os.environ:
-        include_dirs.append(os.environ['top_builddir'])
-        # Make sure that SWIG finds config.h when processing gpgme.i.
-        extra_swig_opts.append("-I{0}".format(os.environ['top_builddir']))
     library_dirs = ["../../src/.libs"] # XXX uses libtool internals
     extra_macros.update(
         HAVE_CONFIG_H=1,