| #! /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 |
| echo 'extern int dummy;' >> 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 |
| env LFLAGS=__user_flags__ $MAKE -e |
| |
| ls -l |
| |
| cat foo.cc |
| grep '__am_flags__.*__user_flags__' foo.cc |
| cat bar-bar.c++ |
| grep '__bar_flags__.*__user_flags__' bar-bar.c++ |
| |
| : |