mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-29 19:30:36 +02:00
Update Gnulib to v0.0-7695-g26c0590.
* gnulib-local/m4/canonicalize.m4.diff: Remove. * Makefile.am (EXTRA_DIST): Adjust accordingly.
This commit is contained in:
parent
44cd55752a
commit
7ae4e75af5
34 changed files with 1116 additions and 796 deletions
|
@ -50,7 +50,6 @@ EXTRA_DIST = LICENSE HACKING GUILE-VERSION \
|
|||
gnulib-local/lib/localcharset.h.diff \
|
||||
gnulib-local/lib/localcharset.c.diff \
|
||||
gnulib-local/m4/clock_time.m4.diff \
|
||||
gnulib-local/m4/canonicalize.m4.diff \
|
||||
gnulib-local/build-aux/git-version-gen.diff
|
||||
|
||||
TESTS = check-guile
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
# gendocs.sh -- generate a GNU manual in many formats. This script is
|
||||
# mentioned in maintain.texi. See the help message below for usage details.
|
||||
|
||||
scriptversion=2011-04-08.14
|
||||
scriptversion=2012-10-27.11
|
||||
|
||||
# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
|
||||
# Foundation, Inc.
|
||||
# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
||||
# 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
|
||||
|
@ -30,6 +30,12 @@ scriptversion=2011-04-08.14
|
|||
#
|
||||
# An up-to-date copy is also maintained in Gnulib (gnu.org/software/gnulib).
|
||||
|
||||
# TODO:
|
||||
# - image importation was only implemented for HTML generated by
|
||||
# makeinfo. But it should be simple enough to adjust.
|
||||
# - images are not imported in the source tarball. All the needed
|
||||
# formats (PDF, PNG, etc.) should be included.
|
||||
|
||||
prog=`basename "$0"`
|
||||
srcdir=`pwd`
|
||||
|
||||
|
@ -39,35 +45,37 @@ templateurl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/
|
|||
: ${SETLANG="env LANG= LC_MESSAGES= LC_ALL= LANGUAGE="}
|
||||
: ${MAKEINFO="makeinfo"}
|
||||
: ${TEXI2DVI="texi2dvi -t @finalout"}
|
||||
: ${DVIPS="dvips"}
|
||||
: ${DOCBOOK2HTML="docbook2html"}
|
||||
: ${DOCBOOK2PDF="docbook2pdf"}
|
||||
: ${DOCBOOK2PS="docbook2ps"}
|
||||
: ${DOCBOOK2TXT="docbook2txt"}
|
||||
: ${GENDOCS_TEMPLATE_DIR="."}
|
||||
: ${PERL='perl'}
|
||||
: ${TEXI2HTML="texi2html"}
|
||||
unset CDPATH
|
||||
unset use_texi2html
|
||||
|
||||
version="gendocs.sh $scriptversion
|
||||
|
||||
Copyright 2010 Free Software Foundation, Inc.
|
||||
Copyright 2012 Free Software Foundation, Inc.
|
||||
There is NO warranty. You may redistribute this software
|
||||
under the terms of the GNU General Public License.
|
||||
For more information about these matters, see the files named COPYING."
|
||||
|
||||
usage="Usage: $prog [OPTION]... PACKAGE MANUAL-TITLE
|
||||
|
||||
Generate various output formats from PACKAGE.texinfo (or .texi or .txi) source.
|
||||
See the GNU Maintainers document for a more extensive discussion:
|
||||
Generate output in various formats from PACKAGE.texinfo (or .texi or
|
||||
.txi) source. See the GNU Maintainers document for a more extensive
|
||||
discussion:
|
||||
http://www.gnu.org/prep/maintain_toc.html
|
||||
|
||||
Options:
|
||||
-s SRCFILE read Texinfo from SRCFILE, instead of PACKAGE.{texinfo|texi|txi}
|
||||
-o OUTDIR write files into OUTDIR, instead of manual/.
|
||||
-I DIR append DIR to the Texinfo search path.
|
||||
--email ADR use ADR as contact in generated web pages.
|
||||
--docbook convert to DocBook too (xml, txt, html, pdf and ps).
|
||||
--docbook convert through DocBook too (xml, txt, html, pdf).
|
||||
--html ARG pass indicated ARG to makeinfo or texi2html for HTML targets.
|
||||
--info ARG pass indicated ARG to makeinfo for Info, instead of --no-split.
|
||||
--texi2html use texi2html to generate HTML targets.
|
||||
--help display this help and exit successfully.
|
||||
--version display version information and exit successfully.
|
||||
|
@ -80,11 +88,11 @@ Typical sequence:
|
|||
wget \"$templateurl\"
|
||||
$prog --email BUGLIST MANUAL \"GNU MANUAL - One-line description\"
|
||||
|
||||
Output will be in a new subdirectory \"manual\" (by default, use -o OUTDIR
|
||||
to override). Move all the new files into your web CVS tree, as
|
||||
explained in the Web Pages node of maintain.texi.
|
||||
Output will be in a new subdirectory \"manual\" (by default;
|
||||
use -o OUTDIR to override). Move all the new files into your web CVS
|
||||
tree, as explained in the Web Pages node of maintain.texi.
|
||||
|
||||
Please use the --email ADDRESS option to specify your bug-reporting
|
||||
Please do use the --email ADDRESS option to specify your bug-reporting
|
||||
address in the generated HTML pages.
|
||||
|
||||
MANUAL-TITLE is included as part of the HTML <title> of the overall
|
||||
|
@ -102,11 +110,14 @@ If a manual's Texinfo sources are spread across several directories,
|
|||
first copy or symlink all Texinfo sources into a single directory.
|
||||
(Part of the script's work is to make a tar.gz of the sources.)
|
||||
|
||||
You can set the environment variables MAKEINFO, TEXI2DVI, TEXI2HTML, and
|
||||
DVIPS to control the programs that get executed, and
|
||||
As implied above, by default monolithic Info files are generated.
|
||||
If you want split Info, or other Info options, use --info to override.
|
||||
|
||||
You can set the environment variables MAKEINFO, TEXI2DVI, TEXI2HTML,
|
||||
and PERL to control the programs that get executed, and
|
||||
GENDOCS_TEMPLATE_DIR to control where the gendocs_template file is
|
||||
looked for. With --docbook, the environment variables DOCBOOK2HTML,
|
||||
DOCBOOK2PDF, DOCBOOK2PS, and DOCBOOK2TXT are also respected.
|
||||
DOCBOOK2PDF, and DOCBOOK2TXT are also respected.
|
||||
|
||||
By default, makeinfo and texi2dvi are run in the default (English)
|
||||
locale, since that's the language of most Texinfo manuals. If you
|
||||
|
@ -116,16 +127,13 @@ SETLANG setting in the source.
|
|||
Email bug reports or enhancement requests to bug-texinfo@gnu.org.
|
||||
"
|
||||
|
||||
calcsize()
|
||||
{
|
||||
size=`ls -ksl $1 | awk '{print $1}'`
|
||||
echo $size
|
||||
}
|
||||
|
||||
MANUAL_TITLE=
|
||||
PACKAGE=
|
||||
EMAIL=webmasters@gnu.org # please override with --email
|
||||
commonarg= # Options passed to all the tools (-I dir).
|
||||
dirs= # -I's directories.
|
||||
htmlarg=
|
||||
infoarg=--no-split
|
||||
outdir=manual
|
||||
srcfile=
|
||||
|
||||
|
@ -136,8 +144,10 @@ while test $# -gt 0; do
|
|||
--version) echo "$version"; exit 0;;
|
||||
-s) shift; srcfile=$1;;
|
||||
-o) shift; outdir=$1;;
|
||||
-I) shift; commonarg="$commonarg -I '$1'"; dirs="$dirs $1";;
|
||||
--docbook) docbook=yes;;
|
||||
--html) shift; htmlarg=$1;;
|
||||
--info) shift; infoarg=$1;;
|
||||
--texi2html) use_texi2html=1;;
|
||||
-*)
|
||||
echo "$0: Unknown option \`$1'." >&2
|
||||
|
@ -183,15 +193,64 @@ if test ! -r $GENDOCS_TEMPLATE_DIR/gendocs_template; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# Function to return size of $1 in something resembling kilobytes.
|
||||
calcsize()
|
||||
{
|
||||
size=`ls -ksl $1 | awk '{print $1}'`
|
||||
echo $size
|
||||
}
|
||||
|
||||
# copy_images OUTDIR HTML-FILE...
|
||||
# -------------------------------
|
||||
# Copy all the images needed by the HTML-FILEs into OUTDIR. Look
|
||||
# for them in the -I directories.
|
||||
copy_images()
|
||||
{
|
||||
local odir
|
||||
odir=$1
|
||||
shift
|
||||
$PERL -n -e "
|
||||
BEGIN {
|
||||
\$me = '$prog';
|
||||
\$odir = '$odir';
|
||||
@dirs = qw($dirs);
|
||||
}
|
||||
" -e '
|
||||
/<img src="(.*?)"/g && ++$need{$1};
|
||||
|
||||
END {
|
||||
#print "$me: @{[keys %need]}\n"; # for debugging, show images found.
|
||||
FILE: for my $f (keys %need) {
|
||||
for my $d (@dirs) {
|
||||
if (-f "$d/$f") {
|
||||
use File::Basename;
|
||||
my $dest = dirname ("$odir/$f");
|
||||
#
|
||||
use File::Path;
|
||||
-d $dest || mkpath ($dest)
|
||||
|| die "$me: cannot mkdir $dest: $!\n";
|
||||
#
|
||||
use File::Copy;
|
||||
copy ("$d/$f", $dest)
|
||||
|| die "$me: cannot copy $d/$f to $dest: $!\n";
|
||||
next FILE;
|
||||
}
|
||||
}
|
||||
die "$me: $ARGV: cannot find image $f\n";
|
||||
}
|
||||
}
|
||||
' -- "$@" || exit 1
|
||||
}
|
||||
|
||||
case $outdir in
|
||||
/*) abs_outdir=$outdir;;
|
||||
*) abs_outdir=$srcdir/$outdir;;
|
||||
esac
|
||||
|
||||
echo Generating output formats for $srcfile
|
||||
echo "Generating output formats for $srcfile"
|
||||
|
||||
cmd="$SETLANG $MAKEINFO -o $PACKAGE.info \"$srcfile\""
|
||||
echo "Generating info files... ($cmd)"
|
||||
cmd="$SETLANG $MAKEINFO -o $PACKAGE.info $commonarg $infoarg \"$srcfile\""
|
||||
echo "Generating info file(s)... ($cmd)"
|
||||
eval "$cmd"
|
||||
mkdir -p "$outdir/"
|
||||
tar czf "$outdir/$PACKAGE.info.tar.gz" $PACKAGE.info*
|
||||
|
@ -199,29 +258,23 @@ info_tgz_size=`calcsize "$outdir/$PACKAGE.info.tar.gz"`
|
|||
# do not mv the info files, there's no point in having them available
|
||||
# separately on the web.
|
||||
|
||||
cmd="$SETLANG ${TEXI2DVI} \"$srcfile\""
|
||||
cmd="$SETLANG $TEXI2DVI $commonarg \"$srcfile\""
|
||||
echo "Generating dvi ... ($cmd)"
|
||||
eval "$cmd"
|
||||
|
||||
# now, before we compress dvi:
|
||||
echo Generating postscript...
|
||||
${DVIPS} $PACKAGE -o
|
||||
gzip -f -9 $PACKAGE.ps
|
||||
ps_gz_size=`calcsize $PACKAGE.ps.gz`
|
||||
mv $PACKAGE.ps.gz "$outdir/"
|
||||
|
||||
# compress/finish dvi:
|
||||
gzip -f -9 $PACKAGE.dvi
|
||||
dvi_gz_size=`calcsize $PACKAGE.dvi.gz`
|
||||
mv $PACKAGE.dvi.gz "$outdir/"
|
||||
|
||||
cmd="$SETLANG ${TEXI2DVI} --pdf \"$srcfile\""
|
||||
cmd="$SETLANG $TEXI2DVI --pdf $commonarg \"$srcfile\""
|
||||
echo "Generating pdf ... ($cmd)"
|
||||
eval "$cmd"
|
||||
pdf_size=`calcsize $PACKAGE.pdf`
|
||||
mv $PACKAGE.pdf "$outdir/"
|
||||
|
||||
cmd="$SETLANG $MAKEINFO -o $PACKAGE.txt --no-split --no-headers \"$srcfile\""
|
||||
opt="-o $PACKAGE.txt --no-split --no-headers $commonarg"
|
||||
cmd="$SETLANG $MAKEINFO $opt \"$srcfile\""
|
||||
echo "Generating ASCII... ($cmd)"
|
||||
eval "$cmd"
|
||||
ascii_size=`calcsize $PACKAGE.txt`
|
||||
|
@ -231,7 +284,7 @@ mv $PACKAGE.txt "$outdir/"
|
|||
|
||||
html_split()
|
||||
{
|
||||
opt="--split=$1 $htmlarg --node-files"
|
||||
opt="--split=$1 $commonarg $htmlarg --node-files"
|
||||
cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $opt \"$srcfile\""
|
||||
echo "Generating html by $1... ($cmd)"
|
||||
eval "$cmd"
|
||||
|
@ -249,7 +302,7 @@ html_split()
|
|||
}
|
||||
|
||||
if test -z "$use_texi2html"; then
|
||||
opt="--no-split --html -o $PACKAGE.html $htmlarg"
|
||||
opt="--no-split --html -o $PACKAGE.html $commonarg $htmlarg"
|
||||
cmd="$SETLANG $MAKEINFO $opt \"$srcfile\""
|
||||
echo "Generating monolithic html... ($cmd)"
|
||||
rm -rf $PACKAGE.html # in case a directory is left over
|
||||
|
@ -257,23 +310,25 @@ if test -z "$use_texi2html"; then
|
|||
html_mono_size=`calcsize $PACKAGE.html`
|
||||
gzip -f -9 -c $PACKAGE.html >"$outdir/$PACKAGE.html.gz"
|
||||
html_mono_gz_size=`calcsize "$outdir/$PACKAGE.html.gz"`
|
||||
copy_images "$outdir/" $PACKAGE.html
|
||||
mv $PACKAGE.html "$outdir/"
|
||||
|
||||
cmd="$SETLANG $MAKEINFO --html -o $PACKAGE.html $htmlarg \"$srcfile\""
|
||||
opt="--html -o $PACKAGE.html $commonarg $htmlarg"
|
||||
cmd="$SETLANG $MAKEINFO $opt \"$srcfile\""
|
||||
echo "Generating html by node... ($cmd)"
|
||||
eval "$cmd"
|
||||
split_html_dir=$PACKAGE.html
|
||||
copy_images $split_html_dir/ $split_html_dir/*.html
|
||||
(
|
||||
cd ${split_html_dir} || exit 1
|
||||
tar -czf "$abs_outdir/${PACKAGE}.html_node.tar.gz" -- *.html
|
||||
cd $split_html_dir || exit 1
|
||||
tar -czf "$abs_outdir/$PACKAGE.html_node.tar.gz" -- *
|
||||
)
|
||||
html_node_tgz_size=`calcsize "$outdir/${PACKAGE}.html_node.tar.gz"`
|
||||
rm -f "$outdir"/html_node/*.html
|
||||
mkdir -p "$outdir/html_node/"
|
||||
mv ${split_html_dir}/*.html "$outdir/html_node/"
|
||||
rmdir ${split_html_dir}
|
||||
html_node_tgz_size=`calcsize "$outdir/$PACKAGE.html_node.tar.gz"`
|
||||
rm -rf "$outdir/html_node/"
|
||||
mv $split_html_dir "$outdir/html_node/"
|
||||
else
|
||||
cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $htmlarg \"$srcfile\""
|
||||
opt="--output $PACKAGE.html $commonarg $htmlarg"
|
||||
cmd="$SETLANG $TEXI2HTML $opt \"$srcfile\""
|
||||
echo "Generating monolithic html... ($cmd)"
|
||||
rm -rf $PACKAGE.html # in case a directory is left over
|
||||
eval "$cmd"
|
||||
|
@ -297,7 +352,8 @@ d=`dirname $srcfile`
|
|||
texi_tgz_size=`calcsize "$outdir/$PACKAGE.texi.tar.gz"`
|
||||
|
||||
if test -n "$docbook"; then
|
||||
cmd="$SETLANG $MAKEINFO -o - --docbook \"$srcfile\" > ${srcdir}/$PACKAGE-db.xml"
|
||||
opt="-o - --docbook $commonarg"
|
||||
cmd="$SETLANG $MAKEINFO $opt \"$srcfile\" >${srcdir}/$PACKAGE-db.xml"
|
||||
echo "Generating docbook XML... ($cmd)"
|
||||
eval "$cmd"
|
||||
docbook_xml_size=`calcsize $PACKAGE-db.xml`
|
||||
|
@ -306,7 +362,8 @@ if test -n "$docbook"; then
|
|||
mv $PACKAGE-db.xml "$outdir/"
|
||||
|
||||
split_html_db_dir=html_node_db
|
||||
cmd="${DOCBOOK2HTML} -o $split_html_db_dir \"${outdir}/$PACKAGE-db.xml\""
|
||||
opt="$commonarg -o $split_html_db_dir"
|
||||
cmd="$DOCBOOK2HTML $opt \"${outdir}/$PACKAGE-db.xml\""
|
||||
echo "Generating docbook HTML... ($cmd)"
|
||||
eval "$cmd"
|
||||
(
|
||||
|
@ -319,20 +376,13 @@ if test -n "$docbook"; then
|
|||
mv ${split_html_db_dir}/*.html "$outdir/html_node_db/"
|
||||
rmdir ${split_html_db_dir}
|
||||
|
||||
cmd="${DOCBOOK2TXT} \"${outdir}/$PACKAGE-db.xml\""
|
||||
cmd="$DOCBOOK2TXT \"${outdir}/$PACKAGE-db.xml\""
|
||||
echo "Generating docbook ASCII... ($cmd)"
|
||||
eval "$cmd"
|
||||
docbook_ascii_size=`calcsize $PACKAGE-db.txt`
|
||||
mv $PACKAGE-db.txt "$outdir/"
|
||||
|
||||
cmd="${DOCBOOK2PS} \"${outdir}/$PACKAGE-db.xml\""
|
||||
echo "Generating docbook PS... ($cmd)"
|
||||
eval "$cmd"
|
||||
gzip -f -9 -c $PACKAGE-db.ps >"$outdir/$PACKAGE-db.ps.gz"
|
||||
docbook_ps_gz_size=`calcsize "$outdir/$PACKAGE-db.ps.gz"`
|
||||
mv $PACKAGE-db.ps "$outdir/"
|
||||
|
||||
cmd="${DOCBOOK2PDF} \"${outdir}/$PACKAGE-db.xml\""
|
||||
cmd="$DOCBOOK2PDF \"${outdir}/$PACKAGE-db.xml\""
|
||||
echo "Generating docbook PDF... ($cmd)"
|
||||
eval "$cmd"
|
||||
docbook_pdf_size=`calcsize $PACKAGE-db.pdf`
|
||||
|
@ -346,6 +396,7 @@ if test -z "$use_texi2html"; then
|
|||
else
|
||||
CONDS="/%%ENDIF.*%%/d;/%%IF *HTML_SECTION%%/d;/%%IF *HTML_CHAPTER%%/d"
|
||||
fi
|
||||
|
||||
curdate=`$SETLANG date '+%B %d, %Y'`
|
||||
sed \
|
||||
-e "s!%%TITLE%%!$MANUAL_TITLE!g" \
|
||||
|
@ -360,13 +411,11 @@ sed \
|
|||
-e "s!%%INFO_TGZ_SIZE%%!$info_tgz_size!g" \
|
||||
-e "s!%%DVI_GZ_SIZE%%!$dvi_gz_size!g" \
|
||||
-e "s!%%PDF_SIZE%%!$pdf_size!g" \
|
||||
-e "s!%%PS_GZ_SIZE%%!$ps_gz_size!g" \
|
||||
-e "s!%%ASCII_SIZE%%!$ascii_size!g" \
|
||||
-e "s!%%ASCII_GZ_SIZE%%!$ascii_gz_size!g" \
|
||||
-e "s!%%TEXI_TGZ_SIZE%%!$texi_tgz_size!g" \
|
||||
-e "s!%%DOCBOOK_HTML_NODE_TGZ_SIZE%%!$html_node_db_tgz_size!g" \
|
||||
-e "s!%%DOCBOOK_ASCII_SIZE%%!$docbook_ascii_size!g" \
|
||||
-e "s!%%DOCBOOK_PS_GZ_SIZE%%!$docbook_ps_gz_size!g" \
|
||||
-e "s!%%DOCBOOK_PDF_SIZE%%!$docbook_pdf_size!g" \
|
||||
-e "s!%%DOCBOOK_XML_SIZE%%!$docbook_xml_size!g" \
|
||||
-e "s!%%DOCBOOK_XML_GZ_SIZE%%!$docbook_xml_gz_size!g" \
|
||||
|
|
|
@ -3,7 +3,7 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
|
|||
if 0;
|
||||
# Convert git log output to ChangeLog format.
|
||||
|
||||
my $VERSION = '2012-05-22 09:40'; # UTC
|
||||
my $VERSION = '2012-07-29 06:11'; # 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
|
||||
|
@ -68,6 +68,8 @@ OPTIONS:
|
|||
header; the default is to cluster adjacent commit messages
|
||||
if their headers are the same and neither commit message
|
||||
contains multiple paragraphs.
|
||||
--srcdir=DIR the root of the source tree, from which the .git/
|
||||
directory can be derived.
|
||||
--since=DATE convert only the logs since DATE;
|
||||
the default is to convert all log entries.
|
||||
--format=FMT set format string for commit subject and body;
|
||||
|
@ -192,6 +194,30 @@ sub parse_amend_file($)
|
|||
return $h;
|
||||
}
|
||||
|
||||
# git_dir_option $SRCDIR
|
||||
#
|
||||
# From $SRCDIR, the --git-dir option to pass to git (none if $SRCDIR
|
||||
# is undef). Return as a list (0 or 1 element).
|
||||
sub git_dir_option($)
|
||||
{
|
||||
my ($srcdir) = @_;
|
||||
my @res = ();
|
||||
if (defined $srcdir)
|
||||
{
|
||||
my $qdir = shell_quote $srcdir;
|
||||
my $cmd = "cd $qdir && git rev-parse --show-toplevel";
|
||||
my $qcmd = shell_quote $cmd;
|
||||
my $git_dir = qx($cmd);
|
||||
defined $git_dir
|
||||
or die "$ME: cannot run $qcmd: $!\n";
|
||||
$? == 0
|
||||
or die "$ME: $qcmd had unexpected exit code or signal ($?)\n";
|
||||
chomp $git_dir;
|
||||
push @res, "--git-dir=$git_dir/.git";
|
||||
}
|
||||
@res;
|
||||
}
|
||||
|
||||
{
|
||||
my $since_date;
|
||||
my $format_string = '%s%n%b%n';
|
||||
|
@ -200,6 +226,7 @@ sub parse_amend_file($)
|
|||
my $cluster = 1;
|
||||
my $strip_tab = 0;
|
||||
my $strip_cherry_pick = 0;
|
||||
my $srcdir;
|
||||
GetOptions
|
||||
(
|
||||
help => sub { usage 0 },
|
||||
|
@ -211,9 +238,9 @@ sub parse_amend_file($)
|
|||
'cluster!' => \$cluster,
|
||||
'strip-tab' => \$strip_tab,
|
||||
'strip-cherry-pick' => \$strip_cherry_pick,
|
||||
'srcdir=s' => \$srcdir,
|
||||
) or usage 1;
|
||||
|
||||
|
||||
defined $since_date
|
||||
and unshift @ARGV, "--since=$since_date";
|
||||
|
||||
|
@ -221,7 +248,9 @@ sub parse_amend_file($)
|
|||
# that makes a correction in the log or attribution of that commit.
|
||||
my $amend_code = defined $amend_file ? parse_amend_file $amend_file : {};
|
||||
|
||||
my @cmd = (qw (git log --log-size),
|
||||
my @cmd = ('git',
|
||||
git_dir_option $srcdir,
|
||||
qw(log --log-size),
|
||||
'--pretty=format:%H:%ct %an <%ae>%n%n'.$format_string, @ARGV);
|
||||
open PIPE, '-|', @cmd
|
||||
or die ("$ME: failed to run '". quoted_cmd (@cmd) ."': $!\n"
|
||||
|
|
|
@ -24,9 +24,6 @@ VERSION=2009-07-21.16; # UTC
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Requirements: everything required to bootstrap your package,
|
||||
# plus these: git, cvs, cvsu, rsync, mktemp
|
||||
|
||||
ME=$(basename "$0")
|
||||
warn() { printf '%s: %s\n' "$ME" "$*" >&2; }
|
||||
die() { warn "$*"; exit 1; }
|
||||
|
@ -36,10 +33,9 @@ help()
|
|||
cat <<EOF
|
||||
Usage: $ME
|
||||
|
||||
Run this script from top_srcdir (no options or arguments) after each
|
||||
non-alpha release, to update the web documentation at
|
||||
http://www.gnu.org/software/\$pkg/manual/ Run it from your project's
|
||||
the top-level directory.
|
||||
Run this script from top_srcdir (no arguments) after each non-alpha
|
||||
release, to update the web documentation at
|
||||
http://www.gnu.org/software/\$pkg/manual/
|
||||
|
||||
Options:
|
||||
-C, --builddir=DIR location of (configured) Makefile (default: .)
|
||||
|
@ -64,6 +60,51 @@ EOF
|
|||
exit
|
||||
}
|
||||
|
||||
# find_tool ENVVAR NAMES...
|
||||
# -------------------------
|
||||
# Search for a required program. Use the value of ENVVAR, if set,
|
||||
# otherwise find the first of the NAMES that can be run (i.e.,
|
||||
# supports --version). If found, set ENVVAR to the program name,
|
||||
# die otherwise.
|
||||
#
|
||||
# FIXME: code duplication, see also bootstrap.
|
||||
find_tool ()
|
||||
{
|
||||
find_tool_envvar=$1
|
||||
shift
|
||||
find_tool_names=$@
|
||||
eval "find_tool_res=\$$find_tool_envvar"
|
||||
if test x"$find_tool_res" = x; then
|
||||
for i
|
||||
do
|
||||
if ($i --version </dev/null) >/dev/null 2>&1; then
|
||||
find_tool_res=$i
|
||||
break
|
||||
fi
|
||||
done
|
||||
else
|
||||
find_tool_error_prefix="\$$find_tool_envvar: "
|
||||
fi
|
||||
test x"$find_tool_res" != x \
|
||||
|| die "one of these is required: $find_tool_names"
|
||||
($find_tool_res --version </dev/null) >/dev/null 2>&1 \
|
||||
|| die "${find_tool_error_prefix}cannot run $find_tool_res --version"
|
||||
eval "$find_tool_envvar=\$find_tool_res"
|
||||
eval "export $find_tool_envvar"
|
||||
}
|
||||
|
||||
## ------ ##
|
||||
## Main. ##
|
||||
## ------ ##
|
||||
|
||||
# Requirements: everything required to bootstrap your package, plus
|
||||
# these.
|
||||
find_tool CVS cvs
|
||||
find_tool CVSU cvsu
|
||||
find_tool GIT git
|
||||
find_tool RSYNC rsync
|
||||
find_tool XARGS gxargs xargs
|
||||
|
||||
builddir=.
|
||||
while test $# != 0
|
||||
do
|
||||
|
@ -86,22 +127,22 @@ do
|
|||
done
|
||||
|
||||
test $# = 0 \
|
||||
|| die "$ME: too many arguments"
|
||||
|| die "too many arguments"
|
||||
|
||||
prev=.prev-version
|
||||
version=$(cat $prev) || die "$ME: no $prev file?"
|
||||
version=$(cat $prev) || die "no $prev file?"
|
||||
pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' $builddir/Makefile) \
|
||||
|| die "$ME: no Makefile?"
|
||||
|| die "no Makefile?"
|
||||
tmp_branch=web-doc-$version-$$
|
||||
current_branch=$(git branch | sed -ne '/^\* /{s///;p;q;}')
|
||||
current_branch=$($GIT branch | sed -ne '/^\* /{s///;p;q;}')
|
||||
|
||||
cleanup()
|
||||
{
|
||||
__st=$?
|
||||
rm -rf "$tmp"
|
||||
git checkout "$current_branch"
|
||||
git submodule update --recursive
|
||||
git branch -d $tmp_branch
|
||||
$GIT checkout "$current_branch"
|
||||
$GIT submodule update --recursive
|
||||
$GIT branch -d $tmp_branch
|
||||
exit $__st
|
||||
}
|
||||
trap cleanup 0
|
||||
|
@ -111,8 +152,8 @@ trap 'exit $?' 1 2 13 15
|
|||
# just-released version number, not some string like 7.6.18-20761.
|
||||
# That version string propagates into all documentation.
|
||||
set -e
|
||||
git checkout -b $tmp_branch v$version
|
||||
git submodule update --recursive
|
||||
$GIT checkout -b $tmp_branch v$version
|
||||
$GIT submodule update --recursive
|
||||
./bootstrap
|
||||
srcdir=$(pwd)
|
||||
cd "$builddir"
|
||||
|
@ -125,16 +166,18 @@ set +e
|
|||
|
||||
tmp=$(mktemp -d web-doc-update.XXXXXX) || exit 1
|
||||
( cd $tmp \
|
||||
&& cvs -d $USER@cvs.sv.gnu.org:/webcvs/$pkg co $pkg )
|
||||
rsync -avP "$builddir"/doc/manual/ $tmp/$pkg/manual
|
||||
&& $CVS -d $USER@cvs.sv.gnu.org:/webcvs/$pkg co $pkg )
|
||||
$RSYNC -avP "$builddir"/doc/manual/ $tmp/$pkg/manual
|
||||
|
||||
(
|
||||
cd $tmp/$pkg/manual
|
||||
|
||||
# Add any new files:
|
||||
cvsu --types='?'|sed s/..// | xargs --no-run-if-empty -- cvs add -ko
|
||||
$CVSU --types='?' \
|
||||
| sed s/..// \
|
||||
| $XARGS --no-run-if-empty -- $CVS add -ko
|
||||
|
||||
cvs ci -m $version
|
||||
$CVS ci -m $version
|
||||
)
|
||||
|
||||
# Local variables:
|
||||
|
|
|
@ -45,8 +45,6 @@
|
|||
(%%ASCII_GZ_SIZE%%K bytes gzipped)</a>.</li>
|
||||
<li><a href="%%PACKAGE%%.dvi.gz">TeX dvi file
|
||||
(%%DVI_GZ_SIZE%%K bytes gzipped)</a>.</li>
|
||||
<li><a href="%%PACKAGE%%.ps.gz">PostScript file
|
||||
(%%PS_GZ_SIZE%%K bytes gzipped)</a>.</li>
|
||||
<li><a href="%%PACKAGE%%.pdf">PDF file
|
||||
(%%PDF_SIZE%%K bytes)</a>.</li>
|
||||
<li><a href="%%PACKAGE%%.texi.tar.gz">Texinfo source
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
Fix `canonicalize_file_name' replacement handling when cross-compiling.
|
||||
Without this patch, we end up with:
|
||||
|
||||
./.libs/libguile-2.0.so: undefined reference to `rpl_canonicalize_file_name'
|
||||
|
||||
See <http://hydra.nixos.org/build/2765567> for details.
|
||||
|
||||
index 69b3f4c..3c4c5ee 100644
|
||||
--- a/m4/canonicalize.m4
|
||||
+++ b/m4/canonicalize.m4
|
||||
@@ -16,8 +16,11 @@ AC_DEFUN([gl_FUNC_CANONICALIZE_FILENAME_MODE],
|
||||
AC_REQUIRE([gl_FUNC_REALPATH_WORKS])
|
||||
if test $ac_cv_func_canonicalize_file_name = no; then
|
||||
HAVE_CANONICALIZE_FILE_NAME=0
|
||||
- elif test "$gl_cv_func_realpath_works" != yes; then
|
||||
- REPLACE_CANONICALIZE_FILE_NAME=1
|
||||
+ else
|
||||
+ case "$gl_cv_func_realpath_works" in
|
||||
+ *yes) ;;
|
||||
+ *) REPLACE_CANONICALIZE_FILE_NAME=1 ;;
|
||||
+ esac
|
||||
fi
|
||||
])
|
||||
|
||||
@@ -30,12 +33,21 @@ AC_DEFUN([gl_CANONICALIZE_LGPL],
|
||||
HAVE_CANONICALIZE_FILE_NAME=0
|
||||
if test $ac_cv_func_realpath = no; then
|
||||
HAVE_REALPATH=0
|
||||
- elif test "$gl_cv_func_realpath_works" != yes; then
|
||||
- REPLACE_REALPATH=1
|
||||
+ else
|
||||
+ case "$gl_cv_func_realpath_works" in
|
||||
+ *yes) ;;
|
||||
+ *) REPLACE_REALPATH=1 ;;
|
||||
+ esac
|
||||
fi
|
||||
- elif test "$gl_cv_func_realpath_works" != yes; then
|
||||
- REPLACE_CANONICALIZE_FILE_NAME=1
|
||||
- REPLACE_REALPATH=1
|
||||
+ else
|
||||
+ case "$gl_cv_func_realpath_works" in
|
||||
+ *yes)
|
||||
+ ;;
|
||||
+ *)
|
||||
+ REPLACE_CANONICALIZE_FILE_NAME=1
|
||||
+ REPLACE_REALPATH=1
|
||||
+ ;;
|
||||
+ esac
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
Now, work around a second bug: fix default value when cross-compiling
|
||||
for GNU/Hurd.
|
||||
|
||||
index 69b3f4c..111ddf8 100644
|
||||
--- a/m4/canonicalize.m4
|
||||
+++ b/m4/canonicalize.m4
|
||||
@@ -95,7 +95,7 @@ AC_DEFUN([gl_FUNC_REALPATH_WORKS],
|
||||
[gl_cv_func_realpath_works=no],
|
||||
[case "$host_os" in
|
||||
# Guess yes on glibc systems.
|
||||
- *-gnu*) gl_cv_func_realpath_works="guessing yes" ;;
|
||||
+ *gnu*) gl_cv_func_realpath_works="guessing yes" ;;
|
||||
# If we don't know, assume the worst.
|
||||
*) gl_cv_func_realpath_works="guessing no" ;;
|
||||
esac
|
|
@ -155,7 +155,7 @@ EXTRA_DIST += arpa_inet.in.h
|
|||
|
||||
## begin gnulib module binary-io
|
||||
|
||||
libgnu_la_SOURCES += binary-io.h
|
||||
libgnu_la_SOURCES += binary-io.h binary-io.c
|
||||
|
||||
## end gnulib module binary-io
|
||||
|
||||
|
@ -614,7 +614,7 @@ EXTRA_DIST += $(top_srcdir)/build-aux/gnu-web-doc-update
|
|||
|
||||
distclean-local: clean-GNUmakefile
|
||||
clean-GNUmakefile:
|
||||
test x'$(VPATH)' != x && rm -f $(top_builddir)/GNUmakefile || :
|
||||
test '$(srcdir)' = . || rm -f $(top_builddir)/GNUmakefile
|
||||
|
||||
EXTRA_DIST += $(top_srcdir)/GNUmakefile
|
||||
|
||||
|
@ -1795,6 +1795,7 @@ EXTRA_libgnu_la_SOURCES += stat.c
|
|||
|
||||
## begin gnulib module stat-time
|
||||
|
||||
libgnu_la_SOURCES += stat-time.c
|
||||
|
||||
EXTRA_DIST += stat-time.h
|
||||
|
||||
|
@ -2133,6 +2134,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
|
|||
-e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
|
||||
-e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
|
||||
-e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
|
||||
-e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \
|
||||
-e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
|
||||
-e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
|
||||
-e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
|
||||
|
@ -3008,7 +3010,7 @@ EXTRA_libgnu_la_SOURCES += write.c
|
|||
|
||||
## begin gnulib module xsize
|
||||
|
||||
libgnu_la_SOURCES += xsize.h
|
||||
libgnu_la_SOURCES += xsize.h xsize.c
|
||||
|
||||
## end gnulib module xsize
|
||||
|
||||
|
|
3
lib/binary-io.c
Normal file
3
lib/binary-io.c
Normal file
|
@ -0,0 +1,3 @@
|
|||
#include <config.h>
|
||||
#define BINARY_IO_INLINE _GL_EXTERN_INLINE
|
||||
#include "binary-io.h"
|
|
@ -25,6 +25,11 @@
|
|||
so we include it here first. */
|
||||
#include <stdio.h>
|
||||
|
||||
_GL_INLINE_HEADER_BEGIN
|
||||
#ifndef BINARY_IO_INLINE
|
||||
# define BINARY_IO_INLINE _GL_INLINE
|
||||
#endif
|
||||
|
||||
/* set_binary_mode (fd, mode)
|
||||
sets the binary/text I/O mode of file descriptor fd to the given mode
|
||||
(must be O_BINARY or O_TEXT) and returns the previous mode. */
|
||||
|
@ -39,9 +44,9 @@
|
|||
# endif
|
||||
#else
|
||||
/* On reasonable systems, binary I/O is the only choice. */
|
||||
/* Use an inline function rather than a macro, to avoid gcc warnings
|
||||
/* Use a function rather than a macro, to avoid gcc warnings
|
||||
"warning: statement with no effect". */
|
||||
static inline int
|
||||
BINARY_IO_INLINE int
|
||||
set_binary_mode (int fd, int mode)
|
||||
{
|
||||
(void) fd;
|
||||
|
@ -62,4 +67,6 @@ set_binary_mode (int fd, int mode)
|
|||
# define SET_BINARY(fd) ((void) set_binary_mode (fd, O_BINARY))
|
||||
#endif
|
||||
|
||||
_GL_INLINE_HEADER_END
|
||||
|
||||
#endif /* _BINARY_H */
|
||||
|
|
|
@ -270,5 +270,10 @@
|
|||
# define GNULIB_defined_ENOTRECOVERABLE 1
|
||||
# endif
|
||||
|
||||
# ifndef EILSEQ
|
||||
# define EILSEQ 2015
|
||||
# define GNULIB_defined_EILSEQ 1
|
||||
# endif
|
||||
|
||||
#endif /* _@GUARD_PREFIX@_ERRNO_H */
|
||||
#endif /* _@GUARD_PREFIX@_ERRNO_H */
|
||||
|
|
|
@ -216,6 +216,10 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
|
|||
# define O_EXEC O_RDONLY /* This is often close enough in older systems. */
|
||||
#endif
|
||||
|
||||
#ifndef O_IGNORE_CTTY
|
||||
# define O_IGNORE_CTTY 0
|
||||
#endif
|
||||
|
||||
#ifndef O_NDELAY
|
||||
# define O_NDELAY 0
|
||||
#endif
|
||||
|
@ -249,10 +253,18 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
|
|||
# define O_NOFOLLOW 0
|
||||
#endif
|
||||
|
||||
#ifndef O_NOLINK
|
||||
# define O_NOLINK 0
|
||||
#endif
|
||||
|
||||
#ifndef O_NOLINKS
|
||||
# define O_NOLINKS 0
|
||||
#endif
|
||||
|
||||
#ifndef O_NOTRANS
|
||||
# define O_NOTRANS 0
|
||||
#endif
|
||||
|
||||
#ifndef O_RSYNC
|
||||
# define O_RSYNC 0
|
||||
#endif
|
||||
|
@ -269,7 +281,7 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
|
|||
# define O_TTY_INIT 0
|
||||
#endif
|
||||
|
||||
#if O_ACCMODE != (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH)
|
||||
#if ~O_ACCMODE & (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH)
|
||||
# undef O_ACCMODE
|
||||
# define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH)
|
||||
#endif
|
||||
|
|
|
@ -183,9 +183,12 @@ npgettext_aux (const char *domain,
|
|||
|
||||
#include <string.h>
|
||||
|
||||
#define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \
|
||||
(((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \
|
||||
/* || __STDC_VERSION__ >= 199901L */ )
|
||||
#if (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \
|
||||
/* || __STDC_VERSION__ >= 199901L */ )
|
||||
# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1
|
||||
#else
|
||||
# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0
|
||||
#endif
|
||||
|
||||
#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
|
||||
#include <stdlib.h>
|
||||
|
|
|
@ -542,6 +542,13 @@ locale_charset (void)
|
|||
if (codeset[0] == '\0')
|
||||
codeset = "ASCII";
|
||||
|
||||
#ifdef DARWIN7
|
||||
/* Mac OS X sets MB_CUR_MAX to 1 when LC_ALL=C, and "UTF-8"
|
||||
(the default codeset) does not work when MB_CUR_MAX is 1. */
|
||||
if (strcmp (codeset, "UTF-8") == 0 && MB_CUR_MAX <= 1)
|
||||
codeset = "ASCII";
|
||||
#endif
|
||||
|
||||
return codeset;
|
||||
}
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ extern "C" {
|
|||
and a page size can be as small as 4096 bytes. So we cannot safely
|
||||
allocate anything larger than 4096 bytes. Also care for the possibility
|
||||
of a few compiler-allocated temporary stack slots.
|
||||
This must be a macro, not an inline function. */
|
||||
This must be a macro, not a function. */
|
||||
# define safe_alloca(N) ((N) < 4032 ? alloca (N) : NULL)
|
||||
#else
|
||||
# define safe_alloca(N) ((void) (N), NULL)
|
||||
|
|
|
@ -735,7 +735,7 @@ re_search_internal (const regex_t *preg,
|
|||
mctx.input.tip_context = (eflags & REG_NOTBOL) ? CONTEXT_BEGBUF
|
||||
: CONTEXT_NEWLINE | CONTEXT_BEGBUF;
|
||||
|
||||
/* Check incrementally whether of not the input string match. */
|
||||
/* Check incrementally whether the input string matches. */
|
||||
incr = (last_start < start) ? -1 : 1;
|
||||
left_lim = (last_start < start) ? last_start : start;
|
||||
right_lim = (last_start < start) ? start : last_start;
|
||||
|
|
3
lib/stat-time.c
Normal file
3
lib/stat-time.c
Normal file
|
@ -0,0 +1,3 @@
|
|||
#include <config.h>
|
||||
#define _GL_STAT_TIME_INLINE _GL_EXTERN_INLINE
|
||||
#include "stat-time.h"
|
|
@ -23,6 +23,11 @@
|
|||
#include <sys/stat.h>
|
||||
#include <time.h>
|
||||
|
||||
_GL_INLINE_HEADER_BEGIN
|
||||
#ifndef _GL_STAT_TIME_INLINE
|
||||
# define _GL_STAT_TIME_INLINE _GL_INLINE
|
||||
#endif
|
||||
|
||||
/* STAT_TIMESPEC (ST, ST_XTIM) is the ST_XTIM member for *ST of type
|
||||
struct timespec, if available. If not, then STAT_TIMESPEC_NS (ST,
|
||||
ST_XTIM) is the nanosecond component of the ST_XTIM member for *ST,
|
||||
|
@ -46,7 +51,7 @@
|
|||
#endif
|
||||
|
||||
/* Return the nanosecond component of *ST's access time. */
|
||||
static inline long int
|
||||
_GL_STAT_TIME_INLINE long int
|
||||
get_stat_atime_ns (struct stat const *st)
|
||||
{
|
||||
# if defined STAT_TIMESPEC
|
||||
|
@ -59,7 +64,7 @@ get_stat_atime_ns (struct stat const *st)
|
|||
}
|
||||
|
||||
/* Return the nanosecond component of *ST's status change time. */
|
||||
static inline long int
|
||||
_GL_STAT_TIME_INLINE long int
|
||||
get_stat_ctime_ns (struct stat const *st)
|
||||
{
|
||||
# if defined STAT_TIMESPEC
|
||||
|
@ -72,7 +77,7 @@ get_stat_ctime_ns (struct stat const *st)
|
|||
}
|
||||
|
||||
/* Return the nanosecond component of *ST's data modification time. */
|
||||
static inline long int
|
||||
_GL_STAT_TIME_INLINE long int
|
||||
get_stat_mtime_ns (struct stat const *st)
|
||||
{
|
||||
# if defined STAT_TIMESPEC
|
||||
|
@ -85,7 +90,7 @@ get_stat_mtime_ns (struct stat const *st)
|
|||
}
|
||||
|
||||
/* Return the nanosecond component of *ST's birth time. */
|
||||
static inline long int
|
||||
_GL_STAT_TIME_INLINE long int
|
||||
get_stat_birthtime_ns (struct stat const *st)
|
||||
{
|
||||
# if defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
|
||||
|
@ -100,7 +105,7 @@ get_stat_birthtime_ns (struct stat const *st)
|
|||
}
|
||||
|
||||
/* Return *ST's access time. */
|
||||
static inline struct timespec
|
||||
_GL_STAT_TIME_INLINE struct timespec
|
||||
get_stat_atime (struct stat const *st)
|
||||
{
|
||||
#ifdef STAT_TIMESPEC
|
||||
|
@ -114,7 +119,7 @@ get_stat_atime (struct stat const *st)
|
|||
}
|
||||
|
||||
/* Return *ST's status change time. */
|
||||
static inline struct timespec
|
||||
_GL_STAT_TIME_INLINE struct timespec
|
||||
get_stat_ctime (struct stat const *st)
|
||||
{
|
||||
#ifdef STAT_TIMESPEC
|
||||
|
@ -128,7 +133,7 @@ get_stat_ctime (struct stat const *st)
|
|||
}
|
||||
|
||||
/* Return *ST's data modification time. */
|
||||
static inline struct timespec
|
||||
_GL_STAT_TIME_INLINE struct timespec
|
||||
get_stat_mtime (struct stat const *st)
|
||||
{
|
||||
#ifdef STAT_TIMESPEC
|
||||
|
@ -143,7 +148,7 @@ get_stat_mtime (struct stat const *st)
|
|||
|
||||
/* Return *ST's birth time, if available; otherwise return a value
|
||||
with tv_sec and tv_nsec both equal to -1. */
|
||||
static inline struct timespec
|
||||
_GL_STAT_TIME_INLINE struct timespec
|
||||
get_stat_birthtime (struct stat const *st)
|
||||
{
|
||||
struct timespec t;
|
||||
|
@ -186,4 +191,6 @@ get_stat_birthtime (struct stat const *st)
|
|||
return t;
|
||||
}
|
||||
|
||||
_GL_INLINE_HEADER_END
|
||||
|
||||
#endif
|
||||
|
|
|
@ -66,24 +66,19 @@
|
|||
# undef true
|
||||
#endif
|
||||
|
||||
/* For the sake of symbolic names in gdb, we define true and false as
|
||||
enum constants, not only as macros.
|
||||
It is tempting to write
|
||||
typedef enum { false = 0, true = 1 } _Bool;
|
||||
so that gdb prints values of type 'bool' symbolically. But if we do
|
||||
this, values of type '_Bool' may promote to 'int' or 'unsigned int'
|
||||
(see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int'
|
||||
(see ISO C 99 6.3.1.1.(2)). So we add a negative value to the
|
||||
enum; this ensures that '_Bool' promotes to 'int'. */
|
||||
#if defined __cplusplus || (defined __BEOS__ && !defined __HAIKU__)
|
||||
#ifdef __cplusplus
|
||||
# define _Bool bool
|
||||
# define bool bool
|
||||
#else
|
||||
# if defined __BEOS__ && !defined __HAIKU__
|
||||
/* A compiler known to have 'bool'. */
|
||||
/* If the compiler already has both 'bool' and '_Bool', we can assume they
|
||||
are the same types. */
|
||||
# if !@HAVE__BOOL@
|
||||
# if !@HAVE__BOOL@
|
||||
typedef bool _Bool;
|
||||
# endif
|
||||
#else
|
||||
# if !defined __GNUC__
|
||||
# endif
|
||||
# else
|
||||
# if !defined __GNUC__
|
||||
/* If @HAVE__BOOL@:
|
||||
Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when
|
||||
the built-in _Bool type is used. See
|
||||
|
@ -103,19 +98,35 @@ typedef bool _Bool;
|
|||
"Invalid enumerator. (badenum)" with HP-UX cc on Tru64.
|
||||
The only benefit of the enum, debuggability, is not important
|
||||
with these compilers. So use 'signed char' and no enum. */
|
||||
# define _Bool signed char
|
||||
# else
|
||||
# define _Bool signed char
|
||||
# else
|
||||
/* With this compiler, trust the _Bool type if the compiler has it. */
|
||||
# if !@HAVE__BOOL@
|
||||
# if !@HAVE__BOOL@
|
||||
/* For the sake of symbolic names in gdb, define true and false as
|
||||
enum constants, not only as macros.
|
||||
It is tempting to write
|
||||
typedef enum { false = 0, true = 1 } _Bool;
|
||||
so that gdb prints values of type 'bool' symbolically. But then
|
||||
values of type '_Bool' might promote to 'int' or 'unsigned int'
|
||||
(see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int'
|
||||
(see ISO C 99 6.3.1.1.(2)). So add a negative value to the
|
||||
enum; this ensures that '_Bool' promotes to 'int'. */
|
||||
typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool;
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# define bool _Bool
|
||||
#endif
|
||||
#define bool _Bool
|
||||
|
||||
/* The other macros must be usable in preprocessor directives. */
|
||||
#define false 0
|
||||
#define true 1
|
||||
#ifdef __cplusplus
|
||||
# define false false
|
||||
# define true true
|
||||
#else
|
||||
# define false 0
|
||||
# define true 1
|
||||
#endif
|
||||
|
||||
#define __bool_true_false_are_defined 1
|
||||
|
||||
#endif /* _GL_STDBOOL_H */
|
||||
|
|
|
@ -457,10 +457,19 @@ _GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - "
|
|||
#if @GNULIB_PTSNAME@
|
||||
/* Return the pathname of the pseudo-terminal slave associated with
|
||||
the master FD is open on, or NULL on errors. */
|
||||
# if !@HAVE_PTSNAME@
|
||||
# if @REPLACE_PTSNAME@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef ptsname
|
||||
# define ptsname rpl_ptsname
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (ptsname, char *, (int fd));
|
||||
_GL_CXXALIAS_RPL (ptsname, char *, (int fd));
|
||||
# else
|
||||
# if !@HAVE_PTSNAME@
|
||||
_GL_FUNCDECL_SYS (ptsname, char *, (int fd));
|
||||
# endif
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (ptsname, char *, (int fd));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (ptsname);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef ptsname
|
||||
|
|
|
@ -125,7 +125,7 @@
|
|||
extern int (*dummy (void)) [sizeof (struct {...})];
|
||||
|
||||
* GCC warns about duplicate declarations of the dummy function if
|
||||
-Wredundant_decls is used. GCC 4.3 and later have a builtin
|
||||
-Wredundant-decls is used. GCC 4.3 and later have a builtin
|
||||
__COUNTER__ macro that can let us generate unique identifiers for
|
||||
each dummy function, to suppress this warning.
|
||||
|
||||
|
@ -133,6 +133,10 @@
|
|||
which do not support _Static_assert, also do not warn about the
|
||||
last declaration mentioned above.
|
||||
|
||||
* GCC warns if -Wnested-externs is enabled and verify() is used
|
||||
within a function body; but inside a function, you can always
|
||||
arrange to use verify_expr() instead.
|
||||
|
||||
* In C++, any struct definition inside sizeof is invalid.
|
||||
Use a template type to work around the problem. */
|
||||
|
||||
|
|
3
lib/xsize.c
Normal file
3
lib/xsize.c
Normal file
|
@ -0,0 +1,3 @@
|
|||
#include <config.h>
|
||||
#define XSIZE_INLINE _GL_EXTERN_INLINE
|
||||
#include "xsize.h"
|
17
lib/xsize.h
17
lib/xsize.h
|
@ -27,6 +27,11 @@
|
|||
# include <stdint.h>
|
||||
#endif
|
||||
|
||||
_GL_INLINE_HEADER_BEGIN
|
||||
#ifndef XSIZE_INLINE
|
||||
# define XSIZE_INLINE _GL_INLINE
|
||||
#endif
|
||||
|
||||
/* The size of memory objects is often computed through expressions of
|
||||
type size_t. Example:
|
||||
void* p = malloc (header_size + n * element_size).
|
||||
|
@ -48,7 +53,7 @@
|
|||
((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX)
|
||||
|
||||
/* Sum of two sizes, with overflow check. */
|
||||
static inline size_t
|
||||
XSIZE_INLINE size_t
|
||||
#if __GNUC__ >= 3
|
||||
__attribute__ ((__pure__))
|
||||
#endif
|
||||
|
@ -59,7 +64,7 @@ xsum (size_t size1, size_t size2)
|
|||
}
|
||||
|
||||
/* Sum of three sizes, with overflow check. */
|
||||
static inline size_t
|
||||
XSIZE_INLINE size_t
|
||||
#if __GNUC__ >= 3
|
||||
__attribute__ ((__pure__))
|
||||
#endif
|
||||
|
@ -69,7 +74,7 @@ xsum3 (size_t size1, size_t size2, size_t size3)
|
|||
}
|
||||
|
||||
/* Sum of four sizes, with overflow check. */
|
||||
static inline size_t
|
||||
XSIZE_INLINE size_t
|
||||
#if __GNUC__ >= 3
|
||||
__attribute__ ((__pure__))
|
||||
#endif
|
||||
|
@ -79,7 +84,7 @@ xsum4 (size_t size1, size_t size2, size_t size3, size_t size4)
|
|||
}
|
||||
|
||||
/* Maximum of two sizes, with overflow check. */
|
||||
static inline size_t
|
||||
XSIZE_INLINE size_t
|
||||
#if __GNUC__ >= 3
|
||||
__attribute__ ((__pure__))
|
||||
#endif
|
||||
|
@ -92,7 +97,7 @@ xmax (size_t size1, size_t size2)
|
|||
|
||||
/* Multiplication of a count with an element size, with overflow check.
|
||||
The count must be >= 0 and the element size must be > 0.
|
||||
This is a macro, not an inline function, so that it works correctly even
|
||||
This is a macro, not a function, so that it works correctly even
|
||||
when N is of a wider type and N > SIZE_MAX. */
|
||||
#define xtimes(N, ELSIZE) \
|
||||
((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX)
|
||||
|
@ -104,4 +109,6 @@ xmax (size_t size1, size_t size2)
|
|||
#define size_in_bounds_p(SIZE) \
|
||||
((SIZE) != SIZE_MAX)
|
||||
|
||||
_GL_INLINE_HEADER_END
|
||||
|
||||
#endif /* _XSIZE_H */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# canonicalize.m4 serial 24
|
||||
# canonicalize.m4 serial 26
|
||||
|
||||
dnl Copyright (C) 2003-2007, 2009-2012 Free Software Foundation, Inc.
|
||||
|
||||
|
@ -106,10 +106,10 @@ AC_DEFUN([gl_FUNC_REALPATH_WORKS],
|
|||
[gl_cv_func_realpath_works=yes],
|
||||
[gl_cv_func_realpath_works=no],
|
||||
[case "$host_os" in
|
||||
# Guess yes on glibc systems.
|
||||
*gnu*) gl_cv_func_realpath_works="guessing yes" ;;
|
||||
# If we don't know, assume the worst.
|
||||
*) gl_cv_func_realpath_works="guessing no" ;;
|
||||
# Guess yes on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_func_realpath_works="guessing yes" ;;
|
||||
# If we don't know, assume the worst.
|
||||
*) gl_cv_func_realpath_works="guessing no" ;;
|
||||
esac
|
||||
])
|
||||
rm -rf conftest.a conftest.d
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# eealloc.m4 serial 2
|
||||
# eealloc.m4 serial 3
|
||||
dnl Copyright (C) 2003, 2009-2012 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -8,7 +8,6 @@ AC_DEFUN([gl_EEALLOC],
|
|||
[
|
||||
AC_REQUIRE([gl_EEMALLOC])
|
||||
AC_REQUIRE([gl_EEREALLOC])
|
||||
AC_REQUIRE([AC_C_INLINE])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_EEMALLOC],
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# errno_h.m4 serial 11
|
||||
# errno_h.m4 serial 12
|
||||
dnl Copyright (C) 2004, 2006, 2008-2012 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -57,6 +57,9 @@ booboo
|
|||
#endif
|
||||
#if !defined ENOTRECOVERABLE
|
||||
booboo
|
||||
#endif
|
||||
#if !defined EILSEQ
|
||||
booboo
|
||||
#endif
|
||||
],
|
||||
[gl_cv_header_errno_h_complete=no],
|
||||
|
|
57
m4/extern-inline.m4
Normal file
57
m4/extern-inline.m4
Normal file
|
@ -0,0 +1,57 @@
|
|||
dnl 'extern inline' a la ISO C99.
|
||||
|
||||
dnl Copyright 2012 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
AC_DEFUN([gl_EXTERN_INLINE],
|
||||
[
|
||||
AC_REQUIRE([AC_C_INLINE])
|
||||
AH_VERBATIM([extern_inline],
|
||||
[/* _GL_INLINE is a portable alternative to ISO C99 plain 'inline'.
|
||||
_GL_EXTERN_INLINE is a portable alternative to 'extern inline'.
|
||||
_GL_INLINE_HEADER_BEGIN contains useful stuff to put
|
||||
in an include file, before uses of _GL_INLINE.
|
||||
It suppresses GCC's bogus "no previous prototype for 'FOO'" diagnostic,
|
||||
when FOO is an inline function in the header; see
|
||||
<http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>.
|
||||
_GL_INLINE_HEADER_END contains useful stuff to put
|
||||
in the same include file, after uses of _GL_INLINE. */
|
||||
#if (__GNUC__ \
|
||||
? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
|
||||
: 199901L <= __STDC_VERSION__)
|
||||
# define _GL_INLINE inline
|
||||
# define _GL_EXTERN_INLINE extern inline
|
||||
#elif 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
|
||||
# if __GNUC_GNU_INLINE__
|
||||
/* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */
|
||||
# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
|
||||
# else
|
||||
# define _GL_INLINE extern inline
|
||||
# endif
|
||||
# define _GL_EXTERN_INLINE extern
|
||||
#else
|
||||
# define _GL_INLINE static inline
|
||||
# define _GL_EXTERN_INLINE static inline
|
||||
#endif
|
||||
|
||||
#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
|
||||
# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
|
||||
# define _GL_INLINE_HEADER_CONST_PRAGMA
|
||||
# else
|
||||
# define _GL_INLINE_HEADER_CONST_PRAGMA \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
|
||||
# endif
|
||||
# define _GL_INLINE_HEADER_BEGIN \
|
||||
_Pragma ("GCC diagnostic push") \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \
|
||||
_GL_INLINE_HEADER_CONST_PRAGMA
|
||||
# define _GL_INLINE_HEADER_END \
|
||||
_Pragma ("GCC diagnostic pop")
|
||||
#else
|
||||
# define _GL_INLINE_HEADER_BEGIN
|
||||
# define _GL_INLINE_HEADER_END
|
||||
#endif])
|
||||
])
|
|
@ -50,7 +50,18 @@ AC_DEFUN([gl_FCNTL_O_FLAGS],
|
|||
#if HAVE_SYMLINK
|
||||
{
|
||||
static char const sym[] = "conftest.sym";
|
||||
if (symlink (".", sym) != 0)
|
||||
if (symlink ("/dev/null", sym) != 0)
|
||||
result |= 2;
|
||||
else
|
||||
{
|
||||
int fd = open (sym, O_WRONLY | O_NOFOLLOW | O_CREAT, 0);
|
||||
if (fd >= 0)
|
||||
{
|
||||
close (fd);
|
||||
result |= 4;
|
||||
}
|
||||
}
|
||||
if (unlink (sym) != 0 || symlink (".", sym) != 0)
|
||||
result |= 2;
|
||||
else
|
||||
{
|
||||
|
|
|
@ -120,5 +120,5 @@ gl_MAKEFILE_NAME([])
|
|||
gl_LIBTOOL
|
||||
gl_MACRO_PREFIX([gl])
|
||||
gl_PO_DOMAIN([])
|
||||
gl_WITNESS_C_DOMAIN([])
|
||||
gl_WITNESS_C_MACRO([])
|
||||
gl_VC_FILES([false])
|
||||
|
|
|
@ -70,6 +70,7 @@ AC_DEFUN([gl_EARLY],
|
|||
# Code from module errno:
|
||||
# Code from module extensions:
|
||||
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
|
||||
# Code from module extern-inline:
|
||||
# Code from module fcntl-h:
|
||||
# Code from module fd-hook:
|
||||
# Code from module float:
|
||||
|
@ -232,482 +233,482 @@ AC_DEFUN([gl_INIT],
|
|||
m4_pushdef([gl_LIBSOURCES_DIR], [])
|
||||
gl_COMMON
|
||||
gl_source_base='lib'
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([accept])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([accept])
|
||||
gl_FUNC_ALLOCA
|
||||
gl_HEADER_ARPA_INET
|
||||
AC_PROG_MKDIR_P
|
||||
AC_REQUIRE([AC_C_INLINE])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([bind])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([bind])
|
||||
gl_FUNC_BTOWC
|
||||
if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then
|
||||
AC_LIBOBJ([btowc])
|
||||
gl_PREREQ_BTOWC
|
||||
fi
|
||||
gl_WCHAR_MODULE_INDICATOR([btowc])
|
||||
gl_BYTESWAP
|
||||
gl_CANONICALIZE_LGPL
|
||||
if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then
|
||||
AC_LIBOBJ([canonicalize-lgpl])
|
||||
fi
|
||||
gl_MODULE_INDICATOR([canonicalize-lgpl])
|
||||
gl_STDLIB_MODULE_INDICATOR([canonicalize_file_name])
|
||||
gl_STDLIB_MODULE_INDICATOR([realpath])
|
||||
gl_FUNC_CEIL
|
||||
if test $REPLACE_CEIL = 1; then
|
||||
AC_LIBOBJ([ceil])
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([ceil])
|
||||
gl_UNISTD_MODULE_INDICATOR([chdir])
|
||||
gl_CLOCK_TIME
|
||||
gl_FUNC_CLOSE
|
||||
if test $REPLACE_CLOSE = 1; then
|
||||
AC_LIBOBJ([close])
|
||||
fi
|
||||
gl_UNISTD_MODULE_INDICATOR([close])
|
||||
gl_CONFIGMAKE_PREP
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([connect])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([connect])
|
||||
gl_DIRENT_H
|
||||
gl_FUNC_DIRFD
|
||||
if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then
|
||||
AC_LIBOBJ([dirfd])
|
||||
gl_PREREQ_DIRFD
|
||||
fi
|
||||
gl_DIRENT_MODULE_INDICATOR([dirfd])
|
||||
gl_DIRNAME_LGPL
|
||||
gl_DOUBLE_SLASH_ROOT
|
||||
gl_FUNC_DUPLOCALE
|
||||
if test $REPLACE_DUPLOCALE = 1; then
|
||||
AC_LIBOBJ([duplocale])
|
||||
gl_PREREQ_DUPLOCALE
|
||||
fi
|
||||
gl_LOCALE_MODULE_INDICATOR([duplocale])
|
||||
gl_ENVIRON
|
||||
gl_UNISTD_MODULE_INDICATOR([environ])
|
||||
gl_HEADER_ERRNO_H
|
||||
gl_FCNTL_H
|
||||
gl_FLOAT_H
|
||||
if test $REPLACE_FLOAT_LDBL = 1; then
|
||||
AC_LIBOBJ([float])
|
||||
fi
|
||||
if test $REPLACE_ITOLD = 1; then
|
||||
AC_LIBOBJ([itold])
|
||||
fi
|
||||
gl_FUNC_FLOCK
|
||||
if test $HAVE_FLOCK = 0; then
|
||||
AC_LIBOBJ([flock])
|
||||
gl_PREREQ_FLOCK
|
||||
fi
|
||||
gl_HEADER_SYS_FILE_MODULE_INDICATOR([flock])
|
||||
gl_FUNC_FLOOR
|
||||
if test $REPLACE_FLOOR = 1; then
|
||||
AC_LIBOBJ([floor])
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([floor])
|
||||
gl_FUNC_FREXP
|
||||
if test $gl_func_frexp != yes; then
|
||||
AC_LIBOBJ([frexp])
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([frexp])
|
||||
gl_FUNC_FSTAT
|
||||
if test $REPLACE_FSTAT = 1; then
|
||||
AC_LIBOBJ([fstat])
|
||||
gl_PREREQ_FSTAT
|
||||
fi
|
||||
gl_SYS_STAT_MODULE_INDICATOR([fstat])
|
||||
gl_FUNC
|
||||
gl_GETADDRINFO
|
||||
if test $HAVE_GETADDRINFO = 0; then
|
||||
AC_LIBOBJ([getaddrinfo])
|
||||
fi
|
||||
if test $HAVE_DECL_GAI_STRERROR = 0 || test $REPLACE_GAI_STRERROR = 1; then
|
||||
AC_LIBOBJ([gai_strerror])
|
||||
fi
|
||||
gl_NETDB_MODULE_INDICATOR([getaddrinfo])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([getpeername])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([getpeername])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([getsockname])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([getsockname])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([getsockopt])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([getsockopt])
|
||||
AC_SUBST([LIBINTL])
|
||||
AC_SUBST([LTLIBINTL])
|
||||
# Autoconf 2.61a.99 and earlier don't support linking a file only
|
||||
# in VPATH builds. But since GNUmakefile is for maintainer use
|
||||
# only, it does not matter if we skip the link with older autoconf.
|
||||
# Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
|
||||
# builds, so use a shell variable to bypass this.
|
||||
GNUmakefile=GNUmakefile
|
||||
m4_if(m4_version_compare([2.61a.100],
|
||||
m4_defn([m4_PACKAGE_VERSION])), [1], [],
|
||||
[AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [],
|
||||
[GNUmakefile=$GNUmakefile])])
|
||||
gl_HOSTENT
|
||||
AM_ICONV
|
||||
m4_ifdef([gl_ICONV_MODULE_INDICATOR],
|
||||
[gl_ICONV_MODULE_INDICATOR([iconv])])
|
||||
gl_ICONV_H
|
||||
gl_FUNC_ICONV_OPEN
|
||||
if test $REPLACE_ICONV_OPEN = 1; then
|
||||
AC_LIBOBJ([iconv_open])
|
||||
fi
|
||||
if test $REPLACE_ICONV = 1; then
|
||||
AC_LIBOBJ([iconv])
|
||||
AC_LIBOBJ([iconv_close])
|
||||
fi
|
||||
gl_FUNC_ICONV_OPEN_UTF
|
||||
gl_FUNC_INET_NTOP
|
||||
if test $HAVE_INET_NTOP = 0 || test $REPLACE_INET_NTOP = 1; then
|
||||
AC_LIBOBJ([inet_ntop])
|
||||
gl_PREREQ_INET_NTOP
|
||||
fi
|
||||
gl_ARPA_INET_MODULE_INDICATOR([inet_ntop])
|
||||
gl_FUNC_INET_PTON
|
||||
if test $HAVE_INET_PTON = 0 || test $REPLACE_INET_NTOP = 1; then
|
||||
AC_LIBOBJ([inet_pton])
|
||||
gl_PREREQ_INET_PTON
|
||||
fi
|
||||
gl_ARPA_INET_MODULE_INDICATOR([inet_pton])
|
||||
gl_INLINE
|
||||
gl_ISINF
|
||||
if test $REPLACE_ISINF = 1; then
|
||||
AC_LIBOBJ([isinf])
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([isinf])
|
||||
gl_ISNAN
|
||||
gl_MATH_MODULE_INDICATOR([isnan])
|
||||
gl_FUNC_ISNAND
|
||||
m4_ifdef([gl_ISNAN], [
|
||||
AC_REQUIRE([gl_ISNAN])
|
||||
])
|
||||
if test $HAVE_ISNAND = 0 || test $REPLACE_ISNAN = 1; then
|
||||
AC_LIBOBJ([isnand])
|
||||
gl_PREREQ_ISNAND
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([isnand])
|
||||
gl_FUNC_ISNAND_NO_LIBM
|
||||
if test $gl_func_isnand_no_libm != yes; then
|
||||
AC_LIBOBJ([isnand])
|
||||
gl_PREREQ_ISNAND
|
||||
fi
|
||||
gl_FUNC_ISNANF
|
||||
m4_ifdef([gl_ISNAN], [
|
||||
AC_REQUIRE([gl_ISNAN])
|
||||
])
|
||||
if test $HAVE_ISNANF = 0 || test $REPLACE_ISNAN = 1; then
|
||||
AC_LIBOBJ([isnanf])
|
||||
gl_PREREQ_ISNANF
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([isnanf])
|
||||
gl_FUNC_ISNANL
|
||||
m4_ifdef([gl_ISNAN], [
|
||||
AC_REQUIRE([gl_ISNAN])
|
||||
])
|
||||
if test $HAVE_ISNANL = 0 || test $REPLACE_ISNAN = 1; then
|
||||
AC_LIBOBJ([isnanl])
|
||||
gl_PREREQ_ISNANL
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([isnanl])
|
||||
gl_LANGINFO_H
|
||||
AC_REQUIRE([gl_LARGEFILE])
|
||||
gl_FUNC_LDEXP
|
||||
gl_LD_VERSION_SCRIPT
|
||||
gl_VISIBILITY
|
||||
gl_LIBUNISTRING
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([listen])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([listen])
|
||||
gl_LOCALCHARSET
|
||||
LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\""
|
||||
AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT])
|
||||
gl_LOCALE_H
|
||||
gl_FUNC_LOCALECONV
|
||||
if test $REPLACE_LOCALECONV = 1; then
|
||||
AC_LIBOBJ([localeconv])
|
||||
gl_PREREQ_LOCALECONV
|
||||
fi
|
||||
gl_LOCALE_MODULE_INDICATOR([localeconv])
|
||||
AC_REQUIRE([gl_FUNC_LOG])
|
||||
if test $REPLACE_LOG = 1; then
|
||||
AC_LIBOBJ([log])
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([log])
|
||||
gl_FUNC_LOG1P
|
||||
if test $HAVE_LOG1P = 0 || test $REPLACE_LOG1P = 1; then
|
||||
AC_LIBOBJ([log1p])
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([log1p])
|
||||
gl_FUNC_LSTAT
|
||||
if test $REPLACE_LSTAT = 1; then
|
||||
AC_LIBOBJ([lstat])
|
||||
gl_PREREQ_LSTAT
|
||||
fi
|
||||
gl_SYS_STAT_MODULE_INDICATOR([lstat])
|
||||
AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER],
|
||||
[AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])])
|
||||
gl_FUNC_MALLOC_GNU
|
||||
if test $REPLACE_MALLOC = 1; then
|
||||
AC_LIBOBJ([malloc])
|
||||
fi
|
||||
gl_MODULE_INDICATOR([malloc-gnu])
|
||||
gl_FUNC_MALLOC_POSIX
|
||||
if test $REPLACE_MALLOC = 1; then
|
||||
AC_LIBOBJ([malloc])
|
||||
fi
|
||||
gl_STDLIB_MODULE_INDICATOR([malloc-posix])
|
||||
gl_MALLOCA
|
||||
gl_MATH_H
|
||||
gl_FUNC_MBRTOWC
|
||||
if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then
|
||||
AC_LIBOBJ([mbrtowc])
|
||||
gl_PREREQ_MBRTOWC
|
||||
fi
|
||||
gl_WCHAR_MODULE_INDICATOR([mbrtowc])
|
||||
gl_FUNC_MBSINIT
|
||||
if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then
|
||||
AC_LIBOBJ([mbsinit])
|
||||
gl_PREREQ_MBSINIT
|
||||
fi
|
||||
gl_WCHAR_MODULE_INDICATOR([mbsinit])
|
||||
gl_FUNC_MBTOWC
|
||||
if test $REPLACE_MBTOWC = 1; then
|
||||
AC_LIBOBJ([mbtowc])
|
||||
gl_PREREQ_MBTOWC
|
||||
fi
|
||||
gl_STDLIB_MODULE_INDICATOR([mbtowc])
|
||||
gl_FUNC_MEMCHR
|
||||
if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then
|
||||
AC_LIBOBJ([memchr])
|
||||
gl_PREREQ_MEMCHR
|
||||
fi
|
||||
gl_STRING_MODULE_INDICATOR([memchr])
|
||||
gl_MSVC_INVAL
|
||||
if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
|
||||
AC_LIBOBJ([msvc-inval])
|
||||
fi
|
||||
gl_MSVC_NOTHROW
|
||||
if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
|
||||
AC_LIBOBJ([msvc-nothrow])
|
||||
fi
|
||||
gl_MULTIARCH
|
||||
gl_HEADER_NETDB
|
||||
gl_HEADER_NETINET_IN
|
||||
AC_PROG_MKDIR_P
|
||||
gl_FUNC_NL_LANGINFO
|
||||
if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then
|
||||
AC_LIBOBJ([nl_langinfo])
|
||||
fi
|
||||
gl_LANGINFO_MODULE_INDICATOR([nl_langinfo])
|
||||
gl_NPROC
|
||||
gl_FUNC_OPEN
|
||||
if test $REPLACE_OPEN = 1; then
|
||||
AC_LIBOBJ([open])
|
||||
gl_PREREQ_OPEN
|
||||
fi
|
||||
gl_FCNTL_MODULE_INDICATOR([open])
|
||||
gl_PATHMAX
|
||||
gl_FUNC_PIPE2
|
||||
gl_UNISTD_MODULE_INDICATOR([pipe2])
|
||||
gl_FUNC_PUTENV
|
||||
if test $REPLACE_PUTENV = 1; then
|
||||
AC_LIBOBJ([putenv])
|
||||
fi
|
||||
gl_STDLIB_MODULE_INDICATOR([putenv])
|
||||
gl_FUNC_RAISE
|
||||
if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then
|
||||
AC_LIBOBJ([raise])
|
||||
gl_PREREQ_RAISE
|
||||
fi
|
||||
gl_SIGNAL_MODULE_INDICATOR([raise])
|
||||
gl_FUNC_READ
|
||||
if test $REPLACE_READ = 1; then
|
||||
AC_LIBOBJ([read])
|
||||
gl_PREREQ_READ
|
||||
fi
|
||||
gl_UNISTD_MODULE_INDICATOR([read])
|
||||
gl_FUNC_READLINK
|
||||
if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then
|
||||
AC_LIBOBJ([readlink])
|
||||
gl_PREREQ_READLINK
|
||||
fi
|
||||
gl_UNISTD_MODULE_INDICATOR([readlink])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([recv])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([recv])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([recvfrom])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([recvfrom])
|
||||
gl_REGEX
|
||||
if test $ac_use_included_regex = yes; then
|
||||
AC_LIBOBJ([regex])
|
||||
gl_PREREQ_REGEX
|
||||
fi
|
||||
gl_FUNC_RENAME
|
||||
if test $REPLACE_RENAME = 1; then
|
||||
AC_LIBOBJ([rename])
|
||||
fi
|
||||
gl_STDIO_MODULE_INDICATOR([rename])
|
||||
gl_FUNC_RMDIR
|
||||
if test $REPLACE_RMDIR = 1; then
|
||||
AC_LIBOBJ([rmdir])
|
||||
fi
|
||||
gl_UNISTD_MODULE_INDICATOR([rmdir])
|
||||
gl_FUNC_ROUND
|
||||
if test $HAVE_ROUND = 0 || test $REPLACE_ROUND = 1; then
|
||||
AC_LIBOBJ([round])
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([round])
|
||||
gl_PREREQ_SAFE_READ
|
||||
gl_PREREQ_SAFE_WRITE
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([send])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([send])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([sendto])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([sendto])
|
||||
gl_SERVENT
|
||||
gl_FUNC_SETENV
|
||||
if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
|
||||
AC_LIBOBJ([setenv])
|
||||
fi
|
||||
gl_STDLIB_MODULE_INDICATOR([setenv])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([setsockopt])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([setsockopt])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([shutdown])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([shutdown])
|
||||
gl_SIGNAL_H
|
||||
gl_SIZE_MAX
|
||||
gl_FUNC_SNPRINTF
|
||||
gl_STDIO_MODULE_INDICATOR([snprintf])
|
||||
gl_MODULE_INDICATOR([snprintf])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([socket])
|
||||
fi
|
||||
# When this module is used, sockets may actually occur as file descriptors,
|
||||
# hence it is worth warning if the modules 'close' and 'ioctl' are not used.
|
||||
m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])])
|
||||
m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])])
|
||||
AC_REQUIRE([gl_PREREQ_SYS_H_WINSOCK2])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1
|
||||
SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([socket])
|
||||
gl_SOCKETLIB
|
||||
gl_SOCKETS
|
||||
gl_TYPE_SOCKLEN_T
|
||||
gt_TYPE_SSIZE_T
|
||||
gl_FUNC_STAT
|
||||
if test $REPLACE_STAT = 1; then
|
||||
AC_LIBOBJ([stat])
|
||||
gl_PREREQ_STAT
|
||||
fi
|
||||
gl_SYS_STAT_MODULE_INDICATOR([stat])
|
||||
gl_STAT_TIME
|
||||
gl_STAT_BIRTHTIME
|
||||
gl_STDALIGN_H
|
||||
AM_STDBOOL_H
|
||||
gl_STDDEF_H
|
||||
gl_STDINT_H
|
||||
gl_STDIO_H
|
||||
gl_STDLIB_H
|
||||
gl_FUNC_GNU_STRFTIME
|
||||
if test $gl_cond_libtool = false; then
|
||||
gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
|
||||
gl_libdeps="$gl_libdeps $LIBICONV"
|
||||
fi
|
||||
gl_HEADER_STRING_H
|
||||
gl_HEADER_SYS_FILE_H
|
||||
AC_PROG_MKDIR_P
|
||||
gl_HEADER_SYS_SOCKET
|
||||
AC_PROG_MKDIR_P
|
||||
gl_HEADER_SYS_STAT_H
|
||||
AC_PROG_MKDIR_P
|
||||
gl_HEADER_SYS_TIME_H
|
||||
AC_PROG_MKDIR_P
|
||||
gl_SYS_TYPES_H
|
||||
AC_PROG_MKDIR_P
|
||||
gl_HEADER_SYS_UIO
|
||||
AC_PROG_MKDIR_P
|
||||
gl_HEADER_TIME_H
|
||||
gl_TIME_R
|
||||
if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then
|
||||
AC_LIBOBJ([time_r])
|
||||
gl_PREREQ_TIME_R
|
||||
fi
|
||||
gl_TIME_MODULE_INDICATOR([time_r])
|
||||
gl_FUNC_TRUNC
|
||||
if test $HAVE_DECL_TRUNC = 0 || test $REPLACE_TRUNC = 1; then
|
||||
AC_LIBOBJ([trunc])
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([trunc])
|
||||
gl_UNISTD_H
|
||||
gl_LIBUNISTRING_LIBHEADER([0.9.2], [unistr.h])
|
||||
gl_MODULE_INDICATOR([unistr/u8-mbtouc])
|
||||
gl_LIBUNISTRING_MODULE([0.9.4], [unistr/u8-mbtouc])
|
||||
gl_MODULE_INDICATOR([unistr/u8-mbtouc-unsafe])
|
||||
gl_LIBUNISTRING_MODULE([0.9.4], [unistr/u8-mbtouc-unsafe])
|
||||
gl_MODULE_INDICATOR([unistr/u8-mbtoucr])
|
||||
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtoucr])
|
||||
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-prev])
|
||||
gl_MODULE_INDICATOR([unistr/u8-uctomb])
|
||||
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb])
|
||||
gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h])
|
||||
gl_FUNC_VASNPRINTF
|
||||
gl_FUNC_VSNPRINTF
|
||||
gl_STDIO_MODULE_INDICATOR([vsnprintf])
|
||||
gl_WCHAR_H
|
||||
gl_FUNC_WCRTOMB
|
||||
if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then
|
||||
AC_LIBOBJ([wcrtomb])
|
||||
gl_PREREQ_WCRTOMB
|
||||
fi
|
||||
gl_WCHAR_MODULE_INDICATOR([wcrtomb])
|
||||
gl_WCTYPE_H
|
||||
gl_FUNC_WRITE
|
||||
if test $REPLACE_WRITE = 1; then
|
||||
AC_LIBOBJ([write])
|
||||
gl_PREREQ_WRITE
|
||||
fi
|
||||
gl_UNISTD_MODULE_INDICATOR([write])
|
||||
gl_XSIZE
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([accept])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([accept])
|
||||
gl_FUNC_ALLOCA
|
||||
gl_HEADER_ARPA_INET
|
||||
AC_PROG_MKDIR_P
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([bind])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([bind])
|
||||
gl_FUNC_BTOWC
|
||||
if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then
|
||||
AC_LIBOBJ([btowc])
|
||||
gl_PREREQ_BTOWC
|
||||
fi
|
||||
gl_WCHAR_MODULE_INDICATOR([btowc])
|
||||
gl_BYTESWAP
|
||||
gl_CANONICALIZE_LGPL
|
||||
if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then
|
||||
AC_LIBOBJ([canonicalize-lgpl])
|
||||
fi
|
||||
gl_MODULE_INDICATOR([canonicalize-lgpl])
|
||||
gl_STDLIB_MODULE_INDICATOR([canonicalize_file_name])
|
||||
gl_STDLIB_MODULE_INDICATOR([realpath])
|
||||
gl_FUNC_CEIL
|
||||
if test $REPLACE_CEIL = 1; then
|
||||
AC_LIBOBJ([ceil])
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([ceil])
|
||||
gl_UNISTD_MODULE_INDICATOR([chdir])
|
||||
gl_CLOCK_TIME
|
||||
gl_FUNC_CLOSE
|
||||
if test $REPLACE_CLOSE = 1; then
|
||||
AC_LIBOBJ([close])
|
||||
fi
|
||||
gl_UNISTD_MODULE_INDICATOR([close])
|
||||
gl_CONFIGMAKE_PREP
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([connect])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([connect])
|
||||
gl_DIRENT_H
|
||||
gl_FUNC_DIRFD
|
||||
if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then
|
||||
AC_LIBOBJ([dirfd])
|
||||
gl_PREREQ_DIRFD
|
||||
fi
|
||||
gl_DIRENT_MODULE_INDICATOR([dirfd])
|
||||
gl_DIRNAME_LGPL
|
||||
gl_DOUBLE_SLASH_ROOT
|
||||
gl_FUNC_DUPLOCALE
|
||||
if test $REPLACE_DUPLOCALE = 1; then
|
||||
AC_LIBOBJ([duplocale])
|
||||
gl_PREREQ_DUPLOCALE
|
||||
fi
|
||||
gl_LOCALE_MODULE_INDICATOR([duplocale])
|
||||
gl_ENVIRON
|
||||
gl_UNISTD_MODULE_INDICATOR([environ])
|
||||
gl_HEADER_ERRNO_H
|
||||
AC_REQUIRE([gl_EXTERN_INLINE])
|
||||
gl_FCNTL_H
|
||||
gl_FLOAT_H
|
||||
if test $REPLACE_FLOAT_LDBL = 1; then
|
||||
AC_LIBOBJ([float])
|
||||
fi
|
||||
if test $REPLACE_ITOLD = 1; then
|
||||
AC_LIBOBJ([itold])
|
||||
fi
|
||||
gl_FUNC_FLOCK
|
||||
if test $HAVE_FLOCK = 0; then
|
||||
AC_LIBOBJ([flock])
|
||||
gl_PREREQ_FLOCK
|
||||
fi
|
||||
gl_HEADER_SYS_FILE_MODULE_INDICATOR([flock])
|
||||
gl_FUNC_FLOOR
|
||||
if test $REPLACE_FLOOR = 1; then
|
||||
AC_LIBOBJ([floor])
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([floor])
|
||||
gl_FUNC_FREXP
|
||||
if test $gl_func_frexp != yes; then
|
||||
AC_LIBOBJ([frexp])
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([frexp])
|
||||
gl_FUNC_FSTAT
|
||||
if test $REPLACE_FSTAT = 1; then
|
||||
AC_LIBOBJ([fstat])
|
||||
gl_PREREQ_FSTAT
|
||||
fi
|
||||
gl_SYS_STAT_MODULE_INDICATOR([fstat])
|
||||
gl_FUNC
|
||||
gl_GETADDRINFO
|
||||
if test $HAVE_GETADDRINFO = 0; then
|
||||
AC_LIBOBJ([getaddrinfo])
|
||||
fi
|
||||
if test $HAVE_DECL_GAI_STRERROR = 0 || test $REPLACE_GAI_STRERROR = 1; then
|
||||
AC_LIBOBJ([gai_strerror])
|
||||
fi
|
||||
gl_NETDB_MODULE_INDICATOR([getaddrinfo])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([getpeername])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([getpeername])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([getsockname])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([getsockname])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([getsockopt])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([getsockopt])
|
||||
AC_SUBST([LIBINTL])
|
||||
AC_SUBST([LTLIBINTL])
|
||||
# Autoconf 2.61a.99 and earlier don't support linking a file only
|
||||
# in VPATH builds. But since GNUmakefile is for maintainer use
|
||||
# only, it does not matter if we skip the link with older autoconf.
|
||||
# Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
|
||||
# builds, so use a shell variable to bypass this.
|
||||
GNUmakefile=GNUmakefile
|
||||
m4_if(m4_version_compare([2.61a.100],
|
||||
m4_defn([m4_PACKAGE_VERSION])), [1], [],
|
||||
[AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [],
|
||||
[GNUmakefile=$GNUmakefile])])
|
||||
gl_HOSTENT
|
||||
AM_ICONV
|
||||
m4_ifdef([gl_ICONV_MODULE_INDICATOR],
|
||||
[gl_ICONV_MODULE_INDICATOR([iconv])])
|
||||
gl_ICONV_H
|
||||
gl_FUNC_ICONV_OPEN
|
||||
if test $REPLACE_ICONV_OPEN = 1; then
|
||||
AC_LIBOBJ([iconv_open])
|
||||
fi
|
||||
if test $REPLACE_ICONV = 1; then
|
||||
AC_LIBOBJ([iconv])
|
||||
AC_LIBOBJ([iconv_close])
|
||||
fi
|
||||
gl_FUNC_ICONV_OPEN_UTF
|
||||
gl_FUNC_INET_NTOP
|
||||
if test $HAVE_INET_NTOP = 0 || test $REPLACE_INET_NTOP = 1; then
|
||||
AC_LIBOBJ([inet_ntop])
|
||||
gl_PREREQ_INET_NTOP
|
||||
fi
|
||||
gl_ARPA_INET_MODULE_INDICATOR([inet_ntop])
|
||||
gl_FUNC_INET_PTON
|
||||
if test $HAVE_INET_PTON = 0 || test $REPLACE_INET_NTOP = 1; then
|
||||
AC_LIBOBJ([inet_pton])
|
||||
gl_PREREQ_INET_PTON
|
||||
fi
|
||||
gl_ARPA_INET_MODULE_INDICATOR([inet_pton])
|
||||
gl_INLINE
|
||||
gl_ISINF
|
||||
if test $REPLACE_ISINF = 1; then
|
||||
AC_LIBOBJ([isinf])
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([isinf])
|
||||
gl_ISNAN
|
||||
gl_MATH_MODULE_INDICATOR([isnan])
|
||||
gl_FUNC_ISNAND
|
||||
m4_ifdef([gl_ISNAN], [
|
||||
AC_REQUIRE([gl_ISNAN])
|
||||
])
|
||||
if test $HAVE_ISNAND = 0 || test $REPLACE_ISNAN = 1; then
|
||||
AC_LIBOBJ([isnand])
|
||||
gl_PREREQ_ISNAND
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([isnand])
|
||||
gl_FUNC_ISNAND_NO_LIBM
|
||||
if test $gl_func_isnand_no_libm != yes; then
|
||||
AC_LIBOBJ([isnand])
|
||||
gl_PREREQ_ISNAND
|
||||
fi
|
||||
gl_FUNC_ISNANF
|
||||
m4_ifdef([gl_ISNAN], [
|
||||
AC_REQUIRE([gl_ISNAN])
|
||||
])
|
||||
if test $HAVE_ISNANF = 0 || test $REPLACE_ISNAN = 1; then
|
||||
AC_LIBOBJ([isnanf])
|
||||
gl_PREREQ_ISNANF
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([isnanf])
|
||||
gl_FUNC_ISNANL
|
||||
m4_ifdef([gl_ISNAN], [
|
||||
AC_REQUIRE([gl_ISNAN])
|
||||
])
|
||||
if test $HAVE_ISNANL = 0 || test $REPLACE_ISNAN = 1; then
|
||||
AC_LIBOBJ([isnanl])
|
||||
gl_PREREQ_ISNANL
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([isnanl])
|
||||
gl_LANGINFO_H
|
||||
AC_REQUIRE([gl_LARGEFILE])
|
||||
gl_FUNC_LDEXP
|
||||
gl_LD_VERSION_SCRIPT
|
||||
gl_VISIBILITY
|
||||
gl_LIBUNISTRING
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([listen])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([listen])
|
||||
gl_LOCALCHARSET
|
||||
LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\""
|
||||
AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT])
|
||||
gl_LOCALE_H
|
||||
gl_FUNC_LOCALECONV
|
||||
if test $REPLACE_LOCALECONV = 1; then
|
||||
AC_LIBOBJ([localeconv])
|
||||
gl_PREREQ_LOCALECONV
|
||||
fi
|
||||
gl_LOCALE_MODULE_INDICATOR([localeconv])
|
||||
AC_REQUIRE([gl_FUNC_LOG])
|
||||
if test $REPLACE_LOG = 1; then
|
||||
AC_LIBOBJ([log])
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([log])
|
||||
gl_FUNC_LOG1P
|
||||
if test $HAVE_LOG1P = 0 || test $REPLACE_LOG1P = 1; then
|
||||
AC_LIBOBJ([log1p])
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([log1p])
|
||||
gl_FUNC_LSTAT
|
||||
if test $REPLACE_LSTAT = 1; then
|
||||
AC_LIBOBJ([lstat])
|
||||
gl_PREREQ_LSTAT
|
||||
fi
|
||||
gl_SYS_STAT_MODULE_INDICATOR([lstat])
|
||||
AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER],
|
||||
[AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])])
|
||||
gl_FUNC_MALLOC_GNU
|
||||
if test $REPLACE_MALLOC = 1; then
|
||||
AC_LIBOBJ([malloc])
|
||||
fi
|
||||
gl_MODULE_INDICATOR([malloc-gnu])
|
||||
gl_FUNC_MALLOC_POSIX
|
||||
if test $REPLACE_MALLOC = 1; then
|
||||
AC_LIBOBJ([malloc])
|
||||
fi
|
||||
gl_STDLIB_MODULE_INDICATOR([malloc-posix])
|
||||
gl_MALLOCA
|
||||
gl_MATH_H
|
||||
gl_FUNC_MBRTOWC
|
||||
if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then
|
||||
AC_LIBOBJ([mbrtowc])
|
||||
gl_PREREQ_MBRTOWC
|
||||
fi
|
||||
gl_WCHAR_MODULE_INDICATOR([mbrtowc])
|
||||
gl_FUNC_MBSINIT
|
||||
if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then
|
||||
AC_LIBOBJ([mbsinit])
|
||||
gl_PREREQ_MBSINIT
|
||||
fi
|
||||
gl_WCHAR_MODULE_INDICATOR([mbsinit])
|
||||
gl_FUNC_MBTOWC
|
||||
if test $REPLACE_MBTOWC = 1; then
|
||||
AC_LIBOBJ([mbtowc])
|
||||
gl_PREREQ_MBTOWC
|
||||
fi
|
||||
gl_STDLIB_MODULE_INDICATOR([mbtowc])
|
||||
gl_FUNC_MEMCHR
|
||||
if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then
|
||||
AC_LIBOBJ([memchr])
|
||||
gl_PREREQ_MEMCHR
|
||||
fi
|
||||
gl_STRING_MODULE_INDICATOR([memchr])
|
||||
gl_MSVC_INVAL
|
||||
if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
|
||||
AC_LIBOBJ([msvc-inval])
|
||||
fi
|
||||
gl_MSVC_NOTHROW
|
||||
if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
|
||||
AC_LIBOBJ([msvc-nothrow])
|
||||
fi
|
||||
gl_MULTIARCH
|
||||
gl_HEADER_NETDB
|
||||
gl_HEADER_NETINET_IN
|
||||
AC_PROG_MKDIR_P
|
||||
gl_FUNC_NL_LANGINFO
|
||||
if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then
|
||||
AC_LIBOBJ([nl_langinfo])
|
||||
fi
|
||||
gl_LANGINFO_MODULE_INDICATOR([nl_langinfo])
|
||||
gl_NPROC
|
||||
gl_FUNC_OPEN
|
||||
if test $REPLACE_OPEN = 1; then
|
||||
AC_LIBOBJ([open])
|
||||
gl_PREREQ_OPEN
|
||||
fi
|
||||
gl_FCNTL_MODULE_INDICATOR([open])
|
||||
gl_PATHMAX
|
||||
gl_FUNC_PIPE2
|
||||
gl_UNISTD_MODULE_INDICATOR([pipe2])
|
||||
gl_FUNC_PUTENV
|
||||
if test $REPLACE_PUTENV = 1; then
|
||||
AC_LIBOBJ([putenv])
|
||||
fi
|
||||
gl_STDLIB_MODULE_INDICATOR([putenv])
|
||||
gl_FUNC_RAISE
|
||||
if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then
|
||||
AC_LIBOBJ([raise])
|
||||
gl_PREREQ_RAISE
|
||||
fi
|
||||
gl_SIGNAL_MODULE_INDICATOR([raise])
|
||||
gl_FUNC_READ
|
||||
if test $REPLACE_READ = 1; then
|
||||
AC_LIBOBJ([read])
|
||||
gl_PREREQ_READ
|
||||
fi
|
||||
gl_UNISTD_MODULE_INDICATOR([read])
|
||||
gl_FUNC_READLINK
|
||||
if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then
|
||||
AC_LIBOBJ([readlink])
|
||||
gl_PREREQ_READLINK
|
||||
fi
|
||||
gl_UNISTD_MODULE_INDICATOR([readlink])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([recv])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([recv])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([recvfrom])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([recvfrom])
|
||||
gl_REGEX
|
||||
if test $ac_use_included_regex = yes; then
|
||||
AC_LIBOBJ([regex])
|
||||
gl_PREREQ_REGEX
|
||||
fi
|
||||
gl_FUNC_RENAME
|
||||
if test $REPLACE_RENAME = 1; then
|
||||
AC_LIBOBJ([rename])
|
||||
fi
|
||||
gl_STDIO_MODULE_INDICATOR([rename])
|
||||
gl_FUNC_RMDIR
|
||||
if test $REPLACE_RMDIR = 1; then
|
||||
AC_LIBOBJ([rmdir])
|
||||
fi
|
||||
gl_UNISTD_MODULE_INDICATOR([rmdir])
|
||||
gl_FUNC_ROUND
|
||||
if test $HAVE_ROUND = 0 || test $REPLACE_ROUND = 1; then
|
||||
AC_LIBOBJ([round])
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([round])
|
||||
gl_PREREQ_SAFE_READ
|
||||
gl_PREREQ_SAFE_WRITE
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([send])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([send])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([sendto])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([sendto])
|
||||
gl_SERVENT
|
||||
gl_FUNC_SETENV
|
||||
if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
|
||||
AC_LIBOBJ([setenv])
|
||||
fi
|
||||
gl_STDLIB_MODULE_INDICATOR([setenv])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([setsockopt])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([setsockopt])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([shutdown])
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([shutdown])
|
||||
gl_SIGNAL_H
|
||||
gl_SIZE_MAX
|
||||
gl_FUNC_SNPRINTF
|
||||
gl_STDIO_MODULE_INDICATOR([snprintf])
|
||||
gl_MODULE_INDICATOR([snprintf])
|
||||
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
AC_LIBOBJ([socket])
|
||||
fi
|
||||
# When this module is used, sockets may actually occur as file descriptors,
|
||||
# hence it is worth warning if the modules 'close' and 'ioctl' are not used.
|
||||
m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])])
|
||||
m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])])
|
||||
AC_REQUIRE([gl_PREREQ_SYS_H_WINSOCK2])
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1
|
||||
SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1
|
||||
fi
|
||||
gl_SYS_SOCKET_MODULE_INDICATOR([socket])
|
||||
gl_SOCKETLIB
|
||||
gl_SOCKETS
|
||||
gl_TYPE_SOCKLEN_T
|
||||
gt_TYPE_SSIZE_T
|
||||
gl_FUNC_STAT
|
||||
if test $REPLACE_STAT = 1; then
|
||||
AC_LIBOBJ([stat])
|
||||
gl_PREREQ_STAT
|
||||
fi
|
||||
gl_SYS_STAT_MODULE_INDICATOR([stat])
|
||||
gl_STAT_TIME
|
||||
gl_STAT_BIRTHTIME
|
||||
gl_STDALIGN_H
|
||||
AM_STDBOOL_H
|
||||
gl_STDDEF_H
|
||||
gl_STDINT_H
|
||||
gl_STDIO_H
|
||||
gl_STDLIB_H
|
||||
gl_FUNC_GNU_STRFTIME
|
||||
if test $gl_cond_libtool = false; then
|
||||
gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
|
||||
gl_libdeps="$gl_libdeps $LIBICONV"
|
||||
fi
|
||||
gl_HEADER_STRING_H
|
||||
gl_HEADER_SYS_FILE_H
|
||||
AC_PROG_MKDIR_P
|
||||
gl_HEADER_SYS_SOCKET
|
||||
AC_PROG_MKDIR_P
|
||||
gl_HEADER_SYS_STAT_H
|
||||
AC_PROG_MKDIR_P
|
||||
gl_HEADER_SYS_TIME_H
|
||||
AC_PROG_MKDIR_P
|
||||
gl_SYS_TYPES_H
|
||||
AC_PROG_MKDIR_P
|
||||
gl_HEADER_SYS_UIO
|
||||
AC_PROG_MKDIR_P
|
||||
gl_HEADER_TIME_H
|
||||
gl_TIME_R
|
||||
if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then
|
||||
AC_LIBOBJ([time_r])
|
||||
gl_PREREQ_TIME_R
|
||||
fi
|
||||
gl_TIME_MODULE_INDICATOR([time_r])
|
||||
gl_FUNC_TRUNC
|
||||
if test $HAVE_DECL_TRUNC = 0 || test $REPLACE_TRUNC = 1; then
|
||||
AC_LIBOBJ([trunc])
|
||||
fi
|
||||
gl_MATH_MODULE_INDICATOR([trunc])
|
||||
gl_UNISTD_H
|
||||
gl_LIBUNISTRING_LIBHEADER([0.9.2], [unistr.h])
|
||||
gl_MODULE_INDICATOR([unistr/u8-mbtouc])
|
||||
gl_LIBUNISTRING_MODULE([0.9.4], [unistr/u8-mbtouc])
|
||||
gl_MODULE_INDICATOR([unistr/u8-mbtouc-unsafe])
|
||||
gl_LIBUNISTRING_MODULE([0.9.4], [unistr/u8-mbtouc-unsafe])
|
||||
gl_MODULE_INDICATOR([unistr/u8-mbtoucr])
|
||||
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtoucr])
|
||||
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-prev])
|
||||
gl_MODULE_INDICATOR([unistr/u8-uctomb])
|
||||
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb])
|
||||
gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h])
|
||||
gl_FUNC_VASNPRINTF
|
||||
gl_FUNC_VSNPRINTF
|
||||
gl_STDIO_MODULE_INDICATOR([vsnprintf])
|
||||
gl_WCHAR_H
|
||||
gl_FUNC_WCRTOMB
|
||||
if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then
|
||||
AC_LIBOBJ([wcrtomb])
|
||||
gl_PREREQ_WCRTOMB
|
||||
fi
|
||||
gl_WCHAR_MODULE_INDICATOR([wcrtomb])
|
||||
gl_WCTYPE_H
|
||||
gl_FUNC_WRITE
|
||||
if test $REPLACE_WRITE = 1; then
|
||||
AC_LIBOBJ([write])
|
||||
gl_PREREQ_WRITE
|
||||
fi
|
||||
gl_UNISTD_MODULE_INDICATOR([write])
|
||||
gl_XSIZE
|
||||
# End of code from modules
|
||||
m4_ifval(gl_LIBSOURCES_LIST, [
|
||||
m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ ||
|
||||
|
@ -865,6 +866,7 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
lib/arpa_inet.in.h
|
||||
lib/asnprintf.c
|
||||
lib/basename-lgpl.c
|
||||
lib/binary-io.c
|
||||
lib/binary-io.h
|
||||
lib/bind.c
|
||||
lib/btowc.c
|
||||
|
@ -996,6 +998,7 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
lib/socket.c
|
||||
lib/sockets.c
|
||||
lib/sockets.h
|
||||
lib/stat-time.c
|
||||
lib/stat-time.h
|
||||
lib/stat.c
|
||||
lib/stdalign.in.h
|
||||
|
@ -1040,6 +1043,7 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
lib/wcrtomb.c
|
||||
lib/wctype.in.h
|
||||
lib/write.c
|
||||
lib/xsize.c
|
||||
lib/xsize.h
|
||||
m4/00gnulib.m4
|
||||
m4/absolute-header.m4
|
||||
|
@ -1067,6 +1071,7 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
m4/exponentf.m4
|
||||
m4/exponentl.m4
|
||||
m4/extensions.m4
|
||||
m4/extern-inline.m4
|
||||
m4/fcntl-o.m4
|
||||
m4/fcntl_h.m4
|
||||
m4/float_h.m4
|
||||
|
|
58
m4/lib-ld.m4
58
m4/lib-ld.m4
|
@ -1,33 +1,39 @@
|
|||
# lib-ld.m4 serial 5 (gettext-0.18.2)
|
||||
# lib-ld.m4 serial 6
|
||||
dnl Copyright (C) 1996-2003, 2009-2012 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl Subroutines of libtool.m4,
|
||||
dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
|
||||
dnl with libtool.m4.
|
||||
dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
|
||||
dnl collision with libtool.m4.
|
||||
|
||||
dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
|
||||
dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.
|
||||
AC_DEFUN([AC_LIB_PROG_LD_GNU],
|
||||
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
|
||||
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
|
||||
[# I'd rather use --version here, but apparently some GNU lds only accept -v.
|
||||
case `$LD -v 2>&1 </dev/null` in
|
||||
*GNU* | *'with BFD'*)
|
||||
acl_cv_prog_gnu_ld=yes ;;
|
||||
acl_cv_prog_gnu_ld=yes
|
||||
;;
|
||||
*)
|
||||
acl_cv_prog_gnu_ld=no ;;
|
||||
acl_cv_prog_gnu_ld=no
|
||||
;;
|
||||
esac])
|
||||
with_gnu_ld=$acl_cv_prog_gnu_ld
|
||||
])
|
||||
|
||||
dnl From libtool-1.4. Sets the variable LD.
|
||||
dnl From libtool-2.4. Sets the variable LD.
|
||||
AC_DEFUN([AC_LIB_PROG_LD],
|
||||
[AC_ARG_WITH([gnu-ld],
|
||||
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
|
||||
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
[AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
|
||||
AC_ARG_WITH([gnu-ld],
|
||||
[AS_HELP_STRING([--with-gnu-ld],
|
||||
[assume the C compiler uses GNU ld [default=no]])],
|
||||
[test "$withval" = no || with_gnu_ld=yes],
|
||||
[with_gnu_ld=no])dnl
|
||||
|
||||
# Prepare PATH_SEPARATOR.
|
||||
# The user is always right.
|
||||
if test "${PATH_SEPARATOR+set}" != set; then
|
||||
|
@ -40,10 +46,11 @@ if test "${PATH_SEPARATOR+set}" != set; then
|
|||
|| PATH_SEPARATOR=';'
|
||||
}
|
||||
fi
|
||||
|
||||
ac_prog=ld
|
||||
if test "$GCC" = yes; then
|
||||
# Check if gcc -print-prog-name=ld gives a path.
|
||||
AC_MSG_CHECKING([for ld used by GCC])
|
||||
AC_MSG_CHECKING([for ld used by $CC])
|
||||
case $host in
|
||||
*-*-mingw*)
|
||||
# gcc leaves a trailing carriage return which upsets mingw
|
||||
|
@ -53,11 +60,11 @@ if test "$GCC" = yes; then
|
|||
esac
|
||||
case $ac_prog in
|
||||
# Accept absolute paths.
|
||||
[[\\/]* | [A-Za-z]:[\\/]*)]
|
||||
[re_direlt='/[^/][^/]*/\.\./']
|
||||
# Canonicalize the path of ld
|
||||
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
|
||||
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
|
||||
[[\\/]]* | ?:[[\\/]]*)
|
||||
re_direlt='/[[^/]][[^/]]*/\.\./'
|
||||
# Canonicalize the pathname of ld
|
||||
ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
|
||||
while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
|
||||
ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
|
||||
done
|
||||
test -z "$LD" && LD="$ac_prog"
|
||||
|
@ -78,23 +85,26 @@ else
|
|||
fi
|
||||
AC_CACHE_VAL([acl_cv_path_LD],
|
||||
[if test -z "$LD"; then
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
|
||||
acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
|
||||
for ac_dir in $PATH; do
|
||||
IFS="$acl_save_ifs"
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
|
||||
acl_cv_path_LD="$ac_dir/$ac_prog"
|
||||
# Check to see if the program is GNU ld. I'd rather use --version,
|
||||
# but apparently some GNU ld's only accept -v.
|
||||
# but apparently some variants of GNU ld only accept -v.
|
||||
# Break only if it was the GNU/non-GNU ld that we prefer.
|
||||
case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
|
||||
case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
|
||||
*GNU* | *'with BFD'*)
|
||||
test "$with_gnu_ld" != no && break ;;
|
||||
test "$with_gnu_ld" != no && break
|
||||
;;
|
||||
*)
|
||||
test "$with_gnu_ld" != yes && break ;;
|
||||
test "$with_gnu_ld" != yes && break
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
IFS="$acl_save_ifs"
|
||||
else
|
||||
acl_cv_path_LD="$LD" # Let the user override the test with a path.
|
||||
fi])
|
||||
|
|
|
@ -19,7 +19,6 @@ dnl From Paul Eggert.
|
|||
|
||||
AC_DEFUN([gl_STAT_TIME],
|
||||
[
|
||||
AC_REQUIRE([AC_C_INLINE])
|
||||
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
|
||||
AC_CHECK_HEADERS_ONCE([sys/time.h])
|
||||
|
||||
|
@ -70,7 +69,6 @@ AC_DEFUN([gl_STAT_TIME],
|
|||
#
|
||||
AC_DEFUN([gl_STAT_BIRTHTIME],
|
||||
[
|
||||
AC_REQUIRE([AC_C_INLINE])
|
||||
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
|
||||
AC_CHECK_HEADERS_ONCE([sys/time.h])
|
||||
AC_CHECK_MEMBERS([struct stat.st_birthtimespec.tv_nsec], [],
|
||||
|
|
|
@ -102,6 +102,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
|
|||
REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC])
|
||||
REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC])
|
||||
REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP])
|
||||
REPLACE_PTSNAME=0; AC_SUBST([REPLACE_PTSNAME])
|
||||
REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R])
|
||||
REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV])
|
||||
REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R])
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# xsize.m4 serial 4
|
||||
# xsize.m4 serial 5
|
||||
dnl Copyright (C) 2003-2004, 2008-2012 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -8,6 +8,5 @@ AC_DEFUN([gl_XSIZE],
|
|||
[
|
||||
dnl Prerequisites of lib/xsize.h.
|
||||
AC_REQUIRE([gl_SIZE_MAX])
|
||||
AC_REQUIRE([AC_C_INLINE])
|
||||
AC_CHECK_HEADERS([stdint.h])
|
||||
])
|
||||
|
|
269
maint.mk
269
maint.mk
|
@ -28,6 +28,28 @@ ifneq ($(build_aux),)
|
|||
set $$(_build-aux) relative to $$(srcdir) instead of $$(build_aux)")
|
||||
endif
|
||||
|
||||
# Helper variables.
|
||||
_empty =
|
||||
_sp = $(_empty) $(_empty)
|
||||
|
||||
# _equal,S1,S2
|
||||
# ------------
|
||||
# If S1 == S2, return S1, otherwise the empty string.
|
||||
_equal = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1)))
|
||||
|
||||
# member-check,VARIABLE,VALID-VALUES
|
||||
# ----------------------------------
|
||||
# Check that $(VARIABLE) is in the space-separated list of VALID-VALUES, and
|
||||
# return it. Die otherwise.
|
||||
member-check = \
|
||||
$(strip \
|
||||
$(if $($(1)), \
|
||||
$(if $(findstring $(_sp),$($(1))), \
|
||||
$(error invalid $(1): '$($(1))', expected $(2)), \
|
||||
$(or $(findstring $(_sp)$($(1))$(_sp),$(_sp)$(2)$(_sp)), \
|
||||
$(error invalid $(1): '$($(1))', expected $(2)))), \
|
||||
$(error $(1) undefined)))
|
||||
|
||||
# Do not save the original name or timestamp in the .tar.gz file.
|
||||
# Use --rsyncable if available.
|
||||
gzip_rsyncable := \
|
||||
|
@ -52,16 +74,16 @@ _dot_escaped_srcdir = $(subst .,\.,$(srcdir))
|
|||
# Post-process $(VC_LIST) output, prepending $(srcdir)/, but only
|
||||
# when $(srcdir) is not ".".
|
||||
ifeq ($(srcdir),.)
|
||||
_prepend_srcdir_prefix =
|
||||
_prepend_srcdir_prefix =
|
||||
else
|
||||
_prepend_srcdir_prefix = | sed 's|^|$(srcdir)/|'
|
||||
_prepend_srcdir_prefix = | sed 's|^|$(srcdir)/|'
|
||||
endif
|
||||
|
||||
# In order to be able to consistently filter "."-relative names,
|
||||
# (i.e., with no $(srcdir) prefix), this definition is careful to
|
||||
# remove any $(srcdir) prefix, and to restore what it removes.
|
||||
_sc_excl = \
|
||||
$(if $(exclude_file_name_regexp--$@),$(exclude_file_name_regexp--$@),^$$)
|
||||
$(or $(exclude_file_name_regexp--$@),^$$)
|
||||
VC_LIST_EXCEPT = \
|
||||
$(VC_LIST) | sed 's|^$(_dot_escaped_srcdir)/||' \
|
||||
| if test -f $(srcdir)/.x-$@; then grep -vEf $(srcdir)/.x-$@; \
|
||||
|
@ -78,32 +100,41 @@ VERSION_REGEXP = $(subst .,\.,$(VERSION))
|
|||
PREV_VERSION_REGEXP = $(subst .,\.,$(PREV_VERSION))
|
||||
|
||||
ifeq ($(VC),$(GIT))
|
||||
this-vc-tag = v$(VERSION)
|
||||
this-vc-tag-regexp = v$(VERSION_REGEXP)
|
||||
this-vc-tag = v$(VERSION)
|
||||
this-vc-tag-regexp = v$(VERSION_REGEXP)
|
||||
else
|
||||
tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]')
|
||||
tag-this-version = $(subst .,_,$(VERSION))
|
||||
this-vc-tag = $(tag-package)-$(tag-this-version)
|
||||
this-vc-tag-regexp = $(this-vc-tag)
|
||||
tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]')
|
||||
tag-this-version = $(subst .,_,$(VERSION))
|
||||
this-vc-tag = $(tag-package)-$(tag-this-version)
|
||||
this-vc-tag-regexp = $(this-vc-tag)
|
||||
endif
|
||||
my_distdir = $(PACKAGE)-$(VERSION)
|
||||
|
||||
# Old releases are stored here.
|
||||
release_archive_dir ?= ../release
|
||||
|
||||
# If RELEASE_TYPE is undefined, but RELEASE is, use its second word.
|
||||
# But overwrite VERSION.
|
||||
ifdef RELEASE
|
||||
VERSION := $(word 1, $(RELEASE))
|
||||
RELEASE_TYPE ?= $(word 2, $(RELEASE))
|
||||
endif
|
||||
|
||||
# Validate and return $(RELEASE_TYPE), or die.
|
||||
RELEASE_TYPES = alpha beta stable
|
||||
release-type = $(call member-check,RELEASE_TYPE,$(RELEASE_TYPES))
|
||||
|
||||
# Override gnu_rel_host and url_dir_list in cfg.mk if these are not right.
|
||||
# Use alpha.gnu.org for alpha and beta releases.
|
||||
# Use ftp.gnu.org for stable releases.
|
||||
gnu_ftp_host-alpha = alpha.gnu.org
|
||||
gnu_ftp_host-beta = alpha.gnu.org
|
||||
gnu_ftp_host-stable = ftp.gnu.org
|
||||
gnu_rel_host ?= $(gnu_ftp_host-$(RELEASE_TYPE))
|
||||
gnu_rel_host ?= $(gnu_ftp_host-$(release-type))
|
||||
|
||||
ifeq ($(gnu_rel_host),ftp.gnu.org)
|
||||
url_dir_list ?= http://ftpmirror.gnu.org/$(PACKAGE)
|
||||
else
|
||||
url_dir_list ?= ftp://$(gnu_rel_host)/gnu/$(PACKAGE)
|
||||
endif
|
||||
url_dir_list ?= $(if $(call _equal,$(gnu_rel_host),ftp.gnu.org), \
|
||||
http://ftpmirror.gnu.org/$(PACKAGE), \
|
||||
ftp://$(gnu_rel_host)/gnu/$(PACKAGE))
|
||||
|
||||
# Override this in cfg.mk if you are using a different format in your
|
||||
# NEWS file.
|
||||
|
@ -132,9 +163,9 @@ syntax-check-rules := $(sort $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' \
|
|||
.PHONY: $(syntax-check-rules)
|
||||
|
||||
ifeq ($(shell $(VC_LIST) >/dev/null 2>&1; echo $$?),0)
|
||||
local-checks-available += $(syntax-check-rules)
|
||||
local-checks-available += $(syntax-check-rules)
|
||||
else
|
||||
local-checks-available += no-vc-detected
|
||||
local-checks-available += no-vc-detected
|
||||
no-vc-detected:
|
||||
@echo "No version control files detected; skipping syntax check"
|
||||
endif
|
||||
|
@ -187,9 +218,11 @@ syntax-check: $(local-check)
|
|||
#
|
||||
# in_vc_files | in_files
|
||||
#
|
||||
# grep-E-style regexp denoting the files to check. If no files
|
||||
# are specified the default are all the files that are under
|
||||
# version control.
|
||||
# grep-E-style regexp selecting the files to check. For in_vc_files,
|
||||
# the regexp is used to select matching files from the list of all
|
||||
# version-controlled files; for in_files, it's from the names printed
|
||||
# by "find $(srcdir)". When neither is specified, use all files that
|
||||
# are under version control.
|
||||
#
|
||||
# containing | non_containing
|
||||
#
|
||||
|
@ -261,7 +294,7 @@ define _sc_search_regexp
|
|||
: Filter by file name; \
|
||||
if test -n "$$in_files"; then \
|
||||
files=$$(find $(srcdir) | grep -E "$$in_files" \
|
||||
| grep -Ev '$(exclude_file_name_regexp--$@)'); \
|
||||
| grep -Ev '$(_sc_excl)'); \
|
||||
else \
|
||||
files=$$($(VC_LIST_EXCEPT)); \
|
||||
if test -n "$$in_vc_files"; then \
|
||||
|
@ -328,8 +361,8 @@ sc_prohibit_atoi_atof:
|
|||
sp_ = strcmp *\(.+\)
|
||||
sc_prohibit_strcmp:
|
||||
@prohibit='! *strcmp *\(|\<$(sp_) *[!=]=|[!=]= *$(sp_)' \
|
||||
exclude=':# *define STRN?EQ\(' \
|
||||
halt='$(ME): replace strcmp calls above with STREQ/STRNEQ' \
|
||||
exclude='# *define STRN?EQ\(' \
|
||||
halt='replace strcmp calls above with STREQ/STRNEQ' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# Really. You don't want to use this function.
|
||||
|
@ -351,8 +384,9 @@ sc_prohibit_strncpy:
|
|||
# | xargs --no-run-if-empty \
|
||||
# perl -pi -e 's/(^|[^.])\b(exit ?)\(0\)/$1$2(EXIT_SUCCESS)/'
|
||||
sc_prohibit_magic_number_exit:
|
||||
@prohibit='(^|[^.])\<(usage|exit) ?\([0-9]|\<error ?\([1-9][0-9]*,' \
|
||||
halt='use EXIT_* values rather than magic number' \
|
||||
@prohibit='(^|[^.])\<(usage|exit|error) ?\(-?[0-9]+[,)]' \
|
||||
exclude='exit \(77\)|error ?\(((0|77),|[^,]*)' \
|
||||
halt='use EXIT_* values rather than magic number' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# Using EXIT_SUCCESS as the first argument to error is misleading,
|
||||
|
@ -567,8 +601,6 @@ sc_prohibit_c_ctype_without_use:
|
|||
@h='c-ctype.h' re='\<c_($(ctype_re)) *\(' \
|
||||
$(_sc_header_without_use)
|
||||
|
||||
_empty =
|
||||
_sp = $(_empty) $(_empty)
|
||||
# The following list was generated by running:
|
||||
# man signal.h|col -b|perl -ne '/bsd_signal.*;/.../sigwaitinfo.*;/ and print' \
|
||||
# | perl -lne '/^\s+(?:int|void).*?(\w+).*/ and print $1' | fmt
|
||||
|
@ -721,6 +753,7 @@ sc_require_test_exit_idiom:
|
|||
sc_trailing_blank:
|
||||
@prohibit='[ ]$$' \
|
||||
halt='found trailing blank(s)' \
|
||||
exclude='^Binary file .* matches$$' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# Match lines like the following, but where there is only one space
|
||||
|
@ -741,7 +774,7 @@ _gl_translatable_diag_func_re ?= error
|
|||
sc_unmarked_diagnostics:
|
||||
@prohibit='\<$(_gl_translatable_diag_func_re) *\([^"]*"[^"]*[a-z]{3}' \
|
||||
exclude='(_|ngettext ?)\(' \
|
||||
halt='$(ME): found unmarked diagnostic(s)' \
|
||||
halt='found unmarked diagnostic(s)' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# Avoid useless parentheses like those in this example:
|
||||
|
@ -775,6 +808,11 @@ sc_prohibit_always_true_header_tests:
|
|||
' with the corresponding gnulib module, they are always true') \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
sc_prohibit_defined_have_decl_tests:
|
||||
@prohibit='#[ ]*if(n?def|.*\<defined)\>[ (]+HAVE_DECL_' \
|
||||
halt='HAVE_DECL macros are always defined' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# ==================================================================
|
||||
gl_other_headers_ ?= \
|
||||
intprops.h \
|
||||
|
@ -1012,7 +1050,7 @@ sc_redundant_const:
|
|||
sc_const_long_option:
|
||||
@prohibit='^ *static.*struct option ' \
|
||||
exclude='const struct option|struct option const' \
|
||||
halt='$(ME): add "const" to the above declarations' \
|
||||
halt='add "const" to the above declarations' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
NEWS_hash = \
|
||||
|
@ -1059,7 +1097,7 @@ sc_makefile_at_at_check:
|
|||
&& { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || :
|
||||
|
||||
news-check: NEWS
|
||||
if sed -n $(news-check-lines-spec)p $< \
|
||||
$(AM_V_GEN)if sed -n $(news-check-lines-spec)p $< \
|
||||
| grep -E $(news-check-regexp) >/dev/null; then \
|
||||
:; \
|
||||
else \
|
||||
|
@ -1083,9 +1121,11 @@ fix_po_file_diag = \
|
|||
'you have changed the set of files with translatable diagnostics;\n\
|
||||
apply the above patch\n'
|
||||
|
||||
# Verify that all source files using _() are listed in po/POTFILES.in.
|
||||
# Verify that all source files using _() (more specifically, files that
|
||||
# match $(_gl_translatable_string_re)) are listed in po/POTFILES.in.
|
||||
po_file ?= $(srcdir)/po/POTFILES.in
|
||||
generated_files ?= $(srcdir)/lib/*.[ch]
|
||||
_gl_translatable_string_re ?= \b(N?_|gettext *)\([^)"]*("|$$)
|
||||
sc_po_check:
|
||||
@if test -f $(po_file); then \
|
||||
grep -E -v '^(#|$$)' $(po_file) \
|
||||
|
@ -1105,7 +1145,7 @@ sc_po_check:
|
|||
esac; \
|
||||
files="$$files $$file"; \
|
||||
done; \
|
||||
grep -E -l '\b(N?_|gettext *)\([^)"]*("|$$)' $$files \
|
||||
grep -E -l '$(_gl_translatable_string_re)' $$files \
|
||||
| sed 's|^$(_dot_escaped_srcdir)/||' | sort -u > $@-2; \
|
||||
diff -u -L $(po_file) -L $(po_file) $@-1 $@-2 \
|
||||
|| { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; }; \
|
||||
|
@ -1115,7 +1155,7 @@ sc_po_check:
|
|||
# Sometimes it is useful to change the PATH environment variable
|
||||
# in Makefiles. When doing so, it's better not to use the Unix-centric
|
||||
# path separator of ':', but rather the automake-provided '$(PATH_SEPARATOR)'.
|
||||
msg = '$(ME): Do not use ":" above; use $$(PATH_SEPARATOR) instead'
|
||||
msg = 'Do not use ":" above; use $$(PATH_SEPARATOR) instead'
|
||||
sc_makefile_path_separator_check:
|
||||
@prohibit='PATH[=].*:' \
|
||||
in_vc_files='akefile|\.mk$$' \
|
||||
|
@ -1126,7 +1166,7 @@ sc_makefile_path_separator_check:
|
|||
# i.e., when pkg-M.N.tar.xz already exists (either in "." or in ../release)
|
||||
# and is read-only.
|
||||
writable-files:
|
||||
if test -d $(release_archive_dir); then \
|
||||
$(AM_V_GEN)if test -d $(release_archive_dir); then \
|
||||
for file in $(DIST_ARCHIVES); do \
|
||||
for p in ./ $(release_archive_dir)/; do \
|
||||
test -e $$p$$file || continue; \
|
||||
|
@ -1208,22 +1248,31 @@ sc_Wundef_boolean:
|
|||
# not be constant, or might overflow a stack. In general, use PATH_MAX as
|
||||
# a limit, not an array or alloca size.
|
||||
sc_prohibit_path_max_allocation:
|
||||
@prohibit='(\balloca *\([^)]*|\[[^]]*)PATH_MAX' \
|
||||
@prohibit='(\balloca *\([^)]*|\[[^]]*)\bPATH_MAX' \
|
||||
halt='Avoid stack allocations of size PATH_MAX' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
sc_vulnerable_makefile_CVE-2009-4029:
|
||||
@prohibit='perm -777 -exec chmod a\+rwx|chmod 777 \$$\(distdir\)' \
|
||||
in_files=$$(find $(srcdir) -name Makefile.in) \
|
||||
in_files='(^|/)Makefile\.in$$' \
|
||||
halt=$$(printf '%s\n' \
|
||||
'the above files are vulnerable; beware of running' \
|
||||
' "make dist*" rules, and upgrade to fixed automake' \
|
||||
' see http://bugzilla.redhat.com/542609 for details') \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
sc_vulnerable_makefile_CVE-2012-3386:
|
||||
@prohibit='chmod a\+w \$$\(distdir\)' \
|
||||
in_files='(^|/)Makefile\.in$$' \
|
||||
halt=$$(printf '%s\n' \
|
||||
'the above files are vulnerable; beware of running' \
|
||||
' "make distcheck", and upgrade to fixed automake' \
|
||||
' see http://bugzilla.redhat.com/CVE-2012-3386 for details') \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
vc-diff-check:
|
||||
(unset CDPATH; cd $(srcdir) && $(VC) diff) > vc-diffs || :
|
||||
if test -s vc-diffs; then \
|
||||
$(AM_V_GEN)(unset CDPATH; cd $(srcdir) && $(VC) diff) > vc-diffs || :
|
||||
$(AM_V_at)if test -s vc-diffs; then \
|
||||
cat vc-diffs; \
|
||||
echo "Some files are locally modified:" 1>&2; \
|
||||
exit 1; \
|
||||
|
@ -1239,31 +1288,37 @@ bootstrap-tools ?= autoconf,automake,gnulib
|
|||
|
||||
# If it's not already specified, derive the GPG key ID from
|
||||
# the signed tag we've just applied to mark this release.
|
||||
gpg_key_ID ?= \
|
||||
$$(git cat-file tag v$(VERSION) \
|
||||
| gpgv --status-fd 1 --keyring /dev/null - - 2>/dev/null \
|
||||
| awk '/^\[GNUPG:\] ERRSIG / {print $$3; exit}')
|
||||
gpg_key_ID ?= \
|
||||
$$(cd $(srcdir) \
|
||||
&& git cat-file tag v$(VERSION) \
|
||||
| gpgv --status-fd 1 --keyring /dev/null - - 2>/dev/null \
|
||||
| awk '/^\[GNUPG:\] ERRSIG / {print $$3; exit}')
|
||||
|
||||
translation_project_ ?= coordinator@translationproject.org
|
||||
|
||||
# Make info-gnu the default only for a stable release.
|
||||
ifeq ($(RELEASE_TYPE),stable)
|
||||
announcement_Cc_ ?= $(translation_project_), $(PACKAGE_BUGREPORT)
|
||||
announcement_mail_headers_ ?= \
|
||||
To: info-gnu@gnu.org \
|
||||
Cc: $(announcement_Cc_) \
|
||||
Mail-Followup-To: $(PACKAGE_BUGREPORT)
|
||||
else
|
||||
announcement_Cc_ ?= $(translation_project_)
|
||||
announcement_mail_headers_ ?= \
|
||||
To: $(PACKAGE_BUGREPORT) \
|
||||
Cc: $(announcement_Cc_)
|
||||
endif
|
||||
announcement_Cc_stable = $(translation_project_), $(PACKAGE_BUGREPORT)
|
||||
announcement_mail_headers_stable = \
|
||||
To: info-gnu@gnu.org \
|
||||
Cc: $(announcement_Cc_) \
|
||||
Mail-Followup-To: $(PACKAGE_BUGREPORT)
|
||||
|
||||
announcement_Cc_alpha = $(translation_project_)
|
||||
announcement_mail_headers_alpha = \
|
||||
To: $(PACKAGE_BUGREPORT) \
|
||||
Cc: $(announcement_Cc_)
|
||||
|
||||
announcement_mail_Cc_beta = $(announcement_mail_Cc_alpha)
|
||||
announcement_mail_headers_beta = $(announcement_mail_headers_alpha)
|
||||
|
||||
announcement_mail_Cc_ ?= $(announcement_mail_Cc_$(release-type))
|
||||
announcement_mail_headers_ ?= $(announcement_mail_headers_$(release-type))
|
||||
announcement: NEWS ChangeLog $(rel-files)
|
||||
@$(srcdir)/$(_build-aux)/announce-gen \
|
||||
# Not $(AM_V_GEN) since the output of this command serves as
|
||||
# annoucement message: it would start with " GEN announcement".
|
||||
$(AM_V_at)$(srcdir)/$(_build-aux)/announce-gen \
|
||||
--mail-headers='$(announcement_mail_headers_)' \
|
||||
--release-type=$(RELEASE_TYPE) \
|
||||
--release-type=$(release-type) \
|
||||
--package=$(PACKAGE) \
|
||||
--prev=$(PREV_VERSION) \
|
||||
--curr=$(VERSION) \
|
||||
|
@ -1276,6 +1331,12 @@ announcement: NEWS ChangeLog $(rel-files)
|
|||
--no-print-checksums \
|
||||
$(addprefix --url-dir=, $(url_dir_list))
|
||||
|
||||
.PHONY: release-commit
|
||||
release-commit:
|
||||
$(AM_V_GEN)cd $(srcdir) \
|
||||
&& $(_build-aux)/do-release-commit-and-tag \
|
||||
-C $(abs_builddir) $(RELEASE)
|
||||
|
||||
## ---------------- ##
|
||||
## Updating files. ##
|
||||
## ---------------- ##
|
||||
|
@ -1284,16 +1345,22 @@ ftp-gnu = ftp://ftp.gnu.org/gnu
|
|||
www-gnu = http://www.gnu.org
|
||||
|
||||
upload_dest_dir_ ?= $(PACKAGE)
|
||||
upload_command = \
|
||||
$(srcdir)/$(_build-aux)/gnupload $(GNUPLOADFLAGS) \
|
||||
--to $(gnu_rel_host):$(upload_dest_dir_) \
|
||||
$(rel-files)
|
||||
emit_upload_commands:
|
||||
@echo =====================================
|
||||
@echo =====================================
|
||||
@echo "$(srcdir)/$(_build-aux)/gnupload $(GNUPLOADFLAGS) \\"
|
||||
@echo " --to $(gnu_rel_host):$(upload_dest_dir_) \\"
|
||||
@echo " $(rel-files)"
|
||||
@echo '$(upload_command)'
|
||||
@echo '# send the ~/announce-$(my_distdir) e-mail'
|
||||
@echo =====================================
|
||||
@echo =====================================
|
||||
|
||||
.PHONY: upload
|
||||
upload:
|
||||
$(AM_V_GEN)$(upload_command)
|
||||
|
||||
define emit-commit-log
|
||||
printf '%s\n' 'maint: post-release administrivia' '' \
|
||||
'* NEWS: Add header line for next release.' \
|
||||
|
@ -1303,7 +1370,7 @@ endef
|
|||
|
||||
.PHONY: no-submodule-changes
|
||||
no-submodule-changes:
|
||||
if test -d $(srcdir)/.git; then \
|
||||
$(AM_V_GEN)if test -d $(srcdir)/.git; then \
|
||||
diff=$$(cd $(srcdir) && git submodule -q foreach \
|
||||
git diff-index --name-only HEAD) \
|
||||
|| exit 1; \
|
||||
|
@ -1339,19 +1406,22 @@ public-submodule-commit:
|
|||
gl_public_submodule_commit ?= public-submodule-commit
|
||||
check: $(gl_public_submodule_commit)
|
||||
|
||||
.PHONY: alpha beta stable
|
||||
.PHONY: alpha beta stable release
|
||||
ALL_RECURSIVE_TARGETS += alpha beta stable
|
||||
alpha beta stable: $(local-check) writable-files $(submodule-checks)
|
||||
test $@ = stable \
|
||||
$(AM_V_GEN)test $@ = stable \
|
||||
&& { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \
|
||||
|| { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\
|
||||
|| :
|
||||
$(MAKE) vc-diff-check
|
||||
$(MAKE) news-check
|
||||
$(MAKE) distcheck
|
||||
$(MAKE) dist
|
||||
$(MAKE) $(release-prep-hook) RELEASE_TYPE=$@
|
||||
$(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
|
||||
$(AM_V_at)$(MAKE) vc-diff-check
|
||||
$(AM_V_at)$(MAKE) news-check
|
||||
$(AM_V_at)$(MAKE) distcheck
|
||||
$(AM_V_at)$(MAKE) dist
|
||||
$(AM_V_at)$(MAKE) $(release-prep-hook) RELEASE_TYPE=$@
|
||||
$(AM_V_at)$(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
|
||||
|
||||
release:
|
||||
$(AM_V_GEN)$(MAKE) $(release-type)
|
||||
|
||||
# Override this in cfg.mk if you follow different procedures.
|
||||
release-prep-hook ?= release-prep
|
||||
|
@ -1359,19 +1429,19 @@ release-prep-hook ?= release-prep
|
|||
gl_noteworthy_news_ = * Noteworthy changes in release ?.? (????-??-??) [?]
|
||||
.PHONY: release-prep
|
||||
release-prep:
|
||||
case $$RELEASE_TYPE in alpha|beta|stable) ;; \
|
||||
*) echo "invalid RELEASE_TYPE: $$RELEASE_TYPE" 1>&2; exit 1;; esac
|
||||
$(MAKE) --no-print-directory -s announcement > ~/announce-$(my_distdir)
|
||||
if test -d $(release_archive_dir); then \
|
||||
$(AM_V_GEN)$(MAKE) --no-print-directory -s announcement \
|
||||
> ~/announce-$(my_distdir)
|
||||
$(AM_V_at)if test -d $(release_archive_dir); then \
|
||||
ln $(rel-files) $(release_archive_dir); \
|
||||
chmod a-w $(rel-files); \
|
||||
fi
|
||||
echo $(VERSION) > $(prev_version_file)
|
||||
$(MAKE) update-NEWS-hash
|
||||
perl -pi -e '$$. == 3 and print "$(gl_noteworthy_news_)\n\n\n"' $(srcdir)/NEWS
|
||||
$(emit-commit-log) > .ci-msg
|
||||
$(VC) commit -F .ci-msg -a
|
||||
rm .ci-msg
|
||||
$(AM_V_at)echo $(VERSION) > $(prev_version_file)
|
||||
$(AM_V_at)$(MAKE) update-NEWS-hash
|
||||
$(AM_V_at)perl -pi \
|
||||
-e '$$. == 3 and print "$(gl_noteworthy_news_)\n\n\n"' \
|
||||
$(srcdir)/NEWS
|
||||
$(AM_V_at)msg=$$($(emit-commit-log)) || exit 1; \
|
||||
cd $(srcdir) && $(VC) commit -m "$$msg" -a
|
||||
|
||||
# Override this with e.g., -s $(srcdir)/some_other_name.texi
|
||||
# if the default $(PACKAGE)-derived name doesn't apply.
|
||||
|
@ -1379,14 +1449,20 @@ gendocs_options_ ?=
|
|||
|
||||
.PHONY: web-manual
|
||||
web-manual:
|
||||
@test -z "$(manual_title)" \
|
||||
$(AM_V_GEN)test -z "$(manual_title)" \
|
||||
&& { echo define manual_title in cfg.mk 1>&2; exit 1; } || :
|
||||
@cd '$(srcdir)/doc'; \
|
||||
$(AM_V_at)cd '$(srcdir)/doc'; \
|
||||
$(SHELL) ../$(_build-aux)/gendocs.sh $(gendocs_options_) \
|
||||
-o '$(abs_builddir)/doc/manual' \
|
||||
--email $(PACKAGE_BUGREPORT) $(PACKAGE) \
|
||||
"$(PACKAGE_NAME) - $(manual_title)"
|
||||
@echo " *** Upload the doc/manual directory to web-cvs."
|
||||
$(AM_V_at)echo " *** Upload the doc/manual directory to web-cvs."
|
||||
|
||||
.PHONY: web-manual-update
|
||||
web-manual-update:
|
||||
$(AM_V_GEN)cd $(srcdir) \
|
||||
&& $(_build-aux)/gnu-web-doc-update -C $(abs_builddir)
|
||||
|
||||
|
||||
# Code Coverage
|
||||
|
||||
|
@ -1412,6 +1488,31 @@ gen-coverage:
|
|||
|
||||
coverage: init-coverage build-coverage gen-coverage
|
||||
|
||||
# Some projects carry local adjustments for gnulib modules via patches in
|
||||
# a gnulib patch directory whose default name is gl/ (defined in bootstrap
|
||||
# via local_gl_dir=gl). Those patches become stale as the originals evolve
|
||||
# in gnulib. Use this rule to refresh any stale patches. It applies each
|
||||
# patch to the original in $(gnulib_dir) and uses the temporary result to
|
||||
# generate a fuzz-free .diff file. If you customize the name of your local
|
||||
# gnulib patch directory via bootstrap.conf, this rule detects that name.
|
||||
# Run this from a non-VPATH (i.e., srcdir) build directory.
|
||||
.PHONY: refresh-gnulib-patches
|
||||
refresh-gnulib-patches:
|
||||
gl=gl; \
|
||||
if test -f bootstrap.conf; then \
|
||||
t=$$(perl -lne '/^\s*local_gl_dir=(\S+)/ and $$d=$$1;' \
|
||||
-e 'END{defined $$d and print $$d}' bootstrap.conf); \
|
||||
test -n "$$t" && gl=$$t; \
|
||||
fi; \
|
||||
for diff in $$(cd $$gl; git ls-files | grep '\.diff$$'); do \
|
||||
b=$$(printf %s "$$diff"|sed 's/\.diff$$//'); \
|
||||
VERSION_CONTROL=none \
|
||||
patch "$(gnulib_dir)/$$b" "$$gl/$$diff" || exit 1; \
|
||||
( cd $(gnulib_dir) || exit 1; \
|
||||
git diff "$$b" > "../$$gl/$$diff"; \
|
||||
git checkout $$b ) || exit 1; \
|
||||
done
|
||||
|
||||
# Update gettext files.
|
||||
PACKAGE ?= $(shell basename $(PWD))
|
||||
PO_DOMAIN ?= $(PACKAGE)
|
||||
|
@ -1445,7 +1546,7 @@ update-copyright-env ?=
|
|||
# in the file .x-update-copyright.
|
||||
.PHONY: update-copyright
|
||||
update-copyright:
|
||||
grep -l -w Copyright \
|
||||
$(AM_V_GEN)grep -l -w Copyright \
|
||||
$$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \
|
||||
| $(update-copyright-env) xargs $(srcdir)/$(_build-aux)/$@
|
||||
|
||||
|
@ -1518,6 +1619,7 @@ _gl_TS_obj_files ?= *.$(OBJEXT)
|
|||
# Files in which to search for the one-line style extern declarations.
|
||||
# $(_gl_TS_dir)-relative.
|
||||
_gl_TS_headers ?= $(noinst_HEADERS)
|
||||
_gl_TS_other_headers ?= *.h
|
||||
|
||||
.PHONY: _gl_tight_scope
|
||||
_gl_tight_scope: $(bin_PROGRAMS)
|
||||
|
@ -1540,7 +1642,8 @@ _gl_tight_scope: $(bin_PROGRAMS)
|
|||
&& { echo the above functions should have static scope >&2; \
|
||||
exit 1; } || : ; \
|
||||
( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_vars); \
|
||||
perl -lne '$(_gl_TS_var_match) and print "^$$1\$$"' $$hdr *.h \
|
||||
perl -lne '$(_gl_TS_var_match) and print "^$$1\$$"' \
|
||||
$$hdr $(_gl_TS_other_headers) \
|
||||
) | sort -u > $$t; \
|
||||
nm -e $(_gl_TS_obj_files) | sed -n 's/.* [BCDGRS] //p' \
|
||||
| sort -u | grep -Ev -f $$t \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue