diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2010-06-08 16:32:40 +0200 |
---|---|---|
committer | Ralf Wildenhues <Ralf.Wildenhues@gmx.de> | 2010-06-21 20:36:58 +0200 |
commit | 3d461fdcefdb9fcb1d4cfafc0226906c00ff77a3 (patch) | |
tree | 0a77d5b9c0ceab708e08564b08c1abff4542416e /tests/lflags2.test | |
parent | e8413c400ac63bdc65a05851d23c2f076dcdee48 (diff) | |
download | automake-3d461fdcefdb9fcb1d4cfafc0226906c00ff77a3.tar.gz |
New tests, for bugs in Yacc/Lex AM_FLAGS and FLAGS precedence.
* tests/lflags.test: New test, check that user $(LFLAGS) takes
precedence over automake (AM_LFLAGS) and (foo_LFLAGS). Still
xfailing.
* tests/lflags2.test: Likewise.
* tests/yflags.test: New test, check that user $(YFLAGS) takes
precedence over automake (AM_YFLAGS) and (foo_YFLAGS). Still
xfailing.
* tests/yflags2.test: Likewise.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Extended accordingly.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Diffstat (limited to 'tests/lflags2.test')
-rwxr-xr-x | tests/lflags2.test | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/tests/lflags2.test b/tests/lflags2.test new file mode 100755 index 000000000..e50678e87 --- /dev/null +++ b/tests/lflags2.test @@ -0,0 +1,71 @@ +#! /bin/sh +# Copyright (C) 2010 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/>. + +# Check that $(LFLAGS) takes precedence over both $(AM_LFLAGS) and +# $(foo_LFLAGS). +# Please keep this in sync with the sister tests lflags.test, yflags.test +# and yflags2.test + +required=g++ # FIXME: any working C++ compiler should be OK +. ./defs || Exit 1 + +set -e + +cat >fake-lex <<'END' +#!/bin/sh +echo '/*' "$*" '*/' >lex.yy.c +END +chmod a+x fake-lex + +cat >> configure.in <<'END' +AC_PROG_CXX +# Simulate presence of Lex using our fake-lex script. +AC_SUBST([LEX], ['$(abs_top_srcdir)'/fake-lex]) +AC_SUBST([LEX_OUTPUT_ROOT], [lex.yy]) +AC_SUBST([LEXLIB], ['']) +AC_OUTPUT +END + +cat > Makefile.am <<'END' +bin_PROGRAMS = foo bar +foo_SOURCES = main.cc foo.ll +bar_SOURCES = main.cc bar.l++ +AM_LFLAGS = __am_flags__ +bar_LFLAGS = __bar_flags__ +END + +$ACLOCAL +$AUTOMAKE -a + +grep '\$(LFLAGS).*\$(bar_LFLAGS)' Makefile.in && Exit 1 +grep '\$(LFLAGS).*\$(AM_LFLAGS)' Makefile.in && Exit 1 + +echo 'int main(void) { return 0; }' > main.cc +: > foo.ll +: > bar.l++ + +$AUTOCONF +./configure +$MAKE LFLAGS=__user_flags__ + +ls -l + +cat foo.cc +grep '__am_flags__.*__user_flags__' foo.cc +cat bar-bar.c++ +grep '__bar_flags__.*__user_flags__' bar-bar.c++ + +: |