From 15d07896635342b52cd46fbdfaa6680b49ccc086 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Wed, 26 Mar 2014 08:40:24 +2100 Subject: [PATCH] [PATCH] build: move canonical list of subdirectories to configure script --- e8/768f7dc6c2d414b73ecc188b2588db548434b7 | 122 ++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 e8/768f7dc6c2d414b73ecc188b2588db548434b7 diff --git a/e8/768f7dc6c2d414b73ecc188b2588db548434b7 b/e8/768f7dc6c2d414b73ecc188b2588db548434b7 new file mode 100644 index 000000000..5c4ba94e5 --- /dev/null +++ b/e8/768f7dc6c2d414b73ecc188b2588db548434b7 @@ -0,0 +1,122 @@ +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 F1A28431FBF + for ; Tue, 25 Mar 2014 04:40:47 -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 civBwo0zIRZn for ; + Tue, 25 Mar 2014 04:40:43 -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 42D81431FBD + for ; Tue, 25 Mar 2014 04:40:43 -0700 (PDT) +Received: from remotemail by yantan.tethera.net with local (Exim 4.80) + (envelope-from ) + id 1WSPik-0005Ae-Hn; Tue, 25 Mar 2014 08:40:42 -0300 +Received: (nullmailer pid 4449 invoked by uid 1000); Tue, 25 Mar 2014 + 11:40:38 -0000 +From: David Bremner +To: notmuch@notmuchmail.org +Subject: [PATCH] build: move canonical list of subdirectories to configure + script +Date: Tue, 25 Mar 2014 08:40:24 -0300 +Message-Id: <1395747624-4411-1-git-send-email-david@tethera.net> +X-Mailer: git-send-email 1.9.0 +In-Reply-To: <87d2hbhvnq.fsf@zancas.localnet> +References: <87d2hbhvnq.fsf@zancas.localnet> +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 11:40:48 -0000 + +The configure script needs this list for out of tree builds. Grabbing +it from the Makefile via sed was fragile and broken. +--- + 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 <