mirror of
git://git.sv.gnu.org/autoconf
synced 2025-02-17 14:01:27 +08:00
Sync files from upstream, and pass 'make syntax-check'.
* config/announce-gen: Move... * build-aux/announce-gen: ...here, and sync from gnulib. * Makefile.am (EXTRA_DIST): Adjust accordingly. * cfg.mk (announce_gen): Likewise. (prev_version_file): Delete, relying on default in maint.mk. (gpg_key_ID): New macro. (url_dir_list): Rewrite to match coreutils. * config/prev-version.txt: Move... * .prev-version: ...here, and adjust to 2.61. * build-aux/vc-list-files: Sync from coreutils. * maint.mk: Resynchronize with coreutils, where possible. (ME): Remove $(srcdir) from definition. (CVS): Delete. (GIT, VC, VC-tag): New macros. (CVS_LIST, CVS_LIST_EXCEPT): Rename... (VC_LIST, VC_LIST_EXCEPT): ...to this. (cvs-tag-check): Delete. (cvs-diff-check): Rename... (vc-diff-check): ...to this. (sc_file_system): Allow FHS acronym. * doc/autoconf.texi (Particular Functions): Recommend unconditional <config.h>. * build-aux/config.guess: Sync from upstream (manually). * build-aux/config.sub: Likewise. * build-aux/texinfo.tex: Likewise. * doc/make-stds.texi: Likewise. * doc/standards.texi: Likewise. * .gitattributes: Ignore whitespace problems in upstream files. Signed-off-by: Eric Blake <ebb9@byu.net>
This commit is contained in:
parent
4278e86fdf
commit
991e8cc0ca
12
.gitattributes
vendored
12
.gitattributes
vendored
@ -1 +1,11 @@
|
||||
ChangeLog merge=merge-changelog
|
||||
ChangeLog merge=merge-changelog
|
||||
config.guess -whitespace
|
||||
config.sub -whitespace
|
||||
elisp-comp -whitespace
|
||||
install-sh -whitespace
|
||||
mdate-sh -whitespace
|
||||
missing -whitespace
|
||||
texinfo.tex -whitespace
|
||||
fdl.texi -whitespace
|
||||
make-stds.texi -whitespace
|
||||
standards.texi -whitespace
|
||||
|
1
.prev-version
Normal file
1
.prev-version
Normal file
@ -0,0 +1 @@
|
||||
2.61
|
42
ChangeLog
42
ChangeLog
@ -1,3 +1,35 @@
|
||||
2008-04-03 Eric Blake <ebb9@byu.net>
|
||||
|
||||
Sync files from upstream, and pass 'make syntax-check'.
|
||||
* config/announce-gen: Move...
|
||||
* build-aux/announce-gen: ...here, and sync from gnulib.
|
||||
* Makefile.am (EXTRA_DIST): Adjust accordingly.
|
||||
* cfg.mk (announce_gen): Likewise.
|
||||
(prev_version_file): Delete, relying on default in maint.mk.
|
||||
(gpg_key_ID): New macro.
|
||||
(url_dir_list): Rewrite to match coreutils.
|
||||
* config/prev-version.txt: Move...
|
||||
* .prev-version: ...here, and adjust to 2.61.
|
||||
* build-aux/vc-list-files: Sync from coreutils.
|
||||
* maint.mk: Resynchronize with coreutils, where possible.
|
||||
(ME): Remove $(srcdir) from definition.
|
||||
(CVS): Delete.
|
||||
(GIT, VC, VC-tag): New macros.
|
||||
(CVS_LIST, CVS_LIST_EXCEPT): Rename...
|
||||
(VC_LIST, VC_LIST_EXCEPT): ...to this.
|
||||
(cvs-tag-check): Delete.
|
||||
(cvs-diff-check): Rename...
|
||||
(vc-diff-check): ...to this.
|
||||
(sc_file_system): Allow FHS acronym.
|
||||
* doc/autoconf.texi (Particular Functions): Recommend
|
||||
unconditional <config.h>.
|
||||
* build-aux/config.guess: Sync from upstream (manually).
|
||||
* build-aux/config.sub: Likewise.
|
||||
* build-aux/texinfo.tex: Likewise.
|
||||
* doc/make-stds.texi: Likewise.
|
||||
* doc/standards.texi: Likewise.
|
||||
* .gitattributes: Ignore whitespace problems in upstream files.
|
||||
|
||||
2008-04-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* doc/autoconf.texi (Limitations of Usual Tools): Mention awk %u
|
||||
@ -19,11 +51,11 @@
|
||||
|
||||
2008-03-28 Peter O'Gorman <peter@pogma.com>
|
||||
|
||||
Find X11 on Mac OS X too.
|
||||
* lib/autoconf/libs.m4 (_AC_PATH_X_DIRECT,_AC_PATH_X_XMKMF):
|
||||
Check for libX11 with extensions dylib la and dll too.
|
||||
* THANKS: Update.
|
||||
Reported by Martin Costabel.
|
||||
Find X11 on Mac OS X too.
|
||||
* lib/autoconf/libs.m4 (_AC_PATH_X_DIRECT,_AC_PATH_X_XMKMF):
|
||||
Check for libX11 with extensions dylib la and dll too.
|
||||
* THANKS: Update.
|
||||
Reported by Martin Costabel.
|
||||
|
||||
2008-03-28 Eric Blake <ebb9@byu.net>
|
||||
|
||||
|
@ -27,7 +27,7 @@ EXTRA_DIST = ChangeLog.0 ChangeLog.1 ChangeLog.2 \
|
||||
BUGS \
|
||||
GNUmakefile maint.mk cfg.mk \
|
||||
build-aux/git-version-gen \
|
||||
config/announce-gen config/prev-version.txt
|
||||
build-aux/announce-gen .prev-version
|
||||
|
||||
MAINTAINERCLEANFILES = $(srcdir)/INSTALL
|
||||
|
||||
|
@ -1,7 +1,13 @@
|
||||
#!/usr/bin/perl -w
|
||||
# Generate an announcement message.
|
||||
# Generate a release announcement message.
|
||||
|
||||
# Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
my $VERSION = '2008-02-08 10:34'; # UTC
|
||||
# The definition above must lie within the first 8 lines in order
|
||||
# for the Emacs time-stamp write hook (at end) to update it.
|
||||
# If you change this file with Emacs, please let the write hook
|
||||
# do its job. Otherwise, update this string manually.
|
||||
|
||||
# Copyright (C) 2002-2008 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
|
||||
@ -16,13 +22,15 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Written by Jim Meyering
|
||||
|
||||
use strict;
|
||||
|
||||
use Getopt::Long;
|
||||
use Digest::MD5;
|
||||
use Digest::SHA1;
|
||||
use POSIX qw(strftime);
|
||||
|
||||
(my $VERSION = '$Revision$ ') =~ tr/[0-9].//cd;
|
||||
(my $ME = $0) =~ s|.*/||;
|
||||
|
||||
my %valid_release_types = map {$_ => 1} qw (alpha beta major);
|
||||
@ -70,16 +78,24 @@ OPTIONS:
|
||||
|
||||
Generate an announcement message.
|
||||
|
||||
FIXME: describe the following
|
||||
These options must be specified:
|
||||
|
||||
--release-type=TYPE TYPE must be one of @types
|
||||
--package-name=PACKAGE_NAME
|
||||
--previous-version=VER
|
||||
--current-version=VER
|
||||
--gpg-key-id=ID The GnuPG ID of the key used to sign the tarballs
|
||||
--release-archive-directory=DIR
|
||||
--url-directory=URL_DIR
|
||||
--news=NEWS_FILE optional
|
||||
|
||||
The following are optional:
|
||||
|
||||
--news=NEWS_FILE
|
||||
--bootstrap-tools=TOOL_LIST a comma-separated list of tools, e.g.,
|
||||
autoconf,automake,bison,gnulib
|
||||
--gnulib-snapshot-date=DATE if gnulib is in the bootstrap tool list,
|
||||
then report this as the snapshot date.
|
||||
If not specified, use the current date/time.
|
||||
If you specify a date here, be sure it is UTC.
|
||||
|
||||
--help display this help and exit
|
||||
--version output version information and exit
|
||||
@ -191,26 +207,28 @@ sub print_news_deltas ($$$)
|
||||
# the first occurrence of $prev_version.
|
||||
my $in_items;
|
||||
|
||||
my $re_prefix = qr/\* (?:Noteworthy|Major) change/;
|
||||
|
||||
open NEWS, '<', $news_file
|
||||
or die "$ME: $news_file: cannot open for reading: $!\n";
|
||||
while (defined (my $line = <NEWS>))
|
||||
{
|
||||
if ( ! $in_items)
|
||||
{
|
||||
# Match lines like this one:
|
||||
# Match lines like these:
|
||||
# * Major changes in release 5.0.1:
|
||||
# but not any other line that starts with a space, *, or -.
|
||||
$line =~ /^(\* Major changes.*|[^ *-].*)\Q$curr_version\E/o
|
||||
# * Noteworthy changes in release 6.6 (2006-11-22) [stable]
|
||||
$line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$curr_version\E(?:[^\d.]|$)/o
|
||||
or next;
|
||||
$in_items = 1;
|
||||
print $line;
|
||||
}
|
||||
else
|
||||
{
|
||||
# Be careful that this regexp cannot match version numbers
|
||||
# in NEWS items -- they might well say `introduced in 4.5.5',
|
||||
# This regexp must not match version numbers in NEWS items.
|
||||
# For example, they might well say `introduced in 4.5.5',
|
||||
# and we don't want that to match.
|
||||
$line =~ /^(\* Major changes.*|[^ *-].*)\Q$prev_version\E/o
|
||||
$line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$prev_version\E(?:[^\d.]|$)/o
|
||||
and last;
|
||||
print $line;
|
||||
}
|
||||
@ -307,6 +325,44 @@ sub print_changelog_deltas ($$)
|
||||
or warn "$ME: warning: `cmd' had unexpected exit code or signal ($?)\n";
|
||||
}
|
||||
|
||||
sub get_tool_versions ($$)
|
||||
{
|
||||
my ($tool_list, $gnulib_version) = @_;
|
||||
@$tool_list
|
||||
or return ();
|
||||
|
||||
my $fail;
|
||||
my @tool_version_pair;
|
||||
foreach my $t (@$tool_list)
|
||||
{
|
||||
if ($t eq 'gnulib')
|
||||
{
|
||||
push @tool_version_pair, ucfirst $t . ' ' . $gnulib_version;
|
||||
next;
|
||||
}
|
||||
# Assume that the last "word" on the first line of
|
||||
# `tool --version` output is the version string.
|
||||
my ($first_line, undef) = split ("\n", `$t --version`);
|
||||
if ($first_line =~ /.* (\d[\w.-]+)$/)
|
||||
{
|
||||
$t = ucfirst $t;
|
||||
push @tool_version_pair, "$t $1";
|
||||
}
|
||||
else
|
||||
{
|
||||
defined $first_line
|
||||
and $first_line = '';
|
||||
warn "$ME: $t: unexpected --version output\n:$first_line";
|
||||
$fail = 1;
|
||||
}
|
||||
}
|
||||
|
||||
$fail
|
||||
and exit 1;
|
||||
|
||||
return @tool_version_pair;
|
||||
}
|
||||
|
||||
{
|
||||
# Neutralize the locale, so that, for instance, "du" does not
|
||||
# issue "1,2" instead of "1.2", what confuses our regexps.
|
||||
@ -316,10 +372,11 @@ sub print_changelog_deltas ($$)
|
||||
my $package_name;
|
||||
my $prev_version;
|
||||
my $curr_version;
|
||||
my $release_archive_dir;
|
||||
my $gpg_key_id;
|
||||
my @url_dir_list;
|
||||
my @news_file;
|
||||
my $bootstrap_tools;
|
||||
my $gnulib_version;
|
||||
|
||||
GetOptions
|
||||
(
|
||||
@ -328,9 +385,10 @@ sub print_changelog_deltas ($$)
|
||||
'previous-version=s' => \$prev_version,
|
||||
'current-version=s' => \$curr_version,
|
||||
'gpg-key-id=s' => \$gpg_key_id,
|
||||
'release-archive-directory=s' => \$release_archive_dir,
|
||||
'url-directory=s' => \@url_dir_list,
|
||||
'news=s' => \@news_file,
|
||||
'bootstrap-tools=s' => \$bootstrap_tools,
|
||||
'gnulib-version=s' => \$gnulib_version,
|
||||
|
||||
help => sub { usage 0 },
|
||||
version => sub { print "$ME version $VERSION\n"; exit },
|
||||
@ -346,25 +404,38 @@ sub print_changelog_deltas ($$)
|
||||
or (warn "$ME: previous version string not specified\n"), $fail = 1;
|
||||
$curr_version
|
||||
or (warn "$ME: current version string not specified\n"), $fail = 1;
|
||||
$release_archive_dir
|
||||
or (warn "$ME: release directory name not specified\n"), $fail = 1;
|
||||
$gpg_key_id
|
||||
or (warn "$ME: GnuPG key ID not specified\n"), $fail = 1;
|
||||
@url_dir_list
|
||||
or (warn "$ME: URL directory name(s) not specified\n"), $fail = 1;
|
||||
|
||||
my @tool_list = split ',', $bootstrap_tools;
|
||||
|
||||
grep (/^gnulib$/, @tool_list) ^ defined $gnulib_version
|
||||
and (warn "$ME: when specifying gnulib as a tool, you must also specify\n"
|
||||
. "--gnulib-version=V, where V is the result of running git describe\n"
|
||||
. "in the gnulib source directory.\n"), $fail = 1;
|
||||
|
||||
exists $valid_release_types{$release_type}
|
||||
or (warn "$ME: `$release_type': invalid release type\n"), $fail = 1;
|
||||
|
||||
@ARGV
|
||||
and (warn "$ME: too many arguments\n"), $fail = 1;
|
||||
and (warn "$ME: too many arguments:\n", join ("\n", @ARGV), "\n"),
|
||||
$fail = 1;
|
||||
$fail
|
||||
and usage 1;
|
||||
|
||||
my $my_distdir = "$package_name-$curr_version";
|
||||
my $tgz = "$my_distdir.tar.gz";
|
||||
my $tbz = "$my_distdir.tar.bz2";
|
||||
my $lzma = "$my_distdir.tar.lzma";
|
||||
my $xd = "$package_name-$prev_version-$curr_version.xdelta";
|
||||
|
||||
my %size = sizes ($tgz, $tbz, $xd);
|
||||
my @tarballs = grep {-f $_} ($tgz, $tbz, $lzma);
|
||||
my @sizable = @tarballs;
|
||||
-f $xd
|
||||
and push @sizable, $xd;
|
||||
my %size = sizes (@sizable);
|
||||
%size
|
||||
or exit 1;
|
||||
|
||||
@ -380,14 +451,16 @@ FIXME: put comments here
|
||||
|
||||
EOF
|
||||
|
||||
print_locations ("compressed sources", @url_dir_list, %size,
|
||||
$tgz, $tbz);
|
||||
print_locations ("xdelta-style diffs", @url_dir_list, %size,
|
||||
$xd);
|
||||
print_locations ("compressed sources", @url_dir_list, %size, @tarballs);
|
||||
-f $xd
|
||||
and print_locations ("xdelta diffs (useful? if so, "
|
||||
. "please tell bug-gnulib\@gnu.org)",
|
||||
@url_dir_list, %size, $xd);
|
||||
my @sig_files = map { "$_.sig" } @tarballs;
|
||||
print_locations ("GPG detached signatures[*]", @url_dir_list, %size,
|
||||
"$tgz.sig", "$tbz.sig");
|
||||
@sig_files);
|
||||
|
||||
print_checksums ($tgz, $tbz, $xd);
|
||||
print_checksums (@sizable);
|
||||
|
||||
print <<EOF;
|
||||
|
||||
@ -406,6 +479,11 @@ then run this command to import it:
|
||||
and rerun the \`gpg --verify' command.
|
||||
EOF
|
||||
|
||||
my @tool_versions = get_tool_versions (\@tool_list, $gnulib_version);
|
||||
@tool_versions
|
||||
and print "\nThis release was bootstrapped with the following tools:",
|
||||
join ('', map {"\n $_"} @tool_versions), "\n";
|
||||
|
||||
print_news_deltas ($_, $prev_version, $curr_version)
|
||||
foreach @news_file;
|
||||
|
||||
@ -415,8 +493,6 @@ EOF
|
||||
exit 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
### Setup "GNU" style for perl-mode and cperl-mode.
|
||||
## Local Variables:
|
||||
## perl-indent-level: 2
|
||||
@ -432,4 +508,9 @@ EOF
|
||||
## cperl-extra-newline-before-brace: t
|
||||
## cperl-merge-trailing-else: nil
|
||||
## cperl-continued-statement-offset: 2
|
||||
## eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
## time-stamp-start: "my $VERSION = '"
|
||||
## time-stamp-format: "%:y-%02m-%02d %02H:%02M"
|
||||
## time-stamp-time-zone: "UTC"
|
||||
## time-stamp-end: "'; # UTC"
|
||||
## End:
|
5
build-aux/config.guess
vendored
5
build-aux/config.guess
vendored
@ -4,7 +4,7 @@
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2008-01-23'
|
||||
timestamp='2008-03-12'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
@ -1216,6 +1216,9 @@ EOF
|
||||
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
|
||||
echo i586-pc-beos
|
||||
exit ;;
|
||||
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
|
||||
echo i586-pc-haiku
|
||||
exit ;;
|
||||
SX-4:SUPER-UX:*:*)
|
||||
echo sx4-nec-superux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
|
16
build-aux/config.sub
vendored
16
build-aux/config.sub
vendored
@ -4,7 +4,7 @@
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2008-01-16'
|
||||
timestamp='2008-03-26'
|
||||
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
@ -250,12 +250,14 @@ case $basic_machine in
|
||||
| i370 | i860 | i960 | ia64 \
|
||||
| ip2k | iq2000 \
|
||||
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
||||
| maxq | mb | microblaze | mcore | mep \
|
||||
| maxq | mb | microblaze | mcore | mep | metag \
|
||||
| mips | mipsbe | mipseb | mipsel | mipsle \
|
||||
| mips16 \
|
||||
| mips64 | mips64el \
|
||||
| mips64vr | mips64vrel \
|
||||
| mips64octeon | mips64octeonel \
|
||||
| mips64orion | mips64orionel \
|
||||
| mips64r5900 | mips64r5900el \
|
||||
| mips64vr | mips64vrel \
|
||||
| mips64vr4100 | mips64vr4100el \
|
||||
| mips64vr4300 | mips64vr4300el \
|
||||
| mips64vr5000 | mips64vr5000el \
|
||||
@ -331,12 +333,14 @@ case $basic_machine in
|
||||
| ip2k-* | iq2000-* \
|
||||
| m32c-* | m32r-* | m32rle-* \
|
||||
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
||||
| m88110-* | m88k-* | maxq-* | mcore-* \
|
||||
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
|
||||
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
|
||||
| mips16-* \
|
||||
| mips64-* | mips64el-* \
|
||||
| mips64vr-* | mips64vrel-* \
|
||||
| mips64octeon-* | mips64octeonel-* \
|
||||
| mips64orion-* | mips64orionel-* \
|
||||
| mips64r5900-* | mips64r5900el-* \
|
||||
| mips64vr-* | mips64vrel-* \
|
||||
| mips64vr4100-* | mips64vr4100el-* \
|
||||
| mips64vr4300-* | mips64vr4300el-* \
|
||||
| mips64vr5000-* | mips64vr5000el-* \
|
||||
@ -364,7 +368,7 @@ case $basic_machine in
|
||||
| sparclite-* \
|
||||
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
|
||||
| tahoe-* | thumb-* \
|
||||
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
|
||||
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
|
||||
| tron-* \
|
||||
| v850-* | v850e-* | vax-* \
|
||||
| we32k-* \
|
||||
|
@ -3,11 +3,11 @@
|
||||
% Load plain if necessary, i.e., if running under initex.
|
||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||
%
|
||||
\def\texinfoversion{2007-12-02.17}
|
||||
\def\texinfoversion{2008-03-31.10}
|
||||
%
|
||||
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 2007,
|
||||
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
|
||||
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
% 2007 Free Software Foundation, Inc.
|
||||
% 2007, 2008 Free Software Foundation, Inc.
|
||||
%
|
||||
% This texinfo.tex file is free software: you can redistribute it and/or
|
||||
% modify it under the terms of the GNU General Public License as
|
||||
@ -97,6 +97,7 @@
|
||||
\let\ptexslash=\/
|
||||
\let\ptexstar=\*
|
||||
\let\ptext=\t
|
||||
\let\ptextop=\top
|
||||
|
||||
% If this character appears in an error message or help string, it
|
||||
% starts a new line in the output.
|
||||
@ -916,15 +917,19 @@ where each line of input produces a line of output.}
|
||||
\temp
|
||||
}
|
||||
|
||||
% @include file insert text of that file as input.
|
||||
% @include FILE -- \input text of FILE.
|
||||
%
|
||||
\def\include{\parseargusing\filenamecatcodes\includezzz}
|
||||
\def\includezzz#1{%
|
||||
\pushthisfilestack
|
||||
\def\thisfile{#1}%
|
||||
{%
|
||||
\makevalueexpandable
|
||||
\def\temp{\input #1 }%
|
||||
\makevalueexpandable % we want to expand any @value in FILE.
|
||||
\turnoffactive % and allow special characters in the expansion
|
||||
\edef\temp{\noexpand\input #1 }%
|
||||
%
|
||||
% This trickery is to read FILE outside of a group, in case it makes
|
||||
% definitions, etc.
|
||||
\expandafter
|
||||
}\temp
|
||||
\popthisfilestack
|
||||
@ -1362,8 +1367,11 @@ output) for that.)}
|
||||
\openin 1 #1.jpeg \ifeof 1
|
||||
\openin 1 #1.JPG \ifeof 1
|
||||
\openin 1 #1.pdf \ifeof 1
|
||||
\errhelp = \nopdfimagehelp
|
||||
\errmessage{Could not find image file #1 for pdf}%
|
||||
\openin 1 #1.PDF \ifeof 1
|
||||
\errhelp = \nopdfimagehelp
|
||||
\errmessage{Could not find image file #1 for pdf}%
|
||||
\else \gdef\pdfimgext{PDF}%
|
||||
\fi
|
||||
\else \gdef\pdfimgext{pdf}%
|
||||
\fi
|
||||
\else \gdef\pdfimgext{JPG}%
|
||||
@ -1377,7 +1385,7 @@ output) for that.)}
|
||||
\closein 1
|
||||
\endgroup
|
||||
%
|
||||
% without \immediate, pdftex seg faults when the same image is
|
||||
% without \immediate, ancient pdftex seg faults when the same image is
|
||||
% included twice. (Version 3.14159-pre-1.0-unofficial-20010704.)
|
||||
\ifnum\pdftexversion < 14
|
||||
\immediate\pdfimage
|
||||
@ -2560,6 +2568,13 @@ end
|
||||
\let\env=\code
|
||||
\let\command=\code
|
||||
|
||||
% @clicksequence{File @click{} Open ...}
|
||||
\def\clicksequence#1{\begingroup #1\endgroup}
|
||||
|
||||
% @clickstyle @arrow (by default)
|
||||
\parseargdef\clickstyle{\def\click{#1}}
|
||||
\def\click{\arrow}
|
||||
|
||||
% @uref (abbreviation for `urlref') takes an optional (comma-separated)
|
||||
% second argument specifying the text to display and an optional third
|
||||
% arg as text to display instead of (rather than in addition to) the url
|
||||
@ -5652,14 +5667,15 @@ end
|
||||
|
||||
% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
|
||||
%
|
||||
% Since these characters are used in examples, it should be an even number of
|
||||
% Since these characters are used in examples, they should be an even number of
|
||||
% \tt widths. Each \tt character is 1en, so two makes it 1em.
|
||||
%
|
||||
\def\point{$\star$}
|
||||
\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
|
||||
\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
|
||||
\def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}}
|
||||
\def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
|
||||
\def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}}
|
||||
\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
|
||||
\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
|
||||
\def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}}
|
||||
|
||||
% The @error{} command.
|
||||
% Adapted from the TeXbook's \boxit.
|
||||
@ -5717,6 +5733,7 @@ end
|
||||
\let\/=\ptexslash
|
||||
\let\*=\ptexstar
|
||||
\let\t=\ptext
|
||||
\expandafter \let\csname top\endcsname=\ptextop % outer
|
||||
\let\frenchspacing=\plainfrenchspacing
|
||||
%
|
||||
\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
|
||||
@ -6953,20 +6970,22 @@ end
|
||||
%
|
||||
% Make link in pdf output.
|
||||
\ifpdf
|
||||
\leavevmode
|
||||
\getfilename{#4}%
|
||||
{\indexnofonts
|
||||
\turnoffactive
|
||||
% This expands tokens, so do it after making catcode changes, so _
|
||||
% etc. don't get their TeX definitions.
|
||||
\getfilename{#4}%
|
||||
%
|
||||
% See comments at \activebackslashdouble.
|
||||
{\activebackslashdouble \xdef\pdfxrefdest{#1}%
|
||||
\backslashparens\pdfxrefdest}%
|
||||
%
|
||||
\leavevmode
|
||||
\startlink attr{/Border [0 0 0]}%
|
||||
\ifnum\filenamelength>0
|
||||
\startlink attr{/Border [0 0 0]}%
|
||||
goto file{\the\filename.pdf} name{\pdfxrefdest}%
|
||||
goto file{\the\filename.pdf} name{\pdfxrefdest}%
|
||||
\else
|
||||
\startlink attr{/Border [0 0 0]}%
|
||||
goto name{\pdfmkpgn{\pdfxrefdest}}%
|
||||
goto name{\pdfmkpgn{\pdfxrefdest}}%
|
||||
\fi
|
||||
}%
|
||||
\setcolor{\linkcolor}%
|
||||
@ -7421,15 +7440,19 @@ end
|
||||
% If the image is by itself, center it.
|
||||
\ifvmode
|
||||
\imagevmodetrue
|
||||
\nobreak\bigskip
|
||||
\nobreak\medskip
|
||||
% Usually we'll have text after the image which will insert
|
||||
% \parskip glue, so insert it here too to equalize the space
|
||||
% above and below.
|
||||
\nobreak\vskip\parskip
|
||||
\nobreak
|
||||
\line\bgroup
|
||||
\fi
|
||||
%
|
||||
% Leave vertical mode so that indentation from an enclosing
|
||||
% environment such as @quotation is respected. On the other hand, if
|
||||
% it's at the top level, we don't want the normal paragraph indentation.
|
||||
\noindent
|
||||
%
|
||||
% Output the image.
|
||||
\ifpdf
|
||||
\dopdfimage{#1}{#2}{#3}%
|
||||
@ -7440,7 +7463,7 @@ end
|
||||
\epsfbox{#1.eps}%
|
||||
\fi
|
||||
%
|
||||
\ifimagevmode \egroup \bigbreak \fi % space after the image
|
||||
\ifimagevmode \medskip \fi % space after the standalone image
|
||||
\endgroup}
|
||||
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
# List the specified version-controlled files.
|
||||
# List version-controlled file names.
|
||||
|
||||
# Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2006-2008 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
|
||||
@ -18,41 +18,40 @@
|
||||
|
||||
|
||||
# List the specified version-controlled files.
|
||||
# With no argument, list them all.
|
||||
# With no argument, list them all. With a single DIRECTORY argument,
|
||||
# list the version-controlled files in that directory.
|
||||
# This script must be run solely from the top of a $srcdir build directory.
|
||||
|
||||
# If there's an argument, it must be a single, "."-relative directory name,
|
||||
# with no trailing slashes. In mercurial mode, it's used as part of a
|
||||
# "grep" pattern (prepend "^", append "/"), and in cvs mode, it's simply
|
||||
# used as an argument to the cvsu script.
|
||||
# If there's an argument, it must be a single, "."-relative directory name.
|
||||
# cvsu is part of the cvsutils package: http://www.red-bean.com/cvsutils/
|
||||
|
||||
include_prefix=
|
||||
dir=
|
||||
case $# in
|
||||
0) ;;
|
||||
1) include_prefix=$1 ;;
|
||||
*) echo "$0: too many arguments" 1>&2; exit 1 ;;
|
||||
1) dir=$1 ;;
|
||||
*) echo "$0: too many arguments" 1>&2
|
||||
echo "Usage: $0 [DIR]" 1>&2; exit 1;;
|
||||
esac
|
||||
|
||||
test "x$dir" = x && dir=.
|
||||
|
||||
if test -d .git; then
|
||||
if test "x$include_prefix" = x; then
|
||||
git-ls-files | cut -d ' ' -f 3
|
||||
else
|
||||
git-ls-files | cut -d ' ' -f 3 | grep "^$include_prefix/"
|
||||
fi
|
||||
exec git ls-files "$dir"
|
||||
elif test -d .hg; then
|
||||
if test "x$include_prefix" = x; then
|
||||
hg manifest | cut -d ' ' -f 3
|
||||
exec hg locate "$dir/*"
|
||||
elif test -d CVS; then
|
||||
if test -x build-aux/cvsu; then
|
||||
build-aux/cvsu --find --types=AFGM "$dir"
|
||||
else
|
||||
hg manifest | cut -d ' ' -f 3 | grep "^$include_prefix/"
|
||||
awk -F/ '{ \
|
||||
if (!$1 && $3 !~ /^-/) { \
|
||||
f=FILENAME; \
|
||||
sub(/CVS\/Entries/, "", f); \
|
||||
print f $2; \
|
||||
}}' \
|
||||
$(find ${*-*} -name Entries -print) /dev/null;
|
||||
fi
|
||||
elif test -x build-aux/cvsu; then
|
||||
build-aux/cvsu --find --types=AFGM $include_prefix
|
||||
else
|
||||
awk -F/ '{ \
|
||||
if (!$1 && $3 !~ /^-/) { \
|
||||
f=FILENAME; \
|
||||
sub(/CVS\/Entries/, "", f); \
|
||||
print f $2; \
|
||||
}}' \
|
||||
$(find ${*-*} -name Entries -print) /dev/null;
|
||||
echo "$0: Failed to determine type of version control used in "`pwd` 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
16
cfg.mk
16
cfg.mk
@ -23,19 +23,21 @@ export PATH = $(shell echo "`pwd`/tests:$$PATH")
|
||||
_autoreconf = autoreconf -i -v && rm -f INSTALL
|
||||
|
||||
# Version management.
|
||||
prev_version_file = $(srcdir)/config/prev-version.txt
|
||||
announce_gen = $(srcdir)/config/announce-gen
|
||||
announce_gen = $(srcdir)/build-aux/announce-gen
|
||||
release_archive_dir = releases
|
||||
|
||||
# Use alpha.gnu.org for alpha and beta releases.
|
||||
# Use ftp.gnu.org for major releases.
|
||||
gnu_ftp_host-alpha = alpha
|
||||
gnu_ftp_host-beta = alpha
|
||||
gnu_ftp_host-major = ftp
|
||||
gnu_ftp_host-alpha = alpha.gnu.org
|
||||
gnu_ftp_host-beta = alpha.gnu.org
|
||||
gnu_ftp_host-major = ftp.gnu.org
|
||||
gnu_rel_host = $(gnu_ftp_host-$(RELEASE_TYPE))
|
||||
|
||||
url_dir_list = \
|
||||
ftp://$(gnu_rel_host).gnu.org/gnu/autoconf
|
||||
ftp://$(gnu_rel_host)/gnu/autoconf
|
||||
|
||||
# The GnuPG ID of the key used to sign the tarballs.
|
||||
gpg_key_ID = F4850180
|
||||
|
||||
# Files to update automatically.
|
||||
cvs_executable_files = \
|
||||
@ -62,4 +64,4 @@ executable-update: wget-update cvs-update autom4te-update
|
||||
|
||||
# Tests not to run.
|
||||
local-checks-to-skip ?= \
|
||||
sc_unmarked_diagnostics
|
||||
changelog-check sc_unmarked_diagnostics
|
||||
|
@ -1 +0,0 @@
|
||||
2.60
|
@ -4807,9 +4807,7 @@ Typically, the replacement file @file{malloc.c} should look like (note
|
||||
the @samp{#undef malloc}):
|
||||
|
||||
@verbatim
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
#include <config.h>
|
||||
#undef malloc
|
||||
|
||||
#include <sys/types.h>
|
||||
|
@ -9,7 +9,7 @@
|
||||
@cindex standards for makefiles
|
||||
|
||||
@c Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001,
|
||||
@c 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
|
||||
@c Permission is granted to copy, distribute and/or modify this document
|
||||
@c under the terms of the GNU Free Documentation License, Version 1.2
|
||||
@ -33,7 +33,10 @@ chapter
|
||||
@end iftex
|
||||
describes conventions for writing the Makefiles for GNU programs.
|
||||
Using Automake will help you write a Makefile that follows these
|
||||
conventions.
|
||||
conventions. For more information on portable Makefiles, see
|
||||
@sc{posix} and @ref{Portable Make, Portable Make Programming,, autoconf,
|
||||
Autoconf}.
|
||||
|
||||
|
||||
@menu
|
||||
* Makefile Basics:: General conventions for Makefiles.
|
||||
@ -144,8 +147,10 @@ subtargets) work correctly with a parallel @code{make}.
|
||||
@section Utilities in Makefiles
|
||||
|
||||
Write the Makefile commands (and any shell scripts, such as
|
||||
@code{configure}) to run in @code{sh}, not in @code{csh}. Don't use any
|
||||
special features of @code{ksh} or @code{bash}.
|
||||
@code{configure}) to run under @code{sh} (both the traditional Bourne
|
||||
shell and the @sc{posix} shell), not @code{csh}. Don't use any
|
||||
special features of @code{ksh} or @code{bash}, or @sc{posix} features
|
||||
not widely supported in traditional Bourne @code{sh}.
|
||||
|
||||
The @code{configure} script and the Makefile rules for building and
|
||||
installation should not use any utilities directly except these:
|
||||
@ -159,14 +164,19 @@ awk cat cmp cp diff echo egrep expr false grep install-info
|
||||
ln ls mkdir mv pwd rm rmdir sed sleep sort tar test touch true
|
||||
@end example
|
||||
|
||||
The compression program @code{gzip} can be used in the @code{dist} rule.
|
||||
Compression programs such as @code{gzip} can be used in the
|
||||
@code{dist} rule.
|
||||
|
||||
Generally, stick to the widely-supported (usually
|
||||
@sc{posix}-specified) options and features of these programs. For
|
||||
example, don't use @samp{mkdir -p}, convenient as it may be, because a
|
||||
few systems don't support it at all and with others, it is not safe
|
||||
for parallel execution. For a list of known incompatibilities, see
|
||||
@ref{Portable Shell, Portable Shell Programming,, autoconf, Autoconf}.
|
||||
|
||||
Stick to the generally supported options for these programs. For
|
||||
example, don't use @samp{mkdir -p}, convenient as it may be, because
|
||||
most systems don't support it.
|
||||
|
||||
It is a good idea to avoid creating symbolic links in makefiles, since a
|
||||
few systems don't support them.
|
||||
few file systems don't support them.
|
||||
|
||||
The Makefile rules for building and installation can also use compilers
|
||||
and related programs, but should do so via @code{make} variables so that the
|
||||
|
@ -3,7 +3,7 @@
|
||||
@setfilename standards.info
|
||||
@settitle GNU Coding Standards
|
||||
@c This date is automagically updated when you save this file:
|
||||
@set lastupdate October 10, 2007
|
||||
@set lastupdate February 23, 2008
|
||||
@c %**end of header
|
||||
|
||||
@dircategory GNU organization
|
||||
@ -22,18 +22,12 @@
|
||||
|
||||
@c This is used by a cross ref in make-stds.texi
|
||||
@set CODESTD 1
|
||||
@iftex
|
||||
@set CHAPTER chapter
|
||||
@end iftex
|
||||
@ifinfo
|
||||
@set CHAPTER node
|
||||
@end ifinfo
|
||||
|
||||
@copying
|
||||
The GNU coding standards, last updated @value{lastupdate}.
|
||||
|
||||
Copyright @copyright{} 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software
|
||||
Foundation, Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
@ -313,7 +307,7 @@ technique.
|
||||
|
||||
@cindex GUILE
|
||||
The standard extensibility interpreter for GNU software is GUILE
|
||||
(@uref{http://www.gnu.org/software/guile/}), which implements the
|
||||
(@uref{http://www.gnu.org/@/software/@/guile/}), which implements the
|
||||
language Scheme (an especially clean and simple dialect of Lisp). We
|
||||
don't reject programs written in other ``scripting languages'' such as
|
||||
Perl and Python, but using GUILE is very important for the overall
|
||||
@ -1019,10 +1013,10 @@ abbreviation as usual, as in the examples below.
|
||||
|
||||
@table @asis
|
||||
@item GPL
|
||||
GNU General Public License, @url{http://www.gnu.org/licenses/gpl.html}.
|
||||
GNU General Public License, @url{http://www.gnu.org/@/licenses/@/gpl.html}.
|
||||
|
||||
@item LGPL
|
||||
GNU Lesser General Public License, @url{http://www.gnu.org/licenses/lgpl.html}.
|
||||
GNU Lesser General Public License, @url{http://www.gnu.org/@/licenses/@/lgpl.html}.
|
||||
|
||||
@item GPL/Guile
|
||||
GNU GPL with the exception for Guile; for example, GPLv3+/Guile means
|
||||
@ -1032,47 +1026,47 @@ GNU GPL with the exception for Ada.
|
||||
|
||||
@item Apache
|
||||
The Apache Software Foundation license,
|
||||
@url{http://www.apache.org/licenses}.
|
||||
@url{http://www.apache.org/@/licenses}.
|
||||
|
||||
@item Artistic
|
||||
The Artistic license used for Perl, @url{http://www.perlfoundation.org/legal}.
|
||||
The Artistic license used for Perl, @url{http://www.perlfoundation.org/@/legal}.
|
||||
|
||||
@item Expat
|
||||
The Expat license, @url{http://www.jclark.com/xml/copying.txt}.
|
||||
The Expat license, @url{http://www.jclark.com/@/xml/@/copying.txt}.
|
||||
|
||||
@item MPL
|
||||
The Mozilla Public License, @url{http://www.mozilla.org/MPL/}.
|
||||
The Mozilla Public License, @url{http://www.mozilla.org/@/MPL/}.
|
||||
|
||||
@item OBSD
|
||||
The original (4-clause) BSD license, incompatible with the GNU GPL
|
||||
@url{http://www.xfree86.org/3.3.6/COPYRIGHT2.html#6}.
|
||||
@url{http://www.xfree86.org/@/3.3.6/@/COPYRIGHT2.html#6}.
|
||||
|
||||
@item PHP
|
||||
The license used for PHP, @url{http://www.php.net/license/}.
|
||||
The license used for PHP, @url{http://www.php.net/@/license/}.
|
||||
|
||||
@item public domain
|
||||
The non-license that is being in the public domain,
|
||||
@url{http://www.gnu.org/licenses/license-list.html#PublicDomain}.
|
||||
@url{http://www.gnu.org/@/licenses/@/license-list.html#PublicDomain}.
|
||||
|
||||
@item Python
|
||||
The license for Python, @url{http://www.python.org/2.0.1/license.html}.
|
||||
The license for Python, @url{http://www.python.org/@/2.0.1/@/license.html}.
|
||||
|
||||
@item RBSD
|
||||
The revised (3-clause) BSD, compatible with the GNU GPL,
|
||||
@url{http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5}.
|
||||
@url{http://www.xfree86.org/@/3.3.6/@/COPYRIGHT2.html#5}.
|
||||
|
||||
@item X11
|
||||
The simple non-copyleft license used for most versions of the X Window
|
||||
system, @url{http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3}.
|
||||
system, @url{http://www.xfree86.org/@/3.3.6/@/COPYRIGHT2.html#3}.
|
||||
|
||||
@item Zlib
|
||||
The license for Zlib, @url{http://www.gzip.org/zlib/zlib_license.html}.
|
||||
The license for Zlib, @url{http://www.gzip.org/@/zlib/@/zlib_license.html}.
|
||||
|
||||
@end table
|
||||
|
||||
More information about these licenses and many more are on the GNU
|
||||
licensing web pages,
|
||||
@url{http://www.gnu.org/licenses/license-list.html}.
|
||||
@url{http://www.gnu.org/@/licenses/@/license-list.html}.
|
||||
|
||||
|
||||
@node --help
|
||||
@ -2861,7 +2855,7 @@ void error (int status, int errnum, const char *format, ...);
|
||||
A simple way to use the Gnulib error module is to obtain the two
|
||||
source files @file{error.c} and @file{error.h} from the Gnulib library
|
||||
source code repository at
|
||||
@uref{http://savannah.gnu.org/cgi-bin/viewcvs/gnulib/gnulib/lib/}.
|
||||
@uref{http://git.savannah.gnu.org/@/gitweb/@/?p=gnulib.git}.
|
||||
Here's a sample use:
|
||||
|
||||
@example
|
||||
@ -3826,6 +3820,17 @@ refer explicitly to the specified source directory. To make this
|
||||
possible, @code{configure} can add to the Makefile a variable named
|
||||
@code{srcdir} whose value is precisely the specified directory.
|
||||
|
||||
In addition, the @samp{configure} script should take options
|
||||
corresponding to most of the standard directory variables
|
||||
(@pxref{Directory Variables}). Here is the list:
|
||||
|
||||
@example
|
||||
--prefix --exec-prefix --bindir --sbindir --libexecdir --sysconfdir
|
||||
--sharedstatedir --localstatedir --libdir --includedir --oldincludedir
|
||||
--datarootdir --datadir --infodir --localedir --mandir --docdir
|
||||
--htmldir --dvidir --pdfdir --psdir
|
||||
@end example
|
||||
|
||||
The @code{configure} script should also take an argument which specifies the
|
||||
type of system to build the program for. This argument should look like
|
||||
this:
|
||||
@ -3841,7 +3846,7 @@ The @code{configure} script needs to be able to decode all plausible
|
||||
alternatives for how to describe a machine. Thus,
|
||||
@samp{athlon-pc-gnu/linux} would be a valid alias. There is a shell
|
||||
script called
|
||||
@uref{http://savannah.gnu.org/@/cgi-bin/@/viewcvs/@/*checkout*/@/config/@/config/@/config.sub,
|
||||
@uref{http://git.savannah.gnu.org/@/gitweb/@/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD,
|
||||
@file{config.sub}} that you can use as a subroutine to validate system
|
||||
types and canonicalize aliases.
|
||||
|
||||
@ -3852,7 +3857,7 @@ plain @var{buildtype} argument. For example, @samp{configure
|
||||
i686-pc-linux-gnu}. When the build type is not specified by an option
|
||||
or argument, the @code{configure} script should normally guess it using
|
||||
the shell script
|
||||
@uref{http://savannah.gnu.org/@/cgi-bin/@/viewcvs/@/*checkout*/@/config/@/config/@/config.guess,
|
||||
@uref{http://git.savannah.gnu.org/@/gitweb/@/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD,
|
||||
@file{config.guess}}.
|
||||
|
||||
@cindex optional features, configure-time
|
||||
@ -4057,9 +4062,9 @@ advertise them to new potential customers, or to give the public the
|
||||
idea that their existence is ethical.
|
||||
|
||||
The GNU definition of free software is found on the GNU web site at
|
||||
@url{http://www.gnu.org/philosophy/free-sw.html}, and the definition
|
||||
@url{http://www.gnu.org/@/philosophy/@/free-sw.html}, and the definition
|
||||
of free documentation is found at
|
||||
@url{http://www.gnu.org/philosophy/free-doc.html}. The terms ``free''
|
||||
@url{http://www.gnu.org/@/philosophy/@/free-doc.html}. The terms ``free''
|
||||
and ``non-free'', used in this document, refer to those definitions.
|
||||
|
||||
A list of important licenses and whether they qualify as free is in
|
||||
|
267
maint.mk
267
maint.mk
@ -1,26 +1,25 @@
|
||||
# -*-Makefile-*-
|
||||
# This Makefile fragment is shared between the coreutils,
|
||||
# CPPI, Bison, and Autoconf.
|
||||
# This Makefile fragment tries to be general-purpose enough to be
|
||||
# used by at least coreutils, idutils, CPPI, Bison, and Autoconf.
|
||||
|
||||
# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2008 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 of the License, 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/>.
|
||||
## Copyright (C) 2001-2008 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 of the License, 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/>.
|
||||
|
||||
# This is reported not to work with make-3.79.1
|
||||
# ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
|
||||
ME := $(srcdir)/maint.mk
|
||||
ME := maint.mk
|
||||
|
||||
# Do not save the original name or timestamp in the .tar.gz file.
|
||||
# Use --rsyncable if available.
|
||||
@ -28,24 +27,24 @@ gzip_rsyncable := \
|
||||
$(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null && echo --rsyncable)
|
||||
GZIP_ENV = '--no-name --best $(gzip_rsyncable)'
|
||||
|
||||
CVS = cvs
|
||||
GIT = git
|
||||
VC = $(GIT)
|
||||
VC-tag = git tag -s -m '$(VERSION)'
|
||||
|
||||
# cvsu is part of the cvsutils package: http://www.red-bean.com/cvsutils/
|
||||
CVS_LIST = build-aux/vc-list-files
|
||||
VC_LIST = build-aux/vc-list-files
|
||||
|
||||
CVS_LIST_EXCEPT = \
|
||||
$(CVS_LIST) | if test -f .x-$@; then grep -vEf .x-$@; else grep -v ChangeLog; fi
|
||||
VC_LIST_EXCEPT = \
|
||||
$(VC_LIST) | if test -f .x-$@; then grep -vEf .x-$@; else grep -v ChangeLog; fi
|
||||
|
||||
ifeq ($(origin prev_version_file), undefined)
|
||||
prev_version_file = .prev-version
|
||||
prev_version_file = $(srcdir)/.prev-version
|
||||
endif
|
||||
|
||||
PREV_VERSION := $(shell cat $(prev_version_file))
|
||||
VERSION_REGEXP = $(subst .,\.,$(VERSION))
|
||||
|
||||
tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]')
|
||||
tag-this-version = $(subst .,_,$(VERSION))
|
||||
this-cvs-tag = $(tag-package)-$(tag-this-version)
|
||||
this-vc-tag = v$(VERSION)
|
||||
this-vc-tag-regexp = v$(VERSION_REGEXP)
|
||||
my_distdir = $(PACKAGE)-$(VERSION)
|
||||
|
||||
# Old releases are stored here.
|
||||
@ -62,13 +61,11 @@ export LC_ALL = C
|
||||
## Sanity checks. ##
|
||||
## --------------- ##
|
||||
|
||||
# FIXME: add a check to prohibit definition in src/*.c of symbols defined
|
||||
# in system.h. E.g. today I removed from tail.c a useless definition of
|
||||
# ENOSYS. It was useless because system.h ensures it's defined.
|
||||
# Collect the names of rules starting with `sc_'.
|
||||
syntax-check-rules := $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' \
|
||||
$(srcdir)/$(ME))
|
||||
.PHONY: $(syntax-check-rules)
|
||||
|
||||
# Checks that don't require cvs.
|
||||
# Run `changelog-check' last, as previous test may reveal problems requiring
|
||||
# new ChangeLog entries.
|
||||
local-checks-available = \
|
||||
po-check copyright-check writable-files m4-check author_mark_check \
|
||||
changelog-check patch-check strftime-check $(syntax-check-rules) \
|
||||
@ -76,13 +73,9 @@ local-checks-available = \
|
||||
makefile-check check-AUTHORS
|
||||
.PHONY: $(local-checks-available)
|
||||
|
||||
local-check = $(filter-out $(local-checks-to-skip), $(local-checks-available))
|
||||
local-check := $(filter-out $(local-checks-to-skip), $(local-checks-available))
|
||||
|
||||
# Collect the names of rules starting with `sc_'.
|
||||
syntax-check-rules := $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' $(ME))
|
||||
.PHONY: $(syntax-check-rules)
|
||||
|
||||
syntax-check: $(syntax-check-rules)
|
||||
syntax-check: $(local-check)
|
||||
# @shopt -s nullglob; \
|
||||
# grep -nE '# *include <(limits|std(def|arg|bool))\.h>' \
|
||||
# $$(find -type f -name '*.[chly]') /dev/null && \
|
||||
@ -118,16 +111,16 @@ sc_cast_of_alloca_return_value:
|
||||
exit 1; } || :
|
||||
|
||||
sc_space_tab:
|
||||
@grep -n '[ ] ' $$($(CVS_LIST_EXCEPT)) && \
|
||||
@grep -n '[ ] ' $$($(VC_LIST_EXCEPT)) && \
|
||||
{ echo '$(ME): found SPACE-TAB sequence; remove the SPACE' \
|
||||
1>&2; exit 1; } || :
|
||||
|
||||
# Don't use the old ato* functions in `real' code.
|
||||
# Don't use *scanf or the old ato* functions in `real' code.
|
||||
# They provide no error checking mechanism.
|
||||
# Instead, use strto* functions.
|
||||
sc_prohibit_atoi_atof:
|
||||
@grep -nE '\<ato([filq]|ll)\>' $$($(CVS_LIST_EXCEPT)) && \
|
||||
{ echo '$(ME): do not use ato''f, ato''i, ato''l, ato''ll, or ato''q' \
|
||||
@grep -nE '\<([fs]?scanf|ato([filq]|ll))\>' $$($(VC_LIST_EXCEPT)) && \
|
||||
{ echo '$(ME): do not use *scan''f, ato''f, ato''i, ato''l, ato''ll, ato''q, or ss''canf' \
|
||||
1>&2; exit 1; } || :
|
||||
|
||||
# Using EXIT_SUCCESS as the first argument to error is misleading,
|
||||
@ -139,36 +132,92 @@ sc_error_exit_success:
|
||||
exit 1; } || :
|
||||
|
||||
sc_file_system:
|
||||
@grep -ni 'file''system' $$($(CVS_LIST_EXCEPT)) && \
|
||||
@grep -ni 'file''system' $$($(VC_LIST_EXCEPT)) \
|
||||
| grep -v 'File''system Hierarchy Standard' && \
|
||||
{ echo '$(ME): found use of "file''system";' \
|
||||
'rewrite to use "file system"' 1>&2; \
|
||||
exit 1; } || :
|
||||
|
||||
sc_no_if_have_config_h:
|
||||
@grep -n '^# *if HAVE_CONFIG_H' $$($(CVS_LIST_EXCEPT)) && \
|
||||
{ echo '$(ME): found use of #if HAVE_CONFIG_H; use #ifdef' \
|
||||
sc_no_have_config_h:
|
||||
@grep -n '^# *if.*HAVE''_CONFIG_H' $$($(VC_LIST_EXCEPT)) && \
|
||||
{ echo '$(ME): found use of HAVE''_CONFIG_H; remove' \
|
||||
1>&2; exit 1; } || :
|
||||
|
||||
# Nearly all .c files must include <config.h>.
|
||||
sc_require_config_h:
|
||||
@grep -L '^# *include <config\.h>' /dev/null \
|
||||
$$($(CVS_LIST_EXCEPT) | grep '\.c$$') \
|
||||
| grep -v /dev/null && \
|
||||
@if $(VC_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then \
|
||||
grep -L '^# *include <config\.h>' \
|
||||
$$($(VC_LIST_EXCEPT) | grep '\.c$$') \
|
||||
| grep . && \
|
||||
{ echo '$(ME): the above files do not include <config.h>' \
|
||||
1>&2; exit 1; } || :
|
||||
1>&2; exit 1; } || :; \
|
||||
else :; \
|
||||
fi
|
||||
|
||||
# To use this "command" macro, you must first define two shell variables:
|
||||
# h: the header, enclosed in <> or ""
|
||||
# re: a regular expression that matches IFF something provided by $h is used.
|
||||
define _header_without_use
|
||||
h_esc=`echo "$$h"|sed 's/\./\\./'`; \
|
||||
if $(VC_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then \
|
||||
files=$$(grep -l '^# *include '"$$h_esc" \
|
||||
$$($(VC_LIST_EXCEPT) | grep '\.c$$')) && \
|
||||
grep -LE "$$re" $$files | grep . && \
|
||||
{ echo "$(ME): the above files include $$h but don't use it" \
|
||||
1>&2; exit 1; } || :; \
|
||||
else :; \
|
||||
fi
|
||||
endef
|
||||
|
||||
# Prohibit the inclusion of assert.h without an actual use of assert.
|
||||
sc_prohibit_assert_without_use:
|
||||
@files=$$(grep -l '# *include <assert\.h>' /dev/null \
|
||||
$$($(CVS_LIST_EXCEPT) | grep '\.c$$')) && \
|
||||
grep -L '\<assert (' $$files /dev/null \
|
||||
| grep -v /dev/null && \
|
||||
{ echo "$(ME): the above files include <assert.h> but don't use it" \
|
||||
1>&2; exit 1; } || :
|
||||
@h='<assert.h>' re='\<assert *\(' $(_header_without_use)
|
||||
|
||||
# Prohibit the inclusion of getopt.h without an actual use.
|
||||
sc_prohibit_getopt_without_use:
|
||||
@h='<getopt.h>' re='\<getopt(_long)? *\(' $(_header_without_use)
|
||||
|
||||
# Don't include quotearg.h unless you use one of its functions.
|
||||
sc_prohibit_quotearg_without_use:
|
||||
@h='"quotearg.h"' re='\<quotearg(_[^ ]+)? *\(' $(_header_without_use)
|
||||
|
||||
# Don't include quote.h unless you use one of its functions.
|
||||
sc_prohibit_quote_without_use:
|
||||
@h='"quote.h"' re='\<quote(_n)? *\(' $(_header_without_use)
|
||||
|
||||
# Don't include this header unless you use one of its functions.
|
||||
sc_prohibit_long_options_without_use:
|
||||
@h='"long-options.h"' re='\<parse_long_options *\(' \
|
||||
$(_header_without_use)
|
||||
|
||||
# Don't include this header unless you use one of its functions.
|
||||
sc_prohibit_inttostr_without_use:
|
||||
@h='"inttostr.h"' re='\<(off|[iu]max|uint)tostr *\(' \
|
||||
$(_header_without_use)
|
||||
|
||||
# Don't include this header unless you use one of its functions.
|
||||
sc_prohibit_error_without_use:
|
||||
@h='"error.h"' \
|
||||
re='\<error(_at_line|_print_progname|_one_per_line|_message_count)? *\('\
|
||||
$(_header_without_use)
|
||||
|
||||
sc_prohibit_safe_read_without_use:
|
||||
@h='"safe-read.h"' re='(\<SAFE_READ_ERROR\>|\<safe_read *\()' \
|
||||
$(_header_without_use)
|
||||
|
||||
sc_prohibit_argmatch_without_use:
|
||||
@h='"argmatch.h"' \
|
||||
re='(\<(ARRAY_CARDINALITY|X?ARGMATCH(|_TO_ARGUMENT|_VERIFY))\>|\<argmatch(_exit_fn|_(in)?valid) *\()' \
|
||||
$(_header_without_use)
|
||||
|
||||
sc_prohibit_root_dev_ino_without_use:
|
||||
@h='"root-dev-ino.h"' \
|
||||
re='(\<ROOT_DEV_INO_(CHECK|WARN)\>|\<get_root_dev_ino *\()' \
|
||||
$(_header_without_use)
|
||||
|
||||
sc_obsolete_symbols:
|
||||
@grep -nE '\<(HAVE''_FCNTL_H|O''_NDELAY)\>' \
|
||||
$$($(CVS_LIST_EXCEPT)) && \
|
||||
$$($(VC_LIST_EXCEPT)) && \
|
||||
{ echo '$(ME): do not use HAVE''_FCNTL_H or O''_NDELAY' \
|
||||
1>&2; exit 1; } || :
|
||||
|
||||
@ -202,14 +251,14 @@ endif
|
||||
# Make sure that none are inadvertently reintroduced.
|
||||
sc_prohibit_jm_in_m4:
|
||||
@grep -nE 'jm_[A-Z]' \
|
||||
$$($(CVS_LIST) $(srcdir)/m4 |grep '\.m4$$') && \
|
||||
$$($(VC_LIST) $(srcdir)/m4 |grep '\.m4$$') && \
|
||||
{ echo '$(ME): do not use jm_ in m4 macro names' \
|
||||
1>&2; exit 1; } || :
|
||||
|
||||
sc_root_tests:
|
||||
@t1=sc-root.expected; t2=sc-root.actual; \
|
||||
grep -nl '^PRIV_CHECK_ARG=require-root' \
|
||||
$$($(CVS_LIST) tests) |sed s/tests/./ |sort > $$t1; \
|
||||
$$($(VC_LIST) tests) |sed s/tests/./ |sort > $$t1; \
|
||||
sed -n 's, cd \([^ ]*\) .*MAKE..check TESTS=\(.*\),./\1/\2,p' \
|
||||
$(srcdir)/tests/Makefile.am |sort > $$t2; \
|
||||
diff -u $$t1 $$t2 || diff=1; \
|
||||
@ -228,7 +277,7 @@ sc_system_h_headers:
|
||||
| sed 's/ .*//;;s/^["<]/^# *include [<"]/;s/\.h[">]$$/\\.h[">]/' \
|
||||
) && \
|
||||
grep -nE -f "$pat" \
|
||||
$$($(CVS_LIST) src | \
|
||||
$$($(VC_LIST) src | \
|
||||
grep -Ev '((copy|system)\.h|parse-gram\.c)$$') \
|
||||
&& { echo '$(ME): the above are already included via system.h'\
|
||||
1>&2; exit 1; } || :; \
|
||||
@ -237,12 +286,12 @@ sc_system_h_headers:
|
||||
sc_sun_os_names:
|
||||
@grep -nEi \
|
||||
'solaris[^[:alnum:]]*2\.(7|8|9|[1-9][0-9])|sunos[^[:alnum:]][6-9]' \
|
||||
$$($(CVS_LIST_EXCEPT)) && \
|
||||
$$($(VC_LIST_EXCEPT)) && \
|
||||
{ echo '$(ME): found misuse of Sun OS version numbers' 1>&2; \
|
||||
exit 1; } || :
|
||||
|
||||
sc_the_the:
|
||||
@grep -ni '\<the ''the\>' $$($(CVS_LIST_EXCEPT)) && \
|
||||
@grep -ni '\<the ''the\>' $$($(VC_LIST_EXCEPT)) && \
|
||||
{ echo '$(ME): found use of "the ''the";' 1>&2; \
|
||||
exit 1; } || :
|
||||
|
||||
@ -250,17 +299,17 @@ sc_tight_scope:
|
||||
test ! -d src || $(MAKE) -C src $@
|
||||
|
||||
sc_trailing_blank:
|
||||
@grep -n '[ ]$$' $$($(CVS_LIST_EXCEPT)) && \
|
||||
@grep -n '[ ]$$' $$($(VC_LIST_EXCEPT)) && \
|
||||
{ echo '$(ME): found trailing blank(s)' \
|
||||
1>&2; exit 1; } || :
|
||||
|
||||
# Match lines like the following, but where there is only one space
|
||||
# between the options and the description:
|
||||
# -D, --all-repeated[=delimit-method] print all duplicate lines\n
|
||||
longopt_re = --[a-z][0-9A-Za-z-]*(\[=[0-9A-Za-z-]*\])?
|
||||
longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*\]?)?
|
||||
sc_two_space_separator_in_usage:
|
||||
@grep -nE '^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \
|
||||
$$($(CVS_LIST_EXCEPT)) && \
|
||||
$$($(VC_LIST_EXCEPT)) && \
|
||||
{ echo "$(ME): help2man requires at least two spaces between"; \
|
||||
echo "$(ME): an option and its description"; \
|
||||
1>&2; exit 1; } || :
|
||||
@ -269,7 +318,7 @@ sc_two_space_separator_in_usage:
|
||||
# This won't find any for which error's format string is on a separate line.
|
||||
sc_unmarked_diagnostics:
|
||||
@grep -nE \
|
||||
'\<error \([^"]*"[^"]*[a-z]{3}' $$($(CVS_LIST_EXCEPT)) \
|
||||
'\<error \([^"]*"[^"]*[a-z]{3}' $$($(VC_LIST_EXCEPT)) \
|
||||
| grep -v '_''(' && \
|
||||
{ echo '$(ME): found unmarked diagnostic(s)' 1>&2; \
|
||||
exit 1; } || :
|
||||
@ -277,7 +326,7 @@ sc_unmarked_diagnostics:
|
||||
# Avoid useless parentheses like those in this example:
|
||||
# #if defined (SYMBOL) || defined (SYM2)
|
||||
sc_useless_cpp_parens:
|
||||
@grep -n '^# *if .*defined *(' $$($(CVS_LIST_EXCEPT)) && \
|
||||
@grep -n '^# *if .*defined *(' $$($(VC_LIST_EXCEPT)) && \
|
||||
{ echo '$(ME): found useless parentheses in cpp directive' \
|
||||
1>&2; exit 1; } || :
|
||||
|
||||
@ -319,22 +368,22 @@ makefile-check:
|
||||
&& { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || :
|
||||
|
||||
news-date-check: NEWS
|
||||
today=`date +%Y-%m-%d`; \
|
||||
if head NEWS | grep '^\*.* $(VERSION_REGEXP) ('$$today')' \
|
||||
>/dev/null; then \
|
||||
:; \
|
||||
else \
|
||||
echo "version or today's date is not in NEWS" 1>&2; \
|
||||
exit 1; \
|
||||
today=`date +%Y-%m-%d`; \
|
||||
if head NEWS | grep '^\*.* $(VERSION_REGEXP) ('$$today')' \
|
||||
>/dev/null; then \
|
||||
:; \
|
||||
else \
|
||||
echo "version or today's date is not in NEWS" 1>&2; \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
changelog-check:
|
||||
if head ChangeLog | grep 'Version $(VERSION_REGEXP)\.$$' \
|
||||
>/dev/null; then \
|
||||
:; \
|
||||
else \
|
||||
echo "$(VERSION) not in ChangeLog" 1>&2; \
|
||||
exit 1; \
|
||||
if head ChangeLog | grep 'Version $(VERSION_REGEXP)\.$$' \
|
||||
>/dev/null; then \
|
||||
:; \
|
||||
else \
|
||||
echo "$(VERSION) not in ChangeLog" 1>&2; \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
m4-check:
|
||||
@ -350,9 +399,10 @@ po-check:
|
||||
grep -E -v '^(#|$$)' po/POTFILES.in \
|
||||
| grep -v '^src/false\.c$$' | sort > $@-1; \
|
||||
files=; \
|
||||
for file in $$($(CVS_LIST_EXCEPT)) lib/*.[ch]; do \
|
||||
for file in $$($(VC_LIST_EXCEPT)) lib/*.[ch]; do \
|
||||
case $$file in \
|
||||
djgpp/* | man/*) continue;; \
|
||||
*/c99-to-c89.diff) continue;; \
|
||||
esac; \
|
||||
case $$file in \
|
||||
*.[ch]) \
|
||||
@ -361,7 +411,8 @@ po-check:
|
||||
esac; \
|
||||
files="$$files $$file"; \
|
||||
done; \
|
||||
grep -E -l '\bN?_\([^)"]*("|$$)' $$files | sort -u > $@-2; \
|
||||
grep -E -l '\b(N?_|gettext *)\([^)"]*("|$$)' $$files \
|
||||
| sort -u > $@-2; \
|
||||
diff -u $@-1 $@-2 || exit 1; \
|
||||
rm -f $@-1 $@-2; \
|
||||
fi
|
||||
@ -409,37 +460,25 @@ copyright-check:
|
||||
exit 1; }; \
|
||||
fi
|
||||
|
||||
|
||||
# Sanity checks with the CVS repository.
|
||||
cvs-tag-check:
|
||||
echo $(this-cvs-tag); \
|
||||
if $(CVS) -n log -h README | grep -e $(this-cvs-tag): >/dev/null; then \
|
||||
echo "$(this-cvs-tag) as already been used; not tagging" 1>&2; \
|
||||
exit 1; \
|
||||
else :; fi
|
||||
|
||||
cvs-diff-check:
|
||||
if $(CVS) diff >cvs-diffs; then \
|
||||
rm cvs-diffs; \
|
||||
else \
|
||||
vc-diff-check:
|
||||
(CDPATH=; cd $(srcdir) && $(VC) diff) > vc-diffs || :
|
||||
if test -s vc-diffs; then \
|
||||
cat vc-diffs; \
|
||||
echo "Some files are locally modified:" 1>&2; \
|
||||
cat cvs-diffs; \
|
||||
exit 1; \
|
||||
else \
|
||||
rm vc-diffs; \
|
||||
fi
|
||||
|
||||
cvs-check: cvs-diff-check cvs-tag-check
|
||||
cvs-check: vc-diff-check
|
||||
|
||||
maintainer-distcheck:
|
||||
$(MAKE) distcheck
|
||||
$(MAKE) my-distcheck
|
||||
|
||||
|
||||
# Tag before making distribution. Also, don't make a distribution if
|
||||
# checks fail. Also, make sure the NEWS file is up-to-date.
|
||||
# FIXME: use dist-hook/my-dist like distcheck-hook/my-distcheck.
|
||||
cvs-dist: $(local-check) cvs-check maintainer-distcheck
|
||||
$(CVS) update po
|
||||
$(CVS) tag -c $(this-cvs-tag)
|
||||
# Don't make a distribution if checks fail.
|
||||
# Also, make sure the NEWS file is up-to-date.
|
||||
vc-dist: $(local-check) cvs-check maintainer-distcheck
|
||||
$(MAKE) dist
|
||||
|
||||
# Use this to make sure we don't run these programs when building
|
||||
@ -491,9 +530,9 @@ announcement: NEWS ChangeLog $(rel-files)
|
||||
--curr=$(VERSION) \
|
||||
--release-archive-directory=$(release_archive_dir) \
|
||||
--gpg-key-id=$(gpg_key_ID) \
|
||||
--news=NEWS \
|
||||
$(addprefix --url-dir=, $(url_dir_list)) \
|
||||
|
||||
--news=$(srcdir)/NEWS \
|
||||
--bootstrap-tools=automake \
|
||||
$(addprefix --url-dir=, $(url_dir_list))
|
||||
|
||||
## ---------------- ##
|
||||
## Updating files. ##
|
||||
@ -502,8 +541,8 @@ announcement: NEWS ChangeLog $(rel-files)
|
||||
ftp-gnu = ftp://ftp.gnu.org/gnu
|
||||
www-gnu = http://www.gnu.org
|
||||
|
||||
# Use mv-if-change if you prefer it.
|
||||
move_if_change ?= mv
|
||||
# Use mv, if you don't have/want move-if-change.
|
||||
move_if_change ?= move-if-change
|
||||
|
||||
|
||||
# --------------------- #
|
||||
@ -547,7 +586,7 @@ emit_upload_commands:
|
||||
@echo =====================================
|
||||
@echo =====================================
|
||||
@echo "$(srcdir)/build-aux/gnupload $(GNUPLOADFLAGS) \\"
|
||||
@echo " --to $(gnu_rel_host):coreutils \\"
|
||||
@echo " --to $(gnu_rel_host):$(PACKAGE) \\"
|
||||
@echo " $(rel-files)"
|
||||
@echo '# send the /tmp/announcement e-mail'
|
||||
@echo =====================================
|
||||
@ -562,11 +601,13 @@ alpha beta major: news-date-check changelog-check $(local-check)
|
||||
&& { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \
|
||||
|| { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\
|
||||
|| :
|
||||
$(MAKE) cvs-dist
|
||||
$(MAKE) vc-dist
|
||||
$(MAKE) $(xd-delta)
|
||||
$(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir)
|
||||
ln $(rel-files) $(release_archive_dir)
|
||||
chmod a-w $(rel-files)
|
||||
$(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
|
||||
echo $(VERSION) > $(prev_version_file)
|
||||
$(CVS) ci -m. $(prev_version_file)
|
||||
$(VC) commit -m \
|
||||
'$(prev_version_file): Record previous version: $(VERSION).' \
|
||||
$(prev_version_file)
|
||||
|
Loading…
Reference in New Issue
Block a user