bug-gnulib
[Top][All Lists]
Advanced

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

make m4 use gnulib's maintainer-makefile


From: Simon Josefsson
Subject: make m4 use gnulib's maintainer-makefile
Date: Thu, 11 Dec 2008 09:40:58 +0100
User-agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.0.60 (gnu/linux)

Eric Blake <address@hidden> writes:

> At least coreutils, m4, and autoconf use the gnumakefile but not
> maintainer-makefile from gnulib (mainly because there is a lot of
> merging that has to be done to bring the maint.mk back into a common
> state).

It would be nice to merge these eventually.  Can't these projects move
its maint.mk contents to cfg.mk?  If some rules in maint.mk conflict, I
think we could remove it or review the differences.  I could work on
patches for these other projects.  Making m4 use gnulib's maint.mk
doesn't look too difficult to me.  I think all the rules in m4's
maint.mk could be moved into cfg.mk, and then m4 could start to use
gnulib's maintainer-makefile module too.  How about this patch against
m4?

/Simon

>From a26de606b1426a077a9e9803aa26eac09ef42f3d Mon Sep 17 00:00:00 2001
From: Simon Josefsson <address@hidden>
Date: Thu, 11 Dec 2008 09:39:06 +0100
Subject: [PATCH] Move our maint.mk rules to cfg.mk and use gnulib's 
maintainer-makefile module.

---
 cfg.mk                  |   35 ++++++++++++++++++++++++++++++
 ltdl/m4/gnulib-cache.m4 |    3 +-
 maint.mk                |   54 -----------------------------------------------
 3 files changed, 37 insertions(+), 55 deletions(-)
 delete mode 100644 maint.mk

diff --git a/cfg.mk b/cfg.mk
index 99abe29..066f16f 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -35,3 +35,38 @@ local-checks-to-skip = changelog-check
 # The local directory containing the checked-out copy of gnulib used in this
 # release.  Used solely to get gnulib's SHA1 for the "announcement" target.
 gnulib_dir = $(srcdir)/../gnulib
+
+##                                                                      ##
+##                   --- RULES FOR THE MAINTAINER ---                   ##
+##                                                                      ##
+
+## TODO - fix these rules now that m4 is maintained in git, not CVS.
+
+CVS    = cvs # set it to `:' to avoid CVS operations at dist time
+
+# Tag before making distribution.  Also, don't make a distribution if
+# checks fail.  Also, make sure the NEWS file is up-to-date.
+cvs-dist: distcheck # maintainer-check
+       @if sed '1,2d;3q' $(srcdir)/NEWS | grep -e "$(VERSION)" > dev/null; \
+         echo "NEWS not updated; not releasing" 1>&2; \
+         exit 1;
+       fi
+       cd $(srcdir) && \
+         $(CVS) -q tag `echo "Release-$(VERSION)" | sed 's/\./-/g'`
+       $(MAKE) dist
+
+cvs-diff:
+       thisver=`echo "Release-$(VERSION)" | sed 's/\./-/g'`; \
+       if test -z "$$OLDVERSION"; then \
+         prevno=`echo "$(VERSION)" - 0.01 | bc | sed 's/^\./0./'`; \
+       else prevno="$$OLDVERSION"; fi; \
+       prevver=Release-`echo $$prevno | sed 's/\./-/g'`; \
+       cvs -f rdiff -c -r $$prevver -r $$thisver $(PACKAGE) \
+           > $(PACKAGE)-$$prevno-$(VERSION).diff
+
+.PHONY: web-manual
+web-manual:
+       @cd $(srcdir)/doc; \
+         $(SHELL) "$(abs_srcdir)/$(config_aux_dir)/gendocs.sh" $(PACKAGE) \
+           "GNU $(PACKAGE)- GNU macro processor"
+       @echo " *** Upload the doc/manual directory to web-cvs."
diff --git a/ltdl/m4/gnulib-cache.m4 b/ltdl/m4/gnulib-cache.m4
index 2058ded..9b6864c 100644
--- a/ltdl/m4/gnulib-cache.m4
+++ b/ltdl/m4/gnulib-cache.m4
@@ -15,7 +15,7 @@
 
 
 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --dir=. --local-dir=local --lib=libgnu 
--source-base=gnu --m4-base=ltdl/m4 --doc-base=doc --tests-base=tests/gnu 
--aux-dir=build-aux --with-tests --libtool --macro-prefix=M4 assert autobuild 
avltree-oset binary-io clean-temp cloexec close-stream closein config-h 
configmake dirname error exit fdl-1.3 fflush filenamecat flexmember fopen 
fopen-safer fseeko gendocs gettext git-version-gen gnumakefile gnupload gpl-3.0 
intprops memmem mkstemp obstack obstack-printf-posix progname propername quote 
regex regexprops-generic sprintf-posix stdbool stdlib-safer strnlen strtod 
strtol tempname unlocked-io vasnprintf-posix verify verror xalloc xalloc-die 
xmemdup0 xprintf-posix xstrndup xvasprintf-posix
+#   gnulib-tool --import --dir=. --local-dir=local --lib=libgnu 
--source-base=gnu --m4-base=ltdl/m4 --doc-base=doc --tests-base=tests/gnu 
--aux-dir=build-aux --with-tests --libtool --macro-prefix=M4 assert autobuild 
avltree-oset binary-io clean-temp cloexec close-stream closein config-h 
configmake dirname error exit fdl-1.3 fflush filenamecat flexmember fopen 
fopen-safer fseeko gendocs gettext git-version-gen gnumakefile gnupload gpl-3.0 
intprops maintainer-makefile memmem mkstemp obstack obstack-printf-posix 
progname propername quote regex regexprops-generic sprintf-posix stdbool 
stdlib-safer strnlen strtod strtol tempname unlocked-io vasnprintf-posix verify 
verror xalloc xalloc-die xmemdup0 xprintf-posix xstrndup xvasprintf-posix
 
 # Specification in the form of a few gnulib-tool.m4 macro invocations:
 gl_LOCAL_DIR([local])
@@ -47,6 +47,7 @@ gl_MODULES([
   gnupload
   gpl-3.0
   intprops
+  maintainer-makefile
   memmem
   mkstemp
   obstack
diff --git a/maint.mk b/maint.mk
deleted file mode 100644
index 2ab4c77..0000000
--- a/maint.mk
+++ /dev/null
@@ -1,54 +0,0 @@
-## maint.mk - maintainer rules for managing m4 distributions
-##
-## Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008 Free
-## Software Foundation, Inc.
-##
-## This file is part of GNU M4.
-##
-## GNU M4 is free software: you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation, either version 3 of the License, or
-## (at your option) any later version.
-##
-## GNU M4 is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-##                                                                      ##
-##                   --- RULES FOR THE MAINTAINER ---                   ##
-##                                                                      ##
-
-## TODO - fix this file now that m4 is maintained in git, not CVS.
-
-CVS    = cvs # set it to `:' to avoid CVS operations at dist time
-
-# Tag before making distribution.  Also, don't make a distribution if
-# checks fail.  Also, make sure the NEWS file is up-to-date.
-cvs-dist: distcheck # maintainer-check
-       @if sed '1,2d;3q' $(srcdir)/NEWS | grep -e "$(VERSION)" > dev/null; \
-         echo "NEWS not updated; not releasing" 1>&2; \
-         exit 1;
-       fi
-       cd $(srcdir) && \
-         $(CVS) -q tag `echo "Release-$(VERSION)" | sed 's/\./-/g'`
-       $(MAKE) dist
-
-cvs-diff:
-       thisver=`echo "Release-$(VERSION)" | sed 's/\./-/g'`; \
-       if test -z "$$OLDVERSION"; then \
-         prevno=`echo "$(VERSION)" - 0.01 | bc | sed 's/^\./0./'`; \
-       else prevno="$$OLDVERSION"; fi; \
-       prevver=Release-`echo $$prevno | sed 's/\./-/g'`; \
-       cvs -f rdiff -c -r $$prevver -r $$thisver $(PACKAGE) \
-           > $(PACKAGE)-$$prevno-$(VERSION).diff
-
-.PHONY: web-manual
-web-manual:
-       @cd $(srcdir)/doc; \
-         $(SHELL) "$(abs_srcdir)/$(config_aux_dir)/gendocs.sh" $(PACKAGE) \
-           "GNU $(PACKAGE)- GNU macro processor"
-       @echo " *** Upload the doc/manual directory to web-cvs."
-- 
1.5.6.5





reply via email to

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