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 14B1D431FBF for ; Tue, 25 Mar 2014 05:32:05 -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 2BJCL23qCJrW for ; Tue, 25 Mar 2014 05:32:01 -0700 (PDT) Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34]) by olra.theworths.org (Postfix) with ESMTP id 8402E431FBD for ; Tue, 25 Mar 2014 05:32:01 -0700 (PDT) Received: from guru.guru-group.fi (localhost [IPv6:::1]) by guru.guru-group.fi (Postfix) with ESMTP id 5EA511000E5; Tue, 25 Mar 2014 14:31:54 +0200 (EET) From: Tomi Ollila To: David Bremner , notmuch@notmuchmail.org Subject: Re: [PATCH] build: move canonical list of subdirectories to configure script In-Reply-To: <1395747624-4411-1-git-send-email-david@tethera.net> References: <87d2hbhvnq.fsf@zancas.localnet> <1395747624-4411-1-git-send-email-david@tethera.net> User-Agent: Notmuch/0.17+159~gb806a13 (http://notmuchmail.org) Emacs/24.3.1 (x86_64-unknown-linux-gnu) X-Face: HhBM'cA~ MIME-Version: 1.0 Content-Type: text/plain 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: Tue, 25 Mar 2014 12:32:05 -0000 On Tue, Mar 25 2014, David Bremner wrote: > The configure script needs this list for out of tree builds. Grabbing > it from the Makefile via sed was fragile and broken. > --- This is exactly what I was going to suggest if I had the time. LGTM. Tomi > Makefile | 15 +++++---------- > configure | 8 +++++++- > 2 files changed, 12 insertions(+), 11 deletions(-) > > diff --git a/Makefile b/Makefile > index 061c55a..4c0e8c6 100644 > --- a/Makefile > +++ b/Makefile > @@ -2,16 +2,6 @@ > # given explicitly on the command line) so mention it first. > all: > > -# List all subdirectories here. Each contains its own Makefile.local. > -# Use of '=', without '+=', seems to be required for out-of-tree > -# builds to work. > -subdirs = compat completion doc emacs lib parse-time-string \ > - performance-test util test test/test-databases > - > -# We make all targets depend on the Makefiles themselves. > -global_deps = Makefile Makefile.config Makefile.local \ > - $(subdirs:%=%/Makefile) $(subdirs:%=%/Makefile.local) > - > # Sub-directory Makefile.local fragments can append to these variables > # to have directory-specific cflags as necessary. > > @@ -27,6 +17,11 @@ extra_cxxflags := > srcdir ?= . > > include Makefile.config > + > +# We make all targets depend on the Makefiles themselves. > +global_deps = Makefile Makefile.config Makefile.local \ > + $(subdirs:%=%/Makefile) $(subdirs:%=%/Makefile.local) > + > Makefile.config: $(srcdir)/configure > ifeq ($(configure_options),) > @echo "" > diff --git a/configure b/configure > index fb276f1..ab73317 100755 > --- a/configure > +++ b/configure > @@ -19,11 +19,14 @@ readonly DEFAULT_IFS="$IFS" > > srcdir=$(dirname "$0") > > +subdirs="util compat lib parse-time-string completion doc emacs" > +subdirs="${subdirs} performance-test test test/test-databases" > + > # For a non-srcdir configure invocation (such as ../configure), create > # the directory structure and copy Makefiles. > if [ "$srcdir" != "." ]; then > > - for dir in . $(grep "^subdirs *=" "$srcdir"/Makefile | sed -e "s/subdirs *= *//"); do > + for dir in . ${subdirs}; do > mkdir -p "$dir" > cp "$srcdir"/"$dir"/Makefile.local "$dir" > cp "$srcdir"/"$dir"/Makefile "$dir" > @@ -698,6 +701,9 @@ cat > Makefile.config < # directory (the current directory at the time configure was run). > srcdir = ${srcdir} > > +# subdirectories to build > +subdirs = ${subdirs} > + > configure_options = $@ > > # We use vpath directives (rather than the VPATH variable) since the > -- > 1.9.0 > > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch