Tag
Hash :
91c2a87f
Author :
Date :
2002-07-16T21:46:59
* lib/Automake/Channels.pm (dup_channel_setup, drop_channel_setup): New functions. (@EXPORT): Add them. * automake.in (generate_makefile): Call dup_channel_setup and drop_channel_setup. (process_option_list): Recognize --warnings and -W options. * automake.texi (Options): Document them. * tests/pluseq5.test: Check that -Wno-obsolete will disable the warning. * tests/warnopts.test: New file. * tests/Makefile.am (TESTS): Add warnopts.test.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
#! /bin/sh
# Make sure that we can enable or disable warnings on a per-file basis.
. $srcdir/defs || exit 1
set -e
cat >>configure.in <<END
AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
END
mkdir sub
# These two Makefile contain the same errors, but have different
# warnings disabled.
cat >Makefile.am <<END
AUTOMAKE_OPTIONS = -Wno-obsolete
INCLUDES = -Ifoo
foo_SOURCES = unused
SUBDIRS = sub
END
cat >sub/Makefile.am <<END
AUTOMAKE_OPTIONS = -Wno-unused
INCLUDES = -Ifoo
foo_SOURCES = unused
END
$ACLOCAL
$AUTOMAKE 2>stderr && exit 1
cat stderr
# The expected diagnostic is
# Makefile.am:3: unused variable: `foo_SOURCES'
# sub/Makefile.am:2: `INCLUDES' is the old name for `AM_CPPFLAGS'
grep '^Makefile.am:.*foo_SOURCES' stderr
grep '^sub/Makefile.am:.*INCLUDES' stderr
grep '^sub/Makefile.am:.*foo_SOURCES' stderr && exit 1
grep '^Makefile.am:.*INCLUDES' stderr && exit 1
# Only two lines of warnings.
test `wc -l < stderr` = 2
# If we add a global -Wnone, all warnings should disappear.
cat >configure.in <<END
AC_INIT([warnopts], [1.0])
AM_INIT_AUTOMAKE([-Wnone])
AC_CONFIG_FILES([Makefile sub/Makefile])
AC_OUTPUT
END
$ACLOCAL
$AUTOMAKE