* tests/pr2.test: Ditto.
* tests/pr9.test: Likewise.
* tests/pr72.test: Likewise.
* tests/pr87.test: Likewise.
* tests/pr211.test: Likewise.
* tests/pr220.test: Likewise.
* tests/pr224.test: Likewise.
* tests/pr229.test: Likewise.
* tests/pr243.test: Likewise.
* tests/pr266.test: Likewise.
* tests/pr279.test: Likewise, and tell to keep it in sync
with its sister test.
* tests/pr279-2.test: Likewise.
+2010-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ Tests for PR: add excerpts from original bug report, for clarity.
+ * tests/pr2.test: Ditto.
+ * tests/pr9.test: Likewise.
+ * tests/pr72.test: Likewise.
+ * tests/pr87.test: Likewise.
+ * tests/pr211.test: Likewise.
+ * tests/pr220.test: Likewise.
+ * tests/pr224.test: Likewise.
+ * tests/pr229.test: Likewise.
+ * tests/pr243.test: Likewise.
+ * tests/pr266.test: Likewise.
+ * tests/pr279.test: Likewise, and tell to keep it in sync
+ with its sister test.
+ * tests/pr279-2.test: Likewise.
+
2010-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
Tweak, extend and improve tests `cond[a-z]*.test'.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Test for bug reported in PR 2.
+# "make dist" fails for AC_OUTPUT(README.foo:templ/README.foo.in).
+#
+# == Report ==
+# When my AC_OUTPUT macro in configure.in contains something
+# like the following (among the Makefiles)
+# README.foo:templ/README.foo.in
+# the generated dist target in the Makefile.in fails,
+# because DIST_COMMON will contain templ/README.foo.in
+# and the dist target will try to copy templ/README.foo.in
+# to the distribution directory before it creates a templ
+# subdirectory in the distribution directory.
. ./defs || Exit 1
set -e
+# Please keep this underquoted and old-style.
cat > configure.in << 'END'
AC_INIT
AM_INIT_AUTOMAKE(nonesuch, nonesuch)
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Test for PR 211.
+#
+# == Description ==
+# Suppose you have a library and an ltlibrary in the same
+# directory which use the same source:
+#
+# libfoo_la_SOURCES = foo.c
+# libbar_a_SOURCES = foo.c
+#
+# In this case foo.c will be compiled twice but using different
+# compilers. This is a conflict. In this case the user should
+# rename one of the `foo.o's.
required=libtoolize
. ./defs || Exit 1
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Test for PR automake/220.
+# Test for problems when conditionals are not actually defined.
+# Check that the problems is diagnosed by configure.
+# This isn't perfect (ideally we'd like an error from autoconf),
+# but it is the best we can do. It certainly makes it easier
+# to debug the problem.
+# Note that this should be also in the documentation.
required=gcc
. ./defs || Exit 1
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Test for $(top_srcdir) with dependencies.
+# Test for PR automake/224: $(top_srcdir) w.r.t. dependencies.
+#
+# == Description ==
+# Dependency tracking data should be stored in in the relative path
+# of the source file, as opposed the object file.
+# I.e., for `foo.c' in `$(top_srcdir)/bar', being built in
+# `$(top_srcdir)/build', the location of the `.deps' directory
+# should be `$(top_builddir)/bar/.deps'.
required=gcc
. ./defs || Exit 1
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# Test for PR automake/229.
# Make sure AC_CYGWIN requires config.{sub,guess}.
# Reported by James Youngman.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Test for PR 243.
+# AM_OUTPUT_DEPENDENCY_COMMANDS doesn't handle
+# `Makefile:Makefile.in:tail.mk' in AC_OUTPUT.
+#
+# == Report ==
+# If configure.in has something like:
+# AC_OUTPUT(Makefile:Makefile.in:tail.mk)
+# then config.status cannot parse the Makefile to build the
+# dependency files in the .deps directory. This is because
+# the AM_OUTPUT_DEPENDENCY_COMMANDS macro cannot cope with
+# the colon in the CONFIG_FILES variable.
. ./defs || Exit 1
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Test for PR 266.
+# Dependency tracking -vs- nonstandard Makefile names
. ./defs || Exit 1
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Another test related to PR 279.
+# Multiple DEPENDENCIES on conditionals.
+# Please keep this in sync with sister test pr279.test.
+#
+# == Report ==
+# When defining xxx_LDADD and xxx_DEPENDENCIES variables where the
+# xxx_LDADD one contains values set in conditionals, automake will
+# fail with messages like:
+# foo_DEPENDENCIES was already defined in condition TRUE, ...
. ./defs || Exit 1
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Test for PR 279.
+# Multiple DEPENDENCIES on conditionals.
+# Please keep this in sync with sister test pr279-2.test.
+#
+# == Report ==
+# When defining xxx_LDADD and xxx_DEPENDENCIES variables where the
+# xxx_LDADD one contains values set in conditionals, automake will
+# fail with messages like:
+# foo_DEPENDENCIES was already defined in condition TRUE, ...
. ./defs || Exit 1
# Test for PR 307: depcomp with depmode=dashmstdout libtool race condition
# Report from Laurent Morichetti.
# (Also exercises check_LTLIBRARIES.)
+#
+# == Report ==
+# The dashmstdout depmode calls libtool in parallel to generate the
+# dependencies (with -M flag) and to build the objfile (both have
+# --mode=compile and -o).
+# The process with 'libtool --mode=compile .* -M' can corrupt the objfile
+# as none is generated by the compiler. Since --mode=compile and -o are
+# set libtool assumes that a objfile should be generated and will execute
+# invalid $mv & $LN_S.
+#
+# == Fix ==
+# Now 'depcomp' never compute dependencies in the background, as this can
+# cause races with libtool. Compute the dependencies after the actual
+# compilation.
required='libtoolize gcc'
. ./defs || Exit 1
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Test for PR 72
+# Empty _SOURCES results in $(LINK) undefined.
+
required=libtool
. ./defs || Exit 1
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Test for PR automake/87.
+# "make distcheck" fails when two source dirs exist.
required=gcc
. ./defs || Exit 1
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Test for bug in PR 9.
+# "make dist" incorrect when AC_CONFIG_AUX_DIR is present.
+#
+# == Report ==
+# When AC_CONFIG_AUX_DIR is set (in my case to `support'), make dist
+# no longer automatically includes config.guess, config.sub, install-sh,
+# ltconfig, ltmain.sh, mdate-sh, missing, and mkinstalldirs. In fact,
+# the entire `support/' directory is omitted.
required=gzip
. ./defs || Exit 1