From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 21 05:08:19 2017 Received: (at submit) by debbugs.gnu.org; 21 Jul 2017 09:08:19 +0000 Received: from localhost ([127.0.0.1]:50359 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dYTv0-0005GL-MJ for submit@debbugs.gnu.org; Fri, 21 Jul 2017 05:08:19 -0400 Received: from eggs.gnu.org ([208.118.235.92]:53693) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dYTuu-0005G4-F3 for submit@debbugs.gnu.org; Fri, 21 Jul 2017 05:08:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dYTuo-0004Ks-Ay for submit@debbugs.gnu.org; Fri, 21 Jul 2017 05:08:07 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:55548) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dYTuo-0004Km-7x for submit@debbugs.gnu.org; Fri, 21 Jul 2017 05:08:06 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44657) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dYTun-0007UP-21 for bug-automake@gnu.org; Fri, 21 Jul 2017 05:08:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dYTuj-0004Jo-FS for bug-automake@gnu.org; Fri, 21 Jul 2017 05:08:04 -0400 Received: from atfriesa01.ssi-schaefer.com ([193.186.16.100]:55872) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dYTuj-0004J1-75 for bug-automake@gnu.org; Fri, 21 Jul 2017 05:08:01 -0400 X-IronPort-AV: E=Sophos;i="5.40,389,1496095200"; d="scan'208";a="1740718" X-IPAS-Result: =?us-ascii?q?A2GACADUw3FZ/+shHKxcHQEFAQsBhD6BFJ9Rl3U+BSENgQu?= =?us-ascii?q?IUBQBAgEBAQEBAQEDgRBCDgGCEARGKS4BAQEBAQEBAQEBAQEBAQEBGgINIkMig?= =?us-ascii?q?QsCJgIqQggBAYo7sTGCJotWgQuCHYVZC4gkggoMMYJhBZ9MgiaFJYZah2pviE6?= =?us-ascii?q?HBJViNmFLdYUhAYJUdAGDKIZeAQEB?= Received: from samail03.wamas.com (HELO mailhost.salomon.at) ([172.28.33.235]) by atfriesa01.ssi-schaefer.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Jul 2017 11:07:58 +0200 Received: from [172.28.41.101] by mailhost.salomon.at with esmtp (Exim 4.77) (envelope-from ) id 1dYTue-00046m-VI; Fri, 21 Jul 2017 11:07:56 +0200 To: bug-automake@gnu.org From: Michael Haubenwallner Subject: LIBOBJS should depend on LIBOBJDIR Message-ID: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> Date: Fri, 21 Jul 2017 11:07:56 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.1 (----) Hi, in flex-2.6.4, the $(LIBOBJDIR) does contain source files only, eventually required via LDADD=$(LIBOBJ) in another directory. Now with --disable-dependency-tracking, an out of source build fails because $top_builddir/$(LIBOBJDIR) is not created by anyone, see the discussion in https://github.com/westes/flex/issues/244 and http://lists.gnu.org/archive/html/autoconf-patches/2017-07/msg00002.html I have no idea for how to fix automake for this situation, but it feels like automake should add this line to src/Makefile.in here: $(LIBOBJS): $(LIBOBJDIR)$(am__dirstamp) Thanks! /haubi/ From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 08 17:17:22 2017 Received: (at 27781) by debbugs.gnu.org; 8 Aug 2017 21:17:22 +0000 Received: from localhost ([127.0.0.1]:52296 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dfBsM-0001oc-ML for submit@debbugs.gnu.org; Tue, 08 Aug 2017 17:17:22 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60434) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dfBsK-0001oN-0T for 27781@debbugs.gnu.org; Tue, 08 Aug 2017 17:17:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dfBsD-0008EA-Mp for 27781@debbugs.gnu.org; Tue, 08 Aug 2017 17:17:10 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:54696) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dfBsD-0008E6-JN; Tue, 08 Aug 2017 17:17:09 -0400 Received: from [2a01:e35:2ec2:e580:491c:541:7a4a:37d9] (port=45366 helo=localhost.localdomain) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dfBsC-0007tX-Ue; Tue, 08 Aug 2017 17:17:09 -0400 From: Mathieu Lirzin To: Michael Haubenwallner Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> Date: Tue, 08 Aug 2017 23:17:06 +0200 In-Reply-To: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> (Michael Haubenwallner's message of "Fri, 21 Jul 2017 11:07:56 +0200") Message-ID: <87fud1ahf1.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hello, Michael Haubenwallner writes: > Hi, > > in flex-2.6.4, the $(LIBOBJDIR) does contain source files only, > eventually required via LDADD=$(LIBOBJ) in another directory. > > Now with --disable-dependency-tracking, an out of source build fails > because $top_builddir/$(LIBOBJDIR) is not created by anyone, see > the discussion in https://github.com/westes/flex/issues/244 and > http://lists.gnu.org/archive/html/autoconf-patches/2017-07/msg00002.html > > I have no idea for how to fix automake for this situation, but it > feels like automake should add this line to src/Makefile.in here: > > $(LIBOBJS): $(LIBOBJDIR)$(am__dirstamp) > > Thanks! > /haubi/ I confirm that this is an Automake issue. After some digging I think 'automake' should call the 'require_build_directory' subroutine for the LIBOBJDIR variable. However I don't have time to investigate more right now. Thanks for the report. -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37 From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 08 17:17:26 2017 Received: (at control) by debbugs.gnu.org; 8 Aug 2017 21:17:26 +0000 Received: from localhost ([127.0.0.1]:52299 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dfBsU-0001ox-ID for submit@debbugs.gnu.org; Tue, 08 Aug 2017 17:17:26 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60495) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dfBsT-0001oe-2F for control@debbugs.gnu.org; Tue, 08 Aug 2017 17:17:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dfBsM-0008HM-QR for control@debbugs.gnu.org; Tue, 08 Aug 2017 17:17:19 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:54698) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dfBsM-0008HG-MX for control@debbugs.gnu.org; Tue, 08 Aug 2017 17:17:18 -0400 Received: from [2a01:e35:2ec2:e580:491c:541:7a4a:37d9] (port=45368 helo=localhost.localdomain) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dfBsM-0007tu-38 for control@debbugs.gnu.org; Tue, 08 Aug 2017 17:17:18 -0400 Date: Tue, 08 Aug 2017 23:17:16 +0200 Message-Id: <87efslaher.fsf@gnu.org> To: control@debbugs.gnu.org From: Mathieu Lirzin Subject: control message for bug #27781 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) tags 27781 confirmed From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 16 12:36:46 2017 Received: (at 27781) by debbugs.gnu.org; 16 Aug 2017 16:36:47 +0000 Received: from localhost ([127.0.0.1]:41398 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1di1JG-0000f5-Lv for submit@debbugs.gnu.org; Wed, 16 Aug 2017 12:36:46 -0400 Received: from atfriesa01.ssi-schaefer.com ([193.186.16.100]:12234) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1di1JE-0000er-RS for 27781@debbugs.gnu.org; Wed, 16 Aug 2017 12:36:45 -0400 X-IronPort-AV: E=Sophos;i="5.41,383,1498514400"; d="scan'208,223";a="2644918" X-IPAS-Result: =?us-ascii?q?A2GzAwB1c5RZ/+shHKxdHAEBBAEBCgEBhD6BFaARmCskgRW?= =?us-ascii?q?EDgKFBxQBAgEBAQEBAQEDgRCEAls7AQEBAQIBI1YQCw4DAwECASoCAk8IBg0GA?= =?us-ascii?q?gEBiiSrJIImi1kBAQEBAQEBAQEBAQEBAQEBEw+DKIVcgkg0hD5VgnOCYQWgRYI?= =?us-ascii?q?oggqDIo9Xj3ORG4UANmFLd4d6dIchgkEBAQE?= Received: from samail03.wamas.com (HELO mailhost.salomon.at) ([172.28.33.235]) by atfriesa01.ssi-schaefer.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Aug 2017 18:36:37 +0200 Received: from s01en24.wamas.com ([172.28.41.101]) by mailhost.salomon.at with esmtp (Exim 4.77) (envelope-from ) id 1di1J7-0003xX-Gt; Wed, 16 Aug 2017 18:36:37 +0200 Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR To: Mathieu Lirzin References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> From: Michael Haubenwallner Message-ID: <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> Date: Wed, 16 Aug 2017 18:36:37 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <87fud1ahf1.fsf@gnu.org> Content-Type: multipart/mixed; boundary="------------75582FD14204CDDB6BE3397F" Content-Language: en-US X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) This is a multi-part message in MIME format. --------------75582FD14204CDDB6BE3397F Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Hi, On 08/08/2017 11:17 PM, Mathieu Lirzin wrote: > Michael Haubenwallner writes: >> >> I have no idea for how to fix automake for this situation, but it >> feels like automake should add this line to src/Makefile.in here: >> >> $(LIBOBJS): $(LIBOBJDIR)$(am__dirstamp) > > I confirm that this is an Automake issue. After some digging I think > 'automake' should call the 'require_build_directory' subroutine for the > LIBOBJDIR variable. However I don't have time to investigate more right > now. In this case let me come up with attached patch for now (without deeper knowledge of automake internals though). Thanks! /haubi/ --------------75582FD14204CDDB6BE3397F Content-Type: text/x-patch; name="0001-automake-Depend-on-LIBOBJDIR-for-LIBOBJS.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-automake-Depend-on-LIBOBJDIR-for-LIBOBJS.patch" >From c3d51adb53400fc8bf65c0e003d810b2e7166d0d Mon Sep 17 00:00:00 2001 From: Michael Haubenwallner Date: Wed, 16 Aug 2017 18:16:12 +0200 Subject: [PATCH] automake: Depend on LIBOBJDIR for LIBOBJS. This change fixes automake bug#27781. * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for each LIBOBJS/ALLOCA variable used. --- bin/automake.in | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/bin/automake.in b/bin/automake.in index 9c4cb86..b82e8c5 100644 --- a/bin/automake.in +++ b/bin/automake.in @@ -2153,10 +2153,19 @@ sub handle_LIBOBJS_or_ALLOCA $dir = backname ($relative_dir) . "/$dir" if $relative_dir ne '.'; define_variable ('LIBOBJDIR', "$dir", INTERNAL); + my $dirstamp = ''; + # Abusing $clean_files{"$(VAR)"} as indicator for whether + # we have added the "$(VAR): $dirstamp" dependency already. + $dirstamp = require_build_directory ($dir) + if ! defined $clean_files{"\$($var)"}; $clean_files{"\$($var)"} = MOSTLY_CLEAN; + $output_rules .= "\$($var): $dirstamp\n" if ($dirstamp); # If LTLIBOBJS is used, we must also clear LIBOBJS (which might # be created by libtool as a side-effect of creating LTLIBOBJS). - $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//; + if ($var =~ s/^LT//) { + $clean_files{"\$($var)"} = MOSTLY_CLEAN; + $output_rules .= "\$($var): $dirstamp\n" if ($dirstamp); + } } return $dir; -- 2.10.2 --------------75582FD14204CDDB6BE3397F-- From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 16 19:30:04 2017 Received: (at 27781) by debbugs.gnu.org; 16 Aug 2017 23:30:04 +0000 Received: from localhost ([127.0.0.1]:41676 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1di7lD-0000HL-LI for submit@debbugs.gnu.org; Wed, 16 Aug 2017 19:30:04 -0400 Received: from eggs.gnu.org ([208.118.235.92]:41700) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1di7lC-0000Fs-AL for 27781@debbugs.gnu.org; Wed, 16 Aug 2017 19:30:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1di7l6-0000G4-7w for 27781@debbugs.gnu.org; Wed, 16 Aug 2017 19:29:57 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:35336) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1di7l6-0000G0-3h; Wed, 16 Aug 2017 19:29:56 -0400 Received: from [2a01:e35:2ec2:e580:491c:541:7a4a:37d9] (port=37002 helo=localhost.localdomain) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1di7l5-0002r2-LM; Wed, 16 Aug 2017 19:29:55 -0400 From: Mathieu Lirzin To: Michael Haubenwallner Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> Date: Thu, 17 Aug 2017 01:29:54 +0200 In-Reply-To: <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> (Michael Haubenwallner's message of "Wed, 16 Aug 2017 18:36:37 +0200") Message-ID: <87inhnf5vx.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi, Michael Haubenwallner writes: > On 08/08/2017 11:17 PM, Mathieu Lirzin wrote: >> Michael Haubenwallner writes: >>> >>> I have no idea for how to fix automake for this situation, but it >>> feels like automake should add this line to src/Makefile.in here: >>> >>> $(LIBOBJS): $(LIBOBJDIR)$(am__dirstamp) > >> >> I confirm that this is an Automake issue. After some digging I think >> 'automake' should call the 'require_build_directory' subroutine for the >> LIBOBJDIR variable. However I don't have time to investigate more right >> now. > > In this case let me come up with attached patch for now > (without deeper knowledge of automake internals though). > > Thanks! > /haubi/ > > From c3d51adb53400fc8bf65c0e003d810b2e7166d0d Mon Sep 17 00:00:00 2001 > From: Michael Haubenwallner > Date: Wed, 16 Aug 2017 18:16:12 +0200 > Subject: [PATCH] automake: Depend on LIBOBJDIR for LIBOBJS. > > This change fixes automake bug#27781. > > * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for > each LIBOBJS/ALLOCA variable used. > --- Excellent! To ensure this bug is not reintroduced later, I think it is important to combine this patch with a test. Are you willing to look into adding one? Thank you -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37 From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 16 19:32:30 2017 Received: (at control) by debbugs.gnu.org; 16 Aug 2017 23:32:30 +0000 Received: from localhost ([127.0.0.1]:41680 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1di7na-0002Af-BJ for submit@debbugs.gnu.org; Wed, 16 Aug 2017 19:32:30 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42711) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1di7nZ-0002AN-2Q for control@debbugs.gnu.org; Wed, 16 Aug 2017 19:32:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1di7nT-0001z1-Ck for control@debbugs.gnu.org; Wed, 16 Aug 2017 19:32:24 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:35384) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1di7nT-0001ys-9t for control@debbugs.gnu.org; Wed, 16 Aug 2017 19:32:23 -0400 Received: from [2a01:e35:2ec2:e580:491c:541:7a4a:37d9] (port=37016 helo=localhost.localdomain) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1di7nS-0005Z6-RA for control@debbugs.gnu.org; Wed, 16 Aug 2017 19:32:23 -0400 Date: Thu, 17 Aug 2017 01:32:21 +0200 Message-Id: <87h8x7f5ru.fsf@gnu.org> To: control@debbugs.gnu.org From: Mathieu Lirzin Subject: control message for bug #27781 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) tags 27781 patch From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 17 08:35:19 2017 Received: (at 27781) by debbugs.gnu.org; 17 Aug 2017 12:35:19 +0000 Received: from localhost ([127.0.0.1]:42073 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1diK11-0004kd-U0 for submit@debbugs.gnu.org; Thu, 17 Aug 2017 08:35:19 -0400 Received: from atfriesa01.ssi-schaefer.com ([193.186.16.100]:8770) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1diK0r-0004jp-P1 for 27781@debbugs.gnu.org; Thu, 17 Aug 2017 08:35:10 -0400 X-IronPort-AV: E=Sophos;i="5.41,387,1498514400"; d="scan'208,223";a="2680762" X-IPAS-Result: =?us-ascii?q?A2FuBQCAjJVZ/+shHKxdHAEBBAEBCgEBhD6BFaASk0cIglq?= =?us-ascii?q?BQUMsgQ1TgzsChRkVAQIBAQEBAQEBA4EQgmEEOA4pAwEBAQEBAQEBAQEBAQEBA?= =?us-ascii?q?QEBAQEBAQEVAQEBAQEBAQEBAQEBAQEBARoCDSIkFwEBAQEDeRALDgMDAQIBLk8?= =?us-ascii?q?IBg0GAgEBBYo3rD+LYgEBAQEBAQEBAQEBAQEBAQEBEg+DKIVcgnyEOlmCNoMeB?= =?us-ascii?q?Z93UoIoggqDIoMMjEuIX4cUjGiENYUANYEtd16HHHSKJAEBAQ?= Received: from samail03.wamas.com (HELO mailhost.salomon.at) ([172.28.33.235]) by atfriesa01.ssi-schaefer.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Aug 2017 14:34:53 +0200 Received: from [172.28.53.67] by mailhost.salomon.at with esmtps (UNKNOWN:AES128-SHA:128) (Exim 4.77) (envelope-from ) id 1diK0j-0003P6-C5; Thu, 17 Aug 2017 14:34:53 +0200 Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR To: Mathieu Lirzin References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <87inhnf5vx.fsf@gnu.org> From: Michael Haubenwallner Message-ID: <5c7cfc72-ce5a-2b77-340b-ab10dd6a1a74@ssi-schaefer.com> Date: Thu, 17 Aug 2017 14:34:39 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <87inhnf5vx.fsf@gnu.org> Content-Type: multipart/mixed; boundary="------------BBE64B86E4F72E86E8BF4E5C" Content-Language: en-US X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) This is a multi-part message in MIME format. --------------BBE64B86E4F72E86E8BF4E5C Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit On 08/17/2017 01:29 AM, Mathieu Lirzin wrote: > Michael Haubenwallner writes: >> On 08/08/2017 11:17 PM, Mathieu Lirzin wrote: >>> Michael Haubenwallner writes: >> >> This change fixes automake bug#27781. >> >> * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for >> each LIBOBJS/ALLOCA variable used. >> --- > > Excellent! > > To ensure this bug is not reintroduced later, I think it is important to > combine this patch with a test. Are you willing to look into adding > one? Ok - like this one? Thanks! /haubi/ --------------BBE64B86E4F72E86E8BF4E5C Content-Type: text/x-patch; name="0001-automake-add-test-for-PR-27781.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-automake-add-test-for-PR-27781.patch" >From 5c6e104ae5f2fa6d276fcc662d27ef046e77750d Mon Sep 17 00:00:00 2001 From: Michael Haubenwallner Date: Thu, 17 Aug 2017 14:12:20 +0200 Subject: [PATCH] automake: add test for PR 27781 Add test for LIBOBJ_DIR containing nothing else but LIBOBJS source files, in out of source build with dependency tracking disabled, reported as PR 27781. * t/pr27781.sh: New file. * t/list-of-tests.mk (handwritten_TESTS): Add t/pr27781.sh. --- t/list-of-tests.mk | 1 + t/pr27781.sh | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 t/pr27781.sh diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index 051ac0c..8680483 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -886,6 +886,7 @@ t/pr307.sh \ t/pr401.sh \ t/pr401b.sh \ t/pr401c.sh \ +t/pr27781.sh \ t/prefix.sh \ t/preproc-basics.sh \ t/preproc-c-compile.sh \ diff --git a/t/pr27781.sh b/t/pr27781.sh new file mode 100644 index 0000000..15e2da1 --- /dev/null +++ b/t/pr27781.sh @@ -0,0 +1,64 @@ +#! /bin/sh +# Copyright (C) 2017 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 . + +# Test for PR 27781. +# +# == Description == +# Suppose you have some LIBOBJS source files in a separate LIBOBJ_DIR, +# but nothing else, even not some Makefile. +# Now in an out of source build, with dependency tracking disabled, +# there is nothing else that requires the LIBOBJ_DIR within the +# build directory - except for the LIBOBJS files. +# +# This has happened with flex-2.6.4 when malloc.o was required, +# reported as https://github.com/westes/flex/issues/244. +# +# We have to make sure the LIBOBJ_DIR is a prerequisite of the +# LIBOBJS files in the Makefile using LIBOBJS. +# + +. test-init.sh + +cat >> configure.ac << 'END' +AC_PROG_CC +AC_CONFIG_LIBOBJ_DIR(foo) +AC_LIBOBJ(foo) +AC_OUTPUT +END + +cat > Makefile.am << 'END' +bin_PROGRAMS = helldl +LDADD = $(LIBOBJS) +.PHONY: test-pr27781 +test-pr27781: $(LIBOBJS) +END + +mkdir foo +cat > foo/foo.c << 'END' +int foo() { return 0; } +END + +mkdir build + +$ACLOCAL +$AUTOCONF +$AUTOMAKE + +cd build +../configure --disable-dependency-tracking +run_make test-pr27781 + +: -- 2.10.2 --------------BBE64B86E4F72E86E8BF4E5C-- From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 21 18:24:11 2017 Received: (at 27781) by debbugs.gnu.org; 21 Aug 2017 22:24:11 +0000 Received: from localhost ([127.0.0.1]:48296 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1djv70-0004Zj-7P for submit@debbugs.gnu.org; Mon, 21 Aug 2017 18:24:10 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36071) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1djv6q-0004ZP-KR for 27781@debbugs.gnu.org; Mon, 21 Aug 2017 18:23:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1djv6i-00004r-93 for 27781@debbugs.gnu.org; Mon, 21 Aug 2017 18:23:43 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:45250) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1djv6i-0008WR-4C; Mon, 21 Aug 2017 18:23:40 -0400 Received: from [2a01:e35:2ec2:e580:491c:541:7a4a:37d9] (port=44196 helo=localhost.localdomain) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1djv6h-0000vy-Fs; Mon, 21 Aug 2017 18:23:39 -0400 From: Mathieu Lirzin To: Michael Haubenwallner Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <87inhnf5vx.fsf@gnu.org> <5c7cfc72-ce5a-2b77-340b-ab10dd6a1a74@ssi-schaefer.com> Date: Tue, 22 Aug 2017 00:23:36 +0200 In-Reply-To: <5c7cfc72-ce5a-2b77-340b-ab10dd6a1a74@ssi-schaefer.com> (Michael Haubenwallner's message of "Thu, 17 Aug 2017 14:34:39 +0200") Message-ID: <87bmn8k1av.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --=-=-= Content-Type: text/plain Michael Haubenwallner writes: > On 08/17/2017 01:29 AM, Mathieu Lirzin wrote: >> Michael Haubenwallner writes: >>> On 08/08/2017 11:17 PM, Mathieu Lirzin wrote: >>>> Michael Haubenwallner writes: > >>> >>> This change fixes automake bug#27781. >>> >>> * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for >>> each LIBOBJS/ALLOCA variable used. >>> --- >> >> Excellent! >> >> To ensure this bug is not reintroduced later, I think it is important to >> combine this patch with a test. Are you willing to look into adding >> one? > > Ok - like this one? > > Thanks! > /haubi/ > Yes, I have made some changes to your original patch (i.e. changing the test name and the description). If you are OK with those I will push it. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-automake-Ensure-that-LIBOBJ_DIR-builddir-is-created.patch >From 236cb06666a44f23157aa95adc26450fdec92126 Mon Sep 17 00:00:00 2001 From: Michael Haubenwallner Date: Thu, 17 Aug 2017 14:12:20 +0200 Subject: [PATCH] automake: Ensure that LIBOBJ_DIR builddir is created * t/libobj-no-dependency-tracking.sh: New test reproducing the issue described in automake bug#27781. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it. --- t/libobj-no-dependency-tracking.sh | 56 ++++++++++++++++++++++++++++++++++++++ t/list-of-tests.mk | 2 ++ 2 files changed, 58 insertions(+) create mode 100644 t/libobj-no-dependency-tracking.sh diff --git a/t/libobj-no-dependency-tracking.sh b/t/libobj-no-dependency-tracking.sh new file mode 100644 index 0000000..1f02405 --- /dev/null +++ b/t/libobj-no-dependency-tracking.sh @@ -0,0 +1,56 @@ +#! /bin/sh +# Copyright (C) 2017 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 . + +# Ensure that LIBOBJS source files are properly built without dependency +# tracking when using out of tree builds. +# +# This is a non regression test which is following an issue in flex-2.6.4 when +# "malloc.o" was required, see . + +. test-init.sh + +# The LIBOBJS are in a separate LIBOBJ_DIR directory without anything else in +# it to not trigger the creation of the build directory accidentally. +cat >> configure.ac << 'END' +AC_PROG_CC +AC_CONFIG_LIBOBJ_DIR([foo]) +AC_LIBOBJ([foo]) +AC_OUTPUT +END + +cat > Makefile.am << 'END' +AUTOMAKE_OPTIONS = subdir-objects +bin_PROGRAMS = helldl +LDADD = $(LIBOBJS) +.PHONY: dummy +dummy: $(LIBOBJS) +END + +mkdir foo +cat > foo/foo.c << 'END' +int foo() { return 0; } +END + +mkdir build + +$ACLOCAL +$AUTOCONF +$AUTOMAKE + +cd build +../configure --disable-dependency-tracking +run_make dummy +: diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index dacdc8d..dab4a7c 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -38,6 +38,7 @@ t/override-conditional-pr13940.sh \ t/dist-pr109765.sh \ t/instdir-cond2.sh \ t/java-nobase.sh \ +t/libobj-no-dependency-tracking.sh \ t/objext-pr10128.sh \ t/remake-timing-bug-pr8365.sh \ t/lex-subobj-nodep.sh \ @@ -602,6 +603,7 @@ t/lflags.sh \ t/lflags-cxx.sh \ t/libexec.sh \ t/libobj-basic.sh \ +t/libobj-no-dependency-tracking.sh \ t/libobj2.sh \ t/libobj3.sh \ t/libobj4.sh \ -- 2.9.5 --=-=-= Content-Type: text/plain -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 21 18:40:43 2017 Received: (at 27781) by debbugs.gnu.org; 21 Aug 2017 22:40:43 +0000 Received: from localhost ([127.0.0.1]:48305 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1djvND-0004wv-9b for submit@debbugs.gnu.org; Mon, 21 Aug 2017 18:40:43 -0400 Received: from eggs.gnu.org ([208.118.235.92]:51006) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1djvNB-0004wj-JC for 27781@debbugs.gnu.org; Mon, 21 Aug 2017 18:40:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1djvN5-00014j-78 for 27781@debbugs.gnu.org; Mon, 21 Aug 2017 18:40:36 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:45546) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1djvN5-00014I-2D; Mon, 21 Aug 2017 18:40:35 -0400 Received: from [2a01:e35:2ec2:e580:491c:541:7a4a:37d9] (port=44204 helo=localhost.localdomain) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1djvN4-0007rU-BB; Mon, 21 Aug 2017 18:40:34 -0400 From: Mathieu Lirzin To: Michael Haubenwallner Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> Date: Tue, 22 Aug 2017 00:40:32 +0200 In-Reply-To: <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> (Michael Haubenwallner's message of "Wed, 16 Aug 2017 18:36:37 +0200") Message-ID: <874lt0k0in.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Michael Haubenwallner writes: > In this case let me come up with attached patch for now > (without deeper knowledge of automake internals though). I have tested this patch, and confirm that it fixes the bug. However I have on question regarding the added code. > From c3d51adb53400fc8bf65c0e003d810b2e7166d0d Mon Sep 17 00:00:00 2001 > From: Michael Haubenwallner > Date: Wed, 16 Aug 2017 18:16:12 +0200 > Subject: [PATCH] automake: Depend on LIBOBJDIR for LIBOBJS. > > This change fixes automake bug#27781. > > * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for > each LIBOBJS/ALLOCA variable used. > --- > bin/automake.in | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/bin/automake.in b/bin/automake.in > index 9c4cb86..b82e8c5 100644 > --- a/bin/automake.in > +++ b/bin/automake.in > @@ -2153,10 +2153,19 @@ sub handle_LIBOBJS_or_ALLOCA > $dir = backname ($relative_dir) . "/$dir" > if $relative_dir ne '.'; > define_variable ('LIBOBJDIR', "$dir", INTERNAL); > + my $dirstamp = ''; > + # Abusing $clean_files{"$(VAR)"} as indicator for whether > + # we have added the "$(VAR): $dirstamp" dependency already. I am not sure to understand what this comment really means. Can you explain it in other words? > + $dirstamp = require_build_directory ($dir) > + if ! defined $clean_files{"\$($var)"}; > $clean_files{"\$($var)"} = MOSTLY_CLEAN; > + $output_rules .= "\$($var): $dirstamp\n" if ($dirstamp); > # If LTLIBOBJS is used, we must also clear LIBOBJS (which might > # be created by libtool as a side-effect of creating LTLIBOBJS). > - $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//; > + if ($var =~ s/^LT//) { > + $clean_files{"\$($var)"} = MOSTLY_CLEAN; > + $output_rules .= "\$($var): $dirstamp\n" if ($dirstamp); > + } > } > > return $dir; Thank you. -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37 From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 22 03:04:06 2017 Received: (at 27781) by debbugs.gnu.org; 22 Aug 2017 07:04:06 +0000 Received: from localhost ([127.0.0.1]:48505 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dk3EM-0001MD-Hv for submit@debbugs.gnu.org; Tue, 22 Aug 2017 03:04:06 -0400 Received: from atfriesa01.ssi-schaefer.com ([193.186.16.100]:29707) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dk3EJ-0001Lh-VE for 27781@debbugs.gnu.org; Tue, 22 Aug 2017 03:04:04 -0400 X-IronPort-AV: E=Sophos;i="5.41,411,1498514400"; d="scan'208";a="2822370" X-IPAS-Result: =?us-ascii?q?A2E/BQA31ptZ/+shHKxcGgEBAQECAQEBAQgBAQEBhVOgGJY?= =?us-ascii?q?fghGFRwKEXBEBAgEBAQEBAQEDgRCFGQEFeRALDgouVwYNBgIBAblei2MBAQEBA?= =?us-ascii?q?QEBAwEBAQEkgyqFXIJ8imcFkRiHB4gzgiiIOZUshxWWJzkBgSh3h3p0iiYBAQE?= Received: from samail03.wamas.com (HELO mailhost.salomon.at) ([172.28.33.235]) by atfriesa01.ssi-schaefer.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Aug 2017 09:03:57 +0200 Received: from [172.28.53.104] by mailhost.salomon.at with esmtps (UNKNOWN:AES128-SHA:128) (Exim 4.77) (envelope-from ) id 1dk3EC-0004Xc-Us; Tue, 22 Aug 2017 09:03:57 +0200 Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR To: Mathieu Lirzin References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <87inhnf5vx.fsf@gnu.org> <5c7cfc72-ce5a-2b77-340b-ab10dd6a1a74@ssi-schaefer.com> <87bmn8k1av.fsf@gnu.org> From: Michael Haubenwallner Message-ID: <2ce25cf1-2d5e-2ea5-8b93-ea3eb12a1737@ssi-schaefer.com> Date: Tue, 22 Aug 2017 09:03:37 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <87bmn8k1av.fsf@gnu.org> Content-Type: text/plain; charset=iso-8859-15 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) On 08/22/2017 12:23 AM, Mathieu Lirzin wrote: > Michael Haubenwallner writes: >> On 08/17/2017 01:29 AM, Mathieu Lirzin wrote: >>> Michael Haubenwallner writes: >>>> On 08/08/2017 11:17 PM, Mathieu Lirzin wrote: >>>>> Michael Haubenwallner writes: >>>> >>>> This change fixes automake bug#27781. >>>> >>>> * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for >>>> each LIBOBJS/ALLOCA variable used. >>>> --- >>> >>> Excellent! >>> >>> To ensure this bug is not reintroduced later, I think it is important to >>> combine this patch with a test. Are you willing to look into adding >>> one? >> >> Ok - like this one? > > Yes, I have made some changes to your original patch (i.e. changing the > test name and the description). If you are OK with those I will push it. > YesPlease! Thanks! /haubi/ From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 22 03:30:59 2017 Received: (at 27781) by debbugs.gnu.org; 22 Aug 2017 07:30:59 +0000 Received: from localhost ([127.0.0.1]:48526 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dk3eN-0001ya-18 for submit@debbugs.gnu.org; Tue, 22 Aug 2017 03:30:59 -0400 Received: from atfriesa01.ssi-schaefer.com ([193.186.16.100]:12597) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dk3eK-0001yM-K8 for 27781@debbugs.gnu.org; Tue, 22 Aug 2017 03:30:57 -0400 X-IronPort-AV: E=Sophos;i="5.41,411,1498514400"; d="scan'208";a="2824225" X-IPAS-Result: =?us-ascii?q?A2HkAQA93ZtZ/+shHKxTChoBAQEBAgEBAQEIAQEBAYQ+gRW?= =?us-ascii?q?dc4IlmDAkgRWEDgKEWRQBAgEBAQEBAQEDgRCEAls7AQEBAQN5EAsOAwMBAgEuT?= =?us-ascii?q?wgGDQYCAQG6BYtiAQEBAQEBAQEBAQEBAQEBI4MqhVyCfIQ+CoYfBYl3hyGBZ41?= =?us-ascii?q?TgiiFLY9XiGGHFZEnhQA2gSx3h3p0h2WCQQEBAQ?= Received: from samail03.wamas.com (HELO mailhost.salomon.at) ([172.28.33.235]) by atfriesa01.ssi-schaefer.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Aug 2017 09:30:23 +0200 Received: from [172.28.53.104] by mailhost.salomon.at with esmtps (UNKNOWN:AES128-SHA:128) (Exim 4.77) (envelope-from ) id 1dk3dl-00054r-Hw; Tue, 22 Aug 2017 09:30:21 +0200 Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR To: Mathieu Lirzin References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <874lt0k0in.fsf@gnu.org> From: Michael Haubenwallner Message-ID: <3c6a7481-fff6-7c1f-cadf-c66bd44207b8@ssi-schaefer.com> Date: Tue, 22 Aug 2017 09:30:02 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <874lt0k0in.fsf@gnu.org> Content-Type: text/plain; charset=iso-8859-15 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) On 08/22/2017 12:40 AM, Mathieu Lirzin wrote: > Michael Haubenwallner writes: > >> In this case let me come up with attached patch for now >> (without deeper knowledge of automake internals though). > > I have tested this patch, and confirm that it fixes the bug. However I > have on question regarding the added code. > >> From c3d51adb53400fc8bf65c0e003d810b2e7166d0d Mon Sep 17 00:00:00 2001 >> From: Michael Haubenwallner >> Date: Wed, 16 Aug 2017 18:16:12 +0200 >> Subject: [PATCH] automake: Depend on LIBOBJDIR for LIBOBJS. >> >> This change fixes automake bug#27781. >> >> * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for >> each LIBOBJS/ALLOCA variable used. >> --- >> bin/automake.in | 11 ++++++++++- >> 1 file changed, 10 insertions(+), 1 deletion(-) >> >> diff --git a/bin/automake.in b/bin/automake.in >> index 9c4cb86..b82e8c5 100644 >> --- a/bin/automake.in >> +++ b/bin/automake.in >> @@ -2153,10 +2153,19 @@ sub handle_LIBOBJS_or_ALLOCA >> $dir = backname ($relative_dir) . "/$dir" >> if $relative_dir ne '.'; >> define_variable ('LIBOBJDIR', "$dir", INTERNAL); >> + my $dirstamp = ''; >> + # Abusing $clean_files{"$(VAR)"} as indicator for whether >> + # we have added the "$(VAR): $dirstamp" dependency already. > > I am not sure to understand what this comment really means. Can you > explain it in other words? > >> + $dirstamp = require_build_directory ($dir) Thing is, $dirstamp is calculated only when ... >> + if ! defined $clean_files{"\$($var)"}; ... $clean_files{} was defined, which is done ... >> $clean_files{"\$($var)"} = MOSTLY_CLEAN; ... here. Subsequently, $output_rules is extended only when $dirstamp was calculated: >> + $output_rules .= "\$($var): $dirstamp\n" if ($dirstamp); But the name "clean_files" feels somewhat unrelated to the dirstamp dependency (as in causing a different output by itself), because I use it to make sure the dirstamp rule is added only once to $output_rules: Within flex, I've seen handle_LIBOBJS_or_ALLOCA to be called thrice, but this dirstamp rule is enough once, as "\$($var)" holds all three object files. While I have also thought about adding this dependency for each explicit object file separately - which would not need the "clean_files" indicator, I've failed to identify where to get the correct object file name from. >> # If LTLIBOBJS is used, we must also clear LIBOBJS (which might >> # be created by libtool as a side-effect of creating LTLIBOBJS). >> - $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//; >> + if ($var =~ s/^LT//) { >> + $clean_files{"\$($var)"} = MOSTLY_CLEAN; >> + $output_rules .= "\$($var): $dirstamp\n" if ($dirstamp); >> + } >> } >> >> return $dir; Another thought about the final "$(LIBOBJS): .../.dirstamp" Makefile line: If I remember correctly, there have been (non-GNU) make implementations that choke on this rule when LIBOBJS is an empty variable: Am I wrong here, or is GNU make required anyway these days? Thanks! /haubi/ From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 23 16:15:27 2017 Received: (at 27781) by debbugs.gnu.org; 23 Aug 2017 20:15:27 +0000 Received: from localhost ([127.0.0.1]:51750 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkc3i-0003lo-Rr for submit@debbugs.gnu.org; Wed, 23 Aug 2017 16:15:27 -0400 Received: from eggs.gnu.org ([208.118.235.92]:49571) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkc3f-0003lb-CM for 27781@debbugs.gnu.org; Wed, 23 Aug 2017 16:15:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dkc3Y-0000u1-OI for 27781@debbugs.gnu.org; Wed, 23 Aug 2017 16:15:17 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:55786) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dkc3Y-0000tv-Kj; Wed, 23 Aug 2017 16:15:16 -0400 Received: from [2a01:e35:2ec2:e580:491c:541:7a4a:37d9] (port=33500 helo=localhost.localdomain) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dkc3Y-0008W2-1z; Wed, 23 Aug 2017 16:15:16 -0400 From: Mathieu Lirzin To: Michael Haubenwallner Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <87inhnf5vx.fsf@gnu.org> <5c7cfc72-ce5a-2b77-340b-ab10dd6a1a74@ssi-schaefer.com> <87bmn8k1av.fsf@gnu.org> <2ce25cf1-2d5e-2ea5-8b93-ea3eb12a1737@ssi-schaefer.com> Date: Wed, 23 Aug 2017 22:15:13 +0200 In-Reply-To: <2ce25cf1-2d5e-2ea5-8b93-ea3eb12a1737@ssi-schaefer.com> (Michael Haubenwallner's message of "Tue, 22 Aug 2017 09:03:37 +0200") Message-ID: <87fucidory.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Michael Haubenwallner writes: > On 08/22/2017 12:23 AM, Mathieu Lirzin wrote: >> Michael Haubenwallner writes: >>> On 08/17/2017 01:29 AM, Mathieu Lirzin wrote: >>>> Michael Haubenwallner writes: >>>>> On 08/08/2017 11:17 PM, Mathieu Lirzin wrote: >>>>>> Michael Haubenwallner writes: >>>>> >>>>> This change fixes automake bug#27781. >>>>> >>>>> * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for >>>>> each LIBOBJS/ALLOCA variable used. >>>>> --- >>>> >>>> Excellent! >>>> >>>> To ensure this bug is not reintroduced later, I think it is important to >>>> combine this patch with a test. Are you willing to look into adding >>>> one? >>> >>> Ok - like this one? >> >> Yes, I have made some changes to your original patch (i.e. changing the >> test name and the description). If you are OK with those I will push it. >> > > YesPlease! pushed as commit 236cb06666a44f23157aa95adc26450fdec92126 -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37 From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 23 17:25:08 2017 Received: (at 27781) by debbugs.gnu.org; 23 Aug 2017 21:25:08 +0000 Received: from localhost ([127.0.0.1]:51797 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkd9A-0005Vh-AW for submit@debbugs.gnu.org; Wed, 23 Aug 2017 17:25:08 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34168) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkd98-0005VA-EU for 27781@debbugs.gnu.org; Wed, 23 Aug 2017 17:25:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dkd91-0000eH-M9 for 27781@debbugs.gnu.org; Wed, 23 Aug 2017 17:25:01 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:56960) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dkd91-0000eC-II; Wed, 23 Aug 2017 17:24:59 -0400 Received: from [2a01:e35:2ec2:e580:491c:541:7a4a:37d9] (port=33552 helo=localhost.localdomain) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dkd91-0000t3-0L; Wed, 23 Aug 2017 17:24:59 -0400 From: Mathieu Lirzin To: Michael Haubenwallner Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <874lt0k0in.fsf@gnu.org> <3c6a7481-fff6-7c1f-cadf-c66bd44207b8@ssi-schaefer.com> Date: Wed, 23 Aug 2017 23:24:56 +0200 In-Reply-To: <3c6a7481-fff6-7c1f-cadf-c66bd44207b8@ssi-schaefer.com> (Michael Haubenwallner's message of "Tue, 22 Aug 2017 09:30:02 +0200") Message-ID: <87d17mdljr.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Michael Haubenwallner writes: > On 08/22/2017 12:40 AM, Mathieu Lirzin wrote: >> Michael Haubenwallner writes: >> >>> In this case let me come up with attached patch for now >>> (without deeper knowledge of automake internals though). >> >> I have tested this patch, and confirm that it fixes the bug. However I >> have on question regarding the added code. >> >>> From c3d51adb53400fc8bf65c0e003d810b2e7166d0d Mon Sep 17 00:00:00 2001 >>> From: Michael Haubenwallner >>> Date: Wed, 16 Aug 2017 18:16:12 +0200 >>> Subject: [PATCH] automake: Depend on LIBOBJDIR for LIBOBJS. >>> >>> This change fixes automake bug#27781. >>> >>> * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for >>> each LIBOBJS/ALLOCA variable used. >>> --- >>> bin/automake.in | 11 ++++++++++- >>> 1 file changed, 10 insertions(+), 1 deletion(-) >>> >>> diff --git a/bin/automake.in b/bin/automake.in >>> index 9c4cb86..b82e8c5 100644 >>> --- a/bin/automake.in >>> +++ b/bin/automake.in >>> @@ -2153,10 +2153,19 @@ sub handle_LIBOBJS_or_ALLOCA >>> $dir = backname ($relative_dir) . "/$dir" >>> if $relative_dir ne '.'; >>> define_variable ('LIBOBJDIR', "$dir", INTERNAL); >>> + my $dirstamp = ''; >>> + # Abusing $clean_files{"$(VAR)"} as indicator for whether >>> + # we have added the "$(VAR): $dirstamp" dependency already. >> >> I am not sure to understand what this comment really means. Can you >> explain it in other words? >> >>> + $dirstamp = require_build_directory ($dir) > > Thing is, $dirstamp is calculated only when ... > >>> + if ! defined $clean_files{"\$($var)"}; > > ... $clean_files{} was defined, which is done ... > >>> $clean_files{"\$($var)"} = MOSTLY_CLEAN; > > ... here. Subsequently, $output_rules is extended only when $dirstamp was > calculated: > >>> + $output_rules .= "\$($var): $dirstamp\n" if ($dirstamp); > > But the name "clean_files" feels somewhat unrelated to the dirstamp dependency > (as in causing a different output by itself), because I use it to make sure > the dirstamp rule is added only once to $output_rules: > Within flex, I've seen handle_LIBOBJS_or_ALLOCA to be called thrice, but this > dirstamp rule is enough once, as "\$($var)" holds all three object files. > While I have also thought about adding this dependency for each explicit > object file separately - which would not need the "clean_files" indicator, > I've failed to identify where to get the correct object file name from. OK so this is mostly an optimization, since having multiple time the same line shouldn't hurt. Let's first fix the without such optimization. > >>> # If LTLIBOBJS is used, we must also clear LIBOBJS (which might >>> # be created by libtool as a side-effect of creating LTLIBOBJS). >>> - $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//; >>> + if ($var =~ s/^LT//) { >>> + $clean_files{"\$($var)"} = MOSTLY_CLEAN; >>> + $output_rules .= "\$($var): $dirstamp\n" if ($dirstamp); >>> + } >>> } >>> >>> return $dir; > Regarding that part of the code even before you made it seems to me that the conditional second '$clean_files{"\$($var)"} = MOSTLY_CLEAN' statement is useless. Am I overlooking something? Here is the snippet of the code before your changed. --8<---------------cut here---------------start------------->8--- define_variable ('LIBOBJDIR', "$dir", INTERNAL); $clean_files{"\$($var)"} = MOSTLY_CLEAN; # If LTLIBOBJS is used, we must also clear LIBOBJS (which might # be created by libtool as a side-effect of creating LTLIBOBJS). $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//; --8<---------------cut here---------------end--------------->8--- > Another thought about the final "$(LIBOBJS): .../.dirstamp" Makefile line: > If I remember correctly, there have been (non-GNU) make implementations that > choke on this rule when LIBOBJS is an empty variable: > Am I wrong here, or is GNU make required anyway these days? GNU make is not required for current Automake version. I didn't find any reference of this issue with empty variable target in Autoconf "Portable Make programming" section [1] but if it is actually the case then it would be nice to find a solution for that. -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37 [1] https://www.gnu.org/software/autoconf/manual/autoconf-2.65/html_node/Portable-Make.html From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 23 18:05:12 2017 Received: (at 27781) by debbugs.gnu.org; 23 Aug 2017 22:05:12 +0000 Received: from localhost ([127.0.0.1]:51814 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkdlu-0006RB-MJ for submit@debbugs.gnu.org; Wed, 23 Aug 2017 18:05:12 -0400 Received: from mail-lf0-f43.google.com ([209.85.215.43]:32937) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkdlt-0006Qz-4G for 27781@debbugs.gnu.org; Wed, 23 Aug 2017 18:05:09 -0400 Received: by mail-lf0-f43.google.com with SMTP id d17so6292624lfe.0 for <27781@debbugs.gnu.org>; Wed, 23 Aug 2017 15:05:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=draconx-ca.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=zwvVm/JO135rD5qzNrHOhp4ym0Ae4YUAtJCg7Ro0v6Q=; b=NC95mGtZWSQvk6YIkJGJcS5IWyYa1fAmNQZUt9HALoSVXbd83bo+4DKEynefMEyl9j +vKoW6W3UEkM1llsiE4v48dMJtxiZFLXS3ZZq1t+l54U82xEonmPOjVaSqFE7wTSxXvJ 2uddJMmbg/TwzFYQehZ7ff5ADhDKaJNTimJk7v3mabzd5XwIpiLOoTXqy4wPI6AepBqX aBu1B2DlKnak6ISJKRknT4O390Juyos10DXZlPy0zmb8XU7B7pxUDSAkTDx1cjQcyc+R vwRNXx9a+VqQom0aSqCjX+jgl0S095Sub7BrTHmJWCZd16pvLZiR2F2pRsTVpM1b7YLd E37g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=zwvVm/JO135rD5qzNrHOhp4ym0Ae4YUAtJCg7Ro0v6Q=; b=b47AMrUZwJZ6WFZi79fm/NMiOP939jKWQnOq6aYOeJLDF6uoBT41x/A2VdDKNszQAW C8TwxyJXEgf2gbn2JLEHNBJTaAre9HofK2lFQhhIj4oAxkQY3yJiaLZ9Za+jfMCv+wMO tmkykAziH5axUKvHcuUZXu8Wb2u00VI3mIx+ZD2NNHvwpj1D2P8vXS8nkm7pftba3eJ5 1wCzwakLsLlKOAuGkK7H5K3HErD5/jOxL+0VZpX3xu7TB0TQUECi+X5eQlyBUmqgZC5h VHjeO9O7tXP/IRZXsL5pYAAbXSyhCgb74/LEWHJadFOT6YcLxOpu4K0wFLhhiKAnJzsK GPqw== X-Gm-Message-State: AHYfb5hyGyBW/Rn0qO/PY2CiuMnUENAEMgIsoFCMjqHclQkx+iES4svN Q6g4K+HDCp6wldHDOiscQFK4oCXSbDGy X-Received: by 10.46.82.29 with SMTP id g29mr1608925ljb.19.1503525903239; Wed, 23 Aug 2017 15:05:03 -0700 (PDT) MIME-Version: 1.0 Received: by 10.179.5.244 with HTTP; Wed, 23 Aug 2017 15:05:02 -0700 (PDT) X-Originating-IP: [24.156.181.89] In-Reply-To: <87d17mdljr.fsf@gnu.org> References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <874lt0k0in.fsf@gnu.org> <3c6a7481-fff6-7c1f-cadf-c66bd44207b8@ssi-schaefer.com> <87d17mdljr.fsf@gnu.org> From: Nick Bowler Date: Wed, 23 Aug 2017 18:05:02 -0400 Message-ID: Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR To: Mathieu Lirzin Content-Type: text/plain; charset="UTF-8" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org, Michael Haubenwallner X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) On 8/23/17, Mathieu Lirzin wrote: > Michael Haubenwallner writes: >> Another thought about the final "$(LIBOBJS): .../.dirstamp" Makefile >> line: If I remember correctly, there have been (non-GNU) make >> implementations thatchoke on this rule when LIBOBJS is an empty >> variable: Am I wrong here, or is GNU make required anyway these days? > > GNU make is not required for current Automake version. I didn't find > any reference of this issue with empty variable target in Autoconf > "Portable Make programming" section [1] but if it is actually the case > then it would be nice to find a solution for that. POSIX requires that target rules specify at least one target. At least dmake will fail to parse the makefile if it contains an target rule with no targets: % cat >Makefile <<'EOF' FOO = dummy: ; $(FOO): ; EOF % dmake dmake: Makefile: line 3: Error: -- Missing targets or attributes in rule If the target list is a macro which can reasonably be empty then one solution is to add a bogus target name that won't be used anywhere else, along the lines of: gobbledegook $(FOO): ; Cheers, Nick From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 24 05:35:25 2017 Received: (at 27781) by debbugs.gnu.org; 24 Aug 2017 09:35:25 +0000 Received: from localhost ([127.0.0.1]:52139 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkoXt-0007jv-C2 for submit@debbugs.gnu.org; Thu, 24 Aug 2017 05:35:25 -0400 Received: from eggs.gnu.org ([208.118.235.92]:57705) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkoXr-0007jg-IK for 27781@debbugs.gnu.org; Thu, 24 Aug 2017 05:35:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dkoXl-0002FV-ID for 27781@debbugs.gnu.org; Thu, 24 Aug 2017 05:35:18 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:35389) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dkoXh-000241-F0; Thu, 24 Aug 2017 05:35:13 -0400 Received: from [2a01:e35:2ec2:e580:491c:541:7a4a:37d9] (port=35550 helo=localhost.localdomain) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dkoXa-0003iM-Rv; Thu, 24 Aug 2017 05:35:07 -0400 From: Mathieu Lirzin To: Nick Bowler Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <874lt0k0in.fsf@gnu.org> <3c6a7481-fff6-7c1f-cadf-c66bd44207b8@ssi-schaefer.com> <87d17mdljr.fsf@gnu.org> Date: Thu, 24 Aug 2017 11:35:04 +0200 In-Reply-To: (Nick Bowler's message of "Wed, 23 Aug 2017 18:05:02 -0400") Message-ID: <87poblia0n.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org, Michael Haubenwallner X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Nick Bowler writes: > On 8/23/17, Mathieu Lirzin wrote: >> Michael Haubenwallner writes: >>> Another thought about the final "$(LIBOBJS): .../.dirstamp" Makefile >>> line: If I remember correctly, there have been (non-GNU) make >>> implementations thatchoke on this rule when LIBOBJS is an empty >>> variable: Am I wrong here, or is GNU make required anyway these days? >> >> GNU make is not required for current Automake version. I didn't find >> any reference of this issue with empty variable target in Autoconf >> "Portable Make programming" section [1] but if it is actually the case >> then it would be nice to find a solution for that. > > POSIX requires that target rules specify at least one target. At least > dmake will fail to parse the makefile if it contains an target rule with > no targets: > > % cat >Makefile <<'EOF' > FOO = > dummy: ; > $(FOO): ; > EOF > % dmake > dmake: Makefile: line 3: Error: -- Missing targets or attributes in rule > > If the target list is a macro which can reasonably be empty then one > solution is to add a bogus target name that won't be used anywhere > else, along the lines of: > > gobbledegook $(FOO): ; Instead of this dummy target, I would rather prefer adding the dirstamp dependency for each explicit object file separately. this should be computed from the '%libsources' variable. However after a quick look in the code, it seems that this variable is not properly populated by the 'scan_autoconf_traces' subroutine. It only contains the files that are explicitely defined by scanning the AC_LIBSOURCE macro and not by AC_LIBOBJ or AC_LIBSOURCES in 'configure.ac'. Michael: Are you interested in looking into this? Thanks for your input. -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37 From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 24 06:35:50 2017 Received: (at 27781) by debbugs.gnu.org; 24 Aug 2017 10:35:50 +0000 Received: from localhost ([127.0.0.1]:52163 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkpUM-0000lD-6i for submit@debbugs.gnu.org; Thu, 24 Aug 2017 06:35:50 -0400 Received: from atfriesa01.ssi-schaefer.com ([193.186.16.100]:53327) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkpUJ-0000ky-M5 for 27781@debbugs.gnu.org; Thu, 24 Aug 2017 06:35:48 -0400 X-IronPort-AV: E=Sophos;i="5.41,421,1498514400"; d="scan'208";a="2933083" X-IPAS-Result: =?us-ascii?q?A2E0AwB8q55Z/+shHKxTChsBAQEDAQEBCQEBAYQ+gRWDd5l?= =?us-ascii?q?8gieNSoptJIEVhA4ChQwUAQIBAQEBAQEBA4EQhAJbOwEBAQECASMEUgULCw4DA?= =?us-ascii?q?wECAQICJgICTwgGDQYCAQEXig6uKoFtOotgAQEBAQEBAQEBAQEBAQEBI4ENgh2?= =?us-ascii?q?FXIJINIQ+CoM+gmEFiXcHhx2BZ4UhiDaCKYUtj1qIY4cWkTCFADaBLHeHenSEP?= =?us-ascii?q?4JBAQEB?= Received: from samail03.wamas.com (HELO mailhost.salomon.at) ([172.28.33.235]) by atfriesa01.ssi-schaefer.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Aug 2017 12:35:40 +0200 Received: from [172.28.41.101] by mailhost.salomon.at with esmtp (Exim 4.77) (envelope-from ) id 1dkpUC-0003aW-6R; Thu, 24 Aug 2017 12:35:40 +0200 Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR To: Mathieu Lirzin References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <874lt0k0in.fsf@gnu.org> <3c6a7481-fff6-7c1f-cadf-c66bd44207b8@ssi-schaefer.com> <87d17mdljr.fsf@gnu.org> From: Michael Haubenwallner Message-ID: Date: Thu, 24 Aug 2017 12:35:39 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <87d17mdljr.fsf@gnu.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) On 08/23/2017 11:24 PM, Mathieu Lirzin wrote: > Michael Haubenwallner writes: >> On 08/22/2017 12:40 AM, Mathieu Lirzin wrote: >>> Michael Haubenwallner writes: >>> >>>> In this case let me come up with attached patch for now >>>> (without deeper knowledge of automake internals though). >>> >>> I have tested this patch, and confirm that it fixes the bug. However I >>> have on question regarding the added code. >>> >>>> From c3d51adb53400fc8bf65c0e003d810b2e7166d0d Mon Sep 17 00:00:00 2001 >>>> From: Michael Haubenwallner >>>> Date: Wed, 16 Aug 2017 18:16:12 +0200 >>>> Subject: [PATCH] automake: Depend on LIBOBJDIR for LIBOBJS. >>>> >>>> This change fixes automake bug#27781. >>>> >>>> * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for >>>> each LIBOBJS/ALLOCA variable used. >>>> --- >>>> bin/automake.in | 11 ++++++++++- >>>> 1 file changed, 10 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/bin/automake.in b/bin/automake.in >>>> index 9c4cb86..b82e8c5 100644 >>>> --- a/bin/automake.in >>>> +++ b/bin/automake.in >>>> @@ -2153,10 +2153,19 @@ sub handle_LIBOBJS_or_ALLOCA >>>> $dir = backname ($relative_dir) . "/$dir" >>>> if $relative_dir ne '.'; >>>> define_variable ('LIBOBJDIR', "$dir", INTERNAL); >>>> + my $dirstamp = ''; >>>> + # Abusing $clean_files{"$(VAR)"} as indicator for whether >>>> + # we have added the "$(VAR): $dirstamp" dependency already. >>> >>> I am not sure to understand what this comment really means. Can you >>> explain it in other words? >>> >>>> + $dirstamp = require_build_directory ($dir) >> >> Thing is, $dirstamp is calculated only when ... >> >>>> + if ! defined $clean_files{"\$($var)"}; >> >> ... $clean_files{} was defined, which is done ... >> >>>> $clean_files{"\$($var)"} = MOSTLY_CLEAN; >> >> ... here. Subsequently, $output_rules is extended only when $dirstamp was >> calculated: >> >>>> + $output_rules .= "\$($var): $dirstamp\n" if ($dirstamp); >> >> But the name "clean_files" feels somewhat unrelated to the dirstamp dependency >> (as in causing a different output by itself), because I use it to make sure >> the dirstamp rule is added only once to $output_rules: >> Within flex, I've seen handle_LIBOBJS_or_ALLOCA to be called thrice, but this >> dirstamp rule is enough once, as "\$($var)" holds all three object files. >> While I have also thought about adding this dependency for each explicit >> object file separately - which would not need the "clean_files" indicator, >> I've failed to identify where to get the correct object file name from. > > OK so this is mostly an optimization, since having multiple time the > same line shouldn't hurt. Agreed. > Let's first fix the without such optimization. I'm going to look into the (other subthread's) AC_LIBOBJ thing, for adding the rule per explicit object file instead. >> >>>> # If LTLIBOBJS is used, we must also clear LIBOBJS (which might >>>> # be created by libtool as a side-effect of creating LTLIBOBJS). >>>> - $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//; >>>> + if ($var =~ s/^LT//) { >>>> + $clean_files{"\$($var)"} = MOSTLY_CLEAN; >>>> + $output_rules .= "\$($var): $dirstamp\n" if ($dirstamp); >>>> + } >>>> } >>>> >>>> return $dir; >> > > Regarding that part of the code even before you made it seems to me that > the conditional second '$clean_files{"\$($var)"} = MOSTLY_CLEAN' > statement is useless. Am I overlooking something? It took a while for me too to understand what's going on here: Consider $var = 'LTLIBOBJS'; > Here is the snippet of the code before your changed. > > --8<---------------cut here---------------start------------->8--- > define_variable ('LIBOBJDIR', "$dir", INTERNAL); > $clean_files{"\$($var)"} = MOSTLY_CLEAN; here, unconditionally: $clean_files{'$(LTLIBOBJS)'} = MOSTLY_CLEAN; > # If LTLIBOBJS is used, we must also clear LIBOBJS (which might > # be created by libtool as a side-effect of creating LTLIBOBJS). > $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//; Crucial here is that trailing { if $var =~ s/^LT// }: First, leading 'LT' eventually is dropped: $var = 'LIBOBJS'; If the leading 'LT' was actually found: $clean_files{'LIBOBJS'} = MOSTLY_CLEAN; > --8<---------------cut here---------------end--------------->8--- > >> Another thought about the final "$(LIBOBJS): .../.dirstamp" Makefile line: >> If I remember correctly, there have been (non-GNU) make implementations that >> choke on this rule when LIBOBJS is an empty variable: >> Am I wrong here, or is GNU make required anyway these days? > > GNU make is not required for current Automake version. I didn't find > any reference of this issue with empty variable target in Autoconf > "Portable Make programming" section [1] but if it is actually the case > then it would be nice to find a solution for that. > /haubi/ From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 24 10:23:16 2017 Received: (at 27781) by debbugs.gnu.org; 24 Aug 2017 14:23:16 +0000 Received: from localhost ([127.0.0.1]:52996 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkt2R-0001YO-S0 for submit@debbugs.gnu.org; Thu, 24 Aug 2017 10:23:16 -0400 Received: from atfriesa01.ssi-schaefer.com ([193.186.16.100]:63271) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkt2O-0001Y8-01 for 27781@debbugs.gnu.org; Thu, 24 Aug 2017 10:23:12 -0400 X-IronPort-AV: E=Sophos;i="5.41,421,1498514400"; d="scan'208,223";a="2950155" X-IPAS-Result: =?us-ascii?q?A2FMAwCD4J5Z/+shHKxdGwEBAQMBAQEJAQEBhD6BFYN3nAE?= =?us-ascii?q?id4xTim0kgRWEDgKFDRQBAgEBAQEBAQEDgRCEAls7AQEBAQMjBFIQCw4DAwECA?= =?us-ascii?q?SoCAk8IBgEMBgIBARe5XYFtOoteAQEBAQEBAQEBAQEBAQEBAQESD4MqhTErC4I?= =?us-ascii?q?9NIUTgnOCYQWJfocdjz6CKYILgyKPWohjhxaRMIUANoEsd16HHHSLMAEBAQ?= Received: from samail03.wamas.com (HELO mailhost.salomon.at) ([172.28.33.235]) by atfriesa01.ssi-schaefer.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Aug 2017 16:23:01 +0200 Received: from [172.28.41.101] by mailhost.salomon.at with esmtp (Exim 4.77) (envelope-from ) id 1dkt2C-00089Y-Bj; Thu, 24 Aug 2017 16:23:00 +0200 Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR To: Mathieu Lirzin , Nick Bowler References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <874lt0k0in.fsf@gnu.org> <3c6a7481-fff6-7c1f-cadf-c66bd44207b8@ssi-schaefer.com> <87d17mdljr.fsf@gnu.org> <87poblia0n.fsf@gnu.org> From: Michael Haubenwallner Message-ID: Date: Thu, 24 Aug 2017 16:23:00 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <87poblia0n.fsf@gnu.org> Content-Type: multipart/mixed; boundary="------------036B8BDC981B1EE9C49982CF" Content-Language: en-US X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) This is a multi-part message in MIME format. --------------036B8BDC981B1EE9C49982CF Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit On 08/24/2017 11:35 AM, Mathieu Lirzin wrote: > Nick Bowler writes: >> On 8/23/17, Mathieu Lirzin wrote: >>> Michael Haubenwallner writes: >>>> Another thought about the final "$(LIBOBJS): .../.dirstamp" Makefile >>>> line: If I remember correctly, there have been (non-GNU) make >>>> implementations thatchoke on this rule when LIBOBJS is an empty >>>> variable: Am I wrong here, or is GNU make required anyway these days? >>> >>> GNU make is not required for current Automake version. I didn't find >>> any reference of this issue with empty variable target in Autoconf >>> "Portable Make programming" section [1] but if it is actually the case >>> then it would be nice to find a solution for that. >> >> POSIX requires that target rules specify at least one target. At least >> dmake will fail to parse the makefile if it contains an target rule with >> no targets: >> >> % cat >Makefile <<'EOF' >> FOO = >> dummy: ; >> $(FOO): ; >> EOF >> % dmake >> dmake: Makefile: line 3: Error: -- Missing targets or attributes in rule >> >> If the target list is a macro which can reasonably be empty then one >> solution is to add a bogus target name that won't be used anywhere >> else, along the lines of: >> >> gobbledegook $(FOO): ; > > Instead of this dummy target, I would rather prefer adding the dirstamp > dependency for each explicit object file separately. this should be computed > from the '%libsources' variable. However after a quick look in the code, it > seems that this variable is not properly populated by the > 'scan_autoconf_traces' subroutine. It only contains the files that are > explicitely defined by scanning the AC_LIBSOURCE macro and not by AC_LIBOBJ or > AC_LIBSOURCES in 'configure.ac'. > > Michael: Are you interested in looking into this? > Here's an attempt to use the explicit AC_LIBSOURCE values to depend on the LIBOBJDIR dirstamp. IMHO, tracing AC_LIBOBJ would not provide additional information over AC_LIBSOURCE, as AC_LIBOBJ by itself uses AC_LIBSOURCE. But then there is _AC_LIBOBJS_NORMALIZE, adding $U to {,LT}LIBOBJS values (seems referring to "Automake's ANSI2KNR"): What is this about? /haubi/ --------------036B8BDC981B1EE9C49982CF Content-Type: text/x-patch; name="0001-automake-Depend-on-LIBOBJDIR-for-LIBOBJS.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-automake-Depend-on-LIBOBJDIR-for-LIBOBJS.patch" >From 4465bb9e31c12a8f59c199c61aaef17966e1ffc4 Mon Sep 17 00:00:00 2001 From: Michael Haubenwallner Date: Wed, 16 Aug 2017 18:16:12 +0200 Subject: [PATCH] automake: Depend on LIBOBJDIR for LIBOBJS. This change fixes automake bug#27781. * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for each LIBOBJS/ALLOCA source file found. --- bin/automake.in | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/bin/automake.in b/bin/automake.in index 9c4cb86..66619d2 100644 --- a/bin/automake.in +++ b/bin/automake.in @@ -2129,13 +2129,14 @@ sub handle_lib_objects return $seen_libobjs; } -# handle_LIBOBJS_or_ALLOCA ($VAR) -# ------------------------------- +# handle_LIBOBJS_or_ALLOCA ($VAR, $BASE) +# -------------------------------------- # Definitions common to LIBOBJS and ALLOCA. # VAR should be one of LIBOBJS, LTLIBOBJS, ALLOCA, or LTALLOCA. +# BASE should be one base file name from AC_LIBSOURCE, or alloca. sub handle_LIBOBJS_or_ALLOCA { - my ($var) = @_; + my ($var, $base) = @_; my $dir = ''; # If LIBOBJS files must be built in another directory we have @@ -2153,10 +2154,13 @@ sub handle_LIBOBJS_or_ALLOCA $dir = backname ($relative_dir) . "/$dir" if $relative_dir ne '.'; define_variable ('LIBOBJDIR', "$dir", INTERNAL); - $clean_files{"\$($var)"} = MOSTLY_CLEAN; - # If LTLIBOBJS is used, we must also clear LIBOBJS (which might - # be created by libtool as a side-effect of creating LTLIBOBJS). - $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//; + if ($dir && !defined $clean_files{"$dir$base.\$(OBJEXT)"}) { + my $dirstamp = require_build_directory ($dir); + $output_rules .= "$dir$base.\$(OBJEXT): $dirstamp\n"; + $output_rules .= "$dir$base.lo: $dirstamp\n" if $var =~ /^LT/; + } + $clean_files{"$dir$base.\$(OBJEXT)"} = MOSTLY_CLEAN; + $clean_files{"$dir$base.lo"} = MOSTLY_CLEAN if $var =~ /^LT/; } return $dir; @@ -2171,14 +2175,14 @@ sub handle_LIBOBJS $var->requires_variables ("\@${lt}LIBOBJS\@ used", $lt . 'LIBOBJS') if ! keys %libsources; - my $dir = handle_LIBOBJS_or_ALLOCA "${lt}LIBOBJS"; - foreach my $iter (keys %libsources) { - if ($iter =~ /\.[cly]$/) + my $dir = ''; + if ($iter =~ /^(.*)(\.[cly])$/) { - saw_extension ($&); + saw_extension ($2); saw_extension ('.c'); + $dir = handle_LIBOBJS_or_ALLOCA ("${lt}LIBOBJS", $1); } if ($iter =~ /\.h$/) @@ -2206,7 +2210,7 @@ sub handle_ALLOCA my ($var, $cond, $lt) = @_; my $myobjext = $lt ? 'lo' : 'o'; $lt ||= ''; - my $dir = handle_LIBOBJS_or_ALLOCA "${lt}ALLOCA"; + my $dir = handle_LIBOBJS_or_ALLOCA ("${lt}ALLOCA", "alloca"); $dir eq '' and $dir = './'; $var->requires_variables ("\@${lt}ALLOCA\@ used", $lt . 'ALLOCA'); -- 2.10.2 --------------036B8BDC981B1EE9C49982CF-- From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 27 10:08:11 2017 Received: (at 27781) by debbugs.gnu.org; 27 Aug 2017 14:08:11 +0000 Received: from localhost ([127.0.0.1]:57953 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dlyEV-00075H-Cv for submit@debbugs.gnu.org; Sun, 27 Aug 2017 10:08:11 -0400 Received: from eggs.gnu.org ([208.118.235.92]:37192) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dlyES-000751-UJ for 27781@debbugs.gnu.org; Sun, 27 Aug 2017 10:08:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dlyEM-00026B-EC for 27781@debbugs.gnu.org; Sun, 27 Aug 2017 10:08:03 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:49051) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dlyEM-000267-9z; Sun, 27 Aug 2017 10:08:02 -0400 Received: from [2a01:e35:2ec2:e580:491c:541:7a4a:37d9] (port=55284 helo=localhost.localdomain) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dlyEL-0008Nm-RQ; Sun, 27 Aug 2017 10:08:02 -0400 From: Mathieu Lirzin To: Michael Haubenwallner Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <874lt0k0in.fsf@gnu.org> <3c6a7481-fff6-7c1f-cadf-c66bd44207b8@ssi-schaefer.com> <87d17mdljr.fsf@gnu.org> Date: Sun, 27 Aug 2017 16:07:58 +0200 In-Reply-To: (Michael Haubenwallner's message of "Thu, 24 Aug 2017 12:35:39 +0200") Message-ID: <87val9p0ht.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) --=-=-= Content-Type: text/plain Michael Haubenwallner writes: > On 08/23/2017 11:24 PM, Mathieu Lirzin wrote: >> Michael Haubenwallner writes: >>> On 08/22/2017 12:40 AM, Mathieu Lirzin wrote: >>>> Michael Haubenwallner writes: >>>> >>>>> # If LTLIBOBJS is used, we must also clear LIBOBJS (which might >>>>> # be created by libtool as a side-effect of creating LTLIBOBJS). >>>>> - $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//; >>>>> + if ($var =~ s/^LT//) { >>>>> + $clean_files{"\$($var)"} = MOSTLY_CLEAN; >>>>> + $output_rules .= "\$($var): $dirstamp\n" if ($dirstamp); >>>>> + } >>>>> } >>>>> >>>>> return $dir; >>> >> >> Regarding that part of the code even before you made it seems to me that >> the conditional second '$clean_files{"\$($var)"} = MOSTLY_CLEAN' >> statement is useless. Am I overlooking something? > It took a while for me too to understand what's going on here: > > Consider $var = 'LTLIBOBJS'; > >> Here is the snippet of the code before your changed. >> >> --8<---------------cut here---------------start------------->8--- >> define_variable ('LIBOBJDIR', "$dir", INTERNAL); >> $clean_files{"\$($var)"} = MOSTLY_CLEAN; > > here, unconditionally: $clean_files{'$(LTLIBOBJS)'} = MOSTLY_CLEAN; > >> # If LTLIBOBJS is used, we must also clear LIBOBJS (which might >> # be created by libtool as a side-effect of creating LTLIBOBJS). >> $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//; > > Crucial here is that trailing { if $var =~ s/^LT// }: > First, leading 'LT' eventually is dropped: $var = 'LIBOBJS'; > If the leading 'LT' was actually found: $clean_files{'LIBOBJS'} = MOSTLY_CLEAN; I overlooked the regexp substitution. This code is too complex for what it achieves. I have pushed the following patch in commit 5521219348c55af354878583b99c5f9d66d6d38a --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-automake-Handle-LTLIBOBJS-more-specifically.patch >From 5521219348c55af354878583b99c5f9d66d6d38a Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Sun, 27 Aug 2017 15:27:00 +0200 Subject: [PATCH] automake: Handle LTLIBOBJS more specifically * bin/automake.in (handle_LIBOBJS_or_ALLOCA): Remove complex regexp substitution when handling LTLIBOBJS. --- bin/automake.in | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/bin/automake.in b/bin/automake.in index d126836..cdea388 100644 --- a/bin/automake.in +++ b/bin/automake.in @@ -2306,9 +2306,8 @@ sub handle_LIBOBJS_or_ALLOCA if $relative_dir ne '.'; define_variable ('LIBOBJDIR', "$dir", INTERNAL); $clean_files{"\$($var)"} = MOSTLY_CLEAN; - # If LTLIBOBJS is used, we must also clear LIBOBJS (which might - # be created by libtool as a side-effect of creating LTLIBOBJS). - $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//; + # libtool might create LIBOBJS as a side-effect of using LTLIBOBJS. + $clean_files{"\$(LIBOBJS)"} = MOSTLY_CLEAN if $var eq "LTLIBOBJS"; } else { -- 2.9.5 --=-=-= Content-Type: text/plain Thanks for the explanation. -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 27 11:24:13 2017 Received: (at 27781) by debbugs.gnu.org; 27 Aug 2017 15:24:13 +0000 Received: from localhost ([127.0.0.1]:57991 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dlzQ5-0000LT-39 for submit@debbugs.gnu.org; Sun, 27 Aug 2017 11:24:13 -0400 Received: from eggs.gnu.org ([208.118.235.92]:47498) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dlzQ3-0000LG-8x for 27781@debbugs.gnu.org; Sun, 27 Aug 2017 11:24:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dlzPu-0002G5-VA for 27781@debbugs.gnu.org; Sun, 27 Aug 2017 11:24:06 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:53322) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dlzPu-0002Fx-RB; Sun, 27 Aug 2017 11:24:02 -0400 Received: from [2a01:e35:2ec2:e580:491c:541:7a4a:37d9] (port=55304 helo=localhost.localdomain) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dlzPu-0003WK-Ap; Sun, 27 Aug 2017 11:24:02 -0400 From: Mathieu Lirzin To: Michael Haubenwallner Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <874lt0k0in.fsf@gnu.org> <3c6a7481-fff6-7c1f-cadf-c66bd44207b8@ssi-schaefer.com> <87d17mdljr.fsf@gnu.org> <87poblia0n.fsf@gnu.org> Date: Sun, 27 Aug 2017 17:23:59 +0200 In-Reply-To: (Michael Haubenwallner's message of "Thu, 24 Aug 2017 16:23:00 +0200") Message-ID: <87shgdowz4.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 27781 Cc: Nick Bowler , 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Michael Haubenwallner writes: > On 08/24/2017 11:35 AM, Mathieu Lirzin wrote: > >> Instead of this dummy target, I would rather prefer adding the dirstamp >> dependency for each explicit object file separately. this should be computed >> from the '%libsources' variable. However after a quick look in the code, it >> seems that this variable is not properly populated by the >> 'scan_autoconf_traces' subroutine. It only contains the files that are >> explicitely defined by scanning the AC_LIBSOURCE macro and not by AC_LIBOBJ or >> AC_LIBSOURCES in 'configure.ac'. >> >> Michael: Are you interested in looking into this? >> > > Here's an attempt to use the explicit AC_LIBSOURCE values to depend on the > LIBOBJDIR dirstamp. IMHO, tracing AC_LIBOBJ would not provide additional > information over AC_LIBSOURCE, as AC_LIBOBJ by itself uses AC_LIBSOURCE. I stand corrected. This is indeed working properly since 'scan_autoconf_traces' doesn't simply scan "configure.ac" but the output 'autoconf --trace=...'. > But then there is _AC_LIBOBJS_NORMALIZE, adding $U to {,LT}LIBOBJS values > (seems referring to "Automake's ANSI2KNR"): What is this about? Those are legacy features of Automake that were removed 6 years ago: --8<---------------cut here---------------start------------->8--- [...] commit 0cbcf393dbdaa2ff36b11cf2516675e78eada49f Author: Stefano Lattarini Date: Sun Aug 28 15:06:59 2011 +0200 docs: remove description of de-ANSI-fication support from manual * doc/automake.texi (Auxiliary Programs): Remove mention of `ansi2knr.c' and `ansi2knr.1'. (Obsolete Macros): Remove mention of `AM_C_PROTOTYPES'. Do not index it nor variables `ANSI2KNR' and `U' anymore. (List of Automake options): Remove mention of `ansi2knr' option, and obsolete entries for concept and option indexes. (Optional): Remove entry about `AM_C_PROTOTYPES'. (@c LocalWords): Remove `ansi' and `knr'. (@menu, @detailmenu): Remove entries about de-ANSI-fication support. [...] --8<---------------cut here---------------end--------------->8--- So I guess you shouldn't worry about those thing. ;) >>>From 4465bb9e31c12a8f59c199c61aaef17966e1ffc4 Mon Sep 17 00:00:00 2001 > From: Michael Haubenwallner > Date: Wed, 16 Aug 2017 18:16:12 +0200 > Subject: [PATCH] automake: Depend on LIBOBJDIR for LIBOBJS. > > This change fixes automake bug#27781. > > * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for > each LIBOBJS/ALLOCA source file found. > --- This patch can't be applied on the 'minor' branch, which corresponds to the branch of the next release (I know this is confusing [1]). Could resend it after rebasing onto the 'minor' branch? -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37 [1] https://debbugs.gnu.org/cgi/bugreport.cgi?msg=199;bug=13578 From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 28 03:54:41 2017 Received: (at 27781) by debbugs.gnu.org; 28 Aug 2017 07:54:41 +0000 Received: from localhost ([127.0.0.1]:58593 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dmEsb-0001Qn-KN for submit@debbugs.gnu.org; Mon, 28 Aug 2017 03:54:41 -0400 Received: from atfriesa01.ssi-schaefer.com ([193.186.16.100]:27953) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dmEsa-0001Qb-6x for 27781@debbugs.gnu.org; Mon, 28 Aug 2017 03:54:40 -0400 X-IronPort-AV: E=Sophos;i="5.41,440,1498514400"; d="scan'208";a="3042772" X-IPAS-Result: =?us-ascii?q?A2EXEQBvy6NZ/+shHKxbGgEBAQECAQEBAQgBAQEBhVODd5w?= =?us-ascii?q?BIpYnghGFRwKEMxEBAgEBAQEBAQEDgRCFGQEFIwRSEAsOCgICJgICVwYNBgIBA?= =?us-ascii?q?bw2gW06i1kBAQEBAQEBAwEBAQEkgQ2CHYUzKwuCcogIgmEFigGWY4Ipkh+LT4c?= =?us-ascii?q?Xlj05C4Ehd4d7dIpdAQEB?= Received: from samail03.wamas.com (HELO mailhost.salomon.at) ([172.28.33.235]) by atfriesa01.ssi-schaefer.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Aug 2017 09:54:33 +0200 Received: from [172.28.41.101] by mailhost.salomon.at with esmtp (Exim 4.77) (envelope-from ) id 1dmEsT-0008PG-An; Mon, 28 Aug 2017 09:54:33 +0200 Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR To: Mathieu Lirzin References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <874lt0k0in.fsf@gnu.org> <3c6a7481-fff6-7c1f-cadf-c66bd44207b8@ssi-schaefer.com> <87d17mdljr.fsf@gnu.org> <87val9p0ht.fsf@gnu.org> From: Michael Haubenwallner Message-ID: <69188400-6b39-5210-df7e-490b9f835931@ssi-schaefer.com> Date: Mon, 28 Aug 2017 09:54:33 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <87val9p0ht.fsf@gnu.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) On 08/27/2017 04:07 PM, Mathieu Lirzin wrote: > Michael Haubenwallner writes: >> On 08/23/2017 11:24 PM, Mathieu Lirzin wrote: >>> Michael Haubenwallner writes: >>>> On 08/22/2017 12:40 AM, Mathieu Lirzin wrote: >>>>> Michael Haubenwallner writes: >>> --8<---------------cut here---------------start------------->8--- >> >>> # If LTLIBOBJS is used, we must also clear LIBOBJS (which might >>> # be created by libtool as a side-effect of creating LTLIBOBJS). >>> $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//; >> >> Crucial here is that trailing { if $var =~ s/^LT// }: >> First, leading 'LT' eventually is dropped: $var = 'LIBOBJS'; >> If the leading 'LT' was actually found: $clean_files{'LIBOBJS'} = MOSTLY_CLEAN; > > I overlooked the regexp substitution. This code is too complex for what it > achieves. I have pushed the following patch in commit > 5521219348c55af354878583b99c5f9d66d6d38a > > - $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//; > + $clean_files{"\$(LIBOBJS)"} = MOSTLY_CLEAN if $var eq "LTLIBOBJS"; One more note: IMHO, the idea was to also support "LTALLOCA" here - even if AC_FUNC_ALLOCA does not (yet?). /haubi/ From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 05 05:17:12 2017 Received: (at 27781) by debbugs.gnu.org; 5 Sep 2017 09:17:12 +0000 Received: from localhost ([127.0.0.1]:50247 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dp9yi-0007QB-2D for submit@debbugs.gnu.org; Tue, 05 Sep 2017 05:17:12 -0400 Received: from atfriesa01.ssi-schaefer.com ([193.186.16.100]:59762) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dp9yW-0007PO-BJ for 27781@debbugs.gnu.org; Tue, 05 Sep 2017 05:17:02 -0400 X-IronPort-AV: E=Sophos;i="5.41,479,1498514400"; d="scan'208,223";a="3385205" X-IPAS-Result: =?us-ascii?q?A2FIBgAza65Z/+shHKxdHAEBBAEBCgEBhD6BFYN3nBAid4x?= =?us-ascii?q?UimgHChgLhRsChGgUAQIBAQEBAQEBA4EQhRgBAQEBAwEBIQRSEAsOAwMBAgEqA?= =?us-ascii?q?gJPCAYNBgIBAYo9sDGBbTqLVwEBAQEBAQEBAQEBAQEBAQETD4MqhTMrC4I9NYU?= =?us-ascii?q?VgnOCYQWKBocij0yCLoILgyKPY4hnhx2VAAMGBQIZgTk2gS93XocddIsUAQEB?= Received: from samail03.wamas.com (HELO mailhost.salomon.at) ([172.28.33.235]) by atfriesa01.ssi-schaefer.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Sep 2017 11:16:20 +0200 Received: from [172.28.41.101] by mailhost.salomon.at with esmtp (Exim 4.77) (envelope-from ) id 1dp9xz-0005NF-4l; Tue, 05 Sep 2017 11:16:19 +0200 Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR To: Mathieu Lirzin Newsgroups: gmane.comp.sysutils.automake.bugs References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <874lt0k0in.fsf@gnu.org> <3c6a7481-fff6-7c1f-cadf-c66bd44207b8@ssi-schaefer.com> <87d17mdljr.fsf@gnu.org> <87poblia0n.fsf@gnu.org> <87shgdowz4.fsf@gnu.org> From: Michael Haubenwallner Message-ID: Date: Tue, 5 Sep 2017 11:16:16 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <87shgdowz4.fsf@gnu.org> Content-Type: multipart/mixed; boundary="------------DF5FB33C497198EA40B70DC8" Content-Language: en-US X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 27781 Cc: Nick Bowler , 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) This is a multi-part message in MIME format. --------------DF5FB33C497198EA40B70DC8 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit On 08/27/2017 05:23 PM, Mathieu Lirzin wrote: > Michael Haubenwallner writes: >> On 08/24/2017 11:35 AM, Mathieu Lirzin wrote: >> >>> Instead of this dummy target, I would rather prefer adding the dirstamp >>> dependency for each explicit object file separately. this should be computed >>> from the '%libsources' variable. However after a quick look in the code, it >>> seems that this variable is not properly populated by the >>> 'scan_autoconf_traces' subroutine. It only contains the files that are >>> explicitely defined by scanning the AC_LIBSOURCE macro and not by AC_LIBOBJ or >>> AC_LIBSOURCES in 'configure.ac'. >>> >>> Michael: Are you interested in looking into this? >>> >> >> Here's an attempt to use the explicit AC_LIBSOURCE values to depend on the >> LIBOBJDIR dirstamp. IMHO, tracing AC_LIBOBJ would not provide additional >> information over AC_LIBSOURCE, as AC_LIBOBJ by itself uses AC_LIBSOURCE. > > I stand corrected. This is indeed working properly since > 'scan_autoconf_traces' doesn't simply scan "configure.ac" but the output > 'autoconf --trace=...'. > >> >From 4465bb9e31c12a8f59c199c61aaef17966e1ffc4 Mon Sep 17 00:00:00 2001 >> From: Michael Haubenwallner >> Date: Wed, 16 Aug 2017 18:16:12 +0200 >> Subject: [PATCH] automake: Depend on LIBOBJDIR for LIBOBJS. >> >> This change fixes automake bug#27781. >> >> * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for >> each LIBOBJS/ALLOCA source file found. >> --- > > This patch can't be applied on the 'minor' branch, which corresponds to > the branch of the next release (I know this is confusing [1]). Could > resend it after rebasing onto the 'minor' branch? > Here we go, also removing t/libobj-no-dependency-tracking.sh from XFAIL_TESTS. Thanks, /haubi/ --------------DF5FB33C497198EA40B70DC8 Content-Type: text/x-patch; name="0001-automake-Depend-on-LIBOBJDIR-for-LIBOBJS.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-automake-Depend-on-LIBOBJDIR-for-LIBOBJS.patch" >From d3ee31dfa106752e82eaa6176451e7126c5bbc08 Mon Sep 17 00:00:00 2001 From: Michael Haubenwallner Date: Wed, 16 Aug 2017 18:16:12 +0200 Subject: [PATCH] automake: Depend on LIBOBJDIR for LIBOBJS. This change fixes automake bug#27781. * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for each LIBOBJS/ALLOCA source file found. * t/list-of-tests.mk (XFAIL_TESTS): Drop t/libobj-no-dependency-tracking.sh. --- bin/automake.in | 30 ++++++++++++++++++------------ t/list-of-tests.mk | 1 - 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/bin/automake.in b/bin/automake.in index 3433d3d..376b730 100644 --- a/bin/automake.in +++ b/bin/automake.in @@ -2329,13 +2329,14 @@ sub handle_lib_objects return $seen_libobjs; } -# handle_LIBOBJS_or_ALLOCA ($VAR) -# ------------------------------- +# handle_LIBOBJS_or_ALLOCA ($VAR, $BASE) +# -------------------------------------- # Definitions common to LIBOBJS and ALLOCA. -# VAR should be one of LIBOBJS, LTLIBOBJS, ALLOCA, or LTALLOCA. +# VAR should be one of LIBOBJS, LTLIBOBJS, or ALLOCA. +# BASE should be one base file name from AC_LIBSOURCE, or alloca. sub handle_LIBOBJS_or_ALLOCA { - my ($var) = @_; + my ($var, $base) = @_; my $dir = ''; @@ -2357,9 +2358,14 @@ sub handle_LIBOBJS_or_ALLOCA $dir = backname ($relative_dir) . "/$dir" if $relative_dir ne '.'; define_variable ('LIBOBJDIR', "$dir", INTERNAL); - $clean_files{"\$($var)"} = MOSTLY_CLEAN; - # libtool might create LIBOBJS as a side-effect of using LTLIBOBJS. - $clean_files{"\$(LIBOBJS)"} = MOSTLY_CLEAN if $var eq "LTLIBOBJS"; + if ($dir && !defined $clean_files{"$dir$base.\$(OBJEXT)"}) { + my $dirstamp = require_build_directory ($dir); + $output_rules .= "$dir$base.\$(OBJEXT): $dirstamp\n"; + $output_rules .= "$dir$base.lo: $dirstamp\n" if $var eq "LTLIBOBJS"; + } + # libtool might create .$(OBJEXT) as a side-effect of using LTLIBOBJS. + $clean_files{"$dir$base.\$(OBJEXT)"} = MOSTLY_CLEAN; + $clean_files{"$dir$base.lo"} = MOSTLY_CLEAN if $var eq "LTLIBOBJS"; } else { @@ -2380,14 +2386,14 @@ sub handle_LIBOBJS $var->requires_variables ("\@${lt}LIBOBJS\@ used", $lt . 'LIBOBJS') if ! keys %libsources; - my $dir = handle_LIBOBJS_or_ALLOCA "${lt}LIBOBJS"; - foreach my $iter (keys %libsources) { - if ($iter =~ /\.[cly]$/) + my $dir = ''; + if ($iter =~ /^(.*)(\.[cly])$/) { - saw_extension ($&); + saw_extension ($2); saw_extension ('.c'); + $dir = handle_LIBOBJS_or_ALLOCA ("${lt}LIBOBJS", $1); } if ($iter =~ /\.h$/) @@ -2415,7 +2421,7 @@ sub handle_ALLOCA my ($var, $cond, $lt) = @_; my $myobjext = $lt ? 'lo' : 'o'; $lt ||= ''; - my $dir = handle_LIBOBJS_or_ALLOCA "${lt}ALLOCA"; + my $dir = handle_LIBOBJS_or_ALLOCA ("${lt}ALLOCA", "alloca"); $dir eq '' and $dir = './'; $var->requires_variables ("\@${lt}ALLOCA\@ used", $lt . 'ALLOCA'); diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index dab4a7c..ebf9651 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -38,7 +38,6 @@ t/override-conditional-pr13940.sh \ t/dist-pr109765.sh \ t/instdir-cond2.sh \ t/java-nobase.sh \ -t/libobj-no-dependency-tracking.sh \ t/objext-pr10128.sh \ t/remake-timing-bug-pr8365.sh \ t/lex-subobj-nodep.sh \ -- 2.10.2 --------------DF5FB33C497198EA40B70DC8-- From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 15 04:49:54 2017 Received: (at 27781) by debbugs.gnu.org; 15 Sep 2017 08:49:54 +0000 Received: from localhost ([127.0.0.1]:41858 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsmJu-0007tz-Jx for submit@debbugs.gnu.org; Fri, 15 Sep 2017 04:49:54 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50845) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsmJt-0007tm-3T for 27781@debbugs.gnu.org; Fri, 15 Sep 2017 04:49:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dsmJm-0003I5-Eo for 27781@debbugs.gnu.org; Fri, 15 Sep 2017 04:49:47 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43592) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dsmJm-0003Hz-C8; Fri, 15 Sep 2017 04:49:46 -0400 Received: from [2a01:e35:2ec2:e580:491c:541:7a4a:37d9] (port=52832 helo=localhost.localdomain) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dsmJl-0001Z1-RI; Fri, 15 Sep 2017 04:49:46 -0400 From: Mathieu Lirzin To: Michael Haubenwallner Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <874lt0k0in.fsf@gnu.org> <3c6a7481-fff6-7c1f-cadf-c66bd44207b8@ssi-schaefer.com> <87d17mdljr.fsf@gnu.org> <87val9p0ht.fsf@gnu.org> <69188400-6b39-5210-df7e-490b9f835931@ssi-schaefer.com> Date: Fri, 15 Sep 2017 10:49:43 +0200 In-Reply-To: <69188400-6b39-5210-df7e-490b9f835931@ssi-schaefer.com> (Michael Haubenwallner's message of "Mon, 28 Aug 2017 09:54:33 +0200") Message-ID: <87d16sbb2w.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 27781 Cc: 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Michael Haubenwallner writes: > On 08/27/2017 04:07 PM, Mathieu Lirzin wrote: >> Michael Haubenwallner writes: >>> On 08/23/2017 11:24 PM, Mathieu Lirzin wrote: >>>> Michael Haubenwallner writes: >>>>> On 08/22/2017 12:40 AM, Mathieu Lirzin wrote: >>>>>> Michael Haubenwallner writes: > >>>> --8<---------------cut here---------------start------------->8--- >>> >>>> # If LTLIBOBJS is used, we must also clear LIBOBJS (which might >>>> # be created by libtool as a side-effect of creating LTLIBOBJS). >>>> $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//; >>> >>> Crucial here is that trailing { if $var =~ s/^LT// }: >>> First, leading 'LT' eventually is dropped: $var = 'LIBOBJS'; >>> If the leading 'LT' was actually found: $clean_files{'LIBOBJS'} = MOSTLY_CLEAN; >> >> I overlooked the regexp substitution. This code is too complex for what it >> achieves. I have pushed the following patch in commit >> 5521219348c55af354878583b99c5f9d66d6d38a >> > >> - $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//; >> + $clean_files{"\$(LIBOBJS)"} = MOSTLY_CLEAN if $var eq "LTLIBOBJS"; > > One more note: IMHO, the idea was to also support "LTALLOCA" here - even > if AC_FUNC_ALLOCA does not (yet?). > > /haubi/ I stand corrected. I have reverted commit 5521219348c55af354878583b99c5f9d66d6d38a Thanks. -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37 From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 15 05:01:05 2017 Received: (at 27781) by debbugs.gnu.org; 15 Sep 2017 09:01:05 +0000 Received: from localhost ([127.0.0.1]:41862 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsmUY-00089r-Mx for submit@debbugs.gnu.org; Fri, 15 Sep 2017 05:01:05 -0400 Received: from eggs.gnu.org ([208.118.235.92]:55546) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsmUR-00089V-CJ for 27781@debbugs.gnu.org; Fri, 15 Sep 2017 05:00:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dsmUK-0001MB-TN for 27781@debbugs.gnu.org; Fri, 15 Sep 2017 05:00:42 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:44179) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dsmUC-0001IT-87; Fri, 15 Sep 2017 05:00:32 -0400 Received: from [2a01:e35:2ec2:e580:491c:541:7a4a:37d9] (port=52840 helo=localhost.localdomain) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dsmUB-0006c4-Jt; Fri, 15 Sep 2017 05:00:32 -0400 From: Mathieu Lirzin To: Michael Haubenwallner Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <874lt0k0in.fsf@gnu.org> <3c6a7481-fff6-7c1f-cadf-c66bd44207b8@ssi-schaefer.com> <87d17mdljr.fsf@gnu.org> <87poblia0n.fsf@gnu.org> <87shgdowz4.fsf@gnu.org> Date: Fri, 15 Sep 2017 11:00:28 +0200 In-Reply-To: (Michael Haubenwallner's message of "Tue, 5 Sep 2017 11:16:16 +0200") Message-ID: <874ls4bakz.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 27781 Cc: Nick Bowler , 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --=-=-= Content-Type: text/plain Michael Haubenwallner writes: > On 08/27/2017 05:23 PM, Mathieu Lirzin wrote: > >>> From: Michael Haubenwallner >>> Date: Wed, 16 Aug 2017 18:16:12 +0200 >>> Subject: [PATCH] automake: Depend on LIBOBJDIR for LIBOBJS. >>> >>> This change fixes automake bug#27781. >>> >>> * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for >>> each LIBOBJS/ALLOCA source file found. >>> --- >> >> This patch can't be applied on the 'minor' branch, which corresponds to >> the branch of the next release (I know this is confusing [1]). Could >> resend it after rebasing onto the 'minor' branch? >> > > Here we go, also removing t/libobj-no-dependency-tracking.sh from XFAIL_TESTS. I would like to apply this slightly modified patch which adds a NEWS entry, and adapt to the revert of commit 5521219348c55af354878583b99c5f9d66d6d38a --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-automake-Depend-on-LIBOBJDIR-for-LIBOBJS-and-ALLOCA.patch >From 333b98f2d108111e9a99e7ede17de7f0a1adba03 Mon Sep 17 00:00:00 2001 From: Michael Haubenwallner Date: Wed, 16 Aug 2017 18:16:12 +0200 Subject: [PATCH] automake: Depend on LIBOBJDIR for LIBOBJS and ALLOCA This change fixes automake bug#27781. * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for each LIBOBJS/ALLOCA source file found. * t/list-of-tests.mk (XFAIL_TESTS): Drop t/libobj-no-dependency-tracking.sh. * NEWS: Announce bug fix. --- NEWS | 5 +++++ bin/automake.in | 31 ++++++++++++++++++++----------- t/list-of-tests.mk | 1 - 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/NEWS b/NEWS index eb0a415..e50a955 100644 --- a/NEWS +++ b/NEWS @@ -113,6 +113,11 @@ New in ?.?.?: - Installed 'aclocal' m4 macros can now accept installation directories containing '@' characters (automake bug#20903) + - When combining AC_LIBOBJ or AC_FUNC_ALLOCA with the + "--disable-dependency-tracking" configure option in an out of source + build, the build sub-directory defined by AC_CONFIG_LIBOBJ_DIR is now + properly created. (automake bug#27781) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ New in 1.15.1: diff --git a/bin/automake.in b/bin/automake.in index 4294736..9709f06 100644 --- a/bin/automake.in +++ b/bin/automake.in @@ -2329,13 +2329,14 @@ sub handle_lib_objects return $seen_libobjs; } -# handle_LIBOBJS_or_ALLOCA ($VAR) -# ------------------------------- +# handle_LIBOBJS_or_ALLOCA ($VAR, $BASE) +# -------------------------------------- # Definitions common to LIBOBJS and ALLOCA. # VAR should be one of LIBOBJS, LTLIBOBJS, ALLOCA, or LTALLOCA. +# BASE should be one base file name from AC_LIBSOURCE, or alloca. sub handle_LIBOBJS_or_ALLOCA { - my ($var) = @_; + my ($var, $base) = @_; my $dir = ''; @@ -2357,10 +2358,18 @@ sub handle_LIBOBJS_or_ALLOCA $dir = backname ($relative_dir) . "/$dir" if $relative_dir ne '.'; define_variable ('LIBOBJDIR', "$dir", INTERNAL); - $clean_files{"\$($var)"} = MOSTLY_CLEAN; - # libtool might create LIBOBJS or ALLOCA as a side-effect of using + if ($dir && !defined $clean_files{"$dir$base.\$(OBJEXT)"}) + { + my $dirstamp = require_build_directory ($dir); + $output_rules .= "$dir$base.\$(OBJEXT): $dirstamp\n"; + $output_rules .= "$dir$base.lo: $dirstamp\n" + if ($var =~ /^LT/); + } + # libtool might create .$(OBJEXT) as a side-effect of using # LTLIBOBJS or LTALLOCA. - $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//; + $clean_files{"$dir$base.\$(OBJEXT)"} = MOSTLY_CLEAN; + $clean_files{"$dir$base.lo"} = MOSTLY_CLEAN + if ($var =~ /^LT/); } else { @@ -2381,14 +2390,14 @@ sub handle_LIBOBJS $var->requires_variables ("\@${lt}LIBOBJS\@ used", $lt . 'LIBOBJS') if ! keys %libsources; - my $dir = handle_LIBOBJS_or_ALLOCA "${lt}LIBOBJS"; - foreach my $iter (keys %libsources) { - if ($iter =~ /\.[cly]$/) + my $dir = ''; + if ($iter =~ /^(.*)(\.[cly])$/) { - saw_extension ($&); + saw_extension ($2); saw_extension ('.c'); + $dir = handle_LIBOBJS_or_ALLOCA ("${lt}LIBOBJS", $1); } if ($iter =~ /\.h$/) @@ -2416,7 +2425,7 @@ sub handle_ALLOCA my ($var, $cond, $lt) = @_; my $myobjext = $lt ? 'lo' : 'o'; $lt ||= ''; - my $dir = handle_LIBOBJS_or_ALLOCA "${lt}ALLOCA"; + my $dir = handle_LIBOBJS_or_ALLOCA ("${lt}ALLOCA", "alloca"); $dir eq '' and $dir = './'; $var->requires_variables ("\@${lt}ALLOCA\@ used", $lt . 'ALLOCA'); diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index dab4a7c..ebf9651 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -38,7 +38,6 @@ t/override-conditional-pr13940.sh \ t/dist-pr109765.sh \ t/instdir-cond2.sh \ t/java-nobase.sh \ -t/libobj-no-dependency-tracking.sh \ t/objext-pr10128.sh \ t/remake-timing-bug-pr8365.sh \ t/lex-subobj-nodep.sh \ -- 2.9.5 --=-=-= Content-Type: text/plain Tell me if that's OK with you. Sorry for the delay. -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 15 05:17:21 2017 Received: (at 27781) by debbugs.gnu.org; 15 Sep 2017 09:17:21 +0000 Received: from localhost ([127.0.0.1]:41877 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsmkS-000073-Q6 for submit@debbugs.gnu.org; Fri, 15 Sep 2017 05:17:21 -0400 Received: from atfriesa01.ssi-schaefer.com ([193.186.16.100]:61237) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsmkQ-00006n-Nh for 27781@debbugs.gnu.org; Fri, 15 Sep 2017 05:17:19 -0400 X-IronPort-AV: E=Sophos;i="5.42,396,1500933600"; d="scan'208";a="3876771" X-IPAS-Result: =?us-ascii?q?A2HmAQCzmbtZ/+shHKxdGgEBAQECAQEBAQgBAQEBhD6BFYN?= =?us-ascii?q?1m1ormDkKI4UZAoRsFAECAQEBAQEBAQOBEIUYAQEBAQIBI1YFCwsOAwMBAgECA?= =?us-ascii?q?iYCAk8IBg0GAgEBFooRGKtJgieLMQEBAQEBAQEBAgEBAQEBI4EOgh2FNSuCfYg?= =?us-ascii?q?LgmAFoQSCLYUumFGHIZUygTk2gS93h3x0iREBAQE?= Received: from samail03.wamas.com (HELO mailhost.salomon.at) ([172.28.33.235]) by atfriesa01.ssi-schaefer.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Sep 2017 11:17:12 +0200 Received: from [172.28.41.101] by mailhost.salomon.at with esmtp (Exim 4.77) (envelope-from ) id 1dsmkJ-0005Zy-Qv; Fri, 15 Sep 2017 11:17:11 +0200 Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR To: Mathieu Lirzin References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <874lt0k0in.fsf@gnu.org> <3c6a7481-fff6-7c1f-cadf-c66bd44207b8@ssi-schaefer.com> <87d17mdljr.fsf@gnu.org> <87poblia0n.fsf@gnu.org> <87shgdowz4.fsf@gnu.org> <874ls4bakz.fsf@gnu.org> From: Michael Haubenwallner Message-ID: <559f676f-ada5-b2d6-db31-21c457b14976@ssi-schaefer.com> Date: Fri, 15 Sep 2017 11:17:11 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <874ls4bakz.fsf@gnu.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 27781 Cc: Nick Bowler , 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) On 09/15/2017 11:00 AM, Mathieu Lirzin wrote: > Michael Haubenwallner writes: >> On 08/27/2017 05:23 PM, Mathieu Lirzin wrote: >>>> From: Michael Haubenwallner >>>> Date: Wed, 16 Aug 2017 18:16:12 +0200 >>>> Subject: [PATCH] automake: Depend on LIBOBJDIR for LIBOBJS. >>>> >>>> This change fixes automake bug#27781. >>>> >>>> * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for >>>> each LIBOBJS/ALLOCA source file found. >>>> --- >>> >>> This patch can't be applied on the 'minor' branch, which corresponds to >>> the branch of the next release (I know this is confusing [1]). Could >>> resend it after rebasing onto the 'minor' branch? >>> >> >> Here we go, also removing t/libobj-no-dependency-tracking.sh from XFAIL_TESTS. > > I would like to apply this slightly modified patch which adds a NEWS entry, > and adapt to the revert of commit 5521219348c55af354878583b99c5f9d66d6d38a > Tell me if that's OK with you. Ack, thanks! /haubi/ From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 15 05:20:51 2017 Received: (at 27781) by debbugs.gnu.org; 15 Sep 2017 09:20:51 +0000 Received: from localhost ([127.0.0.1]:41887 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsmnq-0000CN-QB for submit@debbugs.gnu.org; Fri, 15 Sep 2017 05:20:51 -0400 Received: from eggs.gnu.org ([208.118.235.92]:35139) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsmnp-0000CA-39 for 27781@debbugs.gnu.org; Fri, 15 Sep 2017 05:20:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dsmnj-0007HD-2X for 27781@debbugs.gnu.org; Fri, 15 Sep 2017 05:20:43 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:45668) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dsmnf-0007Cg-8m; Fri, 15 Sep 2017 05:20:39 -0400 Received: from [2a01:e35:2ec2:e580:491c:541:7a4a:37d9] (port=52892 helo=localhost.localdomain) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dsmne-0007qd-RQ; Fri, 15 Sep 2017 05:20:39 -0400 From: Mathieu Lirzin To: Michael Haubenwallner Subject: Re: bug#27781: LIBOBJS should depend on LIBOBJDIR References: <76a2c423-1b66-6394-31ee-9a1b8a1763ef@ssi-schaefer.com> <87fud1ahf1.fsf@gnu.org> <4b3d2b8a-19fb-52fb-4caa-9e0dfdba7a96@ssi-schaefer.com> <874lt0k0in.fsf@gnu.org> <3c6a7481-fff6-7c1f-cadf-c66bd44207b8@ssi-schaefer.com> <87d17mdljr.fsf@gnu.org> <87poblia0n.fsf@gnu.org> <87shgdowz4.fsf@gnu.org> <874ls4bakz.fsf@gnu.org> <559f676f-ada5-b2d6-db31-21c457b14976@ssi-schaefer.com> Date: Fri, 15 Sep 2017 11:20:37 +0200 In-Reply-To: <559f676f-ada5-b2d6-db31-21c457b14976@ssi-schaefer.com> (Michael Haubenwallner's message of "Fri, 15 Sep 2017 11:17:11 +0200") Message-ID: <87vakk9v2y.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 27781 Cc: Nick Bowler , 27781@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Michael Haubenwallner writes: > On 09/15/2017 11:00 AM, Mathieu Lirzin wrote: >> Michael Haubenwallner writes: >>> On 08/27/2017 05:23 PM, Mathieu Lirzin wrote: >>>>> From: Michael Haubenwallner >>>>> Date: Wed, 16 Aug 2017 18:16:12 +0200 >>>>> Subject: [PATCH] automake: Depend on LIBOBJDIR for LIBOBJS. >>>>> >>>>> This change fixes automake bug#27781. >>>>> >>>>> * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for >>>>> each LIBOBJS/ALLOCA source file found. >>>>> --- >>>> >>>> This patch can't be applied on the 'minor' branch, which corresponds to >>>> the branch of the next release (I know this is confusing [1]). Could >>>> resend it after rebasing onto the 'minor' branch? >>>> >>> >>> Here we go, also removing t/libobj-no-dependency-tracking.sh from XFAIL_TESTS. >> >> I would like to apply this slightly modified patch which adds a NEWS entry, >> and adapt to the revert of commit 5521219348c55af354878583b99c5f9d66d6d38a > >> Tell me if that's OK with you. > > Ack, thanks! > /haubi/ Applied as commit 333b98f2d108111e9a99e7ede17de7f0a1adba03. -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37 From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 15 05:21:36 2017 Received: (at control) by debbugs.gnu.org; 15 Sep 2017 09:21:36 +0000 Received: from localhost ([127.0.0.1]:41891 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsmoa-0000E7-4F for submit@debbugs.gnu.org; Fri, 15 Sep 2017 05:21:36 -0400 Received: from eggs.gnu.org ([208.118.235.92]:35506) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsmoY-0000Dv-3R for control@debbugs.gnu.org; Fri, 15 Sep 2017 05:21:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dsmoS-0007qc-Aq for control@debbugs.gnu.org; Fri, 15 Sep 2017 05:21:29 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:45723) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dsmoS-0007qY-7t for control@debbugs.gnu.org; Fri, 15 Sep 2017 05:21:28 -0400 Received: from [2a01:e35:2ec2:e580:491c:541:7a4a:37d9] (port=52898 helo=localhost.localdomain) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dsmoR-0001SY-NN for control@debbugs.gnu.org; Fri, 15 Sep 2017 05:21:28 -0400 Date: Fri, 15 Sep 2017 11:21:26 +0200 Message-Id: <87r2v89v1l.fsf@gnu.org> To: control@debbugs.gnu.org From: Mathieu Lirzin Subject: control message for bug #27781 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) tags 27781 fixed close 27781 From unknown Sat Aug 16 21:20:12 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 13 Oct 2017 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator