summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <meyering@fb.com>2014-09-06 15:05:46 -0700
committerJim Meyering <meyering@fb.com>2014-11-30 18:59:32 -0800
commitf6756292cfe14502fbfc79b0839af2e1441b9711 (patch)
tree66645a2ee602bd4cfc61218ee11ed8cced58b81b
parentc9c328d5fc16eb6eb2d0fd36fabb153490f2cdd7 (diff)
downloadsed-f6756292cfe14502fbfc79b0839af2e1441b9711.tar.gz
maint: update build/gnulib infrastructure; generate ChangeLog
* ChangeLog-2014: Renamed from ChangeLog. * po/ChangeLog-2014: Renamed from po/ChangeLog. * Makefile.am (EXTRA_DIST): Add the two new file names. (dist-hook): Generate ChangeLog at tarball-creation time. (gen-ChangeLog): New rule. Just like the one in coreutils and grep. * bootstrap.conf (gnulib_modules): Add the modules, readme-release and gitlog-to-changelog, and revamp to be much more like grep and coreutils. * lib/Makefile.am: Update.
-rw-r--r--ChangeLog-2014 (renamed from ChangeLog)0
-rw-r--r--Makefile.am30
-rw-r--r--bootstrap.conf118
-rw-r--r--lib/Makefile.am33
-rw-r--r--po/ChangeLog-2014 (renamed from po/ChangeLog)0
5 files changed, 135 insertions, 46 deletions
diff --git a/ChangeLog b/ChangeLog-2014
index 7ad0bc7..7ad0bc7 100644
--- a/ChangeLog
+++ b/ChangeLog-2014
diff --git a/Makefile.am b/Makefile.am
index 9b88c86..184e591 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,7 +12,30 @@ noinst_DATA =
noinst_HEADERS = basicdefs.h
EXTRA_DIST = BUGS THANKS COPYING.DOC \
- bootstrap bootstrap.conf build-aux/texi2dvi build-aux/help2man
+ ChangeLog-2014 po/ChangeLog-2014 \
+ bootstrap bootstrap.conf build-aux/texi2dvi build-aux/help2man
+
+# Arrange so that .tarball-version appears only in the distribution
+# tarball, and never in a checked-out repository.
+dist-hook: gen-ChangeLog
+ $(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version
+ test $(COPYRIGHT_YEAR) = `date +%Y` || \
+ { echo Copyright year not updated; exit 1; }
+
+
+gen_start_date = 2014-09-06
+.PHONY: gen-ChangeLog
+gen-ChangeLog:
+ $(AM_V_GEN)if test -d .git; then \
+ log_fix="$(srcdir)/build-aux/git-log-fix"; \
+ test -e "$$log_fix" \
+ && amend_git_log="--amend=$$log_fix" \
+ || amend_git_log=; \
+ $(top_srcdir)/build-aux/gitlog-to-changelog \
+ $$amend_git_log --since=$(gen_start_date) > $(distdir)/cl-t && \
+ { rm -f $(distdir)/ChangeLog && \
+ mv $(distdir)/cl-t $(distdir)/ChangeLog; } \
+ fi
html:
cd doc && make html
@@ -20,10 +43,6 @@ html:
DISTCHECK_CONFIGURE_FLAGS = XGETTEXT='$(SHELL) -c : dummy' $(EXTRA_DC_FLAGS)
EXTRA_DC_FLAGS =
-dist-hook:
- test $(COPYRIGHT_YEAR) = `date +%Y` || \
- { echo Copyright year not updated; exit 1; }
-
full-distcheck:
make distcheck EXTRA_DC_FLAGS='--enable-regex-tests'
make distcheck EXTRA_DC_FLAGS='--enable-html'
@@ -53,4 +72,3 @@ full-distcheck:
## wget -O testsuite/BOOST.tests "$$BASEURL/BOOST.tests?$$QUERY" && \
## wget -O testsuite/PCRE.tests "$$BASEURL/PCRE.tests?$$QUERY" && \
## wget -O testsuite/SPENCER.tests "$$BASEURL/rxspencer/tests?$$QUERY"
-
diff --git a/bootstrap.conf b/bootstrap.conf
index dc64da9..248b666 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -15,52 +15,98 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+avoided_gnulib_modules='
+ --avoid=lock-tests
+'
# gnulib modules used by this package.
-gnulib_modules="
- acl alloca btowc c-ctype extensions fwriting getdelim getopt gettext-h
- localcharset mbrlen mbrtowc mbsinit memchr mkostemp obstack regex
- rename selinux-h stdbool stat-macros ssize_t strerror strverscmp threadlib
- unlocked-io verify version-etc-fsf wcrtomb wctob"
+gnulib_modules='
+acl
+alloca
+btowc
+c-ctype
+extensions
+fwriting
+getdelim
+getopt
+gettext-h
+gitlog-to-changelog
+localcharset
+mbrlen
+mbrtowc
+mbsinit
+memchr
+mkostemp
+obstack
+readme-release
+regex
+rename
+selinux-h
+ssize_t
+stat-macros
+stdbool
+strerror
+strverscmp
+threadlib
+unlocked-io
+verify
+version-etc-fsf
+wcrtomb
+wctob
+'
+gnulib_name=libsed
checkout_only_file=
MSGID_BUGS_ADDRESS=bug-gnu-utils@gnu.org
# Additional xgettext options to use. Use "\\\newline" to break lines.
XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
- --from-code=UTF-8\\\
- --flag=asprintf:2:c-format --flag=vasprintf:2:c-format\\\
- --flag=asnprintf:3:c-format --flag=vasnprintf:3:c-format\\\
+ --flag=asnprintf:3:c-format\\\
+ --flag=asprintf:2:c-format\\\
+ --flag=error:3:c-format\\\
+ --flag=error_at_line:5:c-format\\\
+ --flag=vasnprintf:3:c-format\\\
+ --flag=vasprintf:2:c-format\\\
--flag=wrapf:1:c-format\\\
- --flag=error:3:c-format --flag=error_at_line:5:c-format\\\
+ --from-code=UTF-8\\\
'
-# If "AM_GNU_GETTEXT(external" or "AM_GNU_GETTEXT([external]"
-# appears in configure.ac, exclude some unnecessary files.
-# Without grep's -E option (not portable enough, pre-configure),
-# the following test is ugly. Also, this depends on the existence
-# of configure.ac, not the obsolescent-named configure.in. But if
-# you're using this infrastructure, you should care about such things.
+gnulib_tool_option_extras="--tests-base=gnulib-tests --with-tests --symlink\
+ --makefile-name=gnulib.mk
+ $avoided_gnulib_modules
+"
+
+# Build prerequisites
+buildreq="\
+autoconf 2.62
+automake 1.11.1
+autopoint -
+gettext -
+git 1.4.4
+gzip -
+makeinfo -
+rsync -
+tar -
+"
+
+bootstrap_post_import_hook ()
+{
+ # Automake requires that ChangeLog exist.
+ touch ChangeLog || return 1
+}
-gettext_external=0
-grep '^[ ]*AM_GNU_GETTEXT(external\>' configure.ac > /dev/null &&
- gettext_external=1
-grep '^[ ]*AM_GNU_GETTEXT(\[external\]' configure.ac > /dev/null &&
- gettext_external=1
+bootstrap_epilogue()
+{
+ perl -pi -e "s/\@PACKAGE\@/$package/g" README-release
-if test $gettext_external = 1; then
- # Gettext supplies these files, but we don't need them since
- # we don't have an intl subdirectory.
- excluded_files='
- m4/glibc2.m4
- m4/intdiv0.m4
- m4/lcmessage.m4
- m4/lock.m4
- m4/printf-posix.m4
- m4/size_max.m4
- m4/uintmax_t.m4
- m4/ulonglong.m4
- m4/visibility.m4
- m4/xsize.m4
- '
-fi
+ # Since this is a "GNU" package, replace this line
+ # if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null \
+ # | grep -v 'libtool:' >/dev/null; then
+ # with this:
+ # if true; then
+ # Why? That pipeline searches all files in $(top_srcdir), and if you
+ # happen to have large files (or apparently large sparse files), the
+ # first grep may well run out of memory.
+ perl -pi -e 's/if LC_ALL=C grep .GNU .PACKAGE.*; then/if true; then/' \
+ po/Makefile.in.in
+}
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 73c1b33..4e94d02 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,8 +1,33 @@
-## Process this file with automake to produce Makefile.in
+# Copyright 1997-1998, 2005-2014 Free Software Foundation, Inc.
+#
+# This program 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, or (at your option)
+# any later version.
+#
+# This program 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/>.
+#
-include gnulib.mk
+AM_CFLAGS =
+AM_CPPFLAGS =
+BUILT_SOURCES =
+CLEANFILES =
+EXTRA_DIST =
+MAINTAINERCLEANFILES =
+MOSTLYCLEANDIRS =
+MOSTLYCLEANFILES =
+SUFFIXES =
+noinst_LIBRARIES =
-SUFFIXES += .a .o .c .y .l .h .sh .elc .el
+include gnulib.mk
-AM_CPPFLAGS += -I$(top_srcdir)/lib -I$(top_srcdir) -I$(top_builddir)/lib
+AM_CFLAGS += $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS)
+libsed_a_LIBADD += $(LIBOBJS) $(ALLOCA)
+libsed_a_DEPENDENCIES += $(LIBOBJS) $(ALLOCA)
diff --git a/po/ChangeLog b/po/ChangeLog-2014
index 0042d6f..0042d6f 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog-2014