Re: [PATCH 3/5] build: optionally build python-cffi bindings
On Mon 2019-11-04 23:26:25 +0200, Tomi Ollila wrote: > how bad does out-of-tree build break with this -- do we need to do > the same as with ruby bindings (copy sources -- do we still do so)? or does > python provide better alternative..? I've just posted id:20200522010359.715688-1-...@fifthhorseman.net to apply the same hack as the ruby bindings here. I welcome any better proposals, but think we should at least have the build complete! --dkg signature.asc Description: PGP signature ___ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH 3/5] build: optionally build python-cffi bindings
Tomi Ollila writes: > how bad does out-of-tree build break with this -- do we need to do > the same as with ruby bindings (copy sources -- do we still do so)? or does > python provide better alternative..? Good question. What is here will break with out of tree builds, just from trivial things like missing $(srcdir). At a deeper level someone would probably have to modify the build bits (python-cffi/setup.py, python-cffi/notb/_build) to work out of tree. I don't know how well any of this is supported by the setuptools module. It seems more friendly to the idea of building inside the source tree with destination outside, but I'm really not a setuptools expert. d ___ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH 3/5] build: optionally build python-cffi bindings
On Sun, Nov 03 2019, David Bremner wrote: > Put the build product (and tests) in a well known location so that we > can find them e.g. from the tests. > --- > Makefile.local | 2 +- > bindings/Makefile.local | 9 + > 2 files changed, 10 insertions(+), 1 deletion(-) > > diff --git a/Makefile.local b/Makefile.local > index 3c6dacbc..7c12612d 100644 > --- a/Makefile.local > +++ b/Makefile.local > @@ -1,7 +1,7 @@ > # -*- makefile -*- > > .PHONY: all > -all: notmuch notmuch-shared build-man build-info ruby-bindings > +all: notmuch notmuch-shared build-man build-info ruby-bindings > python-cffi-bindings > ifeq ($(MAKECMDGOALS),) > ifeq ($(shell cat .first-build-message 2>/dev/null),) > @NOTMUCH_FIRST_BUILD=1 $(MAKE) --no-print-directory all > diff --git a/bindings/Makefile.local b/bindings/Makefile.local > index 18f95835..b8e18c92 100644 > --- a/bindings/Makefile.local > +++ b/bindings/Makefile.local > @@ -13,6 +13,13 @@ ifeq ($(HAVE_RUBY_DEV),1) > $(MAKE) -C $(dir)/ruby > endif > > +python-cffi-bindings: lib/$(LINKER_NAME) > +ifeq ($(HAVE_PYTHON_CFFI),1) > + cd $(dir)/python-cffi && \ how bad does out-of-tree build break with this -- do we need to do the same as with ruby bindings (copy sources -- do we still do so)? or does python provide better alternative..? > + ${PYTHON} setup.py build --build-lib build/stage && \ > + mkdir -p build/stage/tests && cp tests/*.py build/stage/tests > +endif > + > CLEAN += $(patsubst %,$(dir)/ruby/%, \ > .RUBYARCHDIR.time \ > Makefile database.o directory.o filenames.o\ > @@ -20,3 +27,5 @@ CLEAN += $(patsubst %,$(dir)/ruby/%, \ > status.o tags.o thread.o threads.o) > > CLEAN += bindings/ruby/.vendorarchdir.time > + > +CLEAN += bindings/python-cffi/build > -- > 2.24.0.rc1 > > ___ > notmuch mailing list > notmuch@notmuchmail.org > https://notmuchmail.org/mailman/listinfo/notmuch ___ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch
[PATCH 3/5] build: optionally build python-cffi bindings
Put the build product (and tests) in a well known location so that we can find them e.g. from the tests. --- Makefile.local | 2 +- bindings/Makefile.local | 9 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Makefile.local b/Makefile.local index 3c6dacbc..7c12612d 100644 --- a/Makefile.local +++ b/Makefile.local @@ -1,7 +1,7 @@ # -*- makefile -*- .PHONY: all -all: notmuch notmuch-shared build-man build-info ruby-bindings +all: notmuch notmuch-shared build-man build-info ruby-bindings python-cffi-bindings ifeq ($(MAKECMDGOALS),) ifeq ($(shell cat .first-build-message 2>/dev/null),) @NOTMUCH_FIRST_BUILD=1 $(MAKE) --no-print-directory all diff --git a/bindings/Makefile.local b/bindings/Makefile.local index 18f95835..b8e18c92 100644 --- a/bindings/Makefile.local +++ b/bindings/Makefile.local @@ -13,6 +13,13 @@ ifeq ($(HAVE_RUBY_DEV),1) $(MAKE) -C $(dir)/ruby endif +python-cffi-bindings: lib/$(LINKER_NAME) +ifeq ($(HAVE_PYTHON_CFFI),1) + cd $(dir)/python-cffi && \ + ${PYTHON} setup.py build --build-lib build/stage && \ + mkdir -p build/stage/tests && cp tests/*.py build/stage/tests +endif + CLEAN += $(patsubst %,$(dir)/ruby/%, \ .RUBYARCHDIR.time \ Makefile database.o directory.o filenames.o\ @@ -20,3 +27,5 @@ CLEAN += $(patsubst %,$(dir)/ruby/%, \ status.o tags.o thread.o threads.o) CLEAN += bindings/ruby/.vendorarchdir.time + +CLEAN += bindings/python-cffi/build -- 2.24.0.rc1 ___ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch