X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/1f65350a16be6a090cf19bad626e191c67159a19..e019c2477959aac474358ae74502fd96a60dfb89:/bootstrap diff --git a/bootstrap b/bootstrap index fe24200e..f1bdb0ad 100755 --- a/bootstrap +++ b/bootstrap @@ -23,6 +23,11 @@ package=bison +# Ensure file names are sorted consistently across platforms; +# e.g., m4/ulonglong_gl.m4 should follow m4/ulonglong.m4. +LC_ALL=C +export LC_ALL + # Parse options. for option @@ -32,9 +37,9 @@ do echo "$0: usage: $0 [--gnulib-srcdir=DIR] [--cvs-user=USERNAME] [--skip-po]" exit;; --gnulib-srcdir=*) - GNULIB_SRCDIR=`expr "$1" : '--gnulib-srcdir=\(.*\)'`;; + GNULIB_SRCDIR=`expr "$option" : '--gnulib-srcdir=\(.*\)'`;; --cvs-user=*) - CVS_USER=`expr "$1" : '--cvs-user=\(.*\)'`;; + CVS_USER=`expr "$option" : '--cvs-user=\(.*\)'`;; --skip-po) SKIP_PO=t;; *) @@ -90,6 +95,7 @@ alloca argmatch dirname error +extensions getopt hard-locale hash @@ -101,6 +107,7 @@ quotearg stdbool stpcpy xalloc +xalloc-die xstrndup ' @@ -129,6 +136,13 @@ for gnulib_file in $gnulib_files; do case $gnulib_file in m4/onceonly_2_57.m4) dest=m4/onceonly.m4;; + # These will be overwritten by autopoint, which still uses + # old jm_.* macro names, so we have to keep both copies. + # m4/gettext.m4 isn't mentioned here, since it's patched below. + m4/glibc21.m4 | m4/inttypes_h.m4 | m4/lib-ld.m4 | \ + m4/lib-prefix.m4 | m4/po.m4 | m4/stdint_h.m4 | m4/uintmax_t.m4 | \ + m4/ulonglong.m4) + dest=`expr $gnulib_file : '\(.*\).m4'`_gl.m4;; esac rm -f $dest && @@ -136,12 +150,18 @@ for gnulib_file in $gnulib_files; do cp -p $GNULIB_SRCDIR/$gnulib_file $dest || exit done +echo "$0: patching m4/gettext.m4 so that AM_INTL_SUBDIR is empty ..." +sed ' + /^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\ + AC_DEFUN([AM_INTL_SUBDIR], []) +' m4/gettext.m4 >m4/gettext_gl.m4 || exit + # Get translations. case $SKIP_PO in '') - echo "$0: getting translations into po..." + echo "$0: getting translations into po (please ignore the robots.txt ERROR 404)..." (cd po && rm -f dummy `ls | sed -n '/\.gmo$/p; /\.po/p'` && wget -nv -nd -r -l 1 -A .po -C off \ @@ -169,16 +189,45 @@ esac echo "$0: autoreconf --verbose --install --force ..." autoreconf --verbose --install --force || exit -# We don't need intl, so remove it. -echo "$0: rm -fr intl ..." -rm -fr intl || exit +# We don't need intl, so remove it. +# Remove aclocal.m4 too, so that it gets rebuilt. +intl_files_to_remove=' + aclocal.m4 + intl + m4/codeset.m4 + m4/gettext.m4 + m4/glibc21.m4 + m4/intdiv0.m4 + m4/intmax.m4 + m4/inttypes_h.m4 + m4/inttypes.m4 + m4/inttypes-pri.m4 + m4/isc-posix.m4 + m4/lcmessage.m4 + m4/lib-ld.m4 + m4/lib-prefix.m4 + m4/longdouble.m4 + m4/longlong.m4 + m4/po.m4 + m4/printf-posix.m4 + m4/signed.m4 + m4/size_max.m4 + m4/stdint_h.m4 + m4/uintmax_t.m4 + m4/ulonglong.m4 + m4/wchar_t.m4 + m4/wint_t.m4 + m4/xsize.m4 +' +echo $0: rm -fr $intl_files_to_remove ... +rm -fr $intl_files_to_remove || exit # Patch what appears to be a bug in gettext 0.14.1; # remove this once the bug is fixed. grep @top_builddir@ po/Makefile.in.in >/dev/null || { echo "$0: prepending 'top_builddir=@top_builddir@' to po/Makefile.in.in ... " - old_contents=$(cat po/Makefile.in.in) || exit + old_contents=`cat po/Makefile.in.in` || exit cat >po/Makefile.in.in <p # if src/parse-gram.[ch] are out of date, rebuild them. -parse_gram_y=$(find src/parse-gram.y \ +parse_gram_y=`find src/parse-gram.y \ '(' -newer src/parse-gram.c -o -newer src/parse-gram.h ')' \ - -print) || exit + -print` || exit case $parse_gram_y in ?*) echo "$0: warning: bootstrapping with old src/parse-gram.[ch] files."