From 8c44d3ec4904a326724764401b532b0593af05c6 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Thu, 16 Mar 2000 15:54:46 +0000 Subject: [PATCH] Do not hard code values of directories in `configure.in'. Update the `configure' tool chain. * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by src/makefile.am. (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED. (AC_OUTPUT): Add m4/Makefile. Bump to bison 1.28a, 1.29 has never been released. * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are handled via src/Makefile.am. (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by autoheader. * Makefile.am (SUBDIRS): Add m4. (ACLOCAL_AM_FLAGS): New variable. (AUTOMAKE_OPTIONS): Add check-news. * src/Makefile.am (bison.simple): Use awk to replace #line lines with the proper line number and file name. (DEFS): Propagate the location of bison library files and of the locale files. (INCLUDES): Added `-I ..' so that one can compile with srcdir != builddir. * acinclude.m4: Remove, replaced by the directory m4. * m4/Makefile.am (EXTRA_DIST): New variable. * m4/gettext.m4: New file, from the fileutils. * m4/lcmessage.m4: Likewise * m4/progtest.m4: Likewise. * m4/bison-decl.m4: New file, extracted from former acinclude.m4. --- ChangeLog | 32 +++- Makefile.am | 6 +- NEWS | 4 +- acconfig.h | 36 ---- configure.in | 18 +- m4/Makefile.am | 2 + acinclude.m4 => m4/bison-decl.m4 | 14 +- m4/gettext.m4 | 320 +++++++++++++++++++++++++++++++ m4/lcmessage.m4 | 20 ++ m4/progtest.m4 | 47 +++++ src/Makefile.am | 15 +- 11 files changed, 445 insertions(+), 69 deletions(-) create mode 100644 m4/Makefile.am rename acinclude.m4 => m4/bison-decl.m4 (69%) create mode 100644 m4/gettext.m4 create mode 100644 m4/lcmessage.m4 create mode 100644 m4/progtest.m4 diff --git a/ChangeLog b/ChangeLog index 281fa841..a0cea743 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,34 @@ +2000-03-16 Akim Demaille + + Do not hard code values of directories in `configure.in'. + Update the `configure' tool chain. + + * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by + src/makefile.am. + (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED. + (AC_OUTPUT): Add m4/Makefile. + Bump to bison 1.28a, 1.29 has never been released. + * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are + handled via src/Makefile.am. + (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS, + HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by + autoheader. + * Makefile.am (SUBDIRS): Add m4. + (ACLOCAL_AM_FLAGS): New variable. + (AUTOMAKE_OPTIONS): Add check-news. + * src/Makefile.am (bison.simple): Use awk to replace #line lines with + the proper line number and file name. + (DEFS): Propagate the location of bison library files and of the + locale files. + (INCLUDES): Added `-I ..' so that one can compile with srcdir != + builddir. + * acinclude.m4: Remove, replaced by the directory m4. + * m4/Makefile.am (EXTRA_DIST): New variable. + * m4/gettext.m4: New file, from the fileutils. + * m4/lcmessage.m4: Likewise + * m4/progtest.m4: Likewise. + * m4/bison-decl.m4: New file, extracted from former acinclude.m4. + 2000-03-10 Akim Demaille * src/closure.c: @@ -1045,4 +1076,3 @@ 1987-12-16 Richard Stallman * REFERENCES: entered into RCS - diff --git a/Makefile.am b/Makefile.am index e38f9e6f..a0e1531d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,9 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -AUTOMAKE_OPTIONS = 1.4 +AUTOMAKE_OPTIONS = 1.4 check-news -SUBDIRS = intl po src doc +ACLOCAL_AMFLAGS = -I m4 + +SUBDIRS = intl po src doc m4 EXTRA_DIST = REFERENCES configure.bat OChangeLog diff --git a/NEWS b/NEWS index 42492f35..ebedf9c0 100644 --- a/NEWS +++ b/NEWS @@ -1,7 +1,7 @@ Bison News ---------- -Changes in version 1.29: +Changes in version 1.28a: * Russian translation added. @@ -45,7 +45,7 @@ Changes in version 1.25: * Errors in the input grammar are not fatal; Bison keeps reading the grammar file, and reports all the errors found in it. - + * Tokens can now be specified as multiple-character strings: for example, you could use "<=" for a token which looks like <=, instead of chosing a name like LESSEQ. diff --git a/acconfig.h b/acconfig.h index 0218c127..0fc2bdd0 100644 --- a/acconfig.h +++ b/acconfig.h @@ -2,42 +2,6 @@ #define CONFIG_H @TOP@ -/* Name of package. */ -#undef PACKAGE - -/* Version of package. */ -#undef VERSION - -/* Version string. */ -#undef VERSION_STRING - -/* Define if the compiler understands prototypes. */ -#undef PROTOTYPES - -/* Define to 1 if NLS is requested. */ -#undef ENABLE_NLS - -/* Define as 1 if you have catgets and don't want to use GNU gettext. */ -#undef HAVE_CATGETS - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT - -/* Define if your locale.h file contains LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES - -/* Define to 1 if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* The location of the simple parser (bison.simple). */ -#undef XPFILE - -/* The location of the semantic parser (bison.hairy). */ -#undef XPFILE1 - -/* The location of the local directory. */ -#undef LOCALEDIR - /* Define as 1 if realloc must be declared even if is included. */ #undef NEED_DECLARATION_REALLOC diff --git a/configure.in b/configure.in index 29d8cb72..e3fddff0 100644 --- a/configure.in +++ b/configure.in @@ -1,8 +1,10 @@ dnl Process this file with autoconf to produce a configure script. +AC_PREREQ(2.13) AC_INIT(src/reduce.c) -AM_INIT_AUTOMAKE(bison,1.29) +AM_INIT_AUTOMAKE(bison, 1.28a) AM_CONFIG_HEADER(config.h:config.hin) -AC_PREREQ(2.13) +AC_DEFINE_UNQUOTED(VERSION_STRING, "GNU Bison version ${VERSION}", + [The version string.]) ALL_LINGUAS="de es fr nl ru" @@ -39,12 +41,6 @@ AM_GNU_GETTEXT # the ANSI2KNR-filtering rules. LIBOBJS=`echo $LIBOBJS|sed 's/\.o /\$U.o /g;s/\.o$/\$U.o/'` -AC_DEFINE_UNQUOTED(VERSION_STRING, "GNU Bison version ${VERSION}") -XPFILE="${datadir}/bison.simple" -BISON_DEFINE_FILE(XPFILE, XPFILE) -XPFILE1="${datadir}/bison.hairy" -BISON_DEFINE_FILE(XPFILE1, XPFILE1) -LOCALEDIR="${datadir}/locale" -BISON_DEFINE_FILE(LOCALEDIR, LOCALEDIR) - -AC_OUTPUT(Makefile intl/Makefile po/Makefile.in src/Makefile doc/Makefile) +AC_OUTPUT([Makefile + intl/Makefile po/Makefile.in + src/Makefile doc/Makefile m4/Makefile]) diff --git a/m4/Makefile.am b/m4/Makefile.am new file mode 100644 index 00000000..c64417c6 --- /dev/null +++ b/m4/Makefile.am @@ -0,0 +1,2 @@ +## Process this file with automake to produce Makefile.in -*-Makefile-*- +EXTRA_DIST = bison-decl.m4 gettext.m4 lcmessage.m4 progtest.m4 diff --git a/acinclude.m4 b/m4/bison-decl.m4 similarity index 69% rename from acinclude.m4 rename to m4/bison-decl.m4 index 8c909d2b..b5684147 100644 --- a/acinclude.m4 +++ b/m4/bison-decl.m4 @@ -1,16 +1,4 @@ -dnl BISON_DEFINE_FILE(VARNAME, FILE) -dnl Defines (with AC_DEFINE) VARNAME to the expansion of the FILE -dnl variable, expanding ${prefix} and such. -dnl Example: BISON_DEFINE_FILE(DATADIR, datadir) -dnl By Alexandre Oliva -AC_DEFUN(BISON_DEFINE_FILE, [ - ac_expanded=`( - test "x$prefix" = xNONE && prefix="$ac_default_prefix" - test "x$exec_prefix" = xNONE && exec_prefix="${prefix}" - eval echo \""[$]$2"\" - )` - AC_DEFINE_UNQUOTED($1, "$ac_expanded") -]) +dnl FIXME: This should be soon obsoleted by AC_CHECK_DECL. dnl See whether we need a declaration for a function. dnl BISON_NEED_DECLARATION(FUNCTION [, EXTRA-HEADER-FILES]) diff --git a/m4/gettext.m4 b/m4/gettext.m4 new file mode 100644 index 00000000..c60db004 --- /dev/null +++ b/m4/gettext.m4 @@ -0,0 +1,320 @@ +# Macro to add for using GNU gettext. +# Ulrich Drepper , 1995. +# +# This file can be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU Public License +# but which still want to provide support for the GNU gettext functionality. +# Please note that the actual code is *not* freely available. + +# serial 109 + +AC_PREREQ(2.13) dnl Minimum Autoconf version required. + +AC_DEFUN(AM_WITH_NLS, + [AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE(nls, + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT($USE_NLS) + AC_SUBST(USE_NLS) + + USE_INCLUDED_LIBINTL=no + + dnl If we use NLS figure out what method + if test "$USE_NLS" = "yes"; then + AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if NLS is requested.]) + AC_MSG_CHECKING([whether included gettext is requested]) + AC_ARG_WITH(included-gettext, + [ --with-included-gettext use the GNU gettext library included here], + nls_cv_force_use_gnu_gettext=$withval, + nls_cv_force_use_gnu_gettext=no) + AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + dnl User does not insist on using GNU NLS library. Figure out what + dnl to use. If gettext or catgets are available (in this order) we + dnl use this. Else we have to fall back to GNU NLS library. + dnl catgets is only used if permitted by option --with-catgets. + nls_cv_header_intl= + nls_cv_header_libgt= + CATOBJEXT=NONE + + AC_CHECK_HEADER(libintl.h, + [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc, + [AC_TRY_LINK([#include ], [return (int) gettext ("")], + gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)]) + + if test "$gt_cv_func_gettext_libc" != "yes"; then + AC_CHECK_LIB(intl, bindtextdomain, + [AC_CHECK_LIB(intl, gettext)]) + fi + + if test "$gt_cv_func_gettext_libc" = "yes" \ + || test "$ac_cv_lib_intl_gettext" = "yes"; then + AC_DEFINE(HAVE_GETTEXT, 1, + [Define to 1 if you have gettext and don't want to use GNU gettext.]) + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl + if test "$MSGFMT" != "no"; then + AC_CHECK_FUNCS(dcgettext) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) + AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr], + [CATOBJEXT=.gmo + DATADIRNAME=share], + [CATOBJEXT=.mo + DATADIRNAME=lib]) + INSTOBJEXT=.mo + fi + fi + ]) + + if test "$CATOBJEXT" = "NONE"; then + AC_MSG_CHECKING([whether catgets can be used]) + AC_ARG_WITH(catgets, + [ --with-catgets use catgets functions if available], + nls_cv_use_catgets=$withval, nls_cv_use_catgets=no) + AC_MSG_RESULT($nls_cv_use_catgets) + + if test "$nls_cv_use_catgets" = "yes"; then + dnl No gettext in C library. Try catgets next. + AC_CHECK_LIB(i, main) + AC_CHECK_FUNC(catgets, + [AC_DEFINE(HAVE_CATGETS, 1, + [Define as 1 if you have \`catgets' and don't want to use GNU gettext.]) + INTLOBJS="\$(CATOBJS)" + AC_PATH_PROG(GENCAT, gencat, no)dnl + if test "$GENCAT" != "no"; then + AC_PATH_PROG(GMSGFMT, gmsgfmt, no) + if test "$GMSGFMT" = "no"; then + AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no) + fi + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) + USE_INCLUDED_LIBINTL=yes + CATOBJEXT=.cat + INSTOBJEXT=.cat + DATADIRNAME=lib + INTLDEPS='$(top_builddir)/intl/libintl.a' + INTLLIBS=$INTLDEPS + LIBS=`echo $LIBS | sed -e 's/-lintl//'` + nls_cv_header_intl=intl/libintl.h + nls_cv_header_libgt=intl/libgettext.h + fi]) + fi + fi + + if test "$CATOBJEXT" = "NONE"; then + dnl Neither gettext nor catgets in included in the C library. + dnl Fall back on GNU gettext library. + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions used to generate GNU NLS library. + INTLOBJS="\$(GETTOBJS)" + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) + AC_SUBST(MSGFMT) + USE_INCLUDED_LIBINTL=yes + CATOBJEXT=.gmo + INSTOBJEXT=.mo + DATADIRNAME=share + INTLDEPS='$(top_builddir)/intl/libintl.a' + INTLLIBS=$INTLDEPS + LIBS=`echo $LIBS | sed -e 's/-lintl//'` + nls_cv_header_intl=intl/libintl.h + nls_cv_header_libgt=intl/libgettext.h + fi + + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is no GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header /dev/null 2> /dev/null; then + : ; + else + AC_MSG_RESULT( + [found xgettext program is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + fi + + # We need to process the po/ directory. + POSUB=po + else + DATADIRNAME=share + nls_cv_header_intl=intl/libintl.h + nls_cv_header_libgt=intl/libgettext.h + fi + if test -z "$nls_cv_header_intl"; then + # Clean out junk possibly left behind by a previous configuration. + rm -f intl/libintl.h + fi + AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl) + AC_OUTPUT_COMMANDS( + [case "$CONFIG_FILES" in *po/Makefile.in*) + sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile + esac]) + + + # If this is used in GNU gettext we have to set USE_NLS to `yes' + # because some of the sources are only built for this goal. + if test "$PACKAGE" = gettext; then + USE_NLS=yes + USE_INCLUDED_LIBINTL=yes + fi + + dnl These rules are solely for the distribution goal. While doing this + dnl we only have to keep exactly one list of the available catalogs + dnl in configure.in. + for lang in $ALL_LINGUAS; do + GMOFILES="$GMOFILES $lang.gmo" + POFILES="$POFILES $lang.po" + done + + dnl Make all variables we use known to autoconf. + AC_SUBST(USE_INCLUDED_LIBINTL) + AC_SUBST(CATALOGS) + AC_SUBST(CATOBJEXT) + AC_SUBST(DATADIRNAME) + AC_SUBST(GMOFILES) + AC_SUBST(INSTOBJEXT) + AC_SUBST(INTLDEPS) + AC_SUBST(INTLLIBS) + AC_SUBST(INTLOBJS) + AC_SUBST(POFILES) + AC_SUBST(POSUB) + ]) + +AC_DEFUN(AM_GNU_GETTEXT, + [AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_PROG_RANLIB])dnl + AC_REQUIRE([AC_ISC_POSIX])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_C_CONST])dnl + AC_REQUIRE([AC_C_INLINE])dnl + AC_REQUIRE([AC_TYPE_OFF_T])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + + AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \ +unistd.h sys/param.h]) + AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \ +strdup __argz_count __argz_stringify __argz_next]) + + if test "${ac_cv_func_stpcpy+set}" != "set"; then + AC_CHECK_FUNCS(stpcpy) + fi + if test "${ac_cv_func_stpcpy}" = "yes"; then + AC_DEFINE(HAVE_STPCPY, 1, + [Define to 1 if you have the \`stpcpy' function.]) + fi + + AM_LC_MESSAGES + AM_WITH_NLS + + if test "x$CATOBJEXT" != "x"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + AC_MSG_CHECKING(for catalogs to be installed) + NEW_LINGUAS= + for lang in ${LINGUAS=$ALL_LINGUAS}; do + case "$ALL_LINGUAS" in + *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; + esac + done + LINGUAS=$NEW_LINGUAS + AC_MSG_RESULT($LINGUAS) + fi + + dnl Construct list of names of catalog files to be constructed. + if test -n "$LINGUAS"; then + for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done + fi + fi + + dnl The reference to in the installed file + dnl must be resolved because we cannot expect the users of this + dnl to define HAVE_LOCALE_H. + if test $ac_cv_header_locale_h = yes; then + INCLUDE_LOCALE_H="#include " + else + INCLUDE_LOCALE_H="\ +/* The system does not provide the header . Take care yourself. */" + fi + AC_SUBST(INCLUDE_LOCALE_H) + + dnl Determine which catalog format we have (if any is needed) + dnl For now we know about two different formats: + dnl Linux libc-5 and the normal X/Open format + test -d intl || mkdir intl + if test "$CATOBJEXT" = ".cat"; then + AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen) + + dnl Transform the SED scripts while copying because some dumb SEDs + dnl cannot handle comments. + sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed + fi + dnl po2tbl.sed is always needed. + sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \ + $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed + + dnl In the intl/Makefile.in we have a special dependency which makes + dnl only sense for gettext. We comment this out for non-gettext + dnl packages. + if test "$PACKAGE" = "gettext"; then + GT_NO="#NO#" + GT_YES= + else + GT_NO= + GT_YES="#YES#" + fi + AC_SUBST(GT_NO) + AC_SUBST(GT_YES) + + dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly + dnl find the mkinstalldirs script in another subdir but ($top_srcdir). + dnl Try to locate is. + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + MKINSTALLDIRS="\$(top_srcdir)/$ac_aux_dir/mkinstalldirs" + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + AC_SUBST(MKINSTALLDIRS) + + dnl *** For now the libtool support in intl/Makefile is not for real. + l= + AC_SUBST(l) + + dnl Generate list of files to be processed by xgettext which will + dnl be included in po/Makefile. + test -d po || mkdir po + changequote(, )dnl + case "$srcdir" in + .) + posrcprefix="../" ;; + /* | [A-Za-z]:*) + posrcprefix="$srcdir/" ;; + *) + posrcprefix="../$srcdir/" ;; + esac + changequote([, ])dnl + rm -f po/POTFILES + sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ + < $srcdir/po/POTFILES.in > po/POTFILES + ]) diff --git a/m4/lcmessage.m4 b/m4/lcmessage.m4 new file mode 100644 index 00000000..bac9002a --- /dev/null +++ b/m4/lcmessage.m4 @@ -0,0 +1,20 @@ +# Check whether LC_MESSAGES is available in . +# Ulrich Drepper , 1995. +# +# This file can be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU Public License +# but which still want to provide support for the GNU gettext functionality. +# Please note that the actual code is *not* freely available. + +# serial 1 + +AC_DEFUN(AM_LC_MESSAGES, + [if test $ac_cv_header_locale_h = yes; then + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include ], [return LC_MESSAGES], + am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, + [Define if your locale.h file contains LC_MESSAGES.]) + fi + fi]) diff --git a/m4/progtest.m4 b/m4/progtest.m4 new file mode 100644 index 00000000..2482d4a9 --- /dev/null +++ b/m4/progtest.m4 @@ -0,0 +1,47 @@ +# Search path for a program which passes the given test. +# Ulrich Drepper , 1996. +# +# This file can be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU Public License +# but which still want to provide support for the GNU gettext functionality. +# Please note that the actual code is *not* freely available. + +# serial 1 + +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN(AM_PATH_PROG_WITH_TEST, +[# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL(ac_cv_path_$1, +[case "[$]$1" in + /*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in ifelse([$5], , $PATH, [$5]); do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test -n "[$]$1"; then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) diff --git a/src/Makefile.am b/src/Makefile.am index 71b8759c..1f5ba8dd 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -10,7 +10,12 @@ bison_SOURCES = LR0.c allocate.c closure.c conflicts.c derives.c \ EXTRA_bison_SOURCES = vmsgetargs.c bison_LDADD = @INTLLIBS@ @ALLOCA@ -INCLUDES = -I../intl -I$(top_srcdir)/intl + +DEFS = @DEFS@ \ + -DXPFILE=\"${datadir}/bison.simple\" \ + -DXPFILE1=\"${datadir}/bison.hairy\" \ + -DLOCALEDIR=\"${datadir}/locale\" +INCLUDES = -I../intl -I$(top_srcdir)/intl -I.. noinst_HEADERS = alloc.h files.h gram.h lex.h machine.h state.h \ symtab.h system.h types.h getopt.h @@ -20,8 +25,10 @@ data_DATA = bison.simple bison.hairy EXTRA_DIST = bison.s1 bison.hairy build.com bison.cld vmshlp.mar bison.simple: bison.s1 Makefile - -rm -f $@ - sed -e "/^#line/ s|bison|$(datadir)/bison|" -e "s/@bison_version@/$(VERSION)/" < $(srcdir)/bison.s1 > $@-tmp - mv $@-tmp $@ + sed -e "s/@bison_version@/$(VERSION)/" $(srcdir)/bison.s1 | \ + awk '\ + /^#line/ { printf "\"#line %d $(datadir)/bison.simple\"\n", NR+1; next }\ + { print }' >$@t + mv $@t $@ DISTCLEANFILES = bison.simple -- 2.45.2