GNU bug report logs - #10128
am_foo_OBJECTS is empty when ...

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: automake; Severity: minor; Reported by: Sebastian Freundt <freundt@HIDDEN>; dated Thu, 24 Nov 2011 18:38:02 UTC; Maintainer for automake is bug-automake@HIDDEN.
Severity set to 'minor' from 'normal' Request was from Stefano Lattarini <stefano.lattarini@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 10128 <at> debbugs.gnu.org:


Received: (at 10128) by debbugs.gnu.org; 3 Jan 2012 18:29:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 03 13:29:09 2012
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Ri96j-0005pv-7p
	for submit <at> debbugs.gnu.org; Tue, 03 Jan 2012 13:29:09 -0500
Received: from mr011.hansenet.de ([85.183.254.144])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <freundt@HIDDEN>) id 1Ri96f-0005pm-KN
	for 10128 <at> debbugs.gnu.org; Tue, 03 Jan 2012 13:29:07 -0500
Received: from segen.fresse.org (85.183.32.27) by mr011.hansenet.de (8.5.134)
	id 4D25AFBC00DB9C37 for 10128 <at> debbugs.gnu.org;
	Tue, 3 Jan 2012 19:25:44 +0100
Received: by segen.fresse.org (Postfix, from userid 112)
	id 616AA21629; Tue,  3 Jan 2012 18:25:44 +0000 (UTC)
Received: from segen.fresse.org (segen.fresse.org [IPv6:2001:470:9141::7e])
	by segen.fresse.org (Postfix) with ESMTP id 836D621627;
	Tue,  3 Jan 2012 18:25:42 +0000 (UTC)
From: Sebastian Freundt <freundt@HIDDEN>
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: bug#10128: am_foo_OBJECTS is empty when ...
In-Reply-To: <4F020FF3.3020605@HIDDEN> (Stefano Lattarini's message of
	"Mon, 02 Jan 2012 21:13:39 +0100")
References: <81aa7lg24i.fsf@HIDDEN> <4F01F16D.4050504@HIDDEN>
	<81wr9ax8rq.fsf@HIDDEN> <4F020FF3.3020605@HIDDEN>
User-Agent: Gnus/5.110014 (No Gnus v0.14) SXEmacs/22.1.12 (linux)
X-URL: http://hroptatyr.github.com/
X-Gpg-Key-Id: 0x82C9390E
X-Fingerprint: 6CB0 D61E 23A4 275C C2CF  A161 94C9 A1AC 82C9 390E
X-Face: #HUK$+njZzfa\Y7-C?%}`0I+_5(GhEOmLsy4},
	^7)im*%||Zh=:FnuCpe1gt+p:Omkx{a}BSf}DSn4],
	m9[bw5*gsG$Xx<-V"(L0?M8*&H\hh^^cd7F~B=/KkLl\mNdk\_}HrPG}=cnAwt=\tWF6J
X-Discordian-Date: Pungenday, 3rd of Chaos, yold 3178. 
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEWLYy//y8qfMzN/UVL/
	l5eamX/LmWbRZmLMmZjg3qv+zZf7/vr727f6AAACVklEQVR42o3UMWvbQBQA4CPG8dDJNBRXXUwy
	ZHURoS1d2iJkVVNIcNI0i8GXp6unEMMpY0uU68WdAmmRm8lwpOJtpgSi5s/1To6lS2mhN+rTu/f0
	7p3I7T8W+T84n/wFrm9Od3rbvS9/Qr47IoSsdmp7l/dhs8GXNKy2yf49eNjmlMbAedRe27dgtrWc
	hOh5gD6QlxbcLEGi0CzlR3ULfq7LBOfLg5EFW8vBGLHpmBAY7Jcw67AgRJwaQD96WsEykxqcu72e
	V1vFwEJcJBlvlHC9U4Hy/O0nZUQEML7LoWFQbdUHoDhtFmUFooJ0wIFJXW9z2kQlBuVWX3e5Th/x
	4dTECPMhBcw+fjvmMnxsKhAxj2olqFqDy8kpMMziBnCygAv1pjFiB+8EhD4A9OsLWMFXPn0rpRDD
	6FPv2WEZ0Qp+cJqhSnzaTc86hCzKXQmvYmo6BbQLIiJl8gtsFaAE9UEAWVtEnGvQHcGpHypG4ai+
	gNzJ4uKc4LVDBYselC1xfA1OUwXDbOgFUdX22SOe6N4qCtFQBaPqaPPWcVJ0HCFUAangVpjeGvCp
	8l1rSiRLx8X5ZYkSNQvSD5kBDzMp+xsWtBimeBXHMUgxsEd0j71PEaNuvD4U/RcW/BLj1CTvxuPT
	gT3tjpCmrGBFfofOfShmQemvgG374pxJJuf1ik3XjriW0ow7KhSHdStCP5fziKA/v1AWCJMdZd+1
	LmcuWRKm8gwnKF0Lct1DT7+sV/rZdasfwGUOBhSmIjpyXesHkAt2dznEQc/ds5LrHk4LODmY9OY5
	fgNaH4km3mN9MwAAAABJRU5ErkJggg==
Date: Tue, 03 Jan 2012 18:25:42 +0000
Message-ID: <87obuk1w49.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.2
X-Spam-Score: -2.6 (--)
X-Debbugs-Envelope-To: 10128
Cc: 10128 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -2.6 (--)

Stefano Lattarini <stefano.lattarini@HIDDEN> writes:

> On 01/02/2012 07:24 PM, Sebastian Freundt wrote:
>>
>> Well, I'm trying to build objects that will be linked later on, only that
>> the linker is a lisp compiler, and that compiler can read .lisp, .fasl, .o
>> and .so.  As in raw lisp source code, byte-compiled lisp, elf objects and
>> elf dynamic objects.
>>
> This seems a legitimate use case.  May I ask you to post a working version
> of your code?  This would be useful both for future references, and to (try
> to) distil it into a test case (that is, if the Lisp compiler you are using
> is widespread enough to make such a test case useful).

Oh that's a bit non-standard I'm afraid, normally lispers wouldn't use
automake to compiler their files.  And my solution is a bunch of shell
scripts and lisp snippets that prepares files for compilation into .fasl
(byte-compiled lisp) and on the LINK step uses a non-portable:

(sb-ext:save-lisp-and-die "thhcc.bin" :executable t :toplevel #'main)

which will then be objcopy'd to replace trampoline code by the lisp system
with my own.  It's too fragile to be useful in general, sorry :(


>> Stefano Lattarini <stefano.lattarini@HIDDEN> writes:
>> 
>>> Well, actually it doesn't, because ...
>>>
>>>> --8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
>>>>
>>>> AM_DEFAULT_SOURCE_EXT = .lisp
>>>> OBJEXT = fasl
>>>>
>>>> noinst_PROGRAMS = foo
>>>> foo_SOURCES = bar.lisp
>>>>
>>>> .lisp.o:  ## just be
>>>>
>>>> .lisp.fasl:
>>>>         touch $@
>>>>
>>>> --8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
>>>>
>>>> am_foo_OBJECTS = bar.$(OBJEXT)
>>>> foo_OBJECTS = $(am_foo_OBJECTS)
>>>>
>>> ... if you try to run the generated Makefile you will obtain some error
>>> like:
>>>
>>>   make: *** No rule to make target `bar.fasl', needed by `foo'.
>>>   make: Target `all' not remade because of errors.
>>
> D'oh, what a dope!  In my testing, I had forgotten to create a proper
> bar.lisp file; so *obviously* make complained :-(
>
>> Not true, bar.fasl will will be built by the .lisp.fasl rule as defined,
>> at least here with GNU make 3.82.
>>
> You are perfectly right; in fact, this works with other make implementations
> as well (e.g, FreeBSD make, NetBSD make, Solaris make).
>
> I've now prepared a test case to correctly expose the bug; see attachement.
>
>>> In fact, I'm not sure the Automake APIs are designed to allow a redefinition
>>> of `OBJEXT' at all; but I can't find anything explicit about this in the manual.
>>> I'll need to investigate on this.
>> 
>> Ok, well I understand that it's a bit corner-stone but it could be a very
>> useful case study if anyone intended to make automake more generic, or
>> less C/C++ specific.
>>
> I agree.  If nothing else, it could bring at least to some more examples
> or explanations in the manual.

Well, I think a mention in the manual that OBJEXT must match the language
chosen via AC_LANG (in the autoconf/automake tandem case) would be useful
enough to avoid such pitfalls.

In the long run I think automake needs upstream-support from the lisp
systems to support compilation and linking steps on the command line.

I think you can close this bug, it was merely something to point the
possible pitfalls out when using a non-standard language compiler.

Sebastian




Information forwarded to bug-automake@HIDDEN:
bug#10128; Package automake. Full text available.

Message received at 10128 <at> debbugs.gnu.org:


Received: (at 10128) by debbugs.gnu.org; 3 Jan 2012 17:50:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 03 12:50:58 2012
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Ri8Vm-0004vM-5Y
	for submit <at> debbugs.gnu.org; Tue, 03 Jan 2012 12:50:58 -0500
Received: from mail-ee0-f44.google.com ([74.125.83.44])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <stefano.lattarini@HIDDEN>) id 1Ri8Vi-0004vE-KI
	for 10128 <at> debbugs.gnu.org; Tue, 03 Jan 2012 12:50:56 -0500
Received: by eekc14 with SMTP id c14so16997792eek.3
	for <10128 <at> debbugs.gnu.org>; Tue, 03 Jan 2012 09:47:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=message-id:date:from:mime-version:to:cc:subject:references
	:in-reply-to:content-type;
	bh=8MADFWld/y4MeMJw3I/PPeQDm/YJnveyuoIruUADreg=;
	b=PKyHPWbja0KOiU8F0U+aUoi2kXqU4JLSJfODiT+OO4JGvidz/+iqhPvB4/OGzesuX7
	kp0QVWvfX2M102f0BYiR4sMJS9wUi9TKGhy52fDomEOXsXinIhICB3NiHS6VQ6ghveob
	+HfPMuOKLlqtuGoxvFKbcUKQKmz9QFZBR2VkA=
Received: by 10.14.48.194 with SMTP id v42mr21748514eeb.81.1325612854075;
	Tue, 03 Jan 2012 09:47:34 -0800 (PST)
Received: from [82.58.50.136]
	(host136-50-dynamic.58-82-r.retail.telecomitalia.it. [82.58.50.136])
	by mx.google.com with ESMTPS id 76sm208433741eeh.0.2012.01.03.09.47.31
	(version=SSLv3 cipher=OTHER); Tue, 03 Jan 2012 09:47:32 -0800 (PST)
Message-ID: <4F033F31.2040507@HIDDEN>
Date: Tue, 03 Jan 2012 18:47:29 +0100
From: Stefano Lattarini <stefano.lattarini@HIDDEN>
MIME-Version: 1.0
To: Sebastian Freundt <freundt@HIDDEN>
Subject: Re: bug#10128: am_foo_OBJECTS is empty when ...
References: <81aa7lg24i.fsf@HIDDEN> <4F01F16D.4050504@HIDDEN>
	<81wr9ax8rq.fsf@HIDDEN> <4F020FF3.3020605@HIDDEN>
In-Reply-To: <4F020FF3.3020605@HIDDEN>
Content-Type: multipart/mixed; boundary="------------080908020700010408040401"
X-Spam-Score: -3.9 (---)
X-Debbugs-Envelope-To: 10128
Cc: 10128 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -3.9 (---)

This is a multi-part message in MIME format.
--------------080908020700010408040401
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

> 
> I've now prepared a test case to correctly expose the bug.
>
And now I've pushed it with the attached patch (it is obviously still
declared as an XFAIL).

Regards,
  Stefano

--------------080908020700010408040401
Content-Type: text/x-diff;
 name="0001-coverage-expose-automake-bug-10128.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0001-coverage-expose-automake-bug-10128.patch"

From 971000c121b9b79b787435f1eaaa76caa37986ee Mon Sep 17 00:00:00 2001
Message-Id: <971000c121b9b79b787435f1eaaa76caa37986ee.1325612788.git.stefano.lattarini@HIDDEN>
From: Stefano Lattarini <stefano.lattarini@HIDDEN>
Date: Mon, 2 Jan 2012 20:32:54 +0100
Subject: [PATCH] coverage: expose automake bug#10128

* tests/objext-pr10128.test: New test, still expected to fail.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Add it.
---
 tests/Makefile.am         |    2 +
 tests/objext-pr10128.test |   60 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 62 insertions(+), 0 deletions(-)
 create mode 100755 tests/objext-pr10128.test

diff --git a/tests/Makefile.am b/tests/Makefile.am
index 3d20871..ff56442 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -25,6 +25,7 @@ dist-auxfile.test \
 dist-auxfile-2.test \
 gcj6.test \
 java-nobase.test \
+objext-pr10128.test \
 pr8365-remake-timing.test \
 lex-subobj-nodep.test \
 remake-am-pr10111.test \
@@ -614,6 +615,7 @@ notrans.test \
 number.test \
 objc.test \
 objc2.test \
+objext-pr10128.test \
 obsolete.test \
 order.test \
 outdir.test \
diff --git a/tests/objext-pr10128.test b/tests/objext-pr10128.test
new file mode 100755
index 0000000..0692164
--- /dev/null
+++ b/tests/objext-pr10128.test
@@ -0,0 +1,60 @@
+#! /bin/sh
+# Copyright (C) 2012 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 <http://www.gnu.org/licenses/>.
+
+# Test for automake bug#10128: $(OBJEXT) redefinition causes
+# $(foo_OBJECTS) to be defined as empty.
+
+. ./defs || Exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am <<'END'
+LINK = echo >$@ Linked $@ from
+OBJEXT = fasl
+EXEEXT =
+
+noinst_PROGRAMS = foo zardoz
+foo_SOURCES = foo.lisp
+zardoz_SOURCES = mu1.lisp mu2.lisp
+
+## Un-commenting this is enough to make the test pass.  Weird!
+##.lisp.o:
+
+.lisp.fasl:
+	touch $@
+
+.PHONY: test
+test:
+	test '$(foo_OBJECTS)'    = 'foo.fasl'
+	test '$(zardoz_OBJECTS)' = 'mu1.fasl mu2.fasl'
+END
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+
+./configure
+$MAKE test
+touch foo.lisp mu1.lisp mu2.lisp
+$MAKE all
+cat foo
+cat zardoz
+test "`cat foo`"    = "Linked foo from foo.fasl"
+test "`cat zardoz`" = "Linked zardoz from mu1.fasl mu2.fasl"
+
+:
-- 
1.7.7.3


--------------080908020700010408040401--




Information forwarded to bug-automake@HIDDEN:
bug#10128; Package automake. Full text available.

Message received at 10128 <at> debbugs.gnu.org:


Received: (at 10128) by debbugs.gnu.org; 2 Jan 2012 20:17:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 02 15:17:01 2012
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1RhoJZ-0005OQ-Cy
	for submit <at> debbugs.gnu.org; Mon, 02 Jan 2012 15:17:01 -0500
Received: from mail-ee0-f44.google.com ([74.125.83.44])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <stefano.lattarini@HIDDEN>) id 1RhoJW-0005O8-1D
	for 10128 <at> debbugs.gnu.org; Mon, 02 Jan 2012 15:16:59 -0500
Received: by eekc14 with SMTP id c14so16355450eek.3
	for <10128 <at> debbugs.gnu.org>; Mon, 02 Jan 2012 12:13:42 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=message-id:date:from:mime-version:to:cc:subject:references
	:in-reply-to:content-type;
	bh=Brp0ZGPPH3sG+yAtvleNJ+htye5g6bJUR+Qjo4MAeZ0=;
	b=c9gU/JlA8mo1SV67jHknK3we2Z5Ij6kVP0VC4cLE1MkTUEhQX7mGV6NMZobKS7UmKG
	LfPkNyoZatNn5jb4hlc+OsAorLUd4pi6QpmoG/CYnqwSIKoGboQnOUYLteEdohEraI4q
	8w4HtMBGiNh1TLMy6rV5YrmKA9OoKZigEw6pg=
Received: by 10.213.7.7 with SMTP id b7mr1328058ebb.31.1325535222643;
	Mon, 02 Jan 2012 12:13:42 -0800 (PST)
Received: from [87.2.95.241]
	(host241-95-dynamic.2-87-r.retail.telecomitalia.it. [87.2.95.241])
	by mx.google.com with ESMTPS id 19sm19772276eew.7.2012.01.02.12.13.41
	(version=SSLv3 cipher=OTHER); Mon, 02 Jan 2012 12:13:42 -0800 (PST)
Message-ID: <4F020FF3.3020605@HIDDEN>
Date: Mon, 02 Jan 2012 21:13:39 +0100
From: Stefano Lattarini <stefano.lattarini@HIDDEN>
MIME-Version: 1.0
To: Sebastian Freundt <freundt@HIDDEN>
Subject: Re: bug#10128: am_foo_OBJECTS is empty when ...
References: <81aa7lg24i.fsf@HIDDEN> <4F01F16D.4050504@HIDDEN>
	<81wr9ax8rq.fsf@HIDDEN>
In-Reply-To: <81wr9ax8rq.fsf@HIDDEN>
Content-Type: multipart/mixed; boundary="------------090709050501030803090905"
X-Spam-Score: -3.9 (---)
X-Debbugs-Envelope-To: 10128
Cc: 10128 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -3.9 (---)

This is a multi-part message in MIME format.
--------------090709050501030803090905
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 01/02/2012 07:24 PM, Sebastian Freundt wrote:
>
> Well, I'm trying to build objects that will be linked later on, only that
> the linker is a lisp compiler, and that compiler can read .lisp, .fasl, .o
> and .so.  As in raw lisp source code, byte-compiled lisp, elf objects and
> elf dynamic objects.
>
This seems a legitimate use case.  May I ask you to post a working version
of your code?  This would be useful both for future references, and to (try
to) distil it into a test case (that is, if the Lisp compiler you are using
is widespread enough to make such a test case useful).

> Stefano Lattarini <stefano.lattarini@HIDDEN> writes:
> 
>> Well, actually it doesn't, because ...
>>
>>> --8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
>>>
>>> AM_DEFAULT_SOURCE_EXT = .lisp
>>> OBJEXT = fasl
>>>
>>> noinst_PROGRAMS = foo
>>> foo_SOURCES = bar.lisp
>>>
>>> .lisp.o:  ## just be
>>>
>>> .lisp.fasl:
>>>         touch $@
>>>
>>> --8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
>>>
>>> am_foo_OBJECTS = bar.$(OBJEXT)
>>> foo_OBJECTS = $(am_foo_OBJECTS)
>>>
>> ... if you try to run the generated Makefile you will obtain some error
>> like:
>>
>>   make: *** No rule to make target `bar.fasl', needed by `foo'.
>>   make: Target `all' not remade because of errors.
>
D'oh, what a dope!  In my testing, I had forgotten to create a proper
bar.lisp file; so *obviously* make complained :-(

> Not true, bar.fasl will will be built by the .lisp.fasl rule as defined,
> at least here with GNU make 3.82.
>
You are perfectly right; in fact, this works with other make implementations
as well (e.g, FreeBSD make, NetBSD make, Solaris make).

I've now prepared a test case to correctly expose the bug; see attachement.

>> In fact, I'm not sure the Automake APIs are designed to allow a redefinition
>> of `OBJEXT' at all; but I can't find anything explicit about this in the manual.
>> I'll need to investigate on this.
> 
> Ok, well I understand that it's a bit corner-stone but it could be a very
> useful case study if anyone intended to make automake more generic, or
> less C/C++ specific.
>
I agree.  If nothing else, it could bring at least to some more examples
or explanations in the manual.

Thanks,
  Stefano

--------------090709050501030803090905
Content-Type: text/plain;
 name="objext-pr10128.test"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="objext-pr10128.test"

IyEgL2Jpbi9zaAojIENvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBv
cHRpb24pCiMgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgoj
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgojCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwg
c2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KCiMgVGVzdCBmb3IgYXV0b21h
a2UgYnVnIzEwMTI4OiAkKE9CSkVYVCkgcmVkZWZpbml0aW9uIGNhdXNlcwojICQoZm9vX09C
SkVDVFMpIHRvIGJlIGRlZmluZWQgYXMgZW1wdHkuCgouIC4vZGVmcyB8fCBFeGl0IDEKCnNl
dCAtZQoKZWNobyBBQ19PVVRQVVQgPj4gY29uZmlndXJlLmluCgpjYXQgPiBNYWtlZmlsZS5h
bSA8PCdFTkQnCkxJTksgPSBlY2hvID4kQCBMaW5rZWQgJEAgZnJvbQpPQkpFWFQgPSBmYXNs
CkVYRUVYVCA9Cgpub2luc3RfUFJPR1JBTVMgPSBmb28gemFyZG96CmZvb19TT1VSQ0VTID0g
Zm9vLmxpc3AKemFyZG96X1NPVVJDRVMgPSBtdTEubGlzcCBtdTIubGlzcAoKIyMgVW4tY29t
bWVudGluZyB0aGlzIGlzIGVub3VnaCB0byBtYWtlIHRoZSB0ZXN0IHBhc3MuICBXZWlyZCEK
IyMubGlzcC5vOgoKLmxpc3AuZmFzbDoKCXRvdWNoICRACgouUEhPTlk6IHRlc3QKdGVzdDoK
CXRlc3QgJyQoZm9vX09CSkVDVFMpJyAgICA9ICdmb28uZmFzbCcKCXRlc3QgJyQoemFyZG96
X09CSkVDVFMpJyA9ICdtdTEuZmFzbCBtdTIuZmFzbCcKRU5ECgokQUNMT0NBTAokQVVUT01B
S0UKJEFVVE9DT05GCgouL2NvbmZpZ3VyZQokTUFLRSB0ZXN0CnRvdWNoIGZvby5saXNwIG11
MS5saXNwIG11Mi5saXNwCiRNQUtFIGFsbApjYXQgZm9vCmNhdCB6YXJkb3oKdGVzdCAiYGNh
dCBmb29gIiAgICA9ICJMaW5rZWQgZm9vIGZyb20gZm9vLmZhc2wiCnRlc3QgImBjYXQgemFy
ZG96YCIgPSAiTGlua2VkIHphcmRveiBmcm9tIG11MS5mYXNsIG11Mi5mYXNsIgoKOgo=
--------------090709050501030803090905--




Information forwarded to bug-automake@HIDDEN:
bug#10128; Package automake. Full text available.

Message received at 10128 <at> debbugs.gnu.org:


Received: (at 10128) by debbugs.gnu.org; 2 Jan 2012 18:27:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 02 13:27:58 2012
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Rhmc1-0002od-Ki
	for submit <at> debbugs.gnu.org; Mon, 02 Jan 2012 13:27:58 -0500
Received: from mx01.ffm1.treml-sturm.net ([217.68.2.100])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <sebastian.freundt@HIDDEN>) id 1Rhmby-0002oS-6i
	for 10128 <at> debbugs.gnu.org; Mon, 02 Jan 2012 13:27:55 -0500
Received: from localhost (localhost [127.0.0.1])
	by mx01.ffm1.treml-sturm.net (Postfix) with ESMTP id 6DDC85817C4
	for <10128 <at> debbugs.gnu.org>; Mon,  2 Jan 2012 19:24:38 +0100 (CET)
Received: from wiesinginvestments.com (p5098db61.dip0.t-ipconnect.de
	[80.152.219.97])
	by mx01.ffm1.treml-sturm.net (Postfix) with ESMTP id 227C65804AA
	for <10128 <at> debbugs.gnu.org>; Mon,  2 Jan 2012 19:24:28 +0100 (CET)
Received: from berlin.ga-group.nl ([192.168.1.26]) by wiesinginvestments.com
	with Microsoft SMTPSVC(6.0.3790.4675); 
	Mon, 2 Jan 2012 19:24:26 +0100
From: Sebastian Freundt <freundt@HIDDEN>
To: 10128 <at> debbugs.gnu.org
Subject: Re: bug#10128: am_foo_OBJECTS is empty when ...
References: <81aa7lg24i.fsf@HIDDEN> <4F01F16D.4050504@HIDDEN>
Mail-Copies-To: never
X-URL: http://www.ga-group.nl/
X-Gpg-Key-Id: 0x82C9390E
X-Fingerprint: 6CB0 D61E 23A4 275C C2CF  A161 94C9 A1AC 82C9 390E
X-Face: #HUK$+njZzfa\Y7-C?%}`0I+_5(GhEOmLsy4},
	^7)im*%||Zh=:FnuCpe1gt+p:Omkx{a}BSf}DSn4],
	m9[bw5*gsG$Xx<-V"(L0?M8*&H\hh^^cd7F~B=/KkLl\mNdk\_}HrPG}=cnAwt=\tWF6J
X-Discordian-Date: Boomtime, 2nd of Chaos, yold 3178. 
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEWLYy//y8qfMzN/UVL/
	l5eamX/LmWbRZmLMmZjg3qv+zZf7/vr727f6AAACVklEQVR42o3UMWvbQBQA4CPG8dDJNBRXXUwy
	ZHURoS1d2iJkVVNIcNI0i8GXp6unEMMpY0uU68WdAmmRm8lwpOJtpgSi5s/1To6lS2mhN+rTu/f0
	7p3I7T8W+T84n/wFrm9Od3rbvS9/Qr47IoSsdmp7l/dhs8GXNKy2yf49eNjmlMbAedRe27dgtrWc
	hOh5gD6QlxbcLEGi0CzlR3ULfq7LBOfLg5EFW8vBGLHpmBAY7Jcw67AgRJwaQD96WsEykxqcu72e
	V1vFwEJcJBlvlHC9U4Hy/O0nZUQEML7LoWFQbdUHoDhtFmUFooJ0wIFJXW9z2kQlBuVWX3e5Th/x
	4dTECPMhBcw+fjvmMnxsKhAxj2olqFqDy8kpMMziBnCygAv1pjFiB+8EhD4A9OsLWMFXPn0rpRDD
	6FPv2WEZ0Qp+cJqhSnzaTc86hCzKXQmvYmo6BbQLIiJl8gtsFaAE9UEAWVtEnGvQHcGpHypG4ai+
	gNzJ4uKc4LVDBYselC1xfA1OUwXDbOgFUdX22SOe6N4qCtFQBaPqaPPWcVJ0HCFUAangVpjeGvCp
	8l1rSiRLx8X5ZYkSNQvSD5kBDzMp+xsWtBimeBXHMUgxsEd0j71PEaNuvD4U/RcW/BLj1CTvxuPT
	gT3tjpCmrGBFfofOfShmQemvgG374pxJJuf1ik3XjriW0ow7KhSHdStCP5fziKA/v1AWCJMdZd+1
	LmcuWRKm8gwnKF0Lct1DT7+sV/rZdasfwGUOBhSmIjpyXesHkAt2dznEQc/ds5LrHk4LODmY9OY5
	fgNaH4km3mN9MwAAAABJRU5ErkJggg==
Date: Mon, 02 Jan 2012 18:24:25 +0000
In-Reply-To: <4F01F16D.4050504@HIDDEN> (Stefano Lattarini's message of
	"Mon, 02 Jan 2012 19:03:25 +0100")
Message-ID: <81wr9ax8rq.fsf@HIDDEN>
User-Agent: Gnus/5.110014 (No Gnus v0.14) SXEmacs/22.1.14 (linux)
MIME-Version: 1.0
Content-Type: text/plain
X-OriginalArrivalTime: 02 Jan 2012 18:24:28.0065 (UTC)
	FILETIME=[C33D8110:01CCC97B]
X-Spam-Score: -4.6 (----)
X-Debbugs-Envelope-To: 10128
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -3.9 (---)

Stefano Lattarini <stefano.lattarini@HIDDEN> writes:

> Hi Sebastian, sorry for the terrible delay.
>
> On 11/24/2011 01:02 PM, Sebastian Freundt wrote:
>> The (internal) variable am_foo_OBJECTS is empty when OBJEXT has been
>> redefined *and* no .SOURCE_EXT.o rule is present.
>> 
>> Example:
>> 
>> --8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
>> 
>> AM_DEFAULT_SOURCE_EXT = .lisp
>> OBJEXT = fasl
>> 
>> noinst_PROGRAMS = foo
>> foo_SOURCES = bar.lisp
>> 
>> .lisp.fasl:
>>         touch $@
>> 
>> --8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
>>
> This does really seem like an abuse of already corner-case Automake features ...
> What are you trying to obtain actually?  Perhaps it can be done with less poking
> of Automake's dark corners ...

Well, I'm trying to build objects that will be linked later on, only that
the linker is a lisp compiler, and that compiler can read .lisp, .fasl, .o
and .so.  As in raw lisp source code, byte-compiled lisp, elf objects and
elf dynamic objects.

The compiler itself isn't confused about the contents of the file (in fact
I've made it read .o files which are in fact .fasl tentatively) but my own
script is, calling file(1) on each file beforehand to determine the
contents seems tedious to me :(

>> Now the generated Makefile lists:
>> 
>> am_foo_OBJECTS =
>> foo_OBJECTS = $(am_foo_OBJECTS)
>> 
>> However, adding a .lisp.o (the old OBJEXT) magically makes it all work:
>> 
> Well, actually it doesn't, because ...
>
>> --8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
>> 
>> AM_DEFAULT_SOURCE_EXT = .lisp
>> OBJEXT = fasl
>> 
>> noinst_PROGRAMS = foo
>> foo_SOURCES = bar.lisp
>> 
>> .lisp.o:  ## just be
>> 
>> .lisp.fasl:
>>         touch $@
>> 
>> --8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
>> 
>> am_foo_OBJECTS = bar.$(OBJEXT)
>> foo_OBJECTS = $(am_foo_OBJECTS)
>>
> ... if you try to run the generated Makefile you will obtain some error
> like:
>
>   make: *** No rule to make target `bar.fasl', needed by `foo'.
>   make: Target `all' not remade because of errors.

Not true, bar.fasl will will be built by the .lisp.fasl rule as defined,
at least here with GNU make 3.82.


> In fact, I'm not sure the Automake APIs are designed to allow a redefinition
> of `OBJEXT' at all; but I can't find anything explicit about this in the manual.
> I'll need to investigate on this.

Ok, well I understand that it's a bit corner-stone but it could be a very
useful case study if anyone intended to make automake more generic, or
less C/C++ specific.

Thanks for delving into this
Sebastian




Information forwarded to bug-automake@HIDDEN:
bug#10128; Package automake. Full text available.

Message received at 10128 <at> debbugs.gnu.org:


Received: (at 10128) by debbugs.gnu.org; 2 Jan 2012 18:06:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 02 13:06:44 2012
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1RhmHU-0002JZ-Ep
	for submit <at> debbugs.gnu.org; Mon, 02 Jan 2012 13:06:44 -0500
Received: from mail-ee0-f44.google.com ([74.125.83.44])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <stefano.lattarini@HIDDEN>) id 1RhmHS-0002JS-9Y
	for 10128 <at> debbugs.gnu.org; Mon, 02 Jan 2012 13:06:43 -0500
Received: by eekc14 with SMTP id c14so16288288eek.3
	for <10128 <at> debbugs.gnu.org>; Mon, 02 Jan 2012 10:03:27 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=message-id:date:from:mime-version:to:cc:subject:references
	:in-reply-to:content-type:content-transfer-encoding;
	bh=B0q+2TNj7uzGXvDK4L+HFFCeOz/bs1QlOafViIHvc3U=;
	b=LRqerx0UuoY91ozLasqRb+ckxq/0Z/ymY0pFMGRY168Ffv8BeErehRa8nJShuvTOv1
	fmjnl3QhlnfZSiTHwXGFw8gGACVaF4h0dVfr+v0QMKpep0GCWAVUR4QFGxQ+U9CeAg3L
	g6FhSFflo8GgmZ49ALYZLIhsA1dU3abcA+EC0=
Received: by 10.14.39.140 with SMTP id d12mr19666853eeb.54.1325527407600;
	Mon, 02 Jan 2012 10:03:27 -0800 (PST)
Received: from [87.2.95.241]
	(host241-95-dynamic.2-87-r.retail.telecomitalia.it. [87.2.95.241])
	by mx.google.com with ESMTPS id t1sm194378269eeb.3.2012.01.02.10.03.26
	(version=SSLv3 cipher=OTHER); Mon, 02 Jan 2012 10:03:26 -0800 (PST)
Message-ID: <4F01F16D.4050504@HIDDEN>
Date: Mon, 02 Jan 2012 19:03:25 +0100
From: Stefano Lattarini <stefano.lattarini@HIDDEN>
MIME-Version: 1.0
To: Sebastian Freundt <freundt@HIDDEN>
Subject: Re: bug#10128: am_foo_OBJECTS is empty when ...
References: <81aa7lg24i.fsf@HIDDEN>
In-Reply-To: <81aa7lg24i.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Score: -3.9 (---)
X-Debbugs-Envelope-To: 10128
Cc: 10128 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -3.9 (---)

Hi Sebastian, sorry for the terrible delay.

On 11/24/2011 01:02 PM, Sebastian Freundt wrote:
> The (internal) variable am_foo_OBJECTS is empty when OBJEXT has been
> redefined *and* no .SOURCE_EXT.o rule is present.
> 
> Example:
> 
> --8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
> 
> AM_DEFAULT_SOURCE_EXT = .lisp
> OBJEXT = fasl
> 
> noinst_PROGRAMS = foo
> foo_SOURCES = bar.lisp
> 
> .lisp.fasl:
>         touch $@
> 
> --8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
>
This does really seem like an abuse of already corner-case Automake features ...
What are you trying to obtain actually?  Perhaps it can be done with less poking
of Automake's dark corners ...

> Now the generated Makefile lists:
> 
> am_foo_OBJECTS =
> foo_OBJECTS = $(am_foo_OBJECTS)
> 
> However, adding a .lisp.o (the old OBJEXT) magically makes it all work:
> 
Well, actually it doesn't, because ...

> --8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
> 
> AM_DEFAULT_SOURCE_EXT = .lisp
> OBJEXT = fasl
> 
> noinst_PROGRAMS = foo
> foo_SOURCES = bar.lisp
> 
> .lisp.o:  ## just be
> 
> .lisp.fasl:
>         touch $@
> 
> --8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
> 
> am_foo_OBJECTS = bar.$(OBJEXT)
> foo_OBJECTS = $(am_foo_OBJECTS)
>
... if you try to run the generated Makefile you will obtain some error
like:

  make: *** No rule to make target `bar.fasl', needed by `foo'.
  make: Target `all' not remade because of errors.

In fact, I'm not sure the Automake APIs are designed to allow a redefinition
of `OBJEXT' at all; but I can't find anything explicit about this in the manual.
I'll need to investigate on this.

Thanks,
  Stefano




Information forwarded to bug-automake@HIDDEN:
bug#10128; Package automake. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 24 Nov 2011 18:37:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 24 13:37:27 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1RTeAn-000539-La
	for submit <at> debbugs.gnu.org; Thu, 24 Nov 2011 13:37:27 -0500
Received: from eggs.gnu.org ([140.186.70.92])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <sebastian.freundt@HIDDEN>) id 1RTY2I-0003Zg-Jq
	for submit <at> debbugs.gnu.org; Thu, 24 Nov 2011 07:04:16 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <sebastian.freundt@HIDDEN>) id 1RTY0j-0004zq-Vb
	for submit <at> debbugs.gnu.org; Thu, 24 Nov 2011 07:02:43 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00
	autolearn=unavailable version=3.3.1
Received: from lists.gnu.org ([140.186.70.17]:60047)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <sebastian.freundt@HIDDEN>) id 1RTY0j-0004zm-U8
	for submit <at> debbugs.gnu.org; Thu, 24 Nov 2011 07:02:37 -0500
Received: from eggs.gnu.org ([140.186.70.92]:55282)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <sebastian.freundt@HIDDEN>) id 1RTY0e-0002RW-Ct
	for bug-automake@HIDDEN; Thu, 24 Nov 2011 07:02:37 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <sebastian.freundt@HIDDEN>) id 1RTY0d-0004yk-C0
	for bug-automake@HIDDEN; Thu, 24 Nov 2011 07:02:32 -0500
Received: from mx01.ffm1.treml-sturm.net ([217.68.2.100]:57726)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <sebastian.freundt@HIDDEN>) id 1RTY0d-0004xr-7e
	for bug-automake@HIDDEN; Thu, 24 Nov 2011 07:02:31 -0500
Received: from localhost (localhost [127.0.0.1])
	by mx01.ffm1.treml-sturm.net (Postfix) with ESMTP id 49B6CC04B4
	for <bug-automake@HIDDEN>; Thu, 24 Nov 2011 13:02:18 +0100 (CET)
Received: from wiesinginvestments.com (p5098db61.dip0.t-ipconnect.de
	[80.152.219.97])
	by mx01.ffm1.treml-sturm.net (Postfix) with ESMTP id BBE51C0037
	for <bug-automake@HIDDEN>; Thu, 24 Nov 2011 13:02:07 +0100 (CET)
Received: from berlin.ga-group.nl ([192.168.1.26]) by wiesinginvestments.com
	with Microsoft SMTPSVC(6.0.3790.4675); 
	Thu, 24 Nov 2011 13:02:07 +0100
From: Sebastian Freundt <freundt@HIDDEN>
To: bug-automake@HIDDEN
Subject: am_foo_OBJECTS is empty when ...
X-URL: http://www.ga-group.nl/
X-Gpg-Key-Id: 0x82C9390E
X-Fingerprint: 6CB0 D61E 23A4 275C C2CF  A161 94C9 A1AC 82C9 390E
X-Face: #HUK$+njZzfa\Y7-C?%}`0I+_5(GhEOmLsy4},
	^7)im*%||Zh=:FnuCpe1gt+p:Omkx{a}BSf}DSn4],
	m9[bw5*gsG$Xx<-V"(L0?M8*&H\hh^^cd7F~B=/KkLl\mNdk\_}HrPG}=cnAwt=\tWF6J
X-Discordian-Date: Pungenday, 36th of The Aftermath, yold 3177. 
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEWLYy//y8qfMzN/UVL/
	l5eamX/LmWbRZmLMmZjg3qv+zZf7/vr727f6AAACVklEQVR42o3UMWvbQBQA4CPG8dDJNBRXXUwy
	ZHURoS1d2iJkVVNIcNI0i8GXp6unEMMpY0uU68WdAmmRm8lwpOJtpgSi5s/1To6lS2mhN+rTu/f0
	7p3I7T8W+T84n/wFrm9Od3rbvS9/Qr47IoSsdmp7l/dhs8GXNKy2yf49eNjmlMbAedRe27dgtrWc
	hOh5gD6QlxbcLEGi0CzlR3ULfq7LBOfLg5EFW8vBGLHpmBAY7Jcw67AgRJwaQD96WsEykxqcu72e
	V1vFwEJcJBlvlHC9U4Hy/O0nZUQEML7LoWFQbdUHoDhtFmUFooJ0wIFJXW9z2kQlBuVWX3e5Th/x
	4dTECPMhBcw+fjvmMnxsKhAxj2olqFqDy8kpMMziBnCygAv1pjFiB+8EhD4A9OsLWMFXPn0rpRDD
	6FPv2WEZ0Qp+cJqhSnzaTc86hCzKXQmvYmo6BbQLIiJl8gtsFaAE9UEAWVtEnGvQHcGpHypG4ai+
	gNzJ4uKc4LVDBYselC1xfA1OUwXDbOgFUdX22SOe6N4qCtFQBaPqaPPWcVJ0HCFUAangVpjeGvCp
	8l1rSiRLx8X5ZYkSNQvSD5kBDzMp+xsWtBimeBXHMUgxsEd0j71PEaNuvD4U/RcW/BLj1CTvxuPT
	gT3tjpCmrGBFfofOfShmQemvgG374pxJJuf1ik3XjriW0ow7KhSHdStCP5fziKA/v1AWCJMdZd+1
	LmcuWRKm8gwnKF0Lct1DT7+sV/rZdasfwGUOBhSmIjpyXesHkAt2dznEQc/ds5LrHk4LODmY9OY5
	fgNaH4km3mN9MwAAAABJRU5ErkJggg==
Date: Thu, 24 Nov 2011 12:02:05 +0000
Message-ID: <81aa7lg24i.fsf@HIDDEN>
User-Agent: Gnus/5.110014 (No Gnus v0.14) SXEmacs/22.1.14 (linux)
MIME-Version: 1.0
Content-Type: text/plain
X-OriginalArrivalTime: 24 Nov 2011 12:02:07.0337 (UTC)
	FILETIME=[E363F590:01CCAAA0]
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-Received-From: 140.186.70.17
X-Spam-Score: -6.6 (------)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Thu, 24 Nov 2011 13:37:23 -0500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -6.6 (------)

The (internal) variable am_foo_OBJECTS is empty when OBJEXT has been
redefined *and* no .SOURCE_EXT.o rule is present.

Example:

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--

AM_DEFAULT_SOURCE_EXT = .lisp
OBJEXT = fasl

noinst_PROGRAMS = foo
foo_SOURCES = bar.lisp

.lisp.fasl:
        touch $@

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--

Now the generated Makefile lists:

am_foo_OBJECTS =
foo_OBJECTS = $(am_foo_OBJECTS)

However, adding a .lisp.o (the old OBJEXT) magically makes it all work:

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--

AM_DEFAULT_SOURCE_EXT = .lisp
OBJEXT = fasl

noinst_PROGRAMS = foo
foo_SOURCES = bar.lisp

.lisp.o:  ## just be

.lisp.fasl:
        touch $@

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--

am_foo_OBJECTS = bar.$(OBJEXT)
foo_OBJECTS = $(am_foo_OBJECTS)

Affected automake versions: all, 1.11.1 in particular.

Cheers,
Sebastian





Acknowledgement sent to Sebastian Freundt <freundt@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-automake@HIDDEN. Full text available.
Report forwarded to bug-automake@HIDDEN:
bug#10128; Package automake. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Fri, 31 Oct 2014 17:00:04 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.