[PATCH GPGME] python: build: reinstate prepare target
Alon Bar-Lev
alon.barlev at gmail.com
Tue Mar 28 20:55:59 CEST 2017
* lang/python/Makefile.am: fix prepare target
* lang/python/setup.py.in: abs_top_builddir handling
--
prepare will prepare target at PREPAREDIR
the automake will make use of prepare target
downstream may also make use of prepare target
outcome of splitting it is standard make error checking for each command
running setup.py in-tree requires abs_top_builddir environment to be set
to avoid guessing process.
Signed-off-by: Alon Bar-Lev <alon.barlev at gmail.com>
---
lang/python/Makefile.am | 25 +++++++++++++++----------
lang/python/setup.py.in | 9 +++++----
2 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am
index d91ead9..a18a014 100644
--- a/lang/python/Makefile.am
+++ b/lang/python/Makefile.am
@@ -44,17 +44,22 @@ COPY_FILES_GPG = \
$(srcdir)/gpg/results.py \
$(srcdir)/gpg/util.py
+.PHONY: prepare
+prepare:
+ test -n "$(PREPAREDIR)"
+ $(MKDIR_P) "$(PREPAREDIR)/gpg"
+ cp -R $(COPY_FILES) "$(PREPAREDIR)"
+ cp setup.py "$(PREPAREDIR)"
+ cp gpg/version.py "$(PREPAREDIR)/gpg"
+ ln -sf "$(abs_top_srcdir)/src/data.h" "$(PREPAREDIR)"
+ ln -sf "$(abs_top_builddir)/config.h" "$(PREPAREDIR)"
+ cp -R $(COPY_FILES_GPG) "$(PREPAREDIR)/gpg"
+
# For VPATH builds we need to copy some files because Python's
# distutils are not VPATH-aware.
copystamp: $(COPY_FILES) $(COPY_FILES_GPG)
set -e ; for VERSION in $(PYTHON_VERSIONS); do \
- $(MKDIR_P) python$${VERSION}-gpg/gpg ; \
- cp -R $(COPY_FILES) python$${VERSION}-gpg ; \
- cp setup.py python$${VERSION}-gpg ; \
- cp gpg/version.py python$${VERSION}-gpg/gpg ; \
- ln -sf "$(abs_top_srcdir)/src/data.h" python$${VERSION}-gpg ; \
- ln -sf "$(abs_top_builddir)/config.h" python$${VERSION}-gpg ; \
- cp -R $(COPY_FILES_GPG) python$${VERSION}-gpg/gpg ; \
+ $(MAKE) PREPAREDIR=python$${VERSION}-gpg prepare; \
done
touch $@
@@ -63,6 +68,7 @@ all-local: copystamp
PYTHON="$$1" ; shift ; \
cd python$${VERSION}-gpg && \
CFLAGS="$(CFLAGS)" \
+ abs_top_builddir="$(abs_top_builddir)" \
$$PYTHON setup.py build --verbose ; \
cd .. ; \
done
@@ -71,12 +77,10 @@ python$(PYTHON_VERSION)-gpg/dist/gpg-$(VERSION).tar.gz \
python$(PYTHON_VERSION)-gpg/dist/gpg-$(VERSION).tar.gz.asc: copystamp
cd python$(PYTHON_VERSION)-gpg && \
CFLAGS="$(CFLAGS)" \
+ abs_top_builddir="$(abs_top_builddir)" \
$(PYTHON) setup.py sdist --verbose
gpg2 --detach-sign --armor python$(PYTHON_VERSION)-gpg/dist/gpg-$(VERSION).tar.gz
-.PHONY: prepare
-prepare: copystamp
-
.PHONY: sdist
sdist: python$(PYTHON_VERSION)-gpg/dist/gpg-$(VERSION).tar.gz \
python$(PYTHON_VERSION)-gpg/dist/gpg-$(VERSION).tar.gz.asc
@@ -104,6 +108,7 @@ install-exec-local:
set -e ; set $(PYTHONS); for VERSION in $(PYTHON_VERSIONS); do \
PYTHON="$$1" ; shift ; \
cd python$${VERSION}-gpg ; \
+ abs_top_builddir="$(abs_top_builddir)" \
$$PYTHON setup.py install \
--prefix $(DESTDIR)$(prefix) \
--record files.txt \
diff --git a/lang/python/setup.py.in b/lang/python/setup.py.in
index bf4efa3..8ddbf27 100755
--- a/lang/python/setup.py.in
+++ b/lang/python/setup.py.in
@@ -34,12 +34,13 @@ in_tree = False
extra_swig_opts = []
extra_macros = dict()
-if os.path.exists("../../../src/gpgme-config"):
+abs_top_builddir = os.environ.get("abs_top_builddir")
+if abs_top_builddir:
# In-tree build.
in_tree = True
- gpgme_config = ["../../../src/gpgme-config"] + gpgme_config_flags
- gpgme_h = "../../../src/gpgme.h"
- library_dirs = ["../../../src/.libs"] # XXX uses libtool internals
+ gpgme_config = [os.path.join(abs_top_builddir, "src/gpgme-config")] + gpgme_config_flags
+ gpgme_h = os.path.join(abs_top_builddir, "src/gpgme.h")
+ library_dirs = [os.path.join(abs_top_builddir, "src/.libs")] # XXX uses libtool internals
extra_macros.update(
HAVE_CONFIG_H=1,
HAVE_DATA_H=1,
--
2.10.2
More information about the Gnupg-devel
mailing list