python,build: Reinstate prepare target.

* lang/python/Makefile.am: Fix 'prepare' target.
* lang/python/setup.py.in: Use 'abs_top_builddir' instead of guessing
the path.
--

'prepare' will prepare target at PREPAREDIR.  The automake integration
will also make use of prepare target.  Downstream distributors may
also make use of prepare target.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
This commit is contained in:
Alon Bar-Lev 2017-03-28 21:55:59 +03:00 committed by Justus Winter
parent 7e9f7752c9
commit 9786e3a96e
No known key found for this signature in database
GPG Key ID: DD1A52F9DA8C9020
2 changed files with 20 additions and 14 deletions

View File

@ -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 \

View File

@ -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,