Hash :
ca0ba5df
Author :
Date :
2011-10-24T23:18:34
tests: fix spurious failures due to missing 'yywrap()' function The AC_PROG_LEX Autoconf macro does not diagnose a failure to find the "lex library" expected to provide a `yywrap' function (function which is required to link most lex-generated programs). On the contrary, when all the link attempts (i.e., with `-ll' and `-lfl') fail, configure declares that no lex library is needed, and simply proceeds with the configuration process -- only for the build to possibly fail later, at make time. This behaviour is intended; the Autoconf manual reads: ``You are encouraged to use Flex in your sources, since it is both more pleasant to use than plain Lex and the C source it produces is portable. In order to ensure portability, however, you must either provide a function `yywrap' or, if you don't use it (e.g., your scanner has no `#include'-like feature), simply include a `%noyywrap' statement in the scanner's source.'' This AC_PROG_LEX behaviour is causing some spurious failures of the Automake testsuite in environments which lack a proper library providing `yywrap' (this happens for example on Fedora-based systems). The proper workaround is to simply provide a fall-back implementation of `yywrap' in our lexers. * tests/cond35.test: Provide a dummy `yywrap' function. * tests/lex3.test: Likewise. * tests/silent-lex-generic.test: Likewise. * tests/silent-lex-gcc.test: Likewise. * tests/silent-many-generic.test: Likewise. * tests/silent-many-gcc.test: Likewise. Reported by Jim Meyering: <http://lists.gnu.org/archive/html/automake-patches/2011-10/msg00092.html> Cherry-picked (with some edits) from commits `v1.11-1085-gb5c3968' (master) and `v1.11-871-geb147a1' (testsuite-work).
This is Automake, a Makefile generator. It was inspired by the 4.4BSD make and include files, but aims to be portable and to conform to the GNU Coding Standards for Makefile variables and targets. Automake is a Perl script. The input files are called Makefile.am. The output files are called Makefile.in; they are intended for use with Autoconf. Automake requires certain things to be done in your configure.ac. Variable assignment lines in Makefile.am pull in defaults from various little *.am files. To use Automake, replace your Makefile.in files with Makefile.am files. Read the documentation to see what to do. This package also includes the "aclocal" program. aclocal is a program to generate an `aclocal.m4' based on the contents of `configure.ac'. It is useful as an extensible, maintainable mechanism for augmenting autoconf. It is intended that other package authors will write m4 macros which can be automatically used by aclocal. Automake has a test suite. Use make check to run it. Capture its output in case of failing tests. For more information, please see the file tests/README. Automake has a page on the web. See: http://sources.redhat.com/automake/ The mailing list automake@gnu.org is for discussion of Automake and its interactions with other configuration/portability tools like Autoconf or Libtool. Write to automake-request@gnu.org if you want to join. Mail suggestions and bug reports to bug-automake@gnu.org, patches to automake-patches@gnu.org. New releases are announced to autotools-announce@gnu.org. Write to autotools-announce-request@gnu.org if you want to receive them. ----- Copyright (C) 1994, 1995, 1996, 1997, 1998, 2001, 2003, 2008, 2009, 2011 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, see <http://www.gnu.org/licenses/>.