diff options
author | Jim Meyering <meyering@fb.com> | 2014-09-06 15:05:46 -0700 |
---|---|---|
committer | Jim Meyering <meyering@fb.com> | 2014-11-30 18:59:32 -0800 |
commit | f6756292cfe14502fbfc79b0839af2e1441b9711 (patch) | |
tree | 66645a2ee602bd4cfc61218ee11ed8cced58b81b | |
parent | c9c328d5fc16eb6eb2d0fd36fabb153490f2cdd7 (diff) | |
download | sed-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.am | 30 | ||||
-rw-r--r-- | bootstrap.conf | 118 | ||||
-rw-r--r-- | lib/Makefile.am | 33 | ||||
-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 |