#! /bin/sh # Test for ansi2knr in another directory. . $srcdir/defs || exit 1 cat > configure.in << 'END' AC_INIT(one/joe.c) AM_INIT_AUTOMAKE(liver, 0.23) AC_PROG_CC AM_C_PROTOTYPES AC_OUTPUT(Makefile one/Makefile two/Makefile) END cat > Makefile.am << 'END' SUBDIRS = one two END mkdir one two cat > one/Makefile.am << 'END' AUTOMAKE_OPTIONS = ansi2knr bin_PROGRAMS = joe END cat > two/Makefile.am << 'END' AUTOMAKE_OPTIONS = ../one/ansi2knr bin_PROGRAMS = maude END cat > one/joe.c << 'END' #include int main (int argc, char *argv[]) { printf ("joe\n"); return 0; } END cat > two/maude.c << 'END' #include int main (int argc, char *argv[]) { printf ("maude\n"); return 0; } END $needs_autoconf (gcc -v) > /dev/null 2>&1 || exit 77 set -e $ACLOCAL $AUTOCONF $AUTOMAKE -a CC=gcc ./configure # This is ugly! If we set U at make time then the "wrong" file gets # included. find . -name '*.Po' -print \ | while read file; do base="`echo $file | sed -e 's/\.Po//'`" mv $file ${base}_.Po done # So is this! If we set ANSI2KNR on the make command line then the # wrong value is passed to two's Makefile. mv one/Makefile one/Makefile.old sed -e 's,ANSI2KNR =,ANSI2KNR = ./ansi2knr,' < one/Makefile.old > one/Makefile $MAKE U=_ ./one/joe ./two/maude