| #! /bin/sh |
| # Copyright (C) 2002, 2006, 2008 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 ansi2knr on a source file in subdirectory. |
| # From Kevin Ryde. |
| |
| required=gcc |
| . ./defs || Exit 1 |
| |
| cat > configure.in << 'END' |
| AC_INIT(ansi6, 1.0) |
| AM_INIT_AUTOMAKE |
| AC_PROG_CC |
| AC_PROG_CC_STDC |
| AM_C_PROTOTYPES |
| AC_CONFIG_FILES(Makefile) |
| AC_OUTPUT |
| END |
| |
| cat > Makefile.am << 'END' |
| AUTOMAKE_OPTIONS = ansi2knr |
| bin_PROGRAMS = hello |
| hello_SOURCES = hello.c sub/dir.c |
| END |
| |
| cat > hello.c << 'END' |
| #include <stdio.h> |
| |
| extern int foo (); |
| |
| int |
| main (int argc, char **argv) |
| { |
| printf ("%d\n", foo ()); |
| } |
| END |
| |
| mkdir sub |
| |
| cat > sub/dir.c << 'END' |
| int |
| foo () |
| { |
| return 23; |
| } |
| END |
| |
| set -e |
| |
| $ACLOCAL |
| $AUTOCONF |
| $AUTOMAKE -a |
| |
| # Sanity check: make sure it's ok to set ac_cv_prog_cc_stdc as we do. |
| test `grep -c ac_cv_prog_cc_stdc configure` -gt 1 |
| |
| ./configure ac_cv_prog_cc_stdc=no |
| $MAKE |
| |
| test -f hello_.c |
| test -f dir_.c # Must be in current directory. |
| test ! -f sub/dir_.c |
| $MAKE distclean |
| test ! -f hello_.c |
| test ! -f dir_.c |
| |
| # Also run without forcing ansi2knr, so we make sure the |
| # rules work with ANSI compilers. |
| # Report from Andreas Schwab. |
| |
| ./configure |
| $MAKE |