bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] maint.mk: don't maintain a second build-aux variable.


From: Gary V. Vaughan
Subject: [PATCH] maint.mk: don't maintain a second build-aux variable.
Date: Sun, 23 Oct 2011 19:27:09 +0700

Hi all,

I was wondering why 'make stable' would always use a stale version unless
I manually updated my .version file first.  It turns out that if you use
a non-standard build-aux location, you have to tell GNUmakefile by setting
_build-aux to get the .version dist-hook machinery, and that you also have
to set build_aux in order for maint.mk to work properly.

Before this patch, my cfg.mk needed:

  build_aux = $(srcdir)/libltdl/build-aux
  _build-aux = libltdl/build-aux

This patch combines the two so that you I declare my build-aux directory
with just:

  _build-aux = libltdl/build-aux

Alternatively, we could change maint.mk to read:

  build-aux = $(srcdir)/$(_build-aux)

...but that leaves open the possibility of users like me only setting one
or the other variable in cfg.mk and wondering why things almost work, but
not quite.  I think this is the cleaner, safer solution.

Okay to push?

* maint.mk (build_aux): Removed.  The maintainer-makefile module
depends on GNUmakefile, which already maintains a cfg.mk
overridable $(_build-aux) for projects with a non-standard
build-aux directory location, although without the $(srcdir)
prefix.  Use that variable consistently instead of introducing a
second one.  Adjust all call sites.
---
 ChangeLog    |   10 ++++++++++
 top/maint.mk |   15 ++++++---------
 2 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 93ee45e..54c34ad 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,14 @@
 2011-10-23  Gary V. Vaughan  <address@hidden>
+
+       maint.mk: don't maintain a second build-aux variable.
+       * maint.mk (build_aux): Removed.  The maintainer-makefile module
+       depends on GNUmakefile, which already maintains a cfg.mk
+       overridable $(_build-aux) for projects with a non-standard
+       build-aux directory location, although without the $(srcdir)
+       prefix.  Use that variable consistently instead of introducing a
+       second one.  Adjust all call sites.
+
+2011-10-23  Gary V. Vaughan  <address@hidden>
            Bruno Haible  <address@hidden>
            Jim Meyering  <address@hidden>
 
diff --git a/top/maint.mk b/top/maint.mk
index d51fec6..f6ad4f0 100644
--- a/top/maint.mk
+++ b/top/maint.mk
@@ -21,9 +21,6 @@
 # ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
 ME := maint.mk
 
-# Override this in cfg.mk if you use a non-standard build-aux directory.
-build_aux ?= $(srcdir)/build-aux
-
 # Do not save the original name or timestamp in the .tar.gz file.
 # Use --rsyncable if available.
 gzip_rsyncable := \
@@ -34,7 +31,7 @@ GZIP_ENV = '--no-name --best $(gzip_rsyncable)'
 GIT = git
 VC = $(GIT)
 
-VC_LIST = $(build_aux)/vc-list-files -C $(srcdir)
+VC_LIST = $(srcdir)/$(_build-aux)/vc-list-files -C $(srcdir)
 
 # You can override this variable in cfg.mk to set your own regexp
 # matching files to ignore.
@@ -274,7 +271,7 @@ define _sc_search_regexp
 endef
 
 sc_avoid_if_before_free:
-       @$(build_aux)/useless-if-before-free                            \
+       @$(srcdir)/$(_build-aux)/useless-if-before-free                 \
                $(useless_free_options)                                 \
            $$($(VC_LIST_EXCEPT) | grep -v useless-if-before-free) &&   \
          { echo '$(ME): found useless "if" before "free" above' 1>&2;  \
@@ -1208,7 +1205,7 @@ else
 endif
 
 announcement: NEWS ChangeLog $(rel-files)
-       @$(build_aux)/announce-gen                                      \
+       @$(srcdir)/$(_build-aux)/announce-gen                           \
            --mail-headers='$(announcement_mail_headers_)'              \
            --release-type=$(RELEASE_TYPE)                              \
            --package=$(PACKAGE)                                        \
@@ -1232,7 +1229,7 @@ upload_dest_dir_ ?= $(PACKAGE)
 emit_upload_commands:
        @echo =====================================
        @echo =====================================
-       @echo "$(build_aux)/gnupload $(GNUPLOADFLAGS) \\"
+       @echo "$(srcdir)/$(_build-aux)/gnupload $(GNUPLOADFLAGS) \\"
        @echo "    --to $(gnu_rel_host):$(upload_dest_dir_) \\"
        @echo "  $(rel-files)"
        @echo '# send the ~/announce-$(my_distdir) e-mail'
@@ -1327,7 +1324,7 @@ web-manual:
        @test -z "$(manual_title)" \
          && { echo define manual_title in cfg.mk 1>&2; exit 1; } || :
        @cd '$(srcdir)/doc'; \
-         $(SHELL) ../$(build_aux)/gendocs.sh $(gendocs_options_) \
+         $(SHELL) ../$(_build-aux)/gendocs.sh $(gendocs_options_) \
             -o '$(abs_builddir)/doc/manual' \
             --email $(PACKAGE_BUGREPORT) $(PACKAGE) \
            "$(PACKAGE_NAME) - $(manual_title)"
@@ -1392,7 +1389,7 @@ update-copyright-env ?=
 update-copyright:
        grep -l -w Copyright                                             \
          $$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \
-         | $(update-copyright-env) xargs $(build_aux)/$@
+         | $(update-copyright-env) xargs $(srcdir)/$(_build-aux)/$@
 
 # This tight_scope test is skipped with a warning if $(_gl_TS_headers) is not
 # overridden and $(_gl_TS_dir)/Makefile.am does not mention noinst_HEADERS.
-- 
1.7.7

Cheers,
-- 
Gary V. Vaughan (gary AT gnu DOT org)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]