* GNUmakefile: Switch to coreutils's version.

* bootstrap: Likewise.
* Makefile.cfg: Adjust to new GNUmakefile.
* README-hacking: Likewise.

Import from gnulib:

2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
	    Bruno Haible  <bruno@clisp.org>

* m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
and is a script that invokes bison. Tighten the code. Add comments.
This commit is contained in:
Paul Eggert
2007-09-21 21:26:14 +00:00
parent 922bdd7ffa
commit 6d8e724de2
6 changed files with 202 additions and 140 deletions

View File

@@ -1,3 +1,19 @@
2007-09-21 Paul Eggert <eggert@cs.ucla.edu>
* GNUmakefile: Switch to coreutils's version.
* bootstrap: Likewise.
* Makefile.cfg: Adjust to new GNUmakefile.
* README-hacking: Likewise.
Import from gnulib:
2006-08-18 Paul Eggert <eggert@cs.ucla.edu>
Bruno Haible <bruno@clisp.org>
* m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
and is a script that invokes bison. Tighten the code. Add comments.
2007-08-28 Joel E. Denny <jdenny@ces.clemson.edu> 2007-08-28 Joel E. Denny <jdenny@ces.clemson.edu>
Spell "boolean" as "Boolean". Reported by Akim Demaille. Spell "boolean" as "Boolean". Reported by Akim Demaille.

View File

@@ -4,18 +4,18 @@
# It is necessary if you want to build targets usually of interest # It is necessary if you want to build targets usually of interest
# only to the maintainer. # only to the maintainer.
# Copyright (C) 2001, 2003 Free Software Foundation, Inc. # Copyright (C) 2001, 2003, 2006-2007 Free Software Foundation, Inc.
# #
# This program is free software: you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
@@ -39,14 +39,28 @@ ifeq ($(have-Makefile),yes)
export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner
include Makefile include Makefile
# Ensure that $(VERSION) is up to date for dist-related targets, but not
# for others: rerunning autoconf and recompiling everything isn't cheap.
ifeq (0,$(MAKELEVEL))
_is-dist-target = $(filter dist% alpha beta major,$(MAKECMDGOALS))
ifneq (,$(_is-dist-target))
_curr-ver := $(shell build-aux/git-version-gen 0 .version)
ifneq ($(_curr-ver),$(VERSION))
$(info INFO: rerunning autoconf for new version string: $(_curr-ver))
dummy := $(shell rm -rf autom4te.cache; $(AUTOCONF))
endif
endif
endif
include $(srcdir)/Makefile.cfg include $(srcdir)/Makefile.cfg
include $(srcdir)/Makefile.maint include $(srcdir)/Makefile.maint
else else
all: all:
@echo There seems to be no Makefile in this directory. @echo There seems to be no Makefile in this directory. 1>&2
@echo "You must run ./configure before running \`make'." @echo "You must run ./configure before running \`make'." 1>&2
@exit 1 @exit 1
endif endif

View File

@@ -1,5 +1,5 @@
# Customize Makefile.maint for Bison. -*- makefile -*- # Customize Makefile.maint. -*- makefile -*-
# Copyright (C) 2003, 2005, 2006 Free Software Foundation, Inc. # Copyright (C) 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by
@@ -14,33 +14,22 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
build_aux_dir = $(srcdir)/build-aux
prev_version_file = $(build_aux_dir)/prev-version.txt
announce_gen = $(build_aux_dir)/announce-gen
release_archive_dir = releases
# Use alpha.gnu.org for alpha and beta releases. # Use alpha.gnu.org for alpha and beta releases.
# Use ftp.gnu.org for major releases. # Use ftp.gnu.org for major releases.
gnu_ftp_host-alpha = alpha gnu_ftp_host-alpha = alpha.gnu.org
gnu_ftp_host-beta = alpha gnu_ftp_host-beta = alpha.gnu.org
gnu_ftp_host-major = ftp gnu_ftp_host-major = ftp.gnu.org
gnu_rel_host = $(gnu_ftp_host-$(RELEASE_TYPE)) gnu_rel_host = $(gnu_ftp_host-$(RELEASE_TYPE))
url_dir_list = \ url_dir_list = \
ftp://$(gnu_rel_host).gnu.org/gnu/bison ftp://$(gnu_rel_host)/gnu/bison
# Files to update automatically. # Tests not to run as part of "make distcheck".
wget_files = \ # Exclude changelog-check here so that there's less churn in ChangeLog
$(build_aux_dir)/config.guess \ # files -- otherwise, you'd need to have the upcoming version number
$(build_aux_dir)/config.sub \ # at the top of the file for each `make distcheck' run.
$(build_aux_dir)/texinfo.tex \ local-checks-to-skip = changelog-check
cvs_files = \ # The local directory containing the checked-out copy of gnulib used in
$(build_aux_dir)/install-sh \ # this release. Used solely to get a date for the "announcement" target.
$(build_aux_dir)/mdate-sh \ gnulib_dir = /gnulib
$(build_aux_dir)/missing \
$(build_aux_dir)/mkinstalldirs
# Tests not to run.
local-checks-to-skip = \
changelog-check

View File

@@ -16,12 +16,9 @@ tools we depend upon, including:
- Flex <http://www.gnu.org/software/flex/> - Flex <http://www.gnu.org/software/flex/>
- Gettext <http://www.gnu.org/software/gettext/> - Gettext <http://www.gnu.org/software/gettext/>
- Gzip <http://www.gnu.org/software/gzip/> - Gzip <http://www.gnu.org/software/gzip/>
- Perl <http://www.cpan.org/>
- Rsync <http://samba.anu.edu.au/rsync/>
- Tar <http://www.gnu.org/software/tar/> - Tar <http://www.gnu.org/software/tar/>
- Wget <http://www.gnu.org/software/wget/>
Only building the initial full source tree will be a bit painful.
Later, after synchronizing from the repository a plain `make' should
be sufficient.
Valgrind <http://valgrind.org/> is also highly recommended, if Valgrind <http://valgrind.org/> is also highly recommended, if
Valgrind supports your architecture. Valgrind supports your architecture.
@@ -32,13 +29,14 @@ generated from the grammars is out of date, and to bootstrap with an
out-of-date version of the C code, but the process is not foolproof. out-of-date version of the C code, but the process is not foolproof.
Also, you may run into similar problems yourself if you modify Bison. Also, you may run into similar problems yourself if you modify Bison.
Only building the initial full source tree will be a bit painful, Only building the initial full source tree will be a bit painful.
later, a plain `cvs update -P && make' should be sufficient. Later, after synchronizing from the repository a plain `make' should
be sufficient.
* First checkout * First checkout
Obviously, if you are reading these notes, you did manage to check out Obviously, if you are reading these notes, you did manage to check out
Bison from the repository. For the record, you will find all the this package from the repository. For the record, you will find all the
relevant information on: relevant information on:
http://savannah.gnu.org/cvs/?group_id=56 http://savannah.gnu.org/cvs/?group_id=56
@@ -68,8 +66,6 @@ Enjoy!
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software
Foundation, Inc. Foundation, Inc.
This file is part of GNU Bison.
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or

210
bootstrap
View File

@@ -8,12 +8,12 @@
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
@@ -27,6 +27,8 @@ nl='
LC_ALL=C LC_ALL=C
export LC_ALL export LC_ALL
local_gl_dir=gl
# Temporary directory names. # Temporary directory names.
bt='._bootmp' bt='._bootmp'
bt_regex=`echo "$bt"| sed 's/\./[.]/g'` bt_regex=`echo "$bt"| sed 's/\./[.]/g'`
@@ -50,7 +52,7 @@ Options:
--cvs-user=USERNAME Set the username to use when checking out --cvs-user=USERNAME Set the username to use when checking out
sources from the gnulib repository. sources from the gnulib repository.
If the file .bootstrap.conf exists in the current working directory, its If the file bootstrap.conf exists in the current working directory, its
contents are read as shell variables to configure the bootstrap. contents are read as shell variables to configure the bootstrap.
Running without arguments will suffice in most cases. Running without arguments will suffice in most cases.
@@ -59,16 +61,22 @@ Running without arguments will suffice in most cases.
# Configuration. # Configuration.
# Name of the Makefile.am
gnulib_mk=gnulib.mk
# List of gnulib modules needed. # List of gnulib modules needed.
gnulib_modules= gnulib_modules=
# Any gnulib files needed that are not in modules. # Any gnulib files needed that are not in modules.
gnulib_files= gnulib_files=
# Translation Project URL, for the registry of all projects # The command to download all .po files for a specified domain into
# and for the translation-team master directory. # a specified directory. Fill in the first %s is the domain name, and
TP_URL='http://www.iro.umontreal.ca/translation/registry.cgi?domain=' # the second with the destination directory. Use rsync's -L and -r
TP_PO_URL='http://www.iro.umontreal.ca/translation/teams/PO/' # options because the latest/%s directory and the .po files within are
# all symlinks.
po_download_command_format=\
"rsync -Lrtvz 'translationproject.org::tp/latest/%s/' '%s'"
extract_package_name=' extract_package_name='
/^AC_INIT(/{ /^AC_INIT(/{
@@ -102,6 +110,9 @@ gnulib_extra_files="
doc/INSTALL doc/INSTALL
" "
# Additional gnulib-tool options to use. Use "\newline" to break lines.
gnulib_tool_option_extras=
# Other locale categories that need message catalogs. # Other locale categories that need message catalogs.
EXTRA_LOCALE_CATEGORIES= EXTRA_LOCALE_CATEGORIES=
@@ -122,9 +133,21 @@ checkout_only_file=README-hacking
# Whether to use copies instead of symlinks. # Whether to use copies instead of symlinks.
copy=false copy=false
# Set this to '.cvsignore .gitignore' in bootstrap.conf if you want
# those files to be generated in directories like lib/, m4/, and po/.
# Or set it to 'auto' to make this script select which to use based
# on which version control system (if any) is used in the source directory.
vc_ignore=auto
# Override the default configuration, if necessary. # Override the default configuration, if necessary.
test -r bootstrap.conf && . ./bootstrap.conf test -r bootstrap.conf && . ./bootstrap.conf
if test "$vc_ignore" = auto; then
vc_ignore=
test -d .git && vc_ignore=.gitignore
test -d CVS && vc_ignore="$vc_ignore .cvsignore"
fi
# Translate configuration into internal form. # Translate configuration into internal form.
# Parse options. # Parse options.
@@ -161,6 +184,7 @@ fi
insert_sorted_if_absent() { insert_sorted_if_absent() {
file=$1 file=$1
str=$2 str=$2
test -f $file || touch $file
echo "$str" | sort -u - $file | cmp -s - $file \ echo "$str" | sort -u - $file | cmp -s - $file \
|| echo "$str" | sort -u - $file -o $file \ || echo "$str" | sort -u - $file -o $file \
|| exit 1 || exit 1
@@ -174,15 +198,17 @@ grep '^[ ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \
>/dev/null && found_aux_dir=yes >/dev/null && found_aux_dir=yes
if test $found_aux_dir = no; then if test $found_aux_dir = no; then
echo "$0: expected line not found in configure.ac. Add the following:" >&2 echo "$0: expected line not found in configure.ac. Add the following:" >&2
echo " AC_CONFIG_AUX_DIR([$build_aux])" >&2. echo " AC_CONFIG_AUX_DIR([$build_aux])" >&2
exit 1
fi fi
# If $build_aux doesn't exist, create it now, otherwise some bits # If $build_aux doesn't exist, create it now, otherwise some bits
# below will malfunction. If creating it, also mark it as ignored. # below will malfunction. If creating it, also mark it as ignored.
if test ! -d $build_aux; then if test ! -d $build_aux; then
mkdir $build_aux mkdir $build_aux
for ig in .cvsignore .gitignore; do for dot_ig in x $vc_ignore; do
test -f $ig && insert_sorted_if_absent $ig $build_aux test $dot_ig = x && continue
insert_sorted_if_absent $dot_ig $build_aux
done done
fi fi
@@ -230,71 +256,76 @@ gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
# Get translations. # Get translations.
get_translations() { download_po_files() {
subdir=$1 subdir=$1
domain=$2 domain=$2
echo "$0: getting translations into $subdir for $domain..."
cmd=`printf "$po_download_command_format" "$domain" "$subdir"`
eval "$cmd"
}
case $WGET_COMMAND in # Download .po files to $po_dir/.reference and copy only the new
'') # or modified ones into $po_dir. Also update $po_dir/LINGUAS.
echo "$0: wget not available; skipping translations";; update_po_files() {
?*) # Directory containing primary .po files.
echo "$0: getting translations into $subdir for $domain..." && # Overwrite them only when we're sure a .po file is new.
po_dir=$1
domain=$2
(cd $subdir && rm -f dummy `ls | sed -n '/\.gmo$/p; /\.po/p'`) && # Download *.po files into this dir.
$WGET_COMMAND -O "$subdir/$domain.html" "$TP_URL$domain" && # Usually contains *.s1 checksum files.
ref_po_dir="$po_dir/.reference"
sed -n 's|.*"http://[^"]*/translation/teams/PO/\([^/"]*\)/'"$domain"'-\([^/"]*\)\.[^."]*\.po".*|\1.\2|p' <"$subdir/$domain.html" | test -d $ref_po_dir || mkdir $ref_po_dir || return
sort -k 1,1 -k 2,2n -k2,2 -k3,3n -k3,3 -k4,4n -k4,4 -k5,5n -k5.5 | download_po_files $ref_po_dir $domain \
awk -F. ' && ls "$ref_po_dir"/*.po 2>/dev/null |
{ if (lang && $1 != lang) print lang, ver } sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS"
{ lang = $1; ver = substr($0, index($0, ".") + 1) }
END { if (lang) print lang, ver } for po in `cd $ref_po_dir && echo *.po|sed 's/\.po//g'`; do
' | awk -v domain="$domain" -v subdir="$subdir" ' new_po="$ref_po_dir/$po.po"
{ cksum_file="$ref_po_dir/$po.s1"
lang = $1 if ! sha1sum -c --status "$cksum_file" < "$new_po" > /dev/null; then
ver = $2 echo "updated $po_dir/$po.po..."
urlfmt = "" cp "$new_po" "$po_dir/$po.po" && sha1sum < "$new_po" > "$cksum_file"
printf "{ $WGET_COMMAND -O %s/%s.po '\'"$TP_PO_URL"'/%s/%s-%s.%s.po'\'' &&\n", subdir, lang, lang, domain, ver, lang fi
printf " msgfmt -c -o /dev/null %s/%s.po || {\n", subdir, lang done
printf " echo >&2 '\'"$0"': omitting translation for %s'\''\n", lang
printf " rm -f %s/%s.po; }; } &&\n", subdir, lang
}
END { print ":" }
' | WGET_COMMAND="$WGET_COMMAND" sh;;
esac &&
ls "$subdir"/*.po 2>/dev/null |
sed 's|.*/||; s|\.po$||' >"$subdir/LINGUAS" &&
rm -f "$subdir/$domain.html"
} }
case $SKIP_PO in case $SKIP_PO in
'') '')
case `wget --help` in
*'--no-cache'*)
WGET_COMMAND='wget -nv --no-cache';;
*'--cache=on/off'*)
WGET_COMMAND='wget -nv --cache=off';;
*'--non-verbose'*)
WGET_COMMAND='wget -nv';;
*)
WGET_COMMAND='';;
esac
if test -d po; then if test -d po; then
get_translations po $package || exit update_po_files po $package || exit
fi fi
if test -d runtime-po; then if test -d runtime-po; then
get_translations runtime-po $package-runtime || exit update_po_files runtime-po $package-runtime || exit
fi;; fi;;
esac esac
symlink_to_gnulib() symlink_to_dir()
{ {
src=$GNULIB_SRCDIR/$1 src=$1/$2
dst=${2-$1} dst=${3-$2}
test -f "$src" && { test -f "$src" && {
# If the destination directory doesn't exist, create it.
# This is required at least for "lib/uniwidth/cjk.h".
dst_dir=`dirname "$dst"`
if ! test -d "$dst_dir"; then
mkdir -p "$dst_dir"
# If we've just created a directory like lib/uniwidth,
# tell version control system(s) it's ignorable.
# FIXME: for now, this does only one level
parent=`dirname "$dst_dir"`
for dot_ig in x $vc_ignore; do
test $dot_ig = x && continue
ig=$parent/$dot_ig
insert_sorted_if_absent $ig `echo "$dst_dir"|sed 's,.*/,,'`
done
fi
if $copy; then if $copy; then
{ {
test ! -h "$dst" || { test ! -h "$dst" || {
@@ -339,7 +370,9 @@ cp_mark_as_generated()
cp_dst=$2 cp_dst=$2
if cmp -s "$cp_src" "$GNULIB_SRCDIR/$cp_dst"; then if cmp -s "$cp_src" "$GNULIB_SRCDIR/$cp_dst"; then
symlink_to_gnulib "$cp_dst" symlink_to_dir "$GNULIB_SRCDIR" "$cp_dst"
elif cmp -s "$cp_src" "$local_gl_dir/$cp_dst"; then
symlink_to_dir $local_gl_dir "$cp_dst"
else else
case $cp_dst in case $cp_dst in
*.[ch]) c1='/* '; c2=' */';; *.[ch]) c1='/* '; c2=' */';;
@@ -392,23 +425,22 @@ slurp() {
for dir in . `(cd $1 && find * -type d -print)`; do for dir in . `(cd $1 && find * -type d -print)`; do
copied= copied=
sep= sep=
for file in `ls $1/$dir`; do for file in `ls -a $1/$dir`; do
if test -d $1/$dir/$file; then case $file in
if test ! -d $dir/$file; then .|..) continue;;
echo "$0: mkdir $dir/$file" && mkdir $dir/$file || exit .*) continue;; # FIXME: should all file names starting with "." be ignored?
fi esac
continue test -d $1/$dir/$file && continue
fi
for excluded_file in $excluded_files; do for excluded_file in $excluded_files; do
test "$dir/$file" = "$excluded_file" && continue 2 test "$dir/$file" = "$excluded_file" && continue 2
done done
if test $file = Makefile.am; then if test $file = Makefile.am; then
copied=$copied${sep}gnulib.mk; sep=$nl copied=$copied${sep}$gnulib_mk; sep=$nl
remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g" remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g"
sed "$remove_intl" $1/$dir/$file | cmp -s - $dir/gnulib.mk || { sed "$remove_intl" $1/$dir/$file | cmp -s - $dir/$gnulib_mk || {
echo "$0: Copying $1/$dir/$file to $dir/gnulib.mk ..." && echo "$0: Copying $1/$dir/$file to $dir/$gnulib_mk ..." &&
rm -f $dir/gnulib.mk && rm -f $dir/$gnulib_mk &&
sed "$remove_intl" $1/$dir/$file >$dir/gnulib.mk sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk
} }
elif { test "${2+set}" = set && test -r $2/$dir/$file; } || elif { test "${2+set}" = set && test -r $2/$dir/$file; } ||
version_controlled_file $dir $file; then version_controlled_file $dir $file; then
@@ -432,14 +464,21 @@ slurp() {
fi || exit fi || exit
done done
for dot_ig in .cvsignore .gitignore; do for dot_ig in x $vc_ignore; do
test $dot_ig = x && continue
ig=$dir/$dot_ig ig=$dir/$dot_ig
if test -n "$copied" && test -f $ig; then if test -n "$copied"; then
insert_sorted_if_absent $ig "$copied" insert_sorted_if_absent $ig "$copied"
# If an ignored file name ends with _.h, then also add # If an ignored file name ends with _.h, then also add
# the name with just ".h". Many gnulib headers are generated, # the name with just ".h". Many gnulib headers are generated,
# e.g., stdint_.h -> stdint.h, dirent_.h ->..., etc. # e.g., stdint_.h -> stdint.h, dirent_.h ->..., etc.
f=`echo "$copied"|sed 's/_\.h$/.h/'` # Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed
f=`echo "$copied"|sed 's/_\.h$/.h/;s/\.sin$/.sed/;s/\.y$/.c/;s/\.gperf$/.h/'`
insert_sorted_if_absent $ig "$f"
# For files like sys_stat_.h and sys_time_.h, record as
# ignorable the directory we might eventually create: sys/.
f=`echo "$copied"|sed 's/sys_.*_\.h$/sys/'`
insert_sorted_if_absent $ig "$f" insert_sorted_if_absent $ig "$f"
fi fi
done done
@@ -462,14 +501,15 @@ gnulib_tool_options="\
--m4-base $bt/m4/\ --m4-base $bt/m4/\
--source-base $bt/lib/\ --source-base $bt/lib/\
--tests-base $bt/tests\ --tests-base $bt/tests\
--local-dir gl\ --local-dir $local_gl_dir\
$gnulib_tool_option_extras\
" "
echo "$0: $gnulib_tool $gnulib_tool_options --import ..." echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
$gnulib_tool $gnulib_tool_options --import $gnulib_modules && $gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
slurp $bt || exit slurp $bt || exit
for file in $gnulib_files; do for file in $gnulib_files; do
symlink_to_gnulib $file || exit symlink_to_dir "$GNULIB_SRCDIR" $file || exit
done done
@@ -487,6 +527,24 @@ if test $with_gettext = yes; then
rm -fr $bt $bt2 || exit rm -fr $bt $bt2 || exit
fi fi
# Coreutils is unusual in that it generates some of its test-related
# Makefile.am files. That must be done before invoking automake.
mam_template=tests/Makefile.am.in
if test -f $mam_template; then
PERL=perl
for tool in cut head join pr sort tac tail test tr uniq wc; do
m=tests/$tool/Makefile.am
t=${m}t
rm -f $m $t
sed -n '1,/^##test-files-begin/p' $mam_template > $t
echo "x = $tool" >> $t
srcdir=tests/$tool
$PERL -I$srcdir -w -- tests/mk-script $srcdir --list >> $t
sed -n '/^##test-files-end/,$p' $mam_template >> $t
chmod -w $t
mv $t $m
done
fi
# Reconfigure, getting other files. # Reconfigure, getting other files.
@@ -508,13 +566,13 @@ done
# Get some extra files from gnulib, overriding existing files. # Get some extra files from gnulib, overriding existing files.
for file in $gnulib_extra_files; do for file in $gnulib_extra_files; do
case $file in case $file in
*/INSTALL) dst=INSTALL;; */INSTALL) dst=INSTALL;;
build-aux/*) dst=$build_aux/`expr "$file" : 'build-aux/\(.*\)'`;;
*) dst=$file;; *) dst=$file;;
esac esac
symlink_to_gnulib $file $dst || exit symlink_to_dir "$GNULIB_SRCDIR" $file $dst || exit
done done
if test $with_gettext = yes; then if test $with_gettext = yes; then

View File

@@ -1,5 +1,5 @@
# bison-i18n.m4 serial 1 (bison-2.1) # bison-i18n.m4 serial 2
dnl Copyright (C) 2005 Free Software Foundation, Inc. dnl Copyright (C) 2005-2006 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved. dnl with or without modifications, as long as this notice is preserved.
@@ -19,38 +19,27 @@ AC_DEFUN([BISON_I18N],
exit 1 exit 1
fi fi
BISON_LOCALEDIR= BISON_LOCALEDIR=
BISON_USE_NLS=no
if test "$USE_NLS" = yes; then if test "$USE_NLS" = yes; then
dnl Determine bison's localedir.
dnl AC_PROG_YACC sets the YACC variable; other macros set the BISON variable. dnl AC_PROG_YACC sets the YACC variable; other macros set the BISON variable.
if test -n "$YACC"; then dnl But even is YACC is called "yacc", it may be a script that invokes bison
case "$YACC" in dnl and accepts the --print-localedir option.
*bison*) dnl YACC's default value is empty; BISON's default value is :.
if ($YACC --print-localedir) >/dev/null 2>&1; then if (${YACC-${BISON-:}} --print-localedir) >/dev/null 2>&1; then
BISON_LOCALEDIR=`$YACC --print-localedir` BISON_LOCALEDIR=`${YACC-${BISON-:}} --print-localedir`
fi
;;
esac
else
if test -n "$BISON"; then
if test "$BISON" != ":"; then
if ($BISON --print-localedir) >/dev/null 2>&1; then
BISON_LOCALEDIR=`$BISON --print-localedir`
fi
fi
fi
fi fi
AC_SUBST([BISON_LOCALEDIR]) AC_SUBST([BISON_LOCALEDIR])
if test -n "$BISON_LOCALEDIR"; then if test -n "$BISON_LOCALEDIR"; then
dnl There is no need to enable internationalization if the user doesn't
dnl want message catalogs. So look at the language/locale names for
dnl which the user wants message catalogs. This is $LINGUAS. If unset
dnl or empty, he wants all of them.
USER_LINGUAS="${LINGUAS-%UNSET%}" USER_LINGUAS="${LINGUAS-%UNSET%}"
if test -n "$USER_LINGUAS"; then if test -n "$USER_LINGUAS"; then
BISON_USE_NLS=yes BISON_USE_NLS=yes
else
BISON_USE_NLS=no
fi fi
else
BISON_USE_NLS=no
fi fi
else
BISON_USE_NLS=no
fi fi
if test $BISON_USE_NLS = yes; then if test $BISON_USE_NLS = yes; then
AC_DEFINE([YYENABLE_NLS], 1, AC_DEFINE([YYENABLE_NLS], 1,