automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FYI: don't use -o /dev/null in dashmstdout


From: Alexandre Duret-Lutz
Subject: FYI: don't use -o /dev/null in dashmstdout
Date: Mon, 10 Feb 2003 22:45:53 +0100
User-agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i386-pc-linux-gnu)

I'm installing the following patch on HEAD and branch-1-7.

This is a follow-up to the following patch I applied last year:
http://sources.redhat.com/ml/automake/2002-06/msg00093.html

2003-02-10  Alexandre Duret-Lutz  <address@hidden>

        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.

Index: NEWS
===================================================================
RCS file: /cvs/automake/automake/NEWS,v
retrieving revision 1.198.2.19
diff -u -r1.198.2.19 NEWS
--- NEWS        9 Feb 2003 21:36:42 -0000       1.198.2.19
+++ NEWS        10 Feb 2003 21:38:42 -0000
@@ -14,6 +14,9 @@
 * Fix some incompatibilities with upcoming perl-5.10.
 * Properly quote AC_PACKAGE_TARNAME and AC_PACKAGE_VERSION when defining
   PACKAGE and VERSION.
+* depcomp fixes:
+  - dashmstdout and dashXmstdout modes: don't use `-o /dev/null', this
+    is troublesome with gcc and Solaris compilers.
 * Noteworthy manual updates:
   - New FAQ chapter.
   - Document how AC_CONFIG_AUX_DIR interacts with missing files.
Index: lib/depcomp
===================================================================
RCS file: /cvs/automake/automake/lib/depcomp,v
retrieving revision 1.35
diff -u -r1.35 depcomp
--- lib/depcomp 13 Jun 2002 07:40:08 -0000      1.35
+++ lib/depcomp 10 Feb 2003 21:38:43 -0000
@@ -265,9 +265,7 @@
     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 @@
   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 ' ' '
Index: tests/Makefile.am
===================================================================
RCS file: /cvs/automake/automake/tests/Makefile.am,v
retrieving revision 1.443.2.16
diff -u -r1.443.2.16 Makefile.am
--- tests/Makefile.am   13 Jan 2003 19:20:24 -0000      1.443.2.16
+++ tests/Makefile.am   10 Feb 2003 21:38:44 -0000
@@ -135,6 +135,7 @@
 depacl2.test \
 depcomp.test \
 depcomp2.test \
+depcomp3.test \
 depdist.test \
 depend.test \
 depend2.test \
Index: tests/Makefile.in
===================================================================
RCS file: /cvs/automake/automake/tests/Makefile.in,v
retrieving revision 1.576.2.24
diff -u -r1.576.2.24 Makefile.in
--- tests/Makefile.in   13 Jan 2003 19:20:24 -0000      1.576.2.24
+++ tests/Makefile.in   10 Feb 2003 21:38:44 -0000
@@ -228,6 +228,7 @@
 depacl2.test \
 depcomp.test \
 depcomp2.test \
+depcomp3.test \
 depdist.test \
 depend.test \
 depend2.test \
Index: tests/depcomp3.test
===================================================================
RCS file: tests/depcomp3.test
diff -N tests/depcomp3.test
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/depcomp3.test 10 Feb 2003 21:38:45 -0000
@@ -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 <<EOF
+#include "foo.h"
+int
+main ()
+{
+   return 0;
+}
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+# Sanity check: make sure the cache variable we force is used by configure
+grep am_cv_CC_dependencies_compiler_type configure
+
+./configure am_cv_CC_dependencies_compiler_type=dashmstdout
+$MAKE check
+$MAKE grepdeps


-- 
Alexandre Duret-Lutz





reply via email to

[Prev in Thread] Current Thread [Next in Thread]