[Top][All Lists]
[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