[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: depcomp problem
From: |
Alexandre Duret-Lutz |
Subject: |
Re: depcomp problem |
Date: |
Wed, 29 Sep 2004 00:01:55 +0200 |
User-agent: |
Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux) |
Здравствуйте Пух,
>>> "Пух" == Пухальский Юрий Андреевич <address@hidden> writes:
Пух> This problem appears at least through automake versions
Пух> 1.9 to 1.9.2. When I compile on Solaris, automatic
Пух> dependency file making doesn't work because depcomp
Пух> apparently tries to parse libtool string and chokes on
Пух> --tag option.
Thanks for the report, and congratulation on catching the first
regression in 1.9.x :)
I'm installing the following fix on HEAD and branch-1-9.
2004-09-28 Alexandre Duret-Lutz <address@hidden>
* automake.in (handle_languages, define_compiler_variable): Output
Libtool's --tag= option before --mode=compile, because depcomp use
--mode=compile as end marker for libtool arguments.
(define_linker_variable): Likewise before --mode=link, for
uniformity.
* tests/pr307.test: Make sure dependency files are updated. That
was not the case because depcomp thought `--tag=CC' was the
compiler to get dependencies from.
Report from Пухальский Юрий Андреевич.
Index: THANKS
===================================================================
RCS file: /cvs/automake/automake/THANKS,v
retrieving revision 1.256
diff -u -r1.256 THANKS
--- THANKS 22 Jul 2004 17:22:33 -0000 1.256
+++ THANKS 28 Sep 2004 21:48:28 -0000
@@ -205,6 +205,7 @@
Phil Nelson address@hidden
Philip Fong address@hidden
Philip S Tellis address@hidden
+Пухальский Юрий Андреевич address@hidden
Rainer Orth address@hidden
Rafael Laboissiere address@hidden
Raja R Harinath address@hidden
Index: automake.in
===================================================================
RCS file: /cvs/automake/automake/automake.in,v
retrieving revision 1.1569.2.4
diff -u -r1.1569.2.4 automake.in
--- automake.in 7 Sep 2004 21:16:36 -0000 1.1569.2.4
+++ automake.in 28 Sep 2004 21:48:32 -0000
@@ -1223,7 +1223,7 @@
}
my $obj_ltcompile =
- '$(LIBTOOL) --mode=compile ' . $libtool_tag . $obj_compile;
+ "\$(LIBTOOL) $libtool_tag--mode=compile $obj_compile";
# We _need_ `-o' for per object rules.
my $output_flag = $lang->output_flag || '-o';
@@ -5689,7 +5689,7 @@
if $lang->libtool_tag && exists $libtool_tags{$lang->libtool_tag};
&define_variable ($var, $value, INTERNAL);
&define_variable ("LT$var",
- "\$(LIBTOOL) --mode=compile $libtool_tag$value",
+ "\$(LIBTOOL) $libtool_tag--mode=compile $value",
INTERNAL)
if var ('LIBTOOL');
}
@@ -5711,7 +5711,7 @@
# CCLINK = $(CCLD) blah blah...
&define_variable ($lang->linker,
((var ('LIBTOOL') ?
- '$(LIBTOOL) --mode=link ' . $libtool_tag : '')
+ "\$(LIBTOOL) $libtool_tag--mode=link " : '')
. $lang->link),
INTERNAL);
}
Index: tests/pr307.test
===================================================================
RCS file: /cvs/automake/automake/tests/pr307.test,v
retrieving revision 1.3
diff -u -r1.3 pr307.test
--- tests/pr307.test 14 Nov 2003 21:25:59 -0000 1.3
+++ tests/pr307.test 28 Sep 2004 21:48:33 -0000
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2002 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2004 Free Software Foundation, Inc.
#
# This file is part of GNU Automake.
#
@@ -34,10 +34,23 @@
cat > Makefile.am << 'END'
check_LTLIBRARIES = librace.la
librace_la_SOURCES = a.c b.c c.c d.c e.c f.c g.c h.c
+
+# Make sure the dependencies are updated.
+check-local:
+ for i in $(librace_la_SOURCES:.c=.Plo); do \
+ echo checking ./$(DEPDIR)/$$i; \
+ grep foo.h ./$(DEPDIR)/$$i >tst || exit 1; \
+ test `wc -l <tst` -eq 2 || exit 1; \
+ done
END
+: >foo.h
+
for i in a b c d e f g h; do
- echo "int $i() { return 0; }" > $i.c
+ cat >$i.c <<EOF
+#include "foo.h"
+int $i() { return 0; }
+EOF
done
set -e
@@ -65,3 +78,4 @@
# (This may happen on `f' or on some other files.)
test -f librace.la
+test -f tst # a proof that check-local was run
--
Alexandre Duret-Lutz
- depcomp problem, Пухальский Юрий Андреевич, 2004/09/28
- Re: depcomp problem,
Alexandre Duret-Lutz <=