On Thu, Oct 25, 2001 at 12:16:51PM +0930, Dmitry Mikhin wrote:
[...]
> Can't call method "target_hook" on an undefined value at
> /usr/local/bin/automake line 1943.
[...]
> ******** Makefile.am **************
> # new suffix
> SUFFIXES = .k

(This is superfluous, Automake will infer it from the .k.o rule below)

[...]
> # compilation of *.k
> .k.o:
>  $(KC) -c $(KFLAGS) $<
[...]
Index: ChangeLog
--- ChangeLog
+++ ChangeLog
@@ -1,1 +1,9 @@
+2001-11-01  Alexandre Duret-Lutz  <[EMAIL PROTECTED]>
+
+       * automake.in (handle_single_transform_list): Don't call
+       $lang->target_hook for undefinied langages.
+       * tests/suffix4.test: New test.
+       * tests/Makefile.am (TESTS): Add suffix4.test.
+       Reported by Dmitry Mikhin <dmitrym.acres.com.au>.
+

Index: THANKS
===================================================================
RCS file: /cvs/automake/automake/THANKS,v
retrieving revision 1.152
diff -u -r1.152 THANKS
--- THANKS 2001/11/01 11:45:25 1.152
+++ THANKS 2001/11/01 20:10:22
@@ -34,6 +34,7 @@
 David Zaroski          [EMAIL PROTECTED]
 Derek R. Price         [EMAIL PROTECTED]
 Dieter Baron           [EMAIL PROTECTED]
+Dmitry Mikhin          dmitrym.acres.com.au
 Doug Evans             [EMAIL PROTECTED]
 Eleftherios Gkioulekas [EMAIL PROTECTED]
 Elrond                 [EMAIL PROTECTED]
Index: automake.in
===================================================================
RCS file: /cvs/automake/automake/automake.in,v
retrieving revision 1.1225
diff -u -r1.1225 automake.in
--- automake.in 2001/10/31 18:39:34 1.1225
+++ automake.in 2001/11/01 20:10:42
@@ -1892,8 +1892,10 @@
             }
         }
 
-       # Let the language do some special magic if required.
-       $lang->target_hook ($aggregate, $object, $full);
+       if (defined $lang) {
+           # Let the language do some special magic if required.
+           $lang->target_hook ($aggregate, $object, $full);
+       }
 
        if ($derived_source)
        {
Index: tests/Makefile.am
===================================================================
RCS file: /cvs/automake/automake/tests/Makefile.am,v
retrieving revision 1.349
diff -u -r1.349 Makefile.am
--- tests/Makefile.am 2001/10/26 10:01:05 1.349
+++ tests/Makefile.am 2001/11/01 20:10:43
@@ -288,6 +288,7 @@
 suffix.test \
 suffix2.test \
 suffix3.test \
+suffix4.test \
 symlink.test \
 symlink2.test \
 symlink3.test \
Index: tests/suffix4.test
===================================================================
RCS file: suffix4.test
diff -N suffix4.test
--- /dev/null   Tue May  5 13:32:27 1998
+++ tests/suffix4.test Thu Nov 1 12:10:43 2001
@@ -0,0 +1,22 @@
+#! /bin/sh
+
+# Test to make sure Automake doesn't abort on user-defined extensions.
+# Based on a report from Dmitry Mikhin <dmitrym.acres.com.au>.
+
+# Also make sure that .SUFFIXES is automatically adjusted with
+# extensions from implicit rules.
+
+. $srcdir/defs || exit 1
+
+cat > Makefile.am << 'END'
+.k.o:
+       echo $< > $@
+
+bin_PROGRAMS = foo
+foo_SOURCES = foo.k
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE --Wno-error || exit 1
+grep '.SUFFIXES:.*\.k' Makefile.in || exit 1
+exit 0

Reply via email to