From 236cb06666a44f23157aa95adc26450fdec92126 Mon Sep 17 00:00:00 2001 From: Michael Haubenwallner Date: Thu, 17 Aug 2017 14:12:20 +0200 Subject: automake: Ensure that LIBOBJ_DIR builddir is created * t/libobj-no-dependency-tracking.sh: New test reproducing the issue described in automake bug#27781. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it. --- t/libobj-no-dependency-tracking.sh | 56 ++++++++++++++++++++++++++++++++++++++ t/list-of-tests.mk | 2 ++ 2 files changed, 58 insertions(+) create mode 100644 t/libobj-no-dependency-tracking.sh diff --git a/t/libobj-no-dependency-tracking.sh b/t/libobj-no-dependency-tracking.sh new file mode 100644 index 000000000..1f024057e --- /dev/null +++ b/t/libobj-no-dependency-tracking.sh @@ -0,0 +1,56 @@ +#! /bin/sh +# Copyright (C) 2017 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 . + +# Ensure that LIBOBJS source files are properly built without dependency +# tracking when using out of tree builds. +# +# This is a non regression test which is following an issue in flex-2.6.4 when +# "malloc.o" was required, see . + +. test-init.sh + +# The LIBOBJS are in a separate LIBOBJ_DIR directory without anything else in +# it to not trigger the creation of the build directory accidentally. +cat >> configure.ac << 'END' +AC_PROG_CC +AC_CONFIG_LIBOBJ_DIR([foo]) +AC_LIBOBJ([foo]) +AC_OUTPUT +END + +cat > Makefile.am << 'END' +AUTOMAKE_OPTIONS = subdir-objects +bin_PROGRAMS = helldl +LDADD = $(LIBOBJS) +.PHONY: dummy +dummy: $(LIBOBJS) +END + +mkdir foo +cat > foo/foo.c << 'END' +int foo() { return 0; } +END + +mkdir build + +$ACLOCAL +$AUTOCONF +$AUTOMAKE + +cd build +../configure --disable-dependency-tracking +run_make dummy +: diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index dacdc8dd8..dab4a7c20 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -38,6 +38,7 @@ t/override-conditional-pr13940.sh \ t/dist-pr109765.sh \ t/instdir-cond2.sh \ t/java-nobase.sh \ +t/libobj-no-dependency-tracking.sh \ t/objext-pr10128.sh \ t/remake-timing-bug-pr8365.sh \ t/lex-subobj-nodep.sh \ @@ -602,6 +603,7 @@ t/lflags.sh \ t/lflags-cxx.sh \ t/libexec.sh \ t/libobj-basic.sh \ +t/libobj-no-dependency-tracking.sh \ t/libobj2.sh \ t/libobj3.sh \ t/libobj4.sh \ -- cgit v1.2.1