mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
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:
40
ChangeLog
40
ChangeLog
@@ -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
438
bootstrap
@@ -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
64
bootstrap.conf
Normal 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
|
||||
'
|
||||
17
configure.ac
17
configure.ac
@@ -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
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ gettext.h
|
||||
gnulib.mk
|
||||
hash.c
|
||||
hash.h
|
||||
inttypes_.h
|
||||
malloc.c
|
||||
mbswidth.c
|
||||
mbswidth.h
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <config.h>
|
||||
#include "system.h"
|
||||
|
||||
#include <configmake.h>
|
||||
#include <error.h>
|
||||
#include <get-errno.h>
|
||||
#include <quotearg.h>
|
||||
|
||||
20
src/system.h
20
src/system.h
@@ -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. |
|
||||
`-----------*/
|
||||
|
||||
@@ -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@'
|
||||
|
||||
Reference in New Issue
Block a user