summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Duret-Lutz <adl@gnu.org>2004-08-03 20:20:35 +0000
committerAlexandre Duret-Lutz <adl@gnu.org>2004-08-03 20:20:35 +0000
commitae550cf7e89e4c36001861b0bf41ac5ce5c8479a (patch)
treef9ab86e8cf1212650c8332a5858a2eb215ade1ee
parent9a92eb377e6e44893647959850985e5fbd867375 (diff)
downloadautomake-ae550cf7e89e4c36001861b0bf41ac5ce5c8479a.tar.gz
* automake.in (yacc_lex_finish_helper): Fix definition of YLWRAP
when ylwrap is installed in a default aux dir found in a parent package. * tests/subpkg.test: Augment to check that YLWRAP is installed properly. * doc/automake.texi (Yacc and Lex): ylwrap is not sought is the current directory. Report from Norman Gray.
-rw-r--r--ChangeLog11
-rwxr-xr-xautomake.in25
-rw-r--r--doc/automake.texi10
-rw-r--r--doc/stamp-vti4
-rw-r--r--doc/version.texi4
-rwxr-xr-xtests/subpkg.test22
6 files changed, 47 insertions, 29 deletions
diff --git a/ChangeLog b/ChangeLog
index bdb93e287..06920fc3a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2004-08-03 Alexandre Duret-Lutz <adl@gnu.org>
+
+ * automake.in (yacc_lex_finish_helper): Fix definition of YLWRAP
+ when ylwrap is installed in a default aux dir found in a parent
+ package.
+ * tests/subpkg.test: Augment to check that YLWRAP is installed
+ properly.
+ * doc/automake.texi (Yacc and Lex): ylwrap is not sought is the
+ current directory.
+ Report from Norman Gray.
+
2004-08-02 Alexandre Duret-Lutz <adl@gnu.org>
* doc/automake.texi (Optional): Update documentation for
diff --git a/automake.in b/automake.in
index 05c4b3fd4..13c323f73 100755
--- a/automake.in
+++ b/automake.in
@@ -5310,22 +5310,15 @@ sub lang_lex_target_hook
# This is a helper for both lex and yacc.
sub yacc_lex_finish_helper
{
- return if defined $language_scratch{'lex-yacc-done'};
- $language_scratch{'lex-yacc-done'} = 1;
-
- # If there is more than one distinct yacc (resp lex) source file
- # in a given directory, then the `ylwrap' program is required to
- # allow parallel builds to work correctly. FIXME: for now, no
- # line number.
- require_conf_file ($configure_ac, FOREIGN, 'ylwrap');
- if ($config_aux_dir_set_in_configure_ac)
- {
- &define_variable ('YLWRAP', "$am_config_aux_dir/ylwrap", INTERNAL);
- }
- else
- {
- &define_variable ('YLWRAP', '$(top_srcdir)/ylwrap', INTERNAL);
- }
+ return if defined $language_scratch{'lex-yacc-done'};
+ $language_scratch{'lex-yacc-done'} = 1;
+
+ # If there is more than one distinct yacc (resp lex) source file
+ # in a given directory, then the `ylwrap' program is required to
+ # allow parallel builds to work correctly. FIXME: for now, no
+ # line number.
+ require_conf_file ($configure_ac, FOREIGN, 'ylwrap');
+ &define_variable ('YLWRAP', "$am_config_aux_dir/ylwrap", INTERNAL);
}
sub lang_yacc_finish
diff --git a/doc/automake.texi b/doc/automake.texi
index c886fd1c4..c8ac56f59 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -3777,11 +3777,11 @@ one distinct @code{yacc} (or @code{lex}) source file in a directory,
Automake uses a small program called @code{ylwrap} to run @code{yacc}
(or @code{lex}) in a subdirectory. This is necessary because yacc's
output filename is fixed, and a parallel make could conceivably invoke
-more than one instance of @code{yacc} simultaneously. The @code{ylwrap}
-program is distributed with Automake. It should appear in the directory
-specified by @samp{AC_CONFIG_AUX_DIR} (@pxref{Input, , Finding
-`configure' Input, autoconf, The Autoconf Manual}), or the current
-directory if that macro is not used in @file{configure.ac}.
+more than one instance of @code{yacc} simultaneously. The
+@code{ylwrap} program is distributed with Automake. It should appear
+in the directory specified by @samp{AC_CONFIG_AUX_DIR}, or one of its
+default locations (@pxref{Input, , Finding `configure' Input,
+autoconf, The Autoconf Manual}).
For @code{yacc}, simply managing locking is insufficient. The output of
@code{yacc} always uses the same symbol names internally, so it isn't
diff --git a/doc/stamp-vti b/doc/stamp-vti
index 5fbd5f92c..b4bbf39f1 100644
--- a/doc/stamp-vti
+++ b/doc/stamp-vti
@@ -1,4 +1,4 @@
-@set UPDATED 28 July 2004
-@set UPDATED-MONTH July 2004
+@set UPDATED 3 August 2004
+@set UPDATED-MONTH August 2004
@set EDITION 1.9.0a
@set VERSION 1.9.0a
diff --git a/doc/version.texi b/doc/version.texi
index 5fbd5f92c..b4bbf39f1 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,4 +1,4 @@
-@set UPDATED 28 July 2004
-@set UPDATED-MONTH July 2004
+@set UPDATED 3 August 2004
+@set UPDATED-MONTH August 2004
@set EDITION 1.9.0a
@set VERSION 1.9.0a
diff --git a/tests/subpkg.test b/tests/subpkg.test
index 1018dbd72..ede650593 100755
--- a/tests/subpkg.test
+++ b/tests/subpkg.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
#
# This file is part of GNU Automake.
#
@@ -20,7 +20,7 @@
# Check subpackage handling.
-required=gcc
+required='gcc bison'
. ./defs || exit 1
set -e
@@ -73,23 +73,37 @@ cat >lib/configure.ac <<'EOF'
AC_INIT([lib], [2.3])
AM_INIT_AUTOMAKE
AC_PROG_RANLIB
+AC_PROG_YACC
AC_CONFIG_FILES([Makefile])
FOO
EOF
cat >lib/Makefile.am <<'EOF'
noinst_LIBRARIES = liblib.a
-liblib_a_SOURCES = src/x.c
+liblib_a_SOURCES = src/x.c foo.y
+EXTRA_liblib_a_SOURCES = bar.y
dist-hook:
test ! -f $(distdir)/LDADD.c
test -f $(top_distdir)/LDADD.c
test -f $(distdir)/src/x.c
test ! -f $(top_distdir)/src/x.c
+ test -f $(YLWRAP)
ACLOCAL_AMFLAGS = -I ../m4
EOF
+cat > lib/foo.y << 'END'
+%{
+int yylex () {return 0;}
+void yyerror (char *s) {}
+%}
+%%
+foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
+END
+
+cp lib/foo.y lib/bar.y
+
cat >lib/src/x.c <<'EOF'
int lib ()
{
@@ -105,7 +119,7 @@ cd lib
$ACLOCAL -I ../m4
$FGREP 'm4_include([../m4/foo.m4])' aclocal.m4
$AUTOCONF
-$AUTOMAKE -Wno-override
+$AUTOMAKE -Wno-override --add-missing
cd ..
./configure