From: David Bremner Date: Thu, 20 Mar 2014 00:48:03 +0000 (+2100) Subject: [PATCH 2/3] doc: fix out-of-tree build X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=93c6255b3f9476c3ae701092e53b676a83a50222;p=notmuch-archives.git [PATCH 2/3] doc: fix out-of-tree build --- diff --git a/a6/1d63a939b45d257259b0afa4d165743656ecad b/a6/1d63a939b45d257259b0afa4d165743656ecad new file mode 100644 index 000000000..4818d48ef --- /dev/null +++ b/a6/1d63a939b45d257259b0afa4d165743656ecad @@ -0,0 +1,143 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id 667A7431FD0 + for ; Wed, 19 Mar 2014 17:48:42 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: 0 +X-Spam-Level: +X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] + autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id jTV+IiAmzJ2f for ; + Wed, 19 Mar 2014 17:48:35 -0700 (PDT) +Received: from yantan.tethera.net (yantan.tethera.net [199.188.72.155]) + (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id 541B9431FAF + for ; Wed, 19 Mar 2014 17:48:26 -0700 (PDT) +Received: from remotemail by yantan.tethera.net with local (Exim 4.80) + (envelope-from ) + id 1WQR9l-0000Ht-St; Wed, 19 Mar 2014 21:48:25 -0300 +Received: (nullmailer pid 22553 invoked by uid 1000); Thu, 20 Mar 2014 + 00:48:11 -0000 +From: David Bremner +To: notmuch@notmuchmail.org +Subject: [PATCH 2/3] doc: fix out-of-tree build +Date: Wed, 19 Mar 2014 21:48:03 -0300 +Message-Id: <1395276484-22363-3-git-send-email-david@tethera.net> +X-Mailer: git-send-email 1.9.0 +In-Reply-To: <1395276484-22363-1-git-send-email-david@tethera.net> +References: <1395276484-22363-1-git-send-email-david@tethera.net> +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Thu, 20 Mar 2014 00:48:42 -0000 + +The subtle part is adding .rst and .py files to vpath so they can be +used as dependencies without prefixing with $(srcdir) + +We also change the interface to mkbuildeps.py: rather than getting the +containing directory from the conf file path, we go the other way. +--- + configure | 3 ++- + doc/Makefile.local | 12 ++++++------ + doc/mkdocdeps.py | 7 ++++--- + 3 files changed, 12 insertions(+), 10 deletions(-) + +diff --git a/configure b/configure +index b3b1b44..bc61ad1 100755 +--- a/configure ++++ b/configure +@@ -713,8 +713,9 @@ configure_options = $@ + # files, (which is quite ugly). + vpath %.c \$(srcdir) + vpath %.cc \$(srcdir) +-vpath %.1 \$(srcdir) + vpath Makefile.% \$(srcdir) ++vpath %.py \$(srcdir) ++vpath %.rst \$(srcdir) + + # The C compiler to use + CC = ${CC} +diff --git a/doc/Makefile.local b/doc/Makefile.local +index 9c31c24..0980c71 100644 +--- a/doc/Makefile.local ++++ b/doc/Makefile.local +@@ -3,15 +3,15 @@ + dir := doc + + # You can set these variables from the command line. +-SPHINXOPTS := -q -c $(dir) ++SPHINXOPTS := -q + SPHINXBUILD = sphinx-build + DOCBUILDDIR := $(dir)/_build + +-prerst2man := python $(dir)/prerst2man.py +-mkdocdeps := python $(dir)/mkdocdeps.py ++prerst2man := python $(srcdir)/$(dir)/prerst2man.py ++mkdocdeps := python $(srcdir)/$(dir)/mkdocdeps.py + + # Internal variables. +-ALLSPHINXOPTS := -d $(DOCBUILDDIR)/doctrees $(SPHINXOPTS) $(dir) ++ALLSPHINXOPTS := -d $(DOCBUILDDIR)/doctrees $(SPHINXOPTS) $(srcdir)/$(dir) + + .PHONY: sphinx-html sphinx-texinfo sphinx-info + +@@ -43,7 +43,7 @@ ifeq ($(HAVE_SPHINX),1) + mv $(DOCBUILDDIR)/man/*.$${section} $(DOCBUILDDIR)/man/man$${section}; \ + done + else ifeq ($(HAVE_RST2MAN),1) +- $(prerst2man) $(DOCBUILDDIR)/.. $(DOCBUILDDIR)/man ++ $(prerst2man) $(srcdir)/doc $(DOCBUILDDIR)/man + else + @echo "Fatal: build dependency fail." + @false +@@ -68,7 +68,7 @@ install-man: ${MAN_GZIP_FILES} + endif + + $(dir)/docdeps.mk: $(dir)/conf.py $(dir)/mkdocdeps.py +- $(mkdocdeps) $< $(DOCBUILDDIR) $@ ++ $(mkdocdeps) $(srcdir)/doc $(DOCBUILDDIR) $@ + + CLEAN := $(CLEAN) $(DOCBUILDDIR) $(dir)/docdeps.mk $(dir)/man.stamp + CLEAN := $(CLEAN) $(MAN_GZIP_FILES) $(MAN_ROFF_FILES) +diff --git a/doc/mkdocdeps.py b/doc/mkdocdeps.py +index 3effdd8..71bd135 100644 +--- a/doc/mkdocdeps.py ++++ b/doc/mkdocdeps.py +@@ -1,15 +1,16 @@ + from sys import argv +-conffile = argv[1] ++srcdir = argv[1] + builddir = argv[2] + outfile = argv[3] + +-execfile(conffile) ++execfile(srcdir + '/conf.py') ++ + + roff_files = [] + rst_files = [] + out=open(outfile,'w') + for page in man_pages: +- rst_files = rst_files + ["doc/{0:s}.rst".format(page[0])] ++ rst_files = rst_files + ["{0:s}/{1:s}.rst".format(srcdir,page[0])] + roff_files = roff_files + ["{0:s}/man/{1:s}.{2:d}".format(builddir,page[0],page[4])] + + out.write ('MAN_ROFF_FILES := ' + ' \\\n\t'.join(roff_files)+'\n') +-- +1.9.0 +