Use some of gnulib's new modules, taken from coreutils.

* bootstrap: Sync from coreutils, except add support for gnulib_files.
* bootstrap.conf: New file.
(gnulib_modules): Add configmake, inttypes, unistd.
(XGETTEXT_OPTIONS): Add complain, complain_at,
fatal, fatal_at, warn, warn_at, unexpected_end.
* configure.ac (AC_CONFIG_HEADERS): config.h is now in lib, not here.
(gl_USE_SYSTEM_EXTENSIONS): Remove; gl_EARLY now does this.
(gl_EARLY): Add.
(AM_STDBOOL_H): Remove; gl_INIT now dows this.
(gl_INIT): Add
(GNULIB_AUTOCONF_SNIPPET): Remove.
(AM_GNU_GETTEXT): Add; require formatstring macros since that's
the pickiest.
* lib/.cvsignore: Add inttypes_.h.
* lib/Makefile.am: Include gnulib.mk first so we can append to it.
(AM_CFLAGS): Add WERROR_CFLAGS, to be more like coreutils.
(BUILT_SOURCES, EXTRA_DIST, MOSTLYCLEANFILES): Remove
no-longer-necessary initializations.
(lib_SOURCES): Remove, replacing by libbison_a_SOURCES.
* lib/subpipe.c: Include <unistd.h> unconditionally, now that we
use the unistd module.
* src/system.h: Likewise.
* m4/.cvsignore: Remove *_gl.m4, gnulib.m4, inttypes_h.m4, uintmax_t.m4,
ulonglong.m4.  Add gettext.m4, gnulib-cache.m4, gnulib-comp.m4,
gnulib-tool.m4, inttypes-h.m4, inttypes-pri.m4, inttypes.m4.
* src/Makefile.am (DEFS): Remove, since configmake does this for us.
(AM_CPPFLAGS): Remove -I../lib, since Automake does that for us.
* src/system.h: Include inttypes.h unconditionally, now that we
use the inttypes module.  Don't bother to include stdint.h, since
inttypes.h now does that for us.
(LOCALEDIR): Remove, now that we use the configmake module.
* src/getargs.c: Include configmake.h.
* src/main.c: Likewise.
* src/output.c: Likewise.
* tests/atlocal.in (CPPFLAGS): Include from $abs_top_builddir/lib,
not from $abs_top_builddir, since config.h moved.
This commit is contained in:
Paul Eggert
2006-09-15 18:59:40 +00:00
parent 41f58bae8b
commit 3b2942e671
14 changed files with 414 additions and 289 deletions

View File

@@ -1,5 +1,45 @@
2006-09-15 Paul Eggert <eggert@cs.ucla.edu>
Use some of gnulib's new modules, taken from coreutils.
* bootstrap: Sync from coreutils, except add support for gnulib_files.
* bootstrap.conf: New file.
(gnulib_modules): Add configmake, inttypes, unistd.
(XGETTEXT_OPTIONS): Add complain, complain_at,
fatal, fatal_at, warn, warn_at, unexpected_end.
* configure.ac (AC_CONFIG_HEADERS): config.h is now in lib, not here.
(gl_USE_SYSTEM_EXTENSIONS): Remove; gl_EARLY now does this.
(gl_EARLY): Add.
(AM_STDBOOL_H): Remove; gl_INIT now dows this.
(gl_INIT): Add
(GNULIB_AUTOCONF_SNIPPET): Remove.
(AM_GNU_GETTEXT): Add; require formatstring macros since that's
the pickiest.
* lib/.cvsignore: Add inttypes_.h.
* lib/Makefile.am: Include gnulib.mk first so we can append to it.
(AM_CFLAGS): Add WERROR_CFLAGS, to be more like coreutils.
(BUILT_SOURCES, EXTRA_DIST, MOSTLYCLEANFILES): Remove
no-longer-necessary initializations.
(lib_SOURCES): Remove, replacing by libbison_a_SOURCES.
* lib/subpipe.c: Include <unistd.h> unconditionally, now that we
use the unistd module.
* src/system.h: Likewise.
* m4/.cvsignore: Remove *_gl.m4, gnulib.m4, inttypes_h.m4, uintmax_t.m4,
ulonglong.m4. Add gettext.m4, gnulib-cache.m4, gnulib-comp.m4,
gnulib-tool.m4, inttypes-h.m4, inttypes-pri.m4, inttypes.m4.
* src/Makefile.am (DEFS): Remove, since configmake does this for us.
(AM_CPPFLAGS): Remove -I../lib, since Automake does that for us.
* src/system.h: Include inttypes.h unconditionally, now that we
use the inttypes module. Don't bother to include stdint.h, since
inttypes.h now does that for us.
(LOCALEDIR): Remove, now that we use the configmake module.
* src/getargs.c: Include configmake.h.
* src/main.c: Likewise.
* src/output.c: Likewise.
* tests/atlocal.in (CPPFLAGS): Include from $abs_top_builddir/lib,
not from $abs_top_builddir, since config.h moved.
Port to GCC 2.95. First two problems reported by Michael Deutschmann in
<http://lists.gnu.org/archive/html/bug-bison/2006-09/msg00018.html>.

438
bootstrap
View File

@@ -21,16 +21,76 @@
# Written by Paul Eggert.
package=bison
# Translation Project URL, for the registry of all projects.
TP_URL='http://www.iro.umontreal.ca/translation/registry.cgi?domain='
nl='
'
# Ensure file names are sorted consistently across platforms.
# Also, ensure diagnostics are in English, e.g., "wget --help" below.
LC_ALL=C
export LC_ALL
# Configuration.
# List of gnulib modules needed.
gnulib_modules=
# Any gnulib files needed that are not in modules.
gnulib_files=
# Translation Project URL, for the registry of all projects
# and for the translation-team master directory.
TP_URL='http://www.iro.umontreal.ca/translation/registry.cgi?domain='
TP_PO_URL='http://www.iro.umontreal.ca/translation/teams/PO/'
extract_package_name='
/^AC_INIT(/{
/.*,.*,.*,/{
s///
s/[][]//g
p
q
}
s/AC_INIT(\[*//
s/]*,.*//
s/^GNU //
y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
s/[^A-Za-z0-9_]/-/g
p
}
'
package=`sed -n "$extract_package_name" configure.ac` || exit
# Extra files from gnulib, which override files from other sources.
gnulib_extra_files='
build-aux/install-sh
build-aux/missing
build-aux/mdate-sh
build-aux/texinfo.tex
build-aux/depcomp
build-aux/config.guess
build-aux/config.sub
doc/INSTALL
'
# Other locale categories that need message catalogs.
EXTRA_LOCALE_CATEGORIES=
# Additional xgettext options to use. Use "\\\newline" to break lines.
XGETTEXT_OPTIONS='\\\
--flag=_:1:pass-c-format\\\
--flag=N_:1:pass-c-format\\\
--flag=error:3:c-format --flag=error_at_line:5:c-format\\\
'
# Files we don't want to import.
excluded_files=
# Override the default configuration, if necessary.
test -r bootstrap.conf && . ./bootstrap.conf
# Translate configuration into internal form.
# Parse options.
for option
@@ -77,7 +137,7 @@ case ${GNULIB_SRCDIR--} in
esac
case $CVS_RSH in
'') export CVS_RSH=ssh;;
'') CVS_RSH=ssh; export CVS_RSH;;
esac
trap cleanup_gnulib 1 2 13 15
@@ -93,188 +153,177 @@ esac
gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
<$gnulib_tool || exit
gnulib_modules='
argmatch
dirname
error
extensions
fopen-safer
getopt
gettext
hash
malloc
mbswidth
obstack
quote
quotearg
stdbool
stdint
stpcpy
strerror
strtoul
strverscmp
unistd-safer
unlocked-io
verify
xalloc
xalloc-die
xstrndup
'
previous_gnulib_modules=
while [ "$gnulib_modules" != "$previous_gnulib_modules" ]; do
previous_gnulib_modules=$gnulib_modules
gnulib_modules=`
(echo "$gnulib_modules"
for gnulib_module in $gnulib_modules; do
$gnulib_tool --extract-dependencies $gnulib_module
done) | sort -u
`
done
gnulib_files=`
(echo m4/warning.m4
for gnulib_module in $gnulib_modules; do
$gnulib_tool --extract-filelist $gnulib_module
done) | sort -u
`
gnulib_dirs=`echo "$gnulib_files" | sed 's,/[^/]*$,,' | sort -u`
mkdir -p $gnulib_dirs || exit
for gnulib_file in $gnulib_files; do
dest=$gnulib_file
rm -f $dest &&
echo "$0: Copying file $GNULIB_SRCDIR/$gnulib_file" &&
cp -p $GNULIB_SRCDIR/$gnulib_file $dest || exit
done
# This suppresses a bogus diagnostic
# "warning: macro `AM_LANGINFO_CODESET' not found in library".
echo "$0: patching m4/gettext.m4 to remove need for intl/* ..."
sed '
/^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\
AC_DEFUN([AM_INTL_SUBDIR], [])
/^AC_DEFUN(\[gt_INTL_SUBDIR_CORE],/,/^]/c\
AC_DEFUN([gt_INTL_SUBDIR_CORE], [])
' m4/gettext.m4 >m4/gettext_gl.m4 || exit
# Get translations.
get_translations() {
subdir=$1
domain=$2
echo "$0: getting translations into $subdir for $domain..."
(cd $subdir && rm -f dummy `ls | sed -n '/\.gmo$/p; /\.po/p'`) &&
case $WGET_COMMAND in
'')
echo "$0: wget not available; skipping translations";;
?*)
echo "$0: getting translations into $subdir for $domain..." &&
$WGET_COMMAND -O "$subdir/$domain.html" "$TP_URL$domain" &&
(cd $subdir && rm -f dummy `ls | sed -n '/\.gmo$/p; /\.po/p'`) &&
$WGET_COMMAND -O "$subdir/$domain.html" "$TP_URL$domain" &&
sed -n 's|.*"http://[^"]*/translation/teams/PO/\([^/"]*\)/'"$domain"'-\([^/"]*\)\.[^."]*\.po".*|\1.\2|p' <"$subdir/$domain.html" |
sort -k 1,1 -k 2,2n -k2,2 -k3,3n -k3,3 -k4,4n -k4,4 -k5,5n -k5.5 |
awk -F. '
{ if (lang && $1 != lang) print lang, ver }
{ lang = $1; ver = substr($0, index($0, ".") + 1) }
END { if (lang) print lang, ver }
' | awk -v domain="$domain" -v subdir="$subdir" '
{
lang = $1
# Work around bugs in Bison 2.3 translations uncovered by gettext 0.15.
# This workaround can be removed once the translations are fixed.
if (lang == "id" || lang == "tr") next
ver = $2
urlfmt = ""
printf "$WGET_COMMAND -O %s/%s.po 'http://www.iro.umontreal.ca/translation/teams/PO/%s/%s-%s.%s.po' &&\n", subdir, lang, lang, domain, ver, lang
}
END { print ":" }
' | sh &&
ls "$subdir"/*.po | sed 's|.*/||; s|\.po$||' >"$subdir/LINGUAS" &&
rm "$subdir/$domain.html"
sed -n 's|.*"http://[^"]*/translation/teams/PO/\([^/"]*\)/'"$domain"'-\([^/"]*\)\.[^."]*\.po".*|\1.\2|p' <"$subdir/$domain.html" |
sort -k 1,1 -k 2,2n -k2,2 -k3,3n -k3,3 -k4,4n -k4,4 -k5,5n -k5.5 |
awk -F. '
{ if (lang && $1 != lang) print lang, ver }
{ lang = $1; ver = substr($0, index($0, ".") + 1) }
END { if (lang) print lang, ver }
' | awk -v domain="$domain" -v subdir="$subdir" '
{
lang = $1
ver = $2
urlfmt = ""
printf "{ $WGET_COMMAND -O %s/%s.po '\'"$TP_PO_URL"'/%s/%s-%s.%s.po'\'' &&\n", subdir, lang, lang, domain, ver, lang
printf " msgfmt -c -o /dev/null %s/%s.po || {\n", subdir, lang
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 `wget --help` in
*'--no-cache'*)
no_cache='--no-cache';;
WGET_COMMAND='wget -nv --no-cache';;
*'--cache=on/off'*)
no_cache='--cache=off';;
WGET_COMMAND='wget -nv --cache=off';;
*'--non-verbose'*)
WGET_COMMAND='wget -nv';;
*)
no_cache='';;
WGET_COMMAND='';;
esac
WGET_COMMAND="wget -nv $no_cache"
export WGET_COMMAND
get_translations po $package || exit
case $package in
bison)
if test -d runtime-po; then
get_translations runtime-po $package-runtime || exit
esac;;
fi;;
esac
cp_mark_as_generated()
{
cp_src=$1
cp_dst=$2
case $cp_dst in
*.[ch]) c1='/* '; c2=' */';;
*.texi) c1='@c '; c2= ;;
*.m4|*/Make*|Make*) c1='# ' ; c2= ;;
*) c1= ; c2= ;;
esac
# Generate autoconf and automake snippets.
if test -z "$c1"; then
cp "$cp_src" "$cp_dst"
return
fi
(echo '# This file is generated automatically by "bootstrap".' &&
echo 'AC_DEFUN([GNULIB_AUTOCONF_SNIPPET],[' &&
$gnulib_tool --extract-autoconf-snippet $gnulib_modules |
sed 's/AM_GNU_GETTEXT(\[external]/&, [need-ngettext]/' &&
echo '])'
) >m4/gnulib.m4 || exit
(
echo "$c1-*- buffer-read-only: t -*- vi: set ro:$c2"
echo "${c1}DO NOT EDIT! GENERATED AUTOMATICALLY!$c2"
cat "$cp_src"
) >> "$cp_dst"
}
(echo '# This file is generated automatically by "bootstrap".' &&
$gnulib_tool --extract-automake-snippet $gnulib_modules |
sed 's/^[ ]*AM_CPPFLAGS[ ]*+=/# (commented out by bootstrap) &/'
) >lib/gnulib.mk || exit
slurp() {
for dir in . `(cd $1 && find * -type d -print)`; do
copied=
sep=
for file in `ls $1/$dir`; do
test -d $1/$dir/$file && continue
for excluded_file in $excluded_files; do
test "$dir/$file" = "$excluded_file" && continue 2
done
if test $file = Makefile.am; then
copied=$copied${sep}gnulib.mk; sep=$nl
echo "$0: Copying $1/$dir/$file to $dir/gnulib.mk ..." &&
rm -f $dir/gnulib.mk
sed '/^[^#].*\/intl/s/^/#/' $1/$dir/$file >$dir/gnulib.mk
elif test -r ${2-no/such/dir}/$dir/$file ||
grep -F "/$file/" $dir/CVS/Entries 2>/dev/null |
grep -q '^/[^/]*/[0-9]'; then
echo "$0: $dir/$file overrides $1/$dir/$file"
else
copied=$copied$sep$file; sep=$nl
if test $file = gettext.m4; then
echo "$0: patching m4/gettext.m4 to remove need for intl/* ..."
rm -f $dir/$file
sed '
/^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\
AC_DEFUN([AM_INTL_SUBDIR], [
/^AC_DEFUN(\[gt_INTL_SUBDIR_CORE],/,/^]/c\
AC_DEFUN([gt_INTL_SUBDIR_CORE], [])
$a\
AC_DEFUN([gl_LOCK_EARLY], [])
' $1/$dir/$file >$dir/$file
else
rm -f $dir/$file
cp_mark_as_generated $1/$dir/$file $dir/$file
fi
fi || exit
done
ig=$dir/.cvsignore
if test -n "$copied" && test -f $ig; then
echo "$copied" | sort -u - $ig | cmp -s - $ig ||
echo "$copied" | sort -u - $ig -o $ig || exit
fi
done
}
# Create boot temporary directories to import from gnulib and gettext.
bt='.#bootmp'
bt2=${bt}2
rm -fr $bt $bt2 &&
mkdir $bt $bt2 || exit
# Import from gnulib.
gnulib_tool_options="\
--import\
--no-changelog\
--aux-dir $bt/build-aux\
--doc-base $bt/doc\
--lib lib$package\
--m4-base $bt/m4/\
--source-base $bt/lib/\
--tests-base $bt/tests\
"
echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
$gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
slurp $bt || exit
for file in $gnulib_files; do
src=$GNULIB_SRCDIR/$file
echo "$0: cp -fp $src $file" &&
cp -fp $src $file || exit
done
# Import from gettext.
echo "$0: (cd $bt2; autopoint) ..."
cp configure.ac $bt2 &&
(cd $bt2 && autopoint && rm configure.ac) &&
slurp $bt2 $bt || exit
rm -fr $bt $bt2 || exit
# Reconfigure, getting other files.
echo "$0: autopoint --force ..."
autopoint --force || exit
# We don't need intl, so remove it.
intl_files_to_remove='
intl
m4/codeset.m4
m4/gettext.m4
m4/glibc2.m4
m4/glibc21.m4
m4/intdiv0.m4
m4/intmax.m4
m4/inttypes-h.m4
m4/inttypes-pri.m4
m4/lcmessage.m4
m4/lock.m4
m4/longdouble.m4
m4/printf-posix.m4
m4/signed.m4
m4/size_max.m4
m4/visibility.m4
m4/wint_t.m4
m4/xsize.m4
'
echo $0: rm -fr $intl_files_to_remove ...
rm -fr $intl_files_to_remove || exit
# Undo changes to gnulib files that autoreconf made.
for gnulib_file in $gnulib_files; do
test ! -f $gnulib_file || cmp -s $gnulib_file $GNULIB_SRCDIR/$gnulib_file || {
rm -f $gnulib_file &&
echo "$0: Copying file $GNULIB_SRCDIR/$gnulib_file again" &&
cp -p $GNULIB_SRCDIR/$gnulib_file $gnulib_file || exit
}
done
# Make sure aclocal.m4 is not older than input files.
sleep 1
for command in \
'aclocal --force -I m4' \
'autoconf --force' \
@@ -286,60 +335,43 @@ do
done
# Put bug-reporting address into po/Makevars.
# Get some extra files from gnulib, overriding existing files.
for file in $gnulib_extra_files; do
src=$GNULIB_SRCDIR/$file
case $file in
*/INSTALL) dest=.;;
*) dest=$file;;
esac
echo "$0: cp -fp $src $dest" &&
cp -fp $src $dest || exit
done
# Create gettext configuration.
echo "$0: Creating po/Makevars from po/Makevars.template ..."
rm -f po/Makevars
sed '
/^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-bison@gnu.org/
/^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
/^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/
/^XGETTEXT_OPTIONS *=/{
s/$/ \\/
a\
--flag=_:1:pass-c-format \\\
--flag=N_:1:pass-c-format \\\
--flag=error:3:c-format --flag=error_at_line:5:c-format \\\
--flag=warn:1:c-format --flag=warn_at:2:c-format \\\
--flag=complain:1:c-format --flag=complain_at:2:c-format \\\
--flag=fatal:1:c-format --flag=fatal_at:2:c-format
'"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
}
' po/Makevars.template >po/Makevars
# Likewise for runtime-po/Makevars, except also change a few other parameters.
sed '
s/^\(DOMAIN\) *=.*/\1 = bison-runtime/
s/^\(subdir\) *=.*/\1 = runtime-po/
s/^\(XGETTEXT_OPTIONS\) *=.*/\1 = --keyword=YY_/
' <po/Makevars >runtime-po/Makevars
if test -d runtime-po; then
# Likewise for runtime-po/Makevars, except also change a few other parameters.
rm -f runtime-po/Makevars
sed '
s/^\(DOMAIN\) *=.*/\1 = '"$package"'-runtime/
s/^\(subdir\) *=.*/\1 = runtime-po/
s/^\(XGETTEXT_OPTIONS\) *=.*/\1 = '"$XGETTEXT_OPTIONS_RUNTIME"'/
' <po/Makevars >runtime-po/Makevars
# Copy identical files from po to runtime-po.
(cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
# if src/parse-gram.[ch] are out of date, rebuild them.
parse_gram_y=`find src/parse-gram.y \
'(' -newer src/parse-gram.c -o -newer src/parse-gram.h ')' \
-print` || exit
case $parse_gram_y in
?*)
echo "$0: warning: bootstrapping with old src/parse-gram.[ch] files."
echo "$0: touch -c src/parse-gram.[ch] ... "
touch -c src/parse-gram.[ch] || exit
echo "$0: ./configure --disable-nls ..."
./configure --disable-nls || exit
echo "$0: (cd lib && make) ..."
(cd lib && make) || exit
echo "$0: (cd src && make) ..."
(cd src && make) || exit
echo "$0: rm -f src/parse-gram.c src/parse-gram.h ..."
rm -f src/parse-gram.c src/parse-gram.h || exit
echo "$0: (cd src && make parse-gram.c parse-gram.h) ..."
(cd src && make parse-gram.c parse-gram.h) || exit
echo "$0: make distclean ..."
make distclean || exit;;
esac
# Copy identical files from po to runtime-po.
(cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
fi
echo "$0: done. Now you can run './configure'."

64
bootstrap.conf Normal file
View File

@@ -0,0 +1,64 @@
# Bootstrap configuration.
# Copyright (C) 2006 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# gnulib modules used by this package.
gnulib_modules='
argmatch configmake dirname error extensions fopen-safer
getopt gettext hash inttypes malloc mbswidth obstack quote
quotearg stdbool stpcpy strerror strtoul strverscmp unistd
unistd-safer unlocked-io verify xalloc xalloc-die xstrndup
'
# Any gnulib files needed that are not in modules.
gnulib_files='
m4/warning.m4
'
# Additional xgettext options to use. Use "\\\newline" to break lines.
XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
--from-code=UTF-8\\\
--flag=asprintf:2:c-format\\\
--flag=complain:1:c-format --flag=complain_at:2:c-format\\\
--flag=fatal:1:c-format --flag=fatal_at:2:c-format\\\
--flag=warn:1:c-format --flag=warn_at:2:c-format\\\
--flag=unexpected_end:2:c-format\\\
'
# Gettext supplies these files, but we don't need them since
# we don't have an intl subdirectory.
excluded_files='
m4/codeset.m4
m4/glibc2.m4
m4/glibc21.m4
m4/intdiv0.m4
m4/intmax.m4
m4/inttypes_h.m4
m4/lcmessage.m4
m4/lock.m4
m4/longdouble.m4
m4/printf-posix.m4
m4/signed.m4
m4/size_max.m4
m4/uintmax_t.m4
m4/ulonglong.m4
m4/visibility.m4
m4/wint_t.m4
m4/xsize.m4
'

View File

@@ -27,13 +27,15 @@ AC_CONFIG_MACRO_DIR([m4])
# We don't have a file m4/Makefile.am, so we need Automake 1.8 or later.
AM_INIT_AUTOMAKE([1.8 check-news readme-alpha dist-bzip2])
AC_CONFIG_HEADERS([config.h:config.hin])
gl_USE_SYSTEM_EXTENSIONS
AC_CONFIG_HEADERS([lib/config.h:lib/config.hin])
# Checks for the compiler.
AC_PROG_CC
AM_PROG_CC_STDC
# Gnulib (early checks).
gl_EARLY
AC_ARG_ENABLE(gcc-warnings,
[ --enable-gcc-warnings turn on lots of GCC warnings (not recommended)],
[case "${enableval}" in
@@ -91,20 +93,23 @@ AC_DEFINE_UNQUOTED([M4], ["$M4"], [Define to the GNU M4 executable name.])
# Checks for header files.
AC_CHECK_HEADERS_ONCE([locale.h])
AM_STDBOOL_H
# Checks for compiler characteristics.
AC_C_INLINE
# Gnulib (later checks). Putting them here rather than right after
# gl_EARLY avoids some redundant checks.
gl_INIT
# Checks for library functions.
AC_CHECK_FUNCS_ONCE([setlocale])
AM_WITH_DMALLOC
BISON_PREREQ_SUBPIPE
BISON_PREREQ_TIMEVAR
# gnulib and gettext.
GNULIB_AUTOCONF_SNIPPET
# Gettext.
# We've never tested with gettext versions before 0.15, so play it safe.
AM_GNU_GETTEXT([external], [need-formatstring-macros])
AM_GNU_GETTEXT_VERSION([0.15])
BISON_I18N

View File

@@ -23,6 +23,7 @@ gettext.h
gnulib.mk
hash.c
hash.h
inttypes_.h
malloc.c
mbswidth.c
mbswidth.h

View File

@@ -1,39 +1,27 @@
## Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
# Make bison/lib.
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
# Copyright (C) 2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
## 02110-1301 USA
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
AM_CFLAGS = $(WARNING_CFLAGS)
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
BUILT_SOURCES =
EXTRA_DIST =
MOSTLYCLEANFILES =
include gnulib.mk
lib_LIBRARIES = $(YACC_LIBRARY)
EXTRA_LIBRARIES = liby.a
noinst_LIBRARIES = libbison.a
AM_CFLAGS = $(WARNING_CFLAGS) $(WERROR_CFLAGS)
liby_a_SOURCES = main.c yyerror.c
libbison_a_SOURCES = $(lib_SOURCES)
lib_SOURCES = \
get-errno.h get-errno.c \
subpipe.h subpipe.c \
$(bitsets_sources) $(additional_bitsets_sources) $(timevars_sources)
# Implementation of bitsets
# Implementation of bitsets.
bitsets_sources = \
abitset.c abitset.h bbitset.h bitset.c bitset.h bitset_stats.c \
bitset_stats.h bitsetv.c bitsetv.h ebitset.c ebitset.h lbitset.c \
@@ -41,13 +29,19 @@ bitsets_sources = \
# Additional bitset operations.
additional_bitsets_sources = \
bitsetv-print.h bitsetv-print.c
bitsetv-print.h bitsetv-print.c
# timevars, stolen from GCC.
timevars_sources = \
timevar.h timevar.c timevar.def
timevar.h timevar.c timevar.def
libbison_a_LIBADD = $(LIBOBJS) $(ALLOCA)
libbison_a_DEPENDENCIES = $(libbison_a_LIBADD)
# Non-gnulib sources in Bison's internal library.
libbison_a_SOURCES += \
get-errno.h get-errno.c \
subpipe.h subpipe.c \
$(bitsets_sources) $(additional_bitsets_sources) $(timevars_sources)
include gnulib.mk
# The Yacc compatibility library.
lib_LIBRARIES = $(YACC_LIBRARY)
EXTRA_LIBRARIES = liby.a
liby_a_SOURCES = main.c yyerror.c

View File

@@ -34,9 +34,7 @@
#include <stdlib.h>
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
#include <unistd.h>
#ifndef STDIN_FILENO
# define STDIN_FILENO 0
#endif

View File

@@ -1,4 +1,3 @@
*_gl.m4
absolute-header.m4
argmatch.m4
dirname.m4
@@ -8,10 +7,15 @@ error.m4
exitfail.m4
extensions.m4
getopt.m4
gnulib.m4
gettext.m4
gnulib-cache.m4
gnulib-comp.m4
gnulib-tool.m4
hash.m4
iconv.m4
inttypes_h.m4
inttypes-h.m4
inttypes-pri.m4
inttypes.m4
lib-ld.m4
lib-link.m4
lib-prefix.m4
@@ -35,8 +39,6 @@ strnlen.m4
strtol.m4
strtoul.m4
strverscmp.m4
uintmax_t.m4
ulonglong.m4
unistd-safer.m4
unistd_h.m4
unlocked-io.m4

View File

@@ -1,24 +1,25 @@
## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# Make bison/src.
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software
# Foundation, Inc.
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
## 02110-1301 USA
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
DEFS += -DPKGDATADIR=\"$(pkgdatadir)\" -DLOCALEDIR=\"$(datadir)/locale\"
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
AM_CFLAGS = $(WARNING_CFLAGS) $(WERROR_CFLAGS)
AM_CPPFLAGS = -I$(top_srcdir)/lib -I../lib
AM_CPPFLAGS = -I$(top_srcdir)/lib
AM_YFLAGS = "-dv"
LDADD = ../lib/libbison.a $(LIBINTL)

View File

@@ -25,6 +25,7 @@
#include "revision.h"
#include <argmatch.h>
#include <configmake.h>
#include <error.h>
/* Hack to get <getopt.h> to declare getopt with a prototype. */

View File

@@ -1,8 +1,7 @@
/* Top level entry point of Bison.
Copyright (C) 1984, 1986, 1989, 1992, 1995, 2000, 2001, 2002, 2004, 2005,
2006
Free Software Foundation, Inc.
Copyright (C) 1984, 1986, 1989, 1992, 1995, 2000, 2001, 2002, 2004,
2005, 2006 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
@@ -26,6 +25,7 @@
#include <bitset_stats.h>
#include <bitset.h>
#include <configmake.h>
#include <timevar.h>
#include "LR0.h"

View File

@@ -23,6 +23,7 @@
#include <config.h>
#include "system.h"
#include <configmake.h>
#include <error.h>
#include <get-errno.h>
#include <quotearg.h>

View File

@@ -45,15 +45,8 @@
# include <sys/types.h>
#endif
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
#if HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#include <stdint.h>
#include <unistd.h>
#include <inttypes.h>
#ifndef UINTPTR_MAX
/* This isn't perfect, but it's good enough for Bison, which needs
@@ -120,15 +113,6 @@ typedef size_t uintptr_t;
#define N_(Msgid) (Msgid)
/*-------------------------------.
| Fix broken compilation flags. |
`-------------------------------*/
#ifndef LOCALEDIR
# define LOCALEDIR "/usr/local/share/locale"
#endif
/*-----------.
| Booleans. |
`-----------*/

View File

@@ -1,6 +1,8 @@
# @configure_input@ -*- shell-script -*-
# Configurable variable values for Bison test suite.
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
# Foundation, Inc.
# We need a C compiler.
CC='@CC@'
@@ -9,7 +11,7 @@ CC='@CC@'
CFLAGS='@O0CFLAGS@ @WARNING_CFLAGS@ @WERROR_CFLAGS@'
# We need `config.h'.
CPPFLAGS="-DHAVE_CONFIG_H=1 -I$abs_top_builddir @CPPFLAGS@"
CPPFLAGS="-DHAVE_CONFIG_H=1 -I$abs_top_builddir/lib @CPPFLAGS@"
# Is the compiler GCC?
GCC='@GCC@'