From 0f5e989d1699b2161540e6ff18a4acbd009461be Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Mon, 10 Feb 2003 21:47:58 +0000 Subject: [PATCH] Related to PR automake/385: * lib/depcomp (dashmstdout): Do not use `-o /dev/null', or gcc will write dependencies to /dev/null. `-o /dev/null' was added on 2002-06-13 just because I tried to replace `-o foo.o' by something else and didn't thought about removing it entirely. * tests/depcomp3.test: New file. * tests/Makefile.am (TESTS): Add it. --- ChangeLog | 8 ++++++ lib/depcomp | 6 ++--- tests/Makefile.am | 1 + tests/Makefile.in | 1 + tests/depcomp3.test | 66 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 78 insertions(+), 4 deletions(-) create mode 100755 tests/depcomp3.test diff --git a/ChangeLog b/ChangeLog index 478dedaa7..b81dc4dda 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2003-02-10 Alexandre Duret-Lutz + Related to PR automake/385: + * lib/depcomp (dashmstdout): Do not use `-o /dev/null', or gcc will + write dependencies to /dev/null. `-o /dev/null' was added + on 2002-06-13 just because I tried to replace `-o foo.o' by something + else and didn't thought about removing it entirely. + * tests/depcomp3.test: New file. + * tests/Makefile.am (TESTS): Add it. + * automake.in (BEGIN): Override $ENV{'SHELL'} with ./configure's SHELL for DJGPP. Suggested by Richard Dawe. diff --git a/lib/depcomp b/lib/depcomp index 807b991f4..0f97c7aac 100755 --- a/lib/depcomp +++ b/lib/depcomp @@ -265,9 +265,7 @@ dashmstdout) shift fi - # Remove `-o $object'. We will use -o /dev/null later, - # however we can't do the remplacement now because - # `-o $object' might simply not be used + # Remove `-o $object'. IFS=" " for arg do @@ -287,7 +285,7 @@ dashmstdout) done test -z "$dashmflag" && dashmflag=-M - "$@" -o /dev/null $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + "$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' diff --git a/tests/Makefile.am b/tests/Makefile.am index babc0873c..6eb558c3c 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -137,6 +137,7 @@ dejagnu2.test \ depacl2.test \ depcomp.test \ depcomp2.test \ +depcomp3.test \ depdist.test \ depend.test \ depend2.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 03d94e07e..b122bca19 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -231,6 +231,7 @@ dejagnu2.test \ depacl2.test \ depcomp.test \ depcomp2.test \ +depcomp3.test \ depdist.test \ depend.test \ depend2.test \ diff --git a/tests/depcomp3.test b/tests/depcomp3.test new file mode 100755 index 000000000..8c6349442 --- /dev/null +++ b/tests/depcomp3.test @@ -0,0 +1,66 @@ +#! /bin/sh +# Copyright (C) 2003 Free Software Foundation, Inc. +# +# This file is part of GNU Automake. +# +# GNU Automake 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. +# +# GNU Automake 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 Automake; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# Make sure dashmstdout generates dependencies. + +required='gcc' +. ./defs || exit 1 + +set -e + +cat >> configure.in << 'END' +AC_PROG_CC +AM_PROG_CC_C_O +AC_OUTPUT +END + +cat > Makefile.am << 'END' +AUTOMAKE_OPTIONS = subdir-objects +check_PROGRAMS = prg +prg_SOURCES = src/sub.c src/foo.h + +grepdeps: + grep 'src/sub.$(OBJEXT).*:' src/$(DEPDIR)/sub.Po + +END + +mkdir src + +touch src/foo.h + +cat >src/sub.c <