X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Mon, 07 Jan 2013 20:10:07 +0000 Resent-Message-ID: <handler.13378.B.13575893959030 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: 13378 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-automake@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.13575893959030 (code B ref -1); Mon, 07 Jan 2013 20:10:07 +0000 Received: (at submit) by debbugs.gnu.org; 7 Jan 2013 20:09:55 +0000 Received: from localhost ([127.0.0.1]:34671 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TsJ0u-0002LM-N2 for submit <at> debbugs.gnu.org; Mon, 07 Jan 2013 15:09:50 -0500 Received: from eggs.gnu.org ([208.118.235.92]:38551) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsJ0I-0002KB-NT for submit <at> debbugs.gnu.org; Mon, 07 Jan 2013 15:09:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsIzz-0005Zl-0U for submit <at> debbugs.gnu.org; Mon, 07 Jan 2013 15:08:44 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-102.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, T_DKIM_INVALID, USER_IN_WHITELIST autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:55006) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsIzy-0005Zh-T3 for submit <at> debbugs.gnu.org; Mon, 07 Jan 2013 15:08:42 -0500 Received: from eggs.gnu.org ([208.118.235.92]:49893) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsIzx-0005yz-Kw for bug-automake@HIDDEN; Mon, 07 Jan 2013 15:08:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsIzv-0005Ye-59 for bug-automake@HIDDEN; Mon, 07 Jan 2013 15:08:41 -0500 Received: from mail-bk0-f47.google.com ([209.85.214.47]:36444) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsIzu-0005YU-Sc for bug-automake@HIDDEN; Mon, 07 Jan 2013 15:08:39 -0500 Received: by mail-bk0-f47.google.com with SMTP id j4so8626483bkw.20 for <bug-automake@HIDDEN>; Mon, 07 Jan 2013 12:08:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:subject :content-type:content-transfer-encoding; bh=mkEOD8oxhWUSKIrQ2MSbECacj2CxO2W5Bx+fSdfRfFw=; b=ZNZjan66i7SjN7z0Cs62drWyIYz9d9QBNb8s97dKdAimFFmDwS2QO+zcHKU+HvDymK qTFVeKK6pvOsfiBURzB1RMBQexlivF6gI+iJR0JEoJAm2sEz5FLie0f5MuflFMbOsuUU 1hiSEauDriCgK2YwbSS2B3zIfZbgpbKuIlSiAbTnGmDK3c2xTiHz4j4sZweIwXGeDX+E 7zclMekDvHbhujbqgu1qkJg9IjF6Gta2Y9sRohK/qLA1wIcnXyG3E0SHGqWcBxwwvxZj /xosNVIJ9ojlXMj8hsY5ULef5egsqYBRAWSCHAOi1eddj1EW5WSWuBDJKenVrgZXDHbg pQrw== X-Received: by 10.204.147.7 with SMTP id j7mr31322410bkv.125.1357589317821; Mon, 07 Jan 2013 12:08:37 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id e22sm43727694bke.14.2013.01.07.12.08.35 (version=SSLv3 cipher=OTHER); Mon, 07 Jan 2013 12:08:36 -0800 (PST) Message-ID: <50EB2B41.4080505@HIDDEN> Date: Mon, 07 Jan 2013 21:08:33 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -3.4 (---) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -3.4 (---) Severity: wishlist Inspired from Automake-NG commit 'v1.12.1-313-g14fe163' of 2012-06-07, "[ng] subdir-objects: enable unconditionally". The fact that Automake-generated Makefiles place compiled object files in he current directory by default, also when the corresponding source file is in a subdirectory, is basically an historical accident, due to the fact that the 'subdir-objects' option had only been introduced in April 1999, starting with commit 'user-dep-gen-branchpoint-56-g88b5959', and never made the default (likely to avoid backwards-compatibility issues). Since I believe the behaviour enabled by the 'subdir-objects' is the most useful one, and in fact the *only* natural one, I'd like to make it the the only one available, simplifying the Automake implementation and APIs a little in the process. Alas, since this also means changing the default behaviour of Automake ('subdir-objects' is not enabled by default, sadly), this means the transition path will be less smooth than I'd like. Here it is a sketch for it: Automake 1.13.2 --------------- Give a warning in the category 'unsupported' if the 'subdir-objects' option is not specified. This should give the users enough forewarning about the planned change, and give them time to update their packages to the new semantic. Automake 1.14 ------------- Flip the 'subdir-object' option on by default. At the same time, drop support for the "old" behaviour of having object files derived from sources in a subdirectory being placed in the current directory rather than in that same subdirectory. Still keep the 'subdir-object' option supported (as a simple no-op now), to save useless churn in our user's build systems. Thoughts, opinions? Regards, Stefano
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.428 (Entity 5.428) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Stefano Lattarini <stefano.lattarini@HIDDEN> Subject: bug#13378: Acknowledgement ([IMPORTANT] Make the 'subdir-objects' setup the default, and only available one) Message-ID: <handler.13378.B.13575893959030.ack <at> debbugs.gnu.org> References: <50EB2B41.4080505@HIDDEN> X-Gnu-PR-Message: ack 13378 X-Gnu-PR-Package: automake Reply-To: 13378 <at> debbugs.gnu.org Date: Mon, 07 Jan 2013 20:10:14 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-automake@HIDDEN If you wish to submit further information on this problem, please send it to 13378 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 13378: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D13378 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Peter Johansson <trojkan@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Mon, 07 Jan 2013 21:56:02 +0000 Resent-Message-ID: <handler.13378.B.13575957318511 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: 13378 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-automake@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.13575957318511 (code B ref -1); Mon, 07 Jan 2013 21:56:02 +0000 Received: (at submit) by debbugs.gnu.org; 7 Jan 2013 21:55:31 +0000 Received: from localhost ([127.0.0.1]:55655 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TsKfK-0002DD-4S for submit <at> debbugs.gnu.org; Mon, 07 Jan 2013 16:55:31 -0500 Received: from eggs.gnu.org ([208.118.235.92]:58857) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <trojkan@HIDDEN>) id 1TsKfH-0002Cz-Bj for submit <at> debbugs.gnu.org; Mon, 07 Jan 2013 16:55:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <trojkan@HIDDEN>) id 1TsKfA-000273-OA for submit <at> debbugs.gnu.org; Mon, 07 Jan 2013 16:55:21 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-102.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, T_DKIM_INVALID, USER_IN_WHITELIST autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:50562) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <trojkan@HIDDEN>) id 1TsKfA-00026z-Kc for submit <at> debbugs.gnu.org; Mon, 07 Jan 2013 16:55:20 -0500 Received: from eggs.gnu.org ([208.118.235.92]:41976) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <trojkan@HIDDEN>) id 1TsKf9-000078-9H for bug-automake@HIDDEN; Mon, 07 Jan 2013 16:55:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <trojkan@HIDDEN>) id 1TsKf7-00025l-EO for bug-automake@HIDDEN; Mon, 07 Jan 2013 16:55:19 -0500 Received: from mail-pb0-f44.google.com ([209.85.160.44]:59786) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <trojkan@HIDDEN>) id 1TsKf7-00025R-8D for bug-automake@HIDDEN; Mon, 07 Jan 2013 16:55:17 -0500 Received: by mail-pb0-f44.google.com with SMTP id uo1so10911021pbc.17 for <bug-automake@HIDDEN>; Mon, 07 Jan 2013 13:55:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=+PP2+ZtgzvjHSIDOMVIlvTaT2t3EbVhlzs4LxVv5cMk=; b=l0bPT1c2kDUZEruObDJK8Egh//MavUm0VTdmu6bPhWxHyye60VOONXvVeK8aviqMNR 2wnh3OyOje5VSXtOAe5YAovIIzXI7K2TJ1avTlDbBZnbB50WU/GqRXg7ZcclwvaJ6ceG mQs3JC16GFg9PAn7PnebpMTLY8J0SZqVe/fbbu/PzD1jSKHVa6WN6kP3AMSXMlMNeHBS bcuQXDK44kM5/Dloj885yxrtmIxUt7BTmfJprDyj9QLm0eM/YL5WUo1rZaBdPhmCTV5P 334wy/LLkkhMRcMqNrc0AwXigQ1W14xsLUdl4oYxnUazRhLOknH9u1/nPIzzzvqqR0hG HxHA== X-Received: by 10.68.129.233 with SMTP id nz9mr188299866pbb.139.1357595715573; Mon, 07 Jan 2013 13:55:15 -0800 (PST) Received: from limpar.local (124-171-237-179.dyn.iinet.net.au. [124.171.237.179]) by mx.google.com with ESMTPS id e6sm9107688paw.16.2013.01.07.13.55.12 (version=SSLv3 cipher=OTHER); Mon, 07 Jan 2013 13:55:14 -0800 (PST) Message-ID: <50EB4436.5060001@HIDDEN> Date: Tue, 08 Jan 2013 07:55:02 +1000 From: Peter Johansson <trojkan@HIDDEN> User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.28) Gecko/20120306 Thunderbird/3.1.20 MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> In-Reply-To: <50EB2B41.4080505@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -3.4 (---) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -3.4 (---) On 1/8/13 6:08 AM, Stefano Lattarini wrote: > Severity: wishlist > > Inspired from Automake-NG commit 'v1.12.1-313-g14fe163' of 2012-06-07, > "[ng] subdir-objects: enable unconditionally". > > The fact that Automake-generated Makefiles place compiled object files in > he current directory by default, also when the corresponding source file > is in a subdirectory, is basically an historical accident, due to the fact > that the 'subdir-objects' option had only been introduced in April 1999, > starting with commit 'user-dep-gen-branchpoint-56-g88b5959', and never > made the default (likely to avoid backwards-compatibility issues). If the maintainer didn't wanna break compatibility backwards back then, why is it a better idea to break it today? > Since I believe the behaviour enabled by the 'subdir-objects' is the most > useful one, and in fact the *only* natural one, I'd like to make it the > the only one available, simplifying the Automake implementation and APIs > a little in the process. > > Alas, since this also means changing the default behaviour of Automake > ('subdir-objects' is not enabled by default, sadly), this means the > transition path will be less smooth than I'd like. Here it is a sketch > for it: > > Automake 1.13.2 > --------------- > > Give a warning in the category 'unsupported' if the 'subdir-objects' > option is not specified. I assume user will get no warning when irrelevant, i.e., if all source files sit in current directory there is no need to give this warning. > This should give the users enough forewarning > about the planned change, and give them time to update their packages > to the new semantic. You assume users install every version of Automake you release. In my understanding going from 1.13 to 1.14 is similar to go from Autoconf 2.68 to 2.69. Cheers, Peter -- Peter Johansson
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Mon, 07 Jan 2013 22:19:01 +0000 Resent-Message-ID: <handler.13378.B13378.135759712810639 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Peter Johansson <trojkan@HIDDEN> Cc: 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135759712810639 (code B ref 13378); Mon, 07 Jan 2013 22:19:01 +0000 Received: (at 13378) by debbugs.gnu.org; 7 Jan 2013 22:18:48 +0000 Received: from localhost ([127.0.0.1]:55672 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TsL1r-0002lY-Jc for submit <at> debbugs.gnu.org; Mon, 07 Jan 2013 17:18:47 -0500 Received: from mail-ea0-f180.google.com ([209.85.215.180]:62314) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsL1n-0002lK-0j for 13378 <at> debbugs.gnu.org; Mon, 07 Jan 2013 17:18:44 -0500 Received: by mail-ea0-f180.google.com with SMTP id f13so7847760eai.11 for <13378 <at> debbugs.gnu.org>; Mon, 07 Jan 2013 14:18:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=PPUMj6yKPWie1V8a55nEqR+DyIVnRwkWr5cHc6WlDcY=; b=TYKH+lh+oXpWMAnrEgbrkszlC8Cey3nwfXySuBLhH2kAW5Uq294jyvVDtHKF5u3Maj 646fPBVy0nEjobDXFi/OVJL3hon0Tc7qub4T9uhCufx7MAtDjCP3rNa/8qvml8YNY3qW K+D4KQHtqu9cXaNEZJiB3h2PD3av0KjxxjbDHok3ntSgkcHI/4OIbzU08RZuRJhQgCxd FYUbjl1QpWpzRupyVKf6Sv84BBw0JaALfrvz9+149/ZwOBleqrf4T69VPa0/iDweJV5+ DjHFveXpGWNBMy8j232ht+U/7r2kbam+Ma2VpLAlDVaWUs4tHBnWjHrxBhQmyKkt0AaE tejQ== X-Received: by 10.14.194.195 with SMTP id m43mr169247760een.44.1357597116636; Mon, 07 Jan 2013 14:18:36 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id w44sm131711354eep.6.2013.01.07.14.18.34 (version=SSLv3 cipher=OTHER); Mon, 07 Jan 2013 14:18:35 -0800 (PST) Message-ID: <50EB49B9.8040308@HIDDEN> Date: Mon, 07 Jan 2013 23:18:33 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <50EB4436.5060001@HIDDEN> In-Reply-To: <50EB4436.5060001@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: 0.1 (/) Hi Peter, thanks for the feedback. On 01/07/2013 10:55 PM, Peter Johansson wrote: > On 1/8/13 6:08 AM, Stefano Lattarini wrote: >> Severity: wishlist >> >> Inspired from Automake-NG commit 'v1.12.1-313-g14fe163' of 2012-06-07, >> "[ng] subdir-objects: enable unconditionally". >> >> The fact that Automake-generated Makefiles place compiled object files in >> he current directory by default, also when the corresponding source file >> is in a subdirectory, is basically an historical accident, due to the fact >> that the 'subdir-objects' option had only been introduced in April 1999, >> starting with commit 'user-dep-gen-branchpoint-56-g88b5959', and never >> made the default (likely to avoid backwards-compatibility issues). > > If the maintainer didn't wanna break compatibility backwards back then, > why is it a better idea to break it today? > Because the 'subdir-objects' option has since been extensively tested on field, and shown to be reliable and offer better semantics. Also, more importantly, in my experience the great majority of projects that have source files in a subdirectory not in SUBDIRS already use the 'subdir-objects' option anyway, so they wouldn't experience any kind of compatibility issue. >> Since I believe the behaviour enabled by the 'subdir-objects' is the most >> useful one, and in fact the *only* natural one, I'd like to make it the >> the only one available, simplifying the Automake implementation and APIs >> a little in the process. >> >> Alas, since this also means changing the default behaviour of Automake >> ('subdir-objects' is not enabled by default, sadly), this means the >> transition path will be less smooth than I'd like. Here it is a sketch >> for it: >> >> Automake 1.13.2 >> --------------- >> >> Give a warning in the category 'unsupported' if the 'subdir-objects' >> option is not specified. > > I assume user will get no warning when irrelevant, i.e., if all source files > sit in current directory there is no need to give this warning. > Indeed, good point. The same way we will not require AM_PROG_CC_C_O if all source files sit in current directory. >> This should give the users enough forewarning >> about the planned change, and give them time to update their packages >> to the new semantic. > You assume users install every version of Automake you release. > This "smoother transition" is more intended to be of help for distro packagers actually. They tend to test with more Automake versions, and will likely make this kind of warnings percolate to the upstream maintainers. Not perfect, but the best we can do, reasonably. > In my understanding going from 1.13 to 1.14 is similar to go from Autoconf > 2.68 to 2.69. > Actually no, the change tend to be much more extensive (as they've been between 1.12 and 1.13, not always smoothly or pleasantly). Maybe, to make this clear, we should name release a 2.0 version instead of a 1.14? Thanks, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Peter Johansson <trojkan@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Mon, 07 Jan 2013 23:05:02 +0000 Resent-Message-ID: <handler.13378.B13378.135759990014793 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135759990014793 (code B ref 13378); Mon, 07 Jan 2013 23:05:02 +0000 Received: (at 13378) by debbugs.gnu.org; 7 Jan 2013 23:05:00 +0000 Received: from localhost ([127.0.0.1]:55728 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TsLka-0003qX-AW for submit <at> debbugs.gnu.org; Mon, 07 Jan 2013 18:05:00 -0500 Received: from mail-pa0-f47.google.com ([209.85.220.47]:47469) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <trojkan@HIDDEN>) id 1TsLkX-0003qG-Pc for 13378 <at> debbugs.gnu.org; Mon, 07 Jan 2013 18:04:58 -0500 Received: by mail-pa0-f47.google.com with SMTP id fa10so10993423pad.20 for <13378 <at> debbugs.gnu.org>; Mon, 07 Jan 2013 15:04:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:user-agent:mime-version:to:cc :subject:references:in-reply-to:content-type :content-transfer-encoding; bh=0qRJ7ZXLY87pbxhXUX0RLJsEKE/kwDwy1XCPbv6thLU=; b=X8Cmm8GyJdcuWQXzrr1SHXAYurNxWNBWZZEyHKdxFKbP301SmBUOgdLAzw3DQTyZ00 Q1MHKO1AnUk1Sj6yyFA6q/9779zCd2rihcCGCniqObHvhWGUX3U4AS229Bz6MCBgqT+Q fI9abc3NDI2eoKmi4Sfs47UKAViyd3H2YUT1LNul5XZhA1lmuzdjOkXwDnl43ow07/HW 8aBTwIiXivoe2iS8hBXeSTzCe+oRtLiCHTbrE7hq6KHXey6Mab+7dcWCbaXz2h7s0J9E gmUqaLnJkcUvkEJvKaAbY9f6oBmROJQxbV65h55QS65uJPzMYZaOW5u6LNIEKyb4N9dD fJFg== X-Received: by 10.68.244.6 with SMTP id xc6mr192327857pbc.94.1357599891332; Mon, 07 Jan 2013 15:04:51 -0800 (PST) Received: from [152.98.48.237] (gateway.qimr.edu.au. [152.98.8.1]) by mx.google.com with ESMTPS id gu5sm38376721pbc.10.2013.01.07.15.04.48 (version=SSLv3 cipher=OTHER); Mon, 07 Jan 2013 15:04:49 -0800 (PST) Message-ID: <50EB5304.7030503@HIDDEN> Date: Tue, 08 Jan 2013 08:58:12 +1000 From: Peter Johansson <trojkan@HIDDEN> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.11) Gecko/20121116 Thunderbird/10.0.11 MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <50EB4436.5060001@HIDDEN> <50EB49B9.8040308@HIDDEN> In-Reply-To: <50EB49B9.8040308@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -0.7 (/) Hi Stefano, On 01/08/2013 08:18 AM, Stefano Lattarini wrote: > Actually no, the change tend to be much more extensive (as they've been > between 1.12 and 1.13, not always smoothly or pleasantly). Maybe, to make > this clear, we should name release a 2.0 version instead of a 1.14? No need, IMHO. Perhaps a brief document communicating what could be expected between versions such as "a Makefile.am that works with Automake 1.14 will also compile with Automake 1.14.1; new warning might get introduced though...". But OTOH there are perhaps more important things to do than writing policies. Cheers, Peter
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Peter Breitenlohner <peb@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 09:58:01 +0000 Resent-Message-ID: <handler.13378.B.135763905215810 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: 13378 <at> debbugs.gnu.org X-Debbugs-Original-Cc: bug-automake@HIDDEN, 13378 <at> debbugs.gnu.org Received: via spool by submit <at> debbugs.gnu.org id=B.135763905215810 (code B ref -1); Tue, 08 Jan 2013 09:58:01 +0000 Received: (at submit) by debbugs.gnu.org; 8 Jan 2013 09:57:32 +0000 Received: from localhost ([127.0.0.1]:56099 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TsVw3-00046x-TF for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 04:57:32 -0500 Received: from eggs.gnu.org ([208.118.235.92]:54693) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <peb@HIDDEN>) id 1TsVw2-00046b-J5 for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 04:57:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <peb@HIDDEN>) id 1TsVvt-0002nG-7v for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 04:57:22 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-104.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD,USER_IN_WHITELIST autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:54539) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <peb@HIDDEN>) id 1TsVvt-0002nC-4m for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 04:57:21 -0500 Received: from eggs.gnu.org ([208.118.235.92]:37820) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <peb@HIDDEN>) id 1TsVvr-0004tx-Bv for bug-automake@HIDDEN; Tue, 08 Jan 2013 04:57:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <peb@HIDDEN>) id 1TsVvq-0002mk-5X for bug-automake@HIDDEN; Tue, 08 Jan 2013 04:57:19 -0500 Received: from smtp.mppmu.mpg.de ([134.107.24.58]:39730) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <peb@HIDDEN>) id 1TsVvp-0002mX-VR for bug-automake@HIDDEN; Tue, 08 Jan 2013 04:57:18 -0500 Received: by smtp.mppmu.mpg.de (Postfix, from userid 998) id AC233104081; Tue, 8 Jan 2013 10:57:15 +0100 (CET) Received: from mail.mppmu.mpg.de (mail-6.mppmu.mpg.de [134.107.6.12]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.mppmu.mpg.de (Postfix) with ESMTP id 20887104022; Tue, 8 Jan 2013 10:57:10 +0100 (CET) Received: from pcl321.mppmu.mpg.de (pcl321.mppmu.mpg.de [134.107.3.54]) by mail.mppmu.mpg.de (Postfix) with ESMTP id 004AA2077C; Tue, 8 Jan 2013 10:57:09 +0100 (CET) Received: from pcl321.mppmu.mpg.de (localhost [127.0.0.1]) by pcl321.mppmu.mpg.de (8.14.2/8.14.1) with ESMTP id r089v9aU001594; Tue, 8 Jan 2013 10:57:09 +0100 Received: from localhost (peb@localhost) by pcl321.mppmu.mpg.de (8.14.2/8.14.2/Submit) with ESMTP id r089v9OT001588; Tue, 8 Jan 2013 10:57:09 +0100 X-Authentication-Warning: pcl321.mppmu.mpg.de: peb owned process doing -bs Date: Tue, 8 Jan 2013 10:57:09 +0100 (CET) From: Peter Breitenlohner <peb@HIDDEN> In-Reply-To: <50EB2B41.4080505@HIDDEN> Message-ID: <alpine.LNX.2.00.1301081048240.2136@HIDDEN> References: <50EB2B41.4080505@HIDDEN> User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -4.2 (----) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -4.2 (----) On Mon, 7 Jan 2013, Stefano Lattarini wrote: > Alas, since this also means changing the default behaviour of Automake > ('subdir-objects' is not enabled by default, sadly), this means the > transition path will be less smooth than I'd like. Here it is a sketch > for it: > > Automake 1.13.2 > --------------- > > Give a warning in the category 'unsupported' if the 'subdir-objects' > option is not specified. This should give the users enough forewarning > about the planned change, and give them time to update their packages > to the new semantic. Hi Stefano, this warning (given when there are C - or other? - sources in subdirs) should also mention the need to use AM_PROG_CC_C_O. Regards Peter Breitenlohner <peb@HIDDEN>
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Peter Breitenlohner <peb@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 09:58:02 +0000 Resent-Message-ID: <handler.13378.B13378.135763904915798 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: 13378 <at> debbugs.gnu.org X-Debbugs-Original-Cc: bug-automake@HIDDEN, 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135763904915798 (code B ref 13378); Tue, 08 Jan 2013 09:58:02 +0000 Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 09:57:29 +0000 Received: from localhost ([127.0.0.1]:56096 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TsVw0-00046k-Ij for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 04:57:29 -0500 Received: from smtp.mppmu.mpg.de ([134.107.24.58]:36708) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <peb@HIDDEN>) id 1TsVvx-00046V-0E for 13378 <at> debbugs.gnu.org; Tue, 08 Jan 2013 04:57:26 -0500 Received: by smtp.mppmu.mpg.de (Postfix, from userid 998) id AC233104081; Tue, 8 Jan 2013 10:57:15 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on smtp.mppmu.mpg.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=6.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 Received: from mail.mppmu.mpg.de (mail-6.mppmu.mpg.de [134.107.6.12]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.mppmu.mpg.de (Postfix) with ESMTP id 20887104022; Tue, 8 Jan 2013 10:57:10 +0100 (CET) Received: from pcl321.mppmu.mpg.de (pcl321.mppmu.mpg.de [134.107.3.54]) by mail.mppmu.mpg.de (Postfix) with ESMTP id 004AA2077C; Tue, 8 Jan 2013 10:57:09 +0100 (CET) Received: from pcl321.mppmu.mpg.de (localhost [127.0.0.1]) by pcl321.mppmu.mpg.de (8.14.2/8.14.1) with ESMTP id r089v9aU001594; Tue, 8 Jan 2013 10:57:09 +0100 Received: from localhost (peb@localhost) by pcl321.mppmu.mpg.de (8.14.2/8.14.2/Submit) with ESMTP id r089v9OT001588; Tue, 8 Jan 2013 10:57:09 +0100 X-Authentication-Warning: pcl321.mppmu.mpg.de: peb owned process doing -bs Date: Tue, 8 Jan 2013 10:57:09 +0100 (CET) From: Peter Breitenlohner <peb@HIDDEN> In-Reply-To: <50EB2B41.4080505@HIDDEN> Message-ID: <alpine.LNX.2.00.1301081048240.2136@HIDDEN> References: <50EB2B41.4080505@HIDDEN> User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Spam-Score: -1.5 (-) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.5 (-) On Mon, 7 Jan 2013, Stefano Lattarini wrote: > Alas, since this also means changing the default behaviour of Automake > ('subdir-objects' is not enabled by default, sadly), this means the > transition path will be less smooth than I'd like. Here it is a sketch > for it: > > Automake 1.13.2 > --------------- > > Give a warning in the category 'unsupported' if the 'subdir-objects' > option is not specified. This should give the users enough forewarning > about the planned change, and give them time to update their packages > to the new semantic. Hi Stefano, this warning (given when there are C - or other? - sources in subdirs) should also mention the need to use AM_PROG_CC_C_O. Regards Peter Breitenlohner <peb@HIDDEN>
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 10:37:02 +0000 Resent-Message-ID: <handler.13378.B.135764138419228 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Peter Breitenlohner <peb@HIDDEN> Cc: 13378 <at> debbugs.gnu.org X-Debbugs-Original-Cc: bug-automake@HIDDEN, 13378 <at> debbugs.gnu.org Received: via spool by submit <at> debbugs.gnu.org id=B.135764138419228 (code B ref -1); Tue, 08 Jan 2013 10:37:02 +0000 Received: (at submit) by debbugs.gnu.org; 8 Jan 2013 10:36:24 +0000 Received: from localhost ([127.0.0.1]:56131 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TsWXg-000505-31 for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 05:36:24 -0500 Received: from eggs.gnu.org ([208.118.235.92]:33486) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsWXd-0004zi-U1 for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 05:36:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsWXU-0004IU-KL for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 05:36:13 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-102.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, T_DKIM_INVALID, USER_IN_WHITELIST autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:51847) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsWXU-0004IQ-HD for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 05:36:12 -0500 Received: from eggs.gnu.org ([208.118.235.92]:44843) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsWXS-0004M7-Ju for bug-automake@HIDDEN; Tue, 08 Jan 2013 05:36:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsWXR-0004I0-13 for bug-automake@HIDDEN; Tue, 08 Jan 2013 05:36:10 -0500 Received: from mail-la0-f45.google.com ([209.85.215.45]:38340) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsWXQ-0004Hv-Pq for bug-automake@HIDDEN; Tue, 08 Jan 2013 05:36:08 -0500 Received: by mail-la0-f45.google.com with SMTP id ep20so262752lab.18 for <bug-automake@HIDDEN>; Tue, 08 Jan 2013 02:36:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=l8duFplKoF34AWqPS+gYKuMqU8tRBi1ZAmnOL23LCk8=; b=tTNx52PGHsF9uzu2hD3PWRZbnWyvEo3Aovbh2iTgmg62RIWbpp/90synEw2b0ucUwI 0WItM88eGVSwrw9QeEpCWGC7ybj6Fne7YjepEp9HouH/BaiubnNzhLO3umG+ZOrAbyIU eIZbQ0W3tr0qUziRTy2gE9r9CCepf6OiKKXviV+3NsNBvdyH5SFurW30orpw/n7Gyo5n sMVx1bhDehvv2iS5bdO03wViOV7oO/xcLc0elekxQGl/VvotHsbebAoUbznZB6vPR49v rqdkWO226Nc4FTWEv5rqDYwQYdcAennxL5Dl07GN6/i14GN5wIZknUoNpdUdcRsi63Rv 3wLg== X-Received: by 10.152.125.7 with SMTP id mm7mr61850939lab.2.1357641367738; Tue, 08 Jan 2013 02:36:07 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id fb1sm22316350lbb.15.2013.01.08.02.36.05 (version=SSLv3 cipher=OTHER); Tue, 08 Jan 2013 02:36:06 -0800 (PST) Message-ID: <50EBF68E.3000209@HIDDEN> Date: Tue, 08 Jan 2013 11:35:58 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> In-Reply-To: <alpine.LNX.2.00.1301081048240.2136@HIDDEN> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -3.4 (---) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -3.4 (---) On 01/08/2013 10:57 AM, Peter Breitenlohner wrote: > On Mon, 7 Jan 2013, Stefano Lattarini wrote: > >> Alas, since this also means changing the default behaviour of Automake >> ('subdir-objects' is not enabled by default, sadly), this means the >> transition path will be less smooth than I'd like. Here it is a sketch >> for it: >> >> Automake 1.13.2 >> --------------- >> >> Give a warning in the category 'unsupported' if the 'subdir-objects' >> option is not specified. This should give the users enough forewarning >> about the planned change, and give them time to update their packages >> to the new semantic. > > Hi Stefano, > > this warning (given when there are C - or other? - sources in subdirs) > should also mention the need to use AM_PROG_CC_C_O. > Agreed. And glad I brought this planned change up on the list; I have already got two good suggestions for things that I should have thought by myself -- but alas, I didn't. So, thanks guys! Before proceeding with an attempted implementation in the next days, I will prepare a brief summary of this discussion in the PLANS directory (and post it on the list for reference). In the meantime, of course, further feedback or suggestions are very welcome. Thanks, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 10:37:02 +0000 Resent-Message-ID: <handler.13378.B13378.135764138019213 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Peter Breitenlohner <peb@HIDDEN> Cc: 13378 <at> debbugs.gnu.org X-Debbugs-Original-Cc: bug-automake@HIDDEN, 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135764138019213 (code B ref 13378); Tue, 08 Jan 2013 10:37:02 +0000 Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 10:36:20 +0000 Received: from localhost ([127.0.0.1]:56128 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TsWXb-0004zp-AX for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 05:36:19 -0500 Received: from mail-la0-f42.google.com ([209.85.215.42]:56394) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsWXZ-0004zb-DX for 13378 <at> debbugs.gnu.org; Tue, 08 Jan 2013 05:36:18 -0500 Received: by mail-la0-f42.google.com with SMTP id fe20so265167lab.1 for <13378 <at> debbugs.gnu.org>; Tue, 08 Jan 2013 02:36:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=l8duFplKoF34AWqPS+gYKuMqU8tRBi1ZAmnOL23LCk8=; b=tTNx52PGHsF9uzu2hD3PWRZbnWyvEo3Aovbh2iTgmg62RIWbpp/90synEw2b0ucUwI 0WItM88eGVSwrw9QeEpCWGC7ybj6Fne7YjepEp9HouH/BaiubnNzhLO3umG+ZOrAbyIU eIZbQ0W3tr0qUziRTy2gE9r9CCepf6OiKKXviV+3NsNBvdyH5SFurW30orpw/n7Gyo5n sMVx1bhDehvv2iS5bdO03wViOV7oO/xcLc0elekxQGl/VvotHsbebAoUbznZB6vPR49v rqdkWO226Nc4FTWEv5rqDYwQYdcAennxL5Dl07GN6/i14GN5wIZknUoNpdUdcRsi63Rv 3wLg== X-Received: by 10.152.125.7 with SMTP id mm7mr61850939lab.2.1357641367738; Tue, 08 Jan 2013 02:36:07 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id fb1sm22316350lbb.15.2013.01.08.02.36.05 (version=SSLv3 cipher=OTHER); Tue, 08 Jan 2013 02:36:06 -0800 (PST) Message-ID: <50EBF68E.3000209@HIDDEN> Date: Tue, 08 Jan 2013 11:35:58 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> In-Reply-To: <alpine.LNX.2.00.1301081048240.2136@HIDDEN> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: 0.1 (/) On 01/08/2013 10:57 AM, Peter Breitenlohner wrote: > On Mon, 7 Jan 2013, Stefano Lattarini wrote: > >> Alas, since this also means changing the default behaviour of Automake >> ('subdir-objects' is not enabled by default, sadly), this means the >> transition path will be less smooth than I'd like. Here it is a sketch >> for it: >> >> Automake 1.13.2 >> --------------- >> >> Give a warning in the category 'unsupported' if the 'subdir-objects' >> option is not specified. This should give the users enough forewarning >> about the planned change, and give them time to update their packages >> to the new semantic. > > Hi Stefano, > > this warning (given when there are C - or other? - sources in subdirs) > should also mention the need to use AM_PROG_CC_C_O. > Agreed. And glad I brought this planned change up on the list; I have already got two good suggestions for things that I should have thought by myself -- but alas, I didn't. So, thanks guys! Before proceeding with an attempted implementation in the next days, I will prepare a brief summary of this discussion in the PLANS directory (and post it on the list for reference). In the meantime, of course, further feedback or suggestions are very welcome. Thanks, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 12:18:02 +0000 Resent-Message-ID: <handler.13378.B.135764745128502 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Peter Breitenlohner <peb@HIDDEN> Cc: 13378 <at> debbugs.gnu.org X-Debbugs-Original-Cc: bug-automake@HIDDEN, 13378 <at> debbugs.gnu.org Received: via spool by submit <at> debbugs.gnu.org id=B.135764745128502 (code B ref -1); Tue, 08 Jan 2013 12:18:02 +0000 Received: (at submit) by debbugs.gnu.org; 8 Jan 2013 12:17:31 +0000 Received: from localhost ([127.0.0.1]:56263 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TsY7W-0007Pf-KT for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 07:17:30 -0500 Received: from eggs.gnu.org ([208.118.235.92]:51193) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsY7U-0007PI-A8 for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 07:17:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsY7K-00046b-7n for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 07:17:19 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-102.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, T_DKIM_INVALID, USER_IN_WHITELIST autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:48684) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsY7K-00046X-4R for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 07:17:18 -0500 Received: from eggs.gnu.org ([208.118.235.92]:34308) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsY7I-00010n-UQ for bug-automake@HIDDEN; Tue, 08 Jan 2013 07:17:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsY7H-00045v-T6 for bug-automake@HIDDEN; Tue, 08 Jan 2013 07:17:16 -0500 Received: from mail-lb0-f174.google.com ([209.85.217.174]:62711) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsY7H-00045o-LB for bug-automake@HIDDEN; Tue, 08 Jan 2013 07:17:15 -0500 Received: by mail-lb0-f174.google.com with SMTP id gi11so319796lbb.5 for <bug-automake@HIDDEN>; Tue, 08 Jan 2013 04:17:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=jPoiaQqlaDTivlsu9HE7mWflKrat2Prl7h0JYFFnnpg=; b=Z0SSZlOYHieqlT1t+zqXSyjrA8EmXmds8dQYm+2gtOQOqoxkFZY2y50Uuu87MpXXeY Njg7g3dwLOEqyY16cXIKOxlTt+u3ZuNju5s5o4gwZgzQGSzKA0lLwYuw5rv9FsyfmMKi 23bTd+3Xexvk3DLP8lIO3mJlmf9iWt1q4PIJyWbRjZ9SS0TTQbBblqpbra8vVPP9pgxx 5ZyAjp2vnCC+qT+SvxCqHqpuWKbDfIqs8Y866WF9L7zoOA63rqMBSmQgf06Bbu8Qb4Ls Ell73tZNNwOXD0xwNenqFD9NyvKSGFYcNLYOg+ifkJhcDR20HlLFM+e+GOih3VhLLqP4 jhhA== X-Received: by 10.152.144.4 with SMTP id si4mr3859678lab.10.1357647434628; Tue, 08 Jan 2013 04:17:14 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id er8sm22464013lbb.9.2013.01.08.04.17.12 (version=SSLv3 cipher=OTHER); Tue, 08 Jan 2013 04:17:13 -0800 (PST) Message-ID: <50EC0E41.9020307@HIDDEN> Date: Tue, 08 Jan 2013 13:17:05 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> In-Reply-To: <50EBF68E.3000209@HIDDEN> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -3.4 (---) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -3.4 (---) On 01/08/2013 11:35 AM, Stefano Lattarini wrote: >> >> this warning (given when there are C - or other? - sources in subdirs) >> should also mention the need to use AM_PROG_CC_C_O. >> > Agreed. > Actually, the warning about a missing AM_PROG_CC_C_O will be automatically given once the user has added 'subdir-objects' to the AUTOMAKE_OPTIONS. - the user sees the warning about missing 'subdir-objects' option; - he adds it to AM_INIT_AUTOMAKE, and calls "autoreconf"; - he now sees the warning about AM_PROG_CC_C_O that is now triggered by the presence of 'subdir-objects'; - he add AM_PROG_CC_C_O to configure.ac, and calls autoreconf. However, I see that it would be nice to try to be smarter and give the warning right away, to save the user that potentially annoy second bootstrap. So I still think your suggestion is a good idea. Thanks, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 12:18:02 +0000 Resent-Message-ID: <handler.13378.B13378.135764744828489 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Peter Breitenlohner <peb@HIDDEN> Cc: 13378 <at> debbugs.gnu.org X-Debbugs-Original-Cc: bug-automake@HIDDEN, 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135764744828489 (code B ref 13378); Tue, 08 Jan 2013 12:18:02 +0000 Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 12:17:28 +0000 Received: from localhost ([127.0.0.1]:56260 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TsY7T-0007PR-LX for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 07:17:28 -0500 Received: from mail-la0-f44.google.com ([209.85.215.44]:35304) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsY7R-0007PE-TX for 13378 <at> debbugs.gnu.org; Tue, 08 Jan 2013 07:17:26 -0500 Received: by mail-la0-f44.google.com with SMTP id fr10so368280lab.3 for <13378 <at> debbugs.gnu.org>; Tue, 08 Jan 2013 04:17:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=jPoiaQqlaDTivlsu9HE7mWflKrat2Prl7h0JYFFnnpg=; b=Z0SSZlOYHieqlT1t+zqXSyjrA8EmXmds8dQYm+2gtOQOqoxkFZY2y50Uuu87MpXXeY Njg7g3dwLOEqyY16cXIKOxlTt+u3ZuNju5s5o4gwZgzQGSzKA0lLwYuw5rv9FsyfmMKi 23bTd+3Xexvk3DLP8lIO3mJlmf9iWt1q4PIJyWbRjZ9SS0TTQbBblqpbra8vVPP9pgxx 5ZyAjp2vnCC+qT+SvxCqHqpuWKbDfIqs8Y866WF9L7zoOA63rqMBSmQgf06Bbu8Qb4Ls Ell73tZNNwOXD0xwNenqFD9NyvKSGFYcNLYOg+ifkJhcDR20HlLFM+e+GOih3VhLLqP4 jhhA== X-Received: by 10.152.144.4 with SMTP id si4mr3859678lab.10.1357647434628; Tue, 08 Jan 2013 04:17:14 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id er8sm22464013lbb.9.2013.01.08.04.17.12 (version=SSLv3 cipher=OTHER); Tue, 08 Jan 2013 04:17:13 -0800 (PST) Message-ID: <50EC0E41.9020307@HIDDEN> Date: Tue, 08 Jan 2013 13:17:05 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> In-Reply-To: <50EBF68E.3000209@HIDDEN> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: 0.1 (/) On 01/08/2013 11:35 AM, Stefano Lattarini wrote: >> >> this warning (given when there are C - or other? - sources in subdirs) >> should also mention the need to use AM_PROG_CC_C_O. >> > Agreed. > Actually, the warning about a missing AM_PROG_CC_C_O will be automatically given once the user has added 'subdir-objects' to the AUTOMAKE_OPTIONS. - the user sees the warning about missing 'subdir-objects' option; - he adds it to AM_INIT_AUTOMAKE, and calls "autoreconf"; - he now sees the warning about AM_PROG_CC_C_O that is now triggered by the presence of 'subdir-objects'; - he add AM_PROG_CC_C_O to configure.ac, and calls autoreconf. However, I see that it would be nice to try to be smarter and give the warning right away, to save the user that potentially annoy second bootstrap. So I still think your suggestion is a good idea. Thanks, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Nick Bowler <nbowler@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 14:54:02 +0000 Resent-Message-ID: <handler.13378.B13378.135765682313117 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: Peter Breitenlohner <peb@HIDDEN>, 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135765682313117 (code B ref 13378); Tue, 08 Jan 2013 14:54:02 +0000 Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 14:53:43 +0000 Received: from localhost ([127.0.0.1]:56428 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TsaYg-0003PV-Dr for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 09:53:42 -0500 Received: from mx.scalarmail.ca ([98.158.95.75]:35206 helo=ironport-01.sms.scalar.ca) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <prvs=nbowler=71374c7cf@HIDDEN>) id 1TsaYc-0003PH-FW for 13378 <at> debbugs.gnu.org; Tue, 08 Jan 2013 09:53:40 -0500 Received: from unknown (HELO sms-zimbra-mta-01.sms.scalar.ca) ([192.168.32.56]) by ironport-01.sms.scalar.ca with ESMTP; 08 Jan 2013 09:53:28 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by sms-zimbra-mta-01.sms.scalar.ca (Postfix) with ESMTP id 659D517F4D; Tue, 8 Jan 2013 09:53:28 -0500 (EST) Received: from sms-zimbra-mta-01.sms.scalar.ca ([127.0.0.1]) by localhost (sms-zimbra-mta-01.sms.scalar.ca [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Mh90xagEidWE; Tue, 8 Jan 2013 09:53:27 -0500 (EST) Received: from mail.ellipticsemi.com (mail.elliptictech.com [209.217.122.41]) (Authenticated sender: nbowler@HIDDEN) by sms-zimbra-mta-01.sms.scalar.ca (Postfix) with ESMTPSA id B68FB17F46; Tue, 8 Jan 2013 09:53:25 -0500 (EST) Date: Tue, 8 Jan 2013 09:53:20 -0500 From: Nick Bowler <nbowler@HIDDEN> Message-ID: <20130108145320.GA15564@HIDDEN> References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <50EC0E41.9020307@HIDDEN> Organization: Elliptic Technologies Inc. User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: 0.8 (/) On 2013-01-08 13:17 +0100, Stefano Lattarini wrote: > Actually, the warning about a missing AM_PROG_CC_C_O will be automatically > given once the user has added 'subdir-objects' to the AUTOMAKE_OPTIONS. > > - the user sees the warning about missing 'subdir-objects' option; > - he adds it to AM_INIT_AUTOMAKE, and calls "autoreconf"; > - he now sees the warning about AM_PROG_CC_C_O that is now triggered > by the presence of 'subdir-objects'; > - he add AM_PROG_CC_C_O to configure.ac, and calls autoreconf. > > However, I see that it would be nice to try to be smarter and give > the warning right away, to save the user that potentially annoy > second bootstrap. So I still think your suggestion is a good idea. I don't think AM_PROG_CC_C_O is optional at all when subdir-objects is enabled. Even with a single source file in a the same directory as the Makefile, Automake is generating a suffix rule that looks like this: .c.o: [...] @am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $< which looks like it's using -c and -o together to me. So if subdir-objects is made mandatory, AM_PROG_CC_C_O will become mandatory as well, so AM_INIT_AUTOMAKE may as well just call it automatically. Cheers, -- Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 15:17:02 +0000 Resent-Message-ID: <handler.13378.B13378.135765817315379 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Nick Bowler <nbowler@HIDDEN> Cc: Peter Breitenlohner <peb@HIDDEN>, 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135765817315379 (code B ref 13378); Tue, 08 Jan 2013 15:17:02 +0000 Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 15:16:13 +0000 Received: from localhost ([127.0.0.1]:56894 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TsauS-0003zz-K3 for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 10:16:13 -0500 Received: from mail-lb0-f179.google.com ([209.85.217.179]:40836) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsauP-0003zh-N4 for 13378 <at> debbugs.gnu.org; Tue, 08 Jan 2013 10:16:11 -0500 Received: by mail-lb0-f179.google.com with SMTP id gm13so461218lbb.10 for <13378 <at> debbugs.gnu.org>; Tue, 08 Jan 2013 07:15:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=ZhcA8XcP1OUYXZ/ysxzt9iaUn0cXbxYTQmX7qAB3xtQ=; b=bvGmEpuklbaypaUihrKS960Ra8hPyy2q0ZehdULxT+Cp07RHHGd1lbU5QOUp5RnZam gj9Fefg4QZJQoFMIRjPq9tujkm/V4tsgZbtV+9nG8vEAN2qNUN2MG5az9x0YFEzzWTrm 35xC09CAFfH+b8QWbW7AdVGwwFpGRHgsZ+IVY7SRlSlKKWLdkMOVMYnsypTjTVCCi/1T PRcVuNN/zTrJ709QHe7yCvk5ofqgE3argGd23VVu1a+Zutqb4Kq/OXHD5RiPb+pbs44i lD8I8amMGhHobSy7WKKVciXR/d7mLRGdHlpjihVoEEx6s9uKnGQ328xMoEUfI3wa0E3l PrSw== X-Received: by 10.112.50.138 with SMTP id c10mr26455008lbo.104.1357658159095; Tue, 08 Jan 2013 07:15:59 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id bf3sm22703997lbb.16.2013.01.08.07.15.56 (version=SSLv3 cipher=OTHER); Tue, 08 Jan 2013 07:15:58 -0800 (PST) Message-ID: <50EC3825.8000404@HIDDEN> Date: Tue, 08 Jan 2013 16:15:49 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> In-Reply-To: <20130108145320.GA15564@HIDDEN> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: 0.1 (/) Hi Nick. On 01/08/2013 03:53 PM, Nick Bowler wrote: > On 2013-01-08 13:17 +0100, Stefano Lattarini wrote: >> Actually, the warning about a missing AM_PROG_CC_C_O will be automatically >> given once the user has added 'subdir-objects' to the AUTOMAKE_OPTIONS. >> >> - the user sees the warning about missing 'subdir-objects' option; >> - he adds it to AM_INIT_AUTOMAKE, and calls "autoreconf"; >> - he now sees the warning about AM_PROG_CC_C_O that is now triggered >> by the presence of 'subdir-objects'; >> - he add AM_PROG_CC_C_O to configure.ac, and calls autoreconf. >> >> However, I see that it would be nice to try to be smarter and give >> the warning right away, to save the user that potentially annoy >> second bootstrap. So I still think your suggestion is a good idea. > > I don't think AM_PROG_CC_C_O is optional at all when subdir-objects is > enabled. > I seem to recall differently (in fact, in Automake-NG, 'subdir-objects' has already been made mandatory, and that didn't require adding AM_PROG_CC_C_O to all the configure.ac of tests doing compilation of C files). To be really sure, though, I'll have to double-check. If you are right, we should try to avoid requiring AM_PROG_CC_C_O for projects that do not actually need it (that is, that don't use per-target flags and don't have sources in subdirectories, independently of whether they set the 'subdir-objects' option or not). > Even with a single source file in a the same directory as the > Makefile, Automake is generating a suffix rule that looks like this: > > .c.o: > [...] > @am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $< > > which looks like it's using -c and -o together to me. > This seems indeed wrong. Can you send a minimal reproducer for this issue? > So if subdir-objects is made mandatory, AM_PROG_CC_C_O will become > mandatory as well, so AM_INIT_AUTOMAKE may as well just call it > automatically. > That would be overkill, since AM_PROG_CC_C_O is only required by projects doing C compilation. Also, IIRC, that macro needs to be called after AC_PROG_CC, while AM_INIT_AUTOMAKE is typically invoked before AC_PROG_CC. In addition, AM_PROG_CC_C_O is not required by projects that don't care about catering to inferior compilers. In conclusion, even if you are right in the first part of your mail, the sanest policy is to simply continue to give a warning in the "portability" category if AM_PROG_CC_C_O is not used in a project doing C compilation. Regards, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Eric Blake <eblake@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 15:31:02 +0000 Resent-Message-ID: <handler.13378.B13378.135765901016665 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135765901016665 (code B ref 13378); Tue, 08 Jan 2013 15:31:02 +0000 Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 15:30:10 +0000 Received: from localhost ([127.0.0.1]:56908 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1Tsb7x-0004Kj-39 for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 10:30:09 -0500 Received: from mx1.redhat.com ([209.132.183.28]:62069) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <eblake@HIDDEN>) id 1Tsb7t-0004Kb-LP for 13378 <at> debbugs.gnu.org; Tue, 08 Jan 2013 10:30:07 -0500 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r08FTxNX020196 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 8 Jan 2013 10:30:00 -0500 Received: from [10.3.113.75] (ovpn-113-75.phx2.redhat.com [10.3.113.75]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r08FTvfB031943; Tue, 8 Jan 2013 10:29:58 -0500 Message-ID: <50EC3B75.1030707@HIDDEN> Date: Tue, 08 Jan 2013 08:29:57 -0700 From: Eric Blake <eblake@HIDDEN> Organization: Red Hat, Inc. User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> In-Reply-To: <50EC3825.8000404@HIDDEN> X-Enigmail-Version: 1.4.6 OpenPGP: url=http://people.redhat.com/eblake/eblake.gpg Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------enigE6422CE93ECD11B082AC139D" X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Spam-Score: -4.2 (----) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -6.9 (------) This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigE6422CE93ECD11B082AC139D Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 01/08/2013 08:15 AM, Stefano Lattarini wrote: > That would be overkill, since AM_PROG_CC_C_O is only required by > projects doing C compilation. Also, IIRC, that macro needs to be > called after AC_PROG_CC, while AM_INIT_AUTOMAKE is typically invoked > before AC_PROG_CC. But with m4, you can arrange for AM_INIT_AUTOMAKE to redefine AC_PROG_CC so that it hooks in a call to AM_PROG_CC_C_O immediately after its current definition, and thus still preserve desired ordering while making the burden simpler for the configure.ac author. > In addition, AM_PROG_CC_C_O is not required by > projects that don't care about catering to inferior compilers. How much speed penalty and configure bloat are we talking about by allowing projects to omit the use of this macro if they don't care about inferior compilers? Is anyone really going to complain if we switch to always supporting inferior compilers? --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --------------enigE6422CE93ECD11B082AC139D Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with undefined - http://www.enigmail.net/ iQEcBAEBCAAGBQJQ7Dt1AAoJEKeha0olJ0NqUbcH+waGmfr2LUjbfOT3g29yHXLH THG1hQsBrrs85YoxonIgPWOI67yy30PYLFLLsFOTg7f3+Ylmo2vv2ExhTHXflK6l SFf7j2J0kdJkITRESpnOuwhzJl0qZsJGbgvZXocys3YVVilvnJMeQ4zR5R6RZkgF 5aw57rKB2nQogVV0Hsftp5PtJTgvyGHS8jmrVm6OPMiWAN7v3cSXWksdDp6RLz3P 5MVP7HMXNYu5HYgcS3x54PQAtW41LicC/Jab+m721GTI/esiY+l4QqkpzMkaXHUU sl0Ghuk3YhZq+g+RWCc+gjlY/zuDtCO1jLU6+RqsMjToCI8G6OQj6D3MPAxz5tY= =WHfv -----END PGP SIGNATURE----- --------------enigE6422CE93ECD11B082AC139D--
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Nick Bowler <nbowler@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 16:01:01 +0000 Resent-Message-ID: <handler.13378.B13378.135766085819544 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: Peter Breitenlohner <peb@HIDDEN>, 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135766085819544 (code B ref 13378); Tue, 08 Jan 2013 16:01:01 +0000 Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 16:00:58 +0000 Received: from localhost ([127.0.0.1]:56945 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1Tsbbl-00055A-TL for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 11:00:58 -0500 Received: from mx.scalarmail.ca ([98.158.95.75]:57162 helo=ironport-01.sms.scalar.ca) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <prvs=nbowler=71374c7cf@HIDDEN>) id 1Tsbbh-00054v-Gi for 13378 <at> debbugs.gnu.org; Tue, 08 Jan 2013 11:00:55 -0500 Received: from unknown (HELO sms-zimbra-mta-01.sms.scalar.ca) ([192.168.32.56]) by ironport-01.sms.scalar.ca with ESMTP; 08 Jan 2013 11:00:43 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by sms-zimbra-mta-01.sms.scalar.ca (Postfix) with ESMTP id 1451417F4F; Tue, 8 Jan 2013 11:00:43 -0500 (EST) Received: from sms-zimbra-mta-01.sms.scalar.ca ([127.0.0.1]) by localhost (sms-zimbra-mta-01.sms.scalar.ca [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id n-gtRa-ac4uM; Tue, 8 Jan 2013 11:00:42 -0500 (EST) Received: from mail.ellipticsemi.com (dsl-67-204-24-19.acanac.net [67.204.24.19]) (Authenticated sender: nbowler@HIDDEN) by sms-zimbra-mta-01.sms.scalar.ca (Postfix) with ESMTPSA id BE53B17F4D; Tue, 8 Jan 2013 11:00:41 -0500 (EST) Date: Tue, 8 Jan 2013 11:00:41 -0500 From: Nick Bowler <nbowler@HIDDEN> Message-ID: <20130108160041.GA19412@HIDDEN> References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <50EC3825.8000404@HIDDEN> Organization: Elliptic Technologies Inc. User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.9 (-) On 2013-01-08 16:15 +0100, Stefano Lattarini wrote: > On 01/08/2013 03:53 PM, Nick Bowler wrote: [...] > > I don't think AM_PROG_CC_C_O is optional at all when subdir-objects is > > enabled. > > I seem to recall differently (in fact, in Automake-NG, 'subdir-objects' > has already been made mandatory, and that didn't require adding > AM_PROG_CC_C_O to all the configure.ac of tests doing compilation of > C files). To be really sure, though, I'll have to double-check. If > you are right, we should try to avoid requiring AM_PROG_CC_C_O for > projects that do not actually need it (that is, that don't use per-target > flags and don't have sources in subdirectories, independently of whether > they set the 'subdir-objects' option or not). That would be fine, but I wonder if the code to "optimize" subdir-objects would actually be any simpler than just keeping subdir-objects as an option... > > Even with a single source file in a the same directory as the > > Makefile, Automake is generating a suffix rule that looks like this: > > > > .c.o: > > [...] > > @am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $< > > > > which looks like it's using -c and -o together to me. > > This seems indeed wrong. Can you send a minimal reproducer for this > issue? Well, the rule itself does not look wrong. The -o $@ is required for this suffix rule to work properly with subdir-objects -- otherwise, the suffix rule would have the compiler place its output in the working directory which is even more wrong. But anyway, here's the test case I used (I've not had a chance to install 1.13 yet, so I only tested it on 1.11.6 and 1.12.6): % cat >configure.ac <<'EOF' AC_INIT([test], [0]) AM_INIT_AUTOMAKE([foreign subdir-objects]) AC_PROG_CC AC_CONFIG_FILES([Makefile]) AC_OUTPUT EOF % cat >Makefile.am <<'EOF' bin_PROGRAMS = foo EOF % cat >foo.c <<'EOF' int main(void) { return 0; } EOF > > So if subdir-objects is made mandatory, AM_PROG_CC_C_O will become > > mandatory as well, so AM_INIT_AUTOMAKE may as well just call it > > automatically. > > That would be overkill, since AM_PROG_CC_C_O is only required by > projects doing C compilation. Also, IIRC, that macro needs to be > called after AC_PROG_CC, while AM_INIT_AUTOMAKE is typically invoked > before AC_PROG_CC. These are very good points that I had not considered. But I don't think they are unsurmountable. It should be straightforward to have AM_INIT_AUTOMAKE arrange (using AC_CONFIG_COMMANDS_PRE) for AM_PROG_CC_C_O to be called later, and only if it's appropriate to do so. I can probably cook up an example later. > In addition, AM_PROG_CC_C_O is not required by projects that don't > care about catering to inferior compilers. Since the AC_PROG_CC_C_O test is so trivial, I don't think Automake should should care about catering to projects that don't care about catering to inferior compilers. If such projects really, really want to avoid the test, they can do m4_define([AM_PROG_CC_C_O]). > In conclusion, even if you are right in the first part of your mail, > the sanest policy is to simply continue to give a warning in the > "portability" category if AM_PROG_CC_C_O is not used in a project > doing C compilation. Hm, I think the sanest policy is for Automake to automatically do the right thing when it is possible to do so. Chers, -- Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 19:22:02 +0000 Resent-Message-ID: <handler.13378.B13378.135767286519240 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Nick Bowler <nbowler@HIDDEN> Cc: Peter Breitenlohner <peb@HIDDEN>, 13378 <at> debbugs.gnu.org, "automake-patches@HIDDEN" <automake-patches@HIDDEN> Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135767286519240 (code B ref 13378); Tue, 08 Jan 2013 19:22:02 +0000 Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 19:21:05 +0000 Received: from localhost ([127.0.0.1]:57233 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TsejP-00050F-9m for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 14:21:04 -0500 Received: from mail-bk0-f43.google.com ([209.85.214.43]:64149) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsejL-0004zj-Le for 13378 <at> debbugs.gnu.org; Tue, 08 Jan 2013 14:21:02 -0500 Received: by mail-bk0-f43.google.com with SMTP id jf20so486472bkc.30 for <13378 <at> debbugs.gnu.org>; Tue, 08 Jan 2013 11:20:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=4VG+YSz5dlbdAfad10q6heP7ZNZXIQn3/gkiQRp7FpA=; b=VEYfLAl3XM24oqiNmXp+U5J9w1lIy3hoDRxZwijzgxkDgI1kjtJhyOFeoQqaGuvv/0 ONPGu7Q3mQnWtw+cpK7+pE9F68r1b3ZlC6sWXBe23XU3RvXJ46Sx5itI77I2Mc2+AWTp +YWwkjSLNtrKzqlJf5+1WTSQjxwEEOxAObwAJAdQYsVCAGEIzpr1zOQTWQs2f1eynLGm qMCgA2OFfb4bUIHiLt0z+48qVHhE0UphbdSxV58pLMrTxG7mhDzzEUtMHgoGeMWx/MlW fxlhiFmkloQDE2MkQxisgys7UQVIKduCACvcC8DqOeMqYrdQs7iD/uohySkAjFdtXGud xaow== X-Received: by 10.204.147.78 with SMTP id k14mr32104763bkv.7.1357672846677; Tue, 08 Jan 2013 11:20:46 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id d16sm46600591bkw.2.2013.01.08.11.20.44 (version=SSLv3 cipher=OTHER); Tue, 08 Jan 2013 11:20:45 -0800 (PST) Message-ID: <50EC7183.5070902@HIDDEN> Date: Tue, 08 Jan 2013 20:20:35 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <20130108160041.GA19412@HIDDEN> In-Reply-To: <20130108160041.GA19412@HIDDEN> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) [+cc automake-patches] Reference: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44> On 01/08/2013 05:00 PM, Nick Bowler wrote: > On 2013-01-08 16:15 +0100, Stefano Lattarini wrote: >> On 01/08/2013 03:53 PM, Nick Bowler wrote: > [...] >>> I don't think AM_PROG_CC_C_O is optional at all when subdir-objects is >>> enabled. >> >> I seem to recall differently (in fact, in Automake-NG, 'subdir-objects' >> has already been made mandatory, and that didn't require adding >> AM_PROG_CC_C_O to all the configure.ac of tests doing compilation of >> C files). To be really sure, though, I'll have to double-check. If >> you are right, we should try to avoid requiring AM_PROG_CC_C_O for >> projects that do not actually need it (that is, that don't use per-target >> flags and don't have sources in subdirectories, independently of whether >> they set the 'subdir-objects' option or not). > > That would be fine, but I wonder if the code to "optimize" subdir-objects > would actually be any simpler than just keeping subdir-objects as an > option... > I think yes. Also, this discussion has already uncovered at least one bug in automake (see below), so it's good keeping the ball rolling on this, IMO. >>> Even with a single source file in a the same directory as the >>> Makefile, Automake is generating a suffix rule that looks like this: >>> >>> .c.o: >>> [...] >>> @am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $< >>> >>> which looks like it's using -c and -o together to me. >> >> This seems indeed wrong. Can you send a minimal reproducer for this >> issue? > > Well, the rule itself does not look wrong. The -o $@ is required for > this suffix rule to work properly with subdir-objects -- otherwise, the > suffix rule would have the compiler place its output in the working > directory which is even more wrong. > Unless the source is in the the current directory. Which is why, even when the 'subdir-objects' option was active, Automake didn't complain if AM_PROG_CC_C_O wasn't invoked, *if* it could determine that all the source files were in the "current" directory. Good in theory, but as you've discovered below, wrong in practice ... > But anyway, here's the test case I used (I've not had a chance to > install 1.13 yet, so I only tested it on 1.11.6 and 1.12.6): > > % cat >configure.ac <<'EOF' > AC_INIT([test], [0]) > AM_INIT_AUTOMAKE([foreign subdir-objects]) > AC_PROG_CC > AC_CONFIG_FILES([Makefile]) > AC_OUTPUT > EOF > Yeah, I can reproduce the issue :-( See test case below, which I will commit shortly (comments are welcome). It is indeed a bug that Automake does not require AM_PROG_CC_C_O but uses "-c -o" anyway in the generated rules. This should be fixed in 1.13.2. I will elaborate further in the upcoming reply to Eric's last message. > % cat >Makefile.am <<'EOF' > bin_PROGRAMS = foo > EOF > > % cat >foo.c <<'EOF' > int main(void) { return 0; } > EOF > >>> So if subdir-objects is made mandatory, AM_PROG_CC_C_O will become >>> mandatory as well, so AM_INIT_AUTOMAKE may as well just call it >>> automatically. >> >> That would be overkill, since AM_PROG_CC_C_O is only required by >> projects doing C compilation. Also, IIRC, that macro needs to be >> called after AC_PROG_CC, while AM_INIT_AUTOMAKE is typically invoked >> before AC_PROG_CC. > > These are very good points that I had not considered. But I don't > think they are unsurmountable. It should be straightforward to have > AM_INIT_AUTOMAKE arrange (using AC_CONFIG_COMMANDS_PRE) for > AM_PROG_CC_C_O to be called later, and only if it's appropriate to > do so. I can probably cook up an example later. > If you feel like doing so, it would be welcome. A patch would be even more so ;-) >> In addition, AM_PROG_CC_C_O is not required by projects that don't >> care about catering to inferior compilers. > > Since the AC_PROG_CC_C_O test is so trivial, I don't think Automake > should should care about catering to projects that don't care about > catering to inferior compilers. > After reviewing the AC_PROG_CC_C_O implementation, I agree. > If such projects really, really want to > avoid the test, they can do m4_define([AM_PROG_CC_C_O]). > Agreed. >> In conclusion, even if you are right in the first part of your mail, >> the sanest policy is to simply continue to give a warning in the >> "portability" category if AM_PROG_CC_C_O is not used in a project >> doing C compilation. > > Hm, I think the sanest policy is for Automake to automatically do the > right thing when it is possible to do so. > Alas, you are right again -- more work for us to do :-) Thanks, Stefano ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- From d3b48d5e1d9c50972340a978a0c9cea2154b562e Mon Sep 17 00:00:00 2001 Message-Id: <d3b48d5e1d9c50972340a978a0c9cea2154b562e.1357672750.git.stefano.lattarini@HIDDEN> From: Stefano Lattarini <stefano.lattarini@HIDDEN> Date: Tue, 8 Jan 2013 20:19:04 +0100 Subject: [PATCH] coverage: compile rules used "-c -o" also with losing compilers If the 'subdir-objects' option is used, Automake-generated rules for C compilation pass both the "-c" and "-o" options to the C compiler, *unconditionally*. There are some compilers that choke on such an usage, but the AM_PROG_CC_C_O macro takes care of them (it does so by redefining $CC to use the Automake-provided 'compile' wrapper script automatically, if a losing compiler is detected at configure runtime). Unfortunately, in case the 'subdir-objects' option is specified in a Makefile.am, but all the source files resided anyway in the top-level directory (relative to the Makefile.am), Automake do *not* complain if AM_PROG_CC_C_O wasn't invoked in 'configure.ac' -- all the while still passing "-c -o" to the compiler invocations. This could cause compilation failures with losing compilers if the user forget to call AM_PROG_CC_C_O in 'configure.ac' (and Automake would not warn him of the issue). Expose this bug in the testsuite. Issue identified by Nick Bowler in the discussion on automake bug#13378: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44> * t/ccnoco4.sh: New test. * t/list-of-tests.mk: List it. Signed-off-by: Stefano Lattarini <stefano.lattarini@HIDDEN> --- t/ccnoco4.sh | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ t/list-of-tests.mk | 1 + 2 files changed, 71 insertions(+) create mode 100755 t/ccnoco4.sh diff --git a/t/ccnoco4.sh b/t/ccnoco4.sh new file mode 100755 index 0000000..54b857a --- /dev/null +++ b/t/ccnoco4.sh @@ -0,0 +1,70 @@ +#! /bin/sh +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Check that Automake doesn't pass "-c -o" to losing compiler when +# the 'subdir-objects' is used but sources are only present in the +# top-level directory. Reported by Nick Bowler in the discussion on +# automake bug#13378: +# <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35> +# <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44> + +required=gcc +. test-init.sh + +# We deliberately do not call AM_PROG_CC_C_O here. +cat >> configure.ac << 'END' +AC_PROG_CC +$CC --version; $CC -v; # For debugging. +AC_OUTPUT +END + +cat > Makefile.am << 'END' +AUTOMAKE_OPTIONS = subdir-objects +bin_PROGRAMS = foo bar +bar_SOURCES = foo.c +END + +echo 'int main (void) { return 0; }' > foo.c + +cat > Mycomp << END +#!/bin/sh + +case " \$* " in + *\ -c*\ -o* | *\ -o*\ -c*) + exit 1 + ;; +esac + +# Use '$CC', not 'gcc', to honour the compiler chosen +# by the testsuite setup. +exec $CC "\$@" +END + +chmod +x Mycomp + +# Make sure the compiler doesn't understand '-c -o'. +CC=$(pwd)/Mycomp +export CC + +$ACLOCAL +$AUTOCONF +$AUTOMAKE --copy --add-missing + +./configure +$MAKE +$MAKE distcheck + +: diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index f3e9963..e0d86b7 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -209,6 +209,7 @@ t/canon-name.sh \ t/ccnoco.sh \ t/ccnoco2.sh \ t/ccnoco3.sh \ +t/ccnoco4.sh \ t/check.sh \ t/check2.sh \ t/check4.sh \ -- 1.8.1.rc3.192.g2d0029e
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 19:29:02 +0000 Resent-Message-ID: <handler.13378.B13378.135767329319914 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Eric Blake <eblake@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135767329319914 (code B ref 13378); Tue, 08 Jan 2013 19:29:02 +0000 Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 19:28:13 +0000 Received: from localhost ([127.0.0.1]:57250 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TseqJ-0005B6-An for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 14:28:13 -0500 Received: from mail-bk0-f41.google.com ([209.85.214.41]:37566) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TseqH-0005Au-29 for 13378 <at> debbugs.gnu.org; Tue, 08 Jan 2013 14:28:10 -0500 Received: by mail-bk0-f41.google.com with SMTP id jg9so480043bkc.14 for <13378 <at> debbugs.gnu.org>; Tue, 08 Jan 2013 11:27:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=LYguytSOF1q4luFJqzvU1gacKRMjJ6BCyrOmmNklHBU=; b=L6veprAeig1Xor9hAYInUDmMBBw3t+htax08uWHNsAgVjX+Hth8/7ye3gS3g49jbyI fr4PbtOxlR1ERzQ0heUCV6JdQXwlv8+ro/TLB6uhaUYUOtJnl587bOFgJ9SBytA/xd52 dBpIPTRjisGDxTqazewrS5gjC8XvZ2MpmI8bLWNzuMOTQ7pk5Lsy3o7gySEX6bPRVaqN jTdQnB88/CLb8O+QrIV4DnwKmwEv/B1aHLAW6H1LILt/EGbVT1JTXBdYnfYfO8EDPzqN rdT184cRcZ/JyKiZUwllzay067fEgLfzvBL22JOzZYsdbjtd0Y5oCqDn/hqxKQhN8Awl 51wg== X-Received: by 10.204.149.143 with SMTP id t15mr33376640bkv.45.1357673276541; Tue, 08 Jan 2013 11:27:56 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id c10sm46617822bkw.1.2013.01.08.11.27.54 (version=SSLv3 cipher=OTHER); Tue, 08 Jan 2013 11:27:55 -0800 (PST) Message-ID: <50EC7338.6010003@HIDDEN> Date: Tue, 08 Jan 2013 20:27:52 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <50EC3B75.1030707@HIDDEN> In-Reply-To: <50EC3B75.1030707@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) On 01/08/2013 04:29 PM, Eric Blake wrote: > On 01/08/2013 08:15 AM, Stefano Lattarini wrote: >> That would be overkill, since AM_PROG_CC_C_O is only required by >> projects doing C compilation. Also, IIRC, that macro needs to be >> called after AC_PROG_CC, while AM_INIT_AUTOMAKE is typically invoked >> before AC_PROG_CC. > > But with m4, you can arrange for AM_INIT_AUTOMAKE to redefine AC_PROG_CC > so that it hooks in a call to AM_PROG_CC_C_O immediately after its > current definition, and thus still preserve desired ordering while > making the burden simpler for the configure.ac author. > This is true, but I'd have preferred to avoid this shenanigans with macro redefinitions if at all possible. It seems it won't be really possible though (see also my reply to the last message from Nick): <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#47> :-( >> In addition, AM_PROG_CC_C_O is not required by >> projects that don't care about catering to inferior compilers. > > How much speed penalty and configure bloat are we talking about by > allowing projects to omit the use of this macro if they don't care about > inferior compilers? > Almost zero bloat. The code simply re-uses a cache variable set by AC_PROG_CC, and, *for losing compilers only*, plays some dirty but inexpensive tricks with $CC redefinition. So I think your proposal is the way to go, *right for Automake 1.13.2*, since it offers a bug fix for the situation described in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#47> AM_PROG_CC_C_O should be kept as a no-op for the moment, but deprecated *in documentation only* as no longer useful, and then, maybe, starting from Automake 1.14, deprecated also by non-fatal runtime warnings. Further suggestions, examples or patches would be very welcome (just ping me if you plan to attempt a patch, to avoid unwitting duplication of efforts). Thanks, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Peter Rosin <peda@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 21:08:01 +0000 Resent-Message-ID: <handler.13378.B13378.135767922628867 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135767922628867 (code B ref 13378); Tue, 08 Jan 2013 21:08:01 +0000 Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 21:07:06 +0000 Received: from localhost ([127.0.0.1]:57338 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TsgO1-0007VY-G3 for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 16:07:05 -0500 Received: from mail.lysator.liu.se ([130.236.254.3]:49940) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <peda@HIDDEN>) id 1TsgNz-0007VQ-Lr for 13378 <at> debbugs.gnu.org; Tue, 08 Jan 2013 16:07:04 -0500 Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 89BB840005; Tue, 8 Jan 2013 22:06:56 +0100 (CET) Received: from [192.168.0.64] (90-227-119-137-no95.business.telia.com [90.227.119.137]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id 0028840003; Tue, 8 Jan 2013 22:06:55 +0100 (CET) Message-ID: <50EC8A6F.7010307@HIDDEN> Date: Tue, 08 Jan 2013 22:06:55 +0100 From: Peter Rosin <peda@HIDDEN> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> In-Reply-To: <50EC3825.8000404@HIDDEN> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: 0.8 (/) On 2013-01-08 16:15, Stefano Lattarini wrote: > That would be overkill, since AM_PROG_CC_C_O is only required by > projects doing C compilation. Hi, However, a notorious C++ compiler from Redmond is inferior also in its C++ mode and would benefit from an AM_PROG_CXX_C_O variant. If the meat of AM_PROG_CC_C_O becomes part of AC_PROG_CC if would be nice if $CXX could be edited to wrap an inferior C++ compiler in AC_PROG_CXX. I.e. in similar fashion to how $CC would be edited in AC_PROG_CC. Cheers, Peter
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Peter Rosin <peda@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 21:12:02 +0000 Resent-Message-ID: <handler.13378.B13378.135767951729294 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135767951729294 (code B ref 13378); Tue, 08 Jan 2013 21:12:02 +0000 Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 21:11:57 +0000 Received: from localhost ([127.0.0.1]:57346 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TsgSj-0007cR-48 for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 16:11:57 -0500 Received: from mail.lysator.liu.se ([130.236.254.3]:36748) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <peda@HIDDEN>) id 1TsgSh-0007cK-Fs for 13378 <at> debbugs.gnu.org; Tue, 08 Jan 2013 16:11:56 -0500 Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 0FAAD40005; Tue, 8 Jan 2013 22:11:49 +0100 (CET) Received: from [192.168.0.64] (90-227-119-137-no95.business.telia.com [90.227.119.137]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id 66DEF40003; Tue, 8 Jan 2013 22:11:48 +0100 (CET) Message-ID: <50EC8B93.5000507@HIDDEN> Date: Tue, 08 Jan 2013 22:11:47 +0100 From: Peter Rosin <peda@HIDDEN> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <50EC3B75.1030707@HIDDEN> <50EC7338.6010003@HIDDEN> In-Reply-To: <50EC7338.6010003@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -0.0 (/) On 2013-01-08 20:27, Stefano Lattarini wrote: > On 01/08/2013 04:29 PM, Eric Blake wrote: >> On 01/08/2013 08:15 AM, Stefano Lattarini wrote: >>> In addition, AM_PROG_CC_C_O is not required by >>> projects that don't care about catering to inferior compilers. >> >> How much speed penalty and configure bloat are we talking about by >> allowing projects to omit the use of this macro if they don't care about >> inferior compilers? >> > Almost zero bloat. The code simply re-uses a cache variable set by > AC_PROG_CC, and, *for losing compilers only*, plays some dirty but > inexpensive tricks with $CC redefinition. Not quite, the cache variable is from AC_PROG_CC_C_O which is is not invoked by AC_PROG_CC, at least I don't think so? AM_PROG_CC_C_O requires AC_PROG_CC_C_O so it costs a couple of extra compile tests. Not that I'm complaining if those tests are always performed though, just trying to keep the arguments honest... (but again, I haven't actually checked if AC_PROG_CC triggers AC_PROG_CC_C_O) Cheers, Peter
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 21:30:02 +0000 Resent-Message-ID: <handler.13378.B13378.135768054430801 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Peter Rosin <peda@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135768054430801 (code B ref 13378); Tue, 08 Jan 2013 21:30:02 +0000 Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 21:29:04 +0000 Received: from localhost ([127.0.0.1]:57361 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TsgjI-00080j-AB for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 16:29:04 -0500 Received: from mail-bk0-f43.google.com ([209.85.214.43]:52079) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TsgjF-00080D-T4 for 13378 <at> debbugs.gnu.org; Tue, 08 Jan 2013 16:29:02 -0500 Received: by mail-bk0-f43.google.com with SMTP id jf20so545074bkc.2 for <13378 <at> debbugs.gnu.org>; Tue, 08 Jan 2013 13:28:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=XpCIsSK/GuEVKb/I9rdAzaPbtLV24EAnhmylygmqv1c=; b=ZSgjBZgtKcblVaN8gDCuOSNByuEfaxC+LNbm0nh4CFu1bHJl11iM//icrM4wdML9AO /aa2xJiEGfVVk8lEqDzuNYblF0n89sLATmBaslozQXUTXN4ugFv4poAfU2u0Ku+Ro/gL XBr3lGFvCjniXxxZIDIIBUUC0ullHBqp9+gbEfoO8X3MmUzjgXWqNvxp5fYuUy6WFoCE eYlhr5et1RkrtfIOaUioYaycoziX0xpQIlifTAOxCM9Y46/A+I279U1VMvJuVuywpNs0 xaeKJd/Uw+5BMfCsoBuyLlGuq9nPOdNLv6UKqImilJ1Lvwrwe1RBI7ih+hjRJpkfyKgF ZMmQ== X-Received: by 10.204.8.143 with SMTP id h15mr32369355bkh.115.1357680528771; Tue, 08 Jan 2013 13:28:48 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id d16sm46953063bkw.2.2013.01.08.13.28.47 (version=SSLv3 cipher=OTHER); Tue, 08 Jan 2013 13:28:48 -0800 (PST) Message-ID: <50EC8F8C.9020704@HIDDEN> Date: Tue, 08 Jan 2013 22:28:44 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <50EC3B75.1030707@HIDDEN> <50EC7338.6010003@HIDDEN> <50EC8B93.5000507@HIDDEN> In-Reply-To: <50EC8B93.5000507@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) On 01/08/2013 10:11 PM, Peter Rosin wrote: > On 2013-01-08 20:27, Stefano Lattarini wrote: >> On 01/08/2013 04:29 PM, Eric Blake wrote: >>> On 01/08/2013 08:15 AM, Stefano Lattarini wrote: >>>> In addition, AM_PROG_CC_C_O is not required by >>>> projects that don't care about catering to inferior compilers. >>> >>> How much speed penalty and configure bloat are we talking about by >>> allowing projects to omit the use of this macro if they don't care about >>> inferior compilers? >>> >> Almost zero bloat. The code simply re-uses a cache variable set by >> AC_PROG_CC, and, *for losing compilers only*, plays some dirty but >> inexpensive tricks with $CC redefinition. > > Not quite, the cache variable is from AC_PROG_CC_C_O which is is not > invoked by AC_PROG_CC, at least I don't think so? AM_PROG_CC_C_O > requires AC_PROG_CC_C_O so it costs a couple of extra compile tests. > Ouch. Thanks for correcting me on this. > Not that I'm complaining if those tests are always performed though, > just trying to keep the arguments honest... > Alas, I wasn't being dishonest here, just dumb/distracted ;-) > (but again, I haven't actually checked if AC_PROG_CC triggers > AC_PROG_CC_C_O) > Nope. Maybe it could do so in future Autoconf version though? This would be a good occasion to fix some weird AC_PROG_CC_C_O behaviours (e.g., the fact that it's checking both "cc" and "$CC"). Eric, WDYT? Regards, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 21:44:01 +0000 Resent-Message-ID: <handler.13378.B13378.135768139632222 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Peter Rosin <peda@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135768139632222 (code B ref 13378); Tue, 08 Jan 2013 21:44:01 +0000 Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 21:43:16 +0000 Received: from localhost ([127.0.0.1]:57386 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1Tsgx1-0008Ne-U9 for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 16:43:16 -0500 Received: from mail-ee0-f53.google.com ([74.125.83.53]:36866) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1Tsgwx-0008NP-Rx for 13378 <at> debbugs.gnu.org; Tue, 08 Jan 2013 16:43:14 -0500 Received: by mail-ee0-f53.google.com with SMTP id c1so181454eek.12 for <13378 <at> debbugs.gnu.org>; Tue, 08 Jan 2013 13:43:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=AezwJdu2mPDx1/Qp2p3dPKXNGzYCVBkKDA/kxX+RrT8=; b=K3MGNxXtR1GG6DiC17uhwC+bS3LIf5MQMCtgFE3JKZWWCtUD2rWjWKJ3eyH8k8xWHU pOpBwrSO8lpfJ1z6zMahljgJpDbnlxKt2tF2IVBPTJ53V22ODD7eRq0Kk6c/2aEz82Tp Nk+2rEnMFkX0TFpPAvMw+25cCutk8sRAOUdN6JPyGSkdvqCYy/C0fuXIllxVJ9/1mqjN o6YIVrnciFe3ir+ysVc7UoZTJc0JWVy7TvrizD1PFmYYP83TrHMlVTaNI8Ggs8lnozey m7vKHa1NGPV5/ucUtky4QNA60fKetpmntBRpwYVo9T81XrNriHahjy4z1qfYFAE8YSpz v99w== X-Received: by 10.14.208.137 with SMTP id q9mr175966170eeo.28.1357681380052; Tue, 08 Jan 2013 13:43:00 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id 43sm137878567eed.10.2013.01.08.13.42.58 (version=SSLv3 cipher=OTHER); Tue, 08 Jan 2013 13:42:59 -0800 (PST) Message-ID: <50EC92E0.40909@HIDDEN> Date: Tue, 08 Jan 2013 22:42:56 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <50EC8A6F.7010307@HIDDEN> In-Reply-To: <50EC8A6F.7010307@HIDDEN> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -0.7 (/) On 01/08/2013 10:06 PM, Peter Rosin wrote: > On 2013-01-08 16:15, Stefano Lattarini wrote: >> That would be overkill, since AM_PROG_CC_C_O is only required by >> projects doing C compilation. > > Hi, > > However, a notorious C++ compiler from Redmond is inferior also in its > C++ mode and would benefit from an AM_PROG_CXX_C_O variant. > No hope the unnamed company producing this compiler would listen to a bug report? ;-) > If the meat of AM_PROG_CC_C_O becomes part of AC_PROG_CC if would > be nice if $CXX could be edited to wrap an inferior C++ compiler in > AC_PROG_CXX. > That would require an AC_PROG_CXX_C_O in Autoconf first (well, not actually require, but that's the avenue I'd prefer). Then again, in the longer term, wouldn't it be better to provide a (GNU or non-GNU) package meant to wrap all this MSVC incompatibilities in a secluded place, instead of having Automake chase all this intricacies with mixed fortune? After all, we don't have random users building on MSYS with MSVC -- the users interested in doing so should know what they are doing, so we could ask them to install this hypothetical "wrapping package" before trying any such compilation. It might also be made part of MSYS itself eventually, if it proves itself on field. Good idea, bad idea, or simple wishful thinking? > I.e. in similar fashion to how $CC would be edited in AC_PROG_CC. > > Cheers, > Peter > Regards, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Peter Rosin <peda@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 22:04:01 +0000 Resent-Message-ID: <handler.13378.B13378.13576825931629 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.13576825931629 (code B ref 13378); Tue, 08 Jan 2013 22:04:01 +0000 Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 22:03:13 +0000 Received: from localhost ([127.0.0.1]:57406 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TshGL-0000QD-0v for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 17:03:13 -0500 Received: from mail.lysator.liu.se ([130.236.254.3]:50045) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <peda@HIDDEN>) id 1TshGI-0000Q5-5c for 13378 <at> debbugs.gnu.org; Tue, 08 Jan 2013 17:03:12 -0500 Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id C54EB40005; Tue, 8 Jan 2013 23:03:02 +0100 (CET) Received: from [192.168.0.64] (90-227-119-137-no95.business.telia.com [90.227.119.137]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id 6F99240003; Tue, 8 Jan 2013 23:03:02 +0100 (CET) Message-ID: <50EC9795.3070007@HIDDEN> Date: Tue, 08 Jan 2013 23:03:01 +0100 From: Peter Rosin <peda@HIDDEN> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <50EC8A6F.7010307@HIDDEN> <50EC92E0.40909@HIDDEN> In-Reply-To: <50EC92E0.40909@HIDDEN> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.9 (-) On 2013-01-08 22:42, Stefano Lattarini wrote: > On 01/08/2013 10:06 PM, Peter Rosin wrote: >> On 2013-01-08 16:15, Stefano Lattarini wrote: >>> That would be overkill, since AM_PROG_CC_C_O is only required by >>> projects doing C compilation. >> >> Hi, >> >> However, a notorious C++ compiler from Redmond is inferior also in its >> C++ mode and would benefit from an AM_PROG_CXX_C_O variant. >> > No hope the unnamed company producing this compiler would listen to a > bug report? ;-) It wouldn't help to just add support for "-o <output>". The MSVC compiler needs the compile script for other reasons as well. There was a discussion earlier about A[CM]_PROG_CXX_C_O where an idea was expressed to split it in two parts, a simple front-end and a back-end doing the work, so that a second front-end (piggybacking on the back-end) could be added when the compile script is needed for other reasons than -c -o support. Nothing have materialized from that discussion so far though... (which is my fault) Also, I'm sure others before me have wished for a POSIX compliant CLI. >> If the meat of AM_PROG_CC_C_O becomes part of AC_PROG_CC if would >> be nice if $CXX could be edited to wrap an inferior C++ compiler in >> AC_PROG_CXX. >> > That would require an AC_PROG_CXX_C_O in Autoconf first (well, not > actually require, but that's the avenue I'd prefer). > > Then again, in the longer term, wouldn't it be better to provide a > (GNU or non-GNU) package meant to wrap all this MSVC incompatibilities > in a secluded place, instead of having Automake chase all this > intricacies with mixed fortune? After all, we don't have random users > building on MSYS with MSVC -- the users interested in doing so should > know what they are doing, so we could ask them to install this > hypothetical "wrapping package" before trying any such compilation. > It might also be made part of MSYS itself eventually, if it proves > itself on field. > > Good idea, bad idea, or simple wishful thinking? I think it's a bad idea. Trying to do this outside of autotools will just grow forks. Try finding a canonical cccl script on the Internet... Cheers, Peter'
Received: (at control) by debbugs.gnu.org; 8 Jan 2013 22:08:57 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 17:08:56 2013 Received: from localhost ([127.0.0.1]:57417 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TshLs-0000YQ-M1 for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 17:08:56 -0500 Received: from mail-ea0-f179.google.com ([209.85.215.179]:53784) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TshLr-0000Y7-Bx for control <at> debbugs.gnu.org; Tue, 08 Jan 2013 17:08:56 -0500 Received: by mail-ea0-f179.google.com with SMTP id i12so392739eaa.10 for <control <at> debbugs.gnu.org>; Tue, 08 Jan 2013 14:08:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=wvV4Lcu2LCGRNSj3DbTlSrfS4DJnHbwrnAro4j/1Uws=; b=wiM6eXyL2VfBdJQjf8o2ioYhBfWjzIHIMPAwxygVhBU+As0ye5EQwnMqRIZu3x/u6K vcW4TPUEoZCvtQYVvXOMOVTjke9vIS9gE1F7pmn94br46GJLwjMyK4A1+Pd+p3xDBK4b 2EfJs7gGVOeIb9qNZENLhDlgeQDcmf6gLf0nEFtiUP26PHocx7wFa+24nt34O0WMPytv hypyeHKBDCDvklJXTOLfJZq05TeeywQg/pD8Q97aqNH4WzUcgmMoEZSm5m5y9og7ACkk P65kCIFGhc/z5wYSOXnuj3QrOhOk6FZUHgfeLFJuSjbMVZ3ZiCp/ToXC9W3CdJp/41SR QXJw== X-Received: by 10.14.174.198 with SMTP id x46mr177069254eel.23.1357682923656; Tue, 08 Jan 2013 14:08:43 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id b49sm138164774eem.16.2013.01.08.14.08.42 (version=SSLv3 cipher=OTHER); Tue, 08 Jan 2013 14:08:42 -0800 (PST) Message-ID: <50EC98E8.7090209@HIDDEN> Date: Tue, 08 Jan 2013 23:08:40 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 To: GNU bug tracker automated control server <control <at> debbugs.gnu.org> Subject: Re: Processed (with 2 errors): a References: <50EC9870.4050107@HIDDEN> <handler.s.C.13576828231969.transcript <at> debbugs.gnu.org> In-Reply-To: <handler.s.C.13576828231969.transcript <at> debbugs.gnu.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: 0.1 (/) retitle 13378 Make the 'subdir-objects' setup the default, and only available one
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 08 Jan 2013 22:33:02 +0000 Resent-Message-ID: <handler.13378.B13378.13576843708010 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Peter Rosin <peda@HIDDEN> Cc: 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.13576843708010 (code B ref 13378); Tue, 08 Jan 2013 22:33:02 +0000 Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 22:32:50 +0000 Received: from localhost ([127.0.0.1]:57440 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1Tshiz-000257-AR for submit <at> debbugs.gnu.org; Tue, 08 Jan 2013 17:32:50 -0500 Received: from mail-ea0-f181.google.com ([209.85.215.181]:60028) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1Tshiv-00024o-9x for 13378 <at> debbugs.gnu.org; Tue, 08 Jan 2013 17:32:46 -0500 Received: by mail-ea0-f181.google.com with SMTP id k14so401059eaa.12 for <13378 <at> debbugs.gnu.org>; Tue, 08 Jan 2013 14:32:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=u26F8nDafP8TDrDx+K3MJTzdxjF/zLqngIlSDYDukos=; b=j0P1bg+p10aTsWfMBWPmB9fJd98wM4XbEWo6SWjCnn+llL+lPgAweXxCRZanDHPRiG oxCKtEAEYCiBOvv5JERLigTLaGPZiwD6u9Ph9IDccKDR6I/eIdD8NJxG2rz6CacTyk/g L2WYb5ZHE4cMbnssZyURgTWe8qH4m2CyoVpcQUGRqss680xsdI512aa3lpQEAog6dwQy tUV4BCO0H/OEFMT5NNsPRyOEgVVKUXo/I25CwOvKsLlEtO+TWTWtlOqILET7EEOAHo+4 rq5pI9mS6kVdScmI72GkjoGSVVmy3ReG7kLUaxN2b8M6QtXicLrufrvZBl7LaHsxQHP5 0b0w== X-Received: by 10.14.207.195 with SMTP id n43mr175868349eeo.38.1357684350933; Tue, 08 Jan 2013 14:32:30 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id z8sm138122509eeo.11.2013.01.08.14.32.29 (version=SSLv3 cipher=OTHER); Tue, 08 Jan 2013 14:32:30 -0800 (PST) Message-ID: <50EC9E7A.8080303@HIDDEN> Date: Tue, 08 Jan 2013 23:32:26 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <50EC8A6F.7010307@HIDDEN> <50EC92E0.40909@HIDDEN> <50EC9795.3070007@HIDDEN> In-Reply-To: <50EC9795.3070007@HIDDEN> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -0.7 (/) On 01/08/2013 11:03 PM, Peter Rosin wrote: > > [BIG SNIP] > >> Then again, in the longer term, wouldn't it be better to provide a >> (GNU or non-GNU) package meant to wrap all this MSVC incompatibilities >> in a secluded place, instead of having Automake chase all this >> intricacies with mixed fortune? After all, we don't have random users >> building on MSYS with MSVC -- the users interested in doing so should >> know what they are doing, so we could ask them to install this >> hypothetical "wrapping package" before trying any such compilation. >> It might also be made part of MSYS itself eventually, if it proves >> itself on field. >> >> Good idea, bad idea, or simple wishful thinking? > > I think it's a bad idea. Try finding a canonical cccl script on the > Internet... Trying to do this outside of autotools will just grow > forks. > Then what about doing it in the Autotools? That is, let's continue to carry the ar-lib, compile, etc. scripts in our tree, let's continue to distribute them in the client packages tarballs, but admit that the setups they cater for are today special and/or corner case enough that we don't need to "automagically" detect them; instead, let's the user explicitly ask for their use (with an environment variable? with a configure options? not sure). We'll have less time-wasting and complex probing logic, but still a tight integration, and no risk of proliferating forks. Of course, this could create yet more compatibility and/or transition and/or deprecation headaches. So, all things considered, it might be a poor trade-off. Hmmm... Well, let's put this idea in the back-burner for now. We still have a confirmed bug to fix, before doing anything else ;-) Regards, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH] compile: use 'compile' script when "-c -o" is used with losing compilers Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Thu, 10 Jan 2013 13:34:02 +0000 Resent-Message-ID: <handler.13378.B13378.1357824828431 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Eric Blake <eblake@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org, "automake-patches@HIDDEN" <automake-patches@HIDDEN> Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.1357824828431 (code B ref 13378); Thu, 10 Jan 2013 13:34:02 +0000 Received: (at 13378) by debbugs.gnu.org; 10 Jan 2013 13:33:48 +0000 Received: from localhost ([127.0.0.1]:53527 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TtIGP-00006o-6x for submit <at> debbugs.gnu.org; Thu, 10 Jan 2013 08:33:47 -0500 Received: from mail-la0-f46.google.com ([209.85.215.46]:56455) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TtIGI-00006N-CW for 13378 <at> debbugs.gnu.org; Thu, 10 Jan 2013 08:33:42 -0500 Received: by mail-la0-f46.google.com with SMTP id fq13so579538lab.19 for <13378 <at> debbugs.gnu.org>; Thu, 10 Jan 2013 05:33:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=fkM3bSaUnBdOTlgiTXXgAbRC9zZ+mdim0msh7IftPxs=; b=fPWLLc8kNok1lJndumyHlyatcCj7xch9xryPYc1WTxWgInkYyEDy9O5Gtyo+fM2rD8 ZmN/5j3pNoxFLtXa3RpIRwFu1IfmDn6KV55PGpPmslGiU7fI8W1IDOFVeXBL9pz9Sm+c CLgUCfdVe/Tm0ouTqkpdpd1+HdafyrcENgpaC1E+Q+D7NpuEZfAdI/1SGfWZT9zoaeQ8 rmMAjyAL2B/v/vAVKHSu1Gz9M5A7m46b8NzKELLJLDAdYWpD0drzlSWiGRK2NVc0+0Np gd1telDxFc9zauumseOLf7phmA2z3MOdAFfVv08vPw3Hh8zgPtLsA0VHUD0blXITZHDY /diQ== X-Received: by 10.112.44.229 with SMTP id h5mr29808283lbm.12.1357824810868; Thu, 10 Jan 2013 05:33:30 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id b3sm832452lbl.0.2013.01.10.05.33.27 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 10 Jan 2013 05:33:29 -0800 (PST) Message-ID: <50EEC31F.2040309@HIDDEN> Date: Thu, 10 Jan 2013 14:33:19 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <50EC3B75.1030707@HIDDEN> <50EC7338.6010003@HIDDEN> In-Reply-To: <50EC7338.6010003@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) Reference: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#50> On 01/08/2013 08:27 PM, Stefano Lattarini wrote: > On 01/08/2013 04:29 PM, Eric Blake wrote: >> On 01/08/2013 08:15 AM, Stefano Lattarini wrote: >>> That would be overkill, since AM_PROG_CC_C_O is only required by >>> projects doing C compilation. Also, IIRC, that macro needs to be >>> called after AC_PROG_CC, while AM_INIT_AUTOMAKE is typically invoked >>> before AC_PROG_CC. >> >> But with m4, you can arrange for AM_INIT_AUTOMAKE to redefine AC_PROG_CC >> so that it hooks in a call to AM_PROG_CC_C_O immediately after its >> current definition, and thus still preserve desired ordering while >> making the burden simpler for the configure.ac author. >> > This is true, but I'd have preferred to avoid this shenanigans with > macro redefinitions if at all possible. It seems it won't be really > possible though (see also my reply to the last message from Nick): > <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#47> > :-( > > [SNIP] > > So I think your proposal is the way to go, *right for Automake 1.13.2*, > since it offers a bug fix for the situation described in > <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#47> > Done with the patch below. The AC_PROG_CC redefinition is more of a band-aid rather than a "proper" fix (the copy & paste done by the patch is admittedly quite horrific), but that is no big deal IMHO, since we will backport the features needed by Automake back into Autoconf, and Automake 1.14 will just require the later Autoconf anyway, allowing us to get rid of that copy & paste. In addition, with this change, the 'compile' script will be required in *all* projects using C compilation (even if they don't use the 'subdir-objects' option); but this should be noticeable only by packages not using 'automake --add-missing' (and they should be the great majority), and easily fixable by the other packages anyway. OK to push to maint? I'll wait up to a week to push, since I'd really like a review on this ... Thanks, Stefano ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- From 5e65e237be62efabcdc2dbd7410ab44bc514b48e Mon Sep 17 00:00:00 2001 Message-Id: <5e65e237be62efabcdc2dbd7410ab44bc514b48e.1357824420.git.stefano.lattarini@HIDDEN> From: Stefano Lattarini <stefano.lattarini@HIDDEN> Date: Wed, 9 Jan 2013 23:16:53 +0100 Subject: [PATCH] compile: use 'compile' script when "-c -o" is used with losing compilers Do so seen when only source files in the "current" directory are present. This commit is part of a series of related changes addressing automake bug#13378 (see also the plan 'PLANS/subdir-objects.txt'). Before this change, Automake-generated C compilation rules mistakenly passed the "-c -o" options combination unconditionally (even to losing compiler) when the 'subdir-objects' was used but sources were only present in the top-level directory. Issue spotted by Nick Bowler: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44> We fix this by having Automake redefine AC_PROG_CC to take over the role of AM_PROG_CC_C_O and to require the 'compile' script unconditionally (albeit that will continue to be invoked only when inferior compilers are detected). Among other things, this means AM_PROG_CC_C_O explicitly is no longer required; that macro is still supported for backward-compatibility, but calling it is basically a no-op now. This change has some pros and some cons (obviously, we believe the former outweighs the latter). Here are the most relevant ones: + Pros 1: Some logic in the Automake script has been simplified + Pros 2: That simplification has automatically fixed an actual bug (admittedly, it was present only in corner situations, but still) XXX The test 't/ccnoco4.sh', which demonstrated that bug and has been failing so far, now passes. + Pros 3: Things works more "automagically" now (no need to manually add the AM_PROG_CC_C_O macro to configure.ac anymore) * Cons 1: The 'compile' script will be required in all projects using C compilation; this will only be a problem for packages not using '--add-missing'. However, such packages are definitely more rare than the ones using '--add-missing', and adjusting them will be trivial -- just copy the compile script over from the new Automake installation. * Cons 2: The copy & paste of autoconf internals hack this change has introduced in our "rewrite" of AC_PROG_CC is really an egregious abomination. It can only be justified with the fact that we expect future versions of autoconf to implement the semantics we need directly in AC_PROG_CC, so that we'll be able to leverage that (since Automake 1.14 will require the latest Autoconf version released). Now, the detailed list of file-by-file changes ... * automake.in ($seen_cc_c_o): Remove this global variable. (scan_autoconf_traces): Don't set it, and do not trace the 'AM_PROG_CC_C_O' m4 macro. (lang_c_rewrite): Remove, no longer needed. * doc/automake.texi: Adjust expected "autoreconf --install" output in the amhello example. Remove statements about the need for the AM_PROG_CC_C_O macro. Report it is obsolete now. * m4/init.m4: Re-write AC_PROG_CC to append checks about whether the C compiler supports "-c -o" together. These checks have basically been ripped out (with adaptations) from the 'AC_PROG_CC_C_O' macro of Autoconf and ... * m4/minuso.m4 (AM_PROG_CC_C_O): ... this macro of ours, which has thus basically become a no-op. * t/ax/am-test-lib.sh (am_setup_testdir): Also copy the 'compile' script in the test directory; if we don't do so, every test using AC_PROG_CC should call automake with the "--add-missing" option, or copy the 'compile' script itself. * t/cond11.sh: No need to create a dummy 'compile' script: that is already brought in by 'am_setup_testdir()', that is automatically invoked when 'test-lib.sh' is sourced. * t/add-missing.tap: Adjust: we expect the 'compile' script to be required by a mere AC_PROG_CC call now. * t/dist-auxdir-many-subdirs.sh: Likewise. * t/specflg6.sh: Likewise. * t/subobj4.sh: Likewise. * t/cxx-lt-demo.sh: Likewise, and update comments to match. * t/distcom2.sh: Enhance a little. * t/dollarvar2.sh: Adjust. * t/extra-portability.sh: Likewise. * t/per-target-flags.sh: Likewise. * t/subobj.sh: Likewise, and enhance a little. * t/ccnoco2.sh: Remove as obsolete. * t/list-of-tests.mk (handwritten_TESTS): Adjust. (XFAIL_TESTS): Remove 't/ccnoco4.sh'. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@HIDDEN> --- .gitignore | 1 + NEWS | 23 ++++++++++++++++++ automake.in | 47 ------------------------------------ doc/automake.texi | 22 +++++++++-------- m4/init.m4 | 47 ++++++++++++++++++++++++++++++++++++ m4/minuso.m4 | 20 +++------------- t/add-missing.tap | 9 ++++--- t/ax/am-test-lib.sh | 2 +- t/ccnoco2.sh | 55 ------------------------------------------- t/cond11.sh | 1 - t/cxx-lt-demo.sh | 6 +++-- t/dist-auxdir-many-subdirs.sh | 1 + t/distcom2.sh | 2 ++ t/dollarvar2.sh | 11 +++------ t/extra-portability.sh | 13 +++++----- t/list-of-tests.mk | 2 -- t/per-target-flags.sh | 7 ------ t/specflg6.sh | 2 -- t/subobj.sh | 5 +++- t/subobj4.sh | 1 - 20 files changed, 113 insertions(+), 164 deletions(-) delete mode 100755 t/ccnoco2.sh diff --git a/.gitignore b/.gitignore index a32310e..0d031eb 100644 --- a/.gitignore +++ b/.gitignore @@ -33,6 +33,7 @@ /doc/amhello/config.h.in~ /doc/amhello/configure /doc/amhello/depcomp +/doc/amhello/compile /doc/amhello/install-sh /doc/amhello/missing /doc/web-manual diff --git a/NEWS b/NEWS index 02a34df..e87d267 100644 --- a/NEWS +++ b/NEWS @@ -49,6 +49,29 @@ New in 1.13.2: should take precedence over the same-named automake-provided macro (defined in '/usr/local/share/aclocal-1.14/vala.m4'). +* C compilation, and the AC_PROG_CC and AM_PROG_CC_C_O macros: + + - The 'compile' script is now unconditionally required for all + packages that perform C compilation (note that if you are using + the '--add-missing' option, automake will fetch that script for + you, so you shouldn't need any explicit adjustment). + This new behaviour is needed to avoid obscure errors when the + 'subdir-objects' option is used, and the compiler is an inferior + one that doesn't grasp the combined use of both the "-c -o" + options; see discussion about automake bug#13378 for more details: + <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35> + <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44> + + - Automake will automatically enhance the AC_PROG_CC autoconf macro + to make it check, at configure time, that the C compiler supports + the combined use of both the "-c -o" options. This "rewrite" of + AC_PROG_CC is only meant to be temporary, since future Autoconf + versions should provide all the features Automake needs. + + - The AM_PROG_CC_C_O is no longer useful, and its use is a no-op + now. Future Automake versions might start warning that this + macro is obsolete. + * Obsolescent features: - Use of suffix-less info files (that can be specified through the diff --git a/automake.in b/automake.in index e8ba73f..990b60d 100644 --- a/automake.in +++ b/automake.in @@ -387,9 +387,6 @@ my $package_version_location; # TRUE if we've seen AM_PROG_AR my $seen_ar = 0; -# TRUE if we've seen AM_PROG_CC_C_O -my $seen_cc_c_o = 0; - # Location of AC_REQUIRE_AUX_FILE calls, indexed by their argument. my %required_aux_file = (); @@ -5179,7 +5176,6 @@ sub scan_autoconf_traces ($) AM_INIT_AUTOMAKE => 0, AM_MAINTAINER_MODE => 0, AM_PROG_AR => 0, - AM_PROG_CC_C_O => 0, _AM_SUBST_NOTMAKE => 1, _AM_COND_IF => 1, _AM_COND_ELSE => 1, @@ -5383,10 +5379,6 @@ EOF { $seen_ar = $where; } - elsif ($macro eq 'AM_PROG_CC_C_O') - { - $seen_cc_c_o = $where; - } elsif ($macro eq '_AM_COND_IF') { cond_stack_if ('', $args[1], $where); @@ -5607,45 +5599,6 @@ sub lang_sub_obj return option 'subdir-objects' ? LANG_SUBDIR : LANG_PROCESS; } -# Rewrite a single C source file. -sub lang_c_rewrite -{ - my ($directory, $base, $ext, $obj, $have_per_exec_flags, $var) = @_; - - my $r = LANG_PROCESS; - if (option 'subdir-objects') - { - $r = LANG_SUBDIR; - if ($directory && $directory ne '.') - { - $base = $directory . '/' . $base; - - # libtool is always able to put the object at the proper place, - # so we do not have to require AM_PROG_CC_C_O when building .lo files. - msg_var ('portability', $var, - "compiling '$base.c' in subdir requires " - . "'AM_PROG_CC_C_O' in '$configure_ac'", - uniq_scope => US_GLOBAL, - uniq_part => 'AM_PROG_CC_C_O subdir') - unless $seen_cc_c_o || $obj eq '.lo'; - } - } - - if (! $seen_cc_c_o - && $have_per_exec_flags - && ! option 'subdir-objects' - && $obj ne '.lo') - { - msg_var ('portability', - $var, "compiling '$base.c' with per-target flags requires " - . "'AM_PROG_CC_C_O' in '$configure_ac'", - uniq_scope => US_GLOBAL, - uniq_part => 'AM_PROG_CC_C_O per-target') - } - - return $r; -} - # Rewrite a single header file. sub lang_header_rewrite { diff --git a/doc/automake.texi b/doc/automake.texi index 8ace5e5..5048f54 100644 --- a/doc/automake.texi +++ b/doc/automake.texi @@ -1496,6 +1496,7 @@ command as follows: ~/amhello % @kbd{autoreconf --install} configure.ac: installing './install-sh' configure.ac: installing './missing' +configure.ac: installing './compile' src/Makefile.am: installing './depcomp' @end example @@ -3994,10 +3995,9 @@ choose the assembler for you (by default the C compiler) and set @item AM_PROG_CC_C_O @acindex AM_PROG_CC_C_O @acindex AC_PROG_CC_C_O -This is like @code{AC_PROG_CC_C_O}, but it generates its results in -the manner required by Automake. You must use this instead of -@code{AC_PROG_CC_C_O} when you need this functionality, that is, when -using per-target flags or subdir-objects with C sources. +This is an @emph{obsolete wrapper} around @code{AC_PROG_CC_C_O}. New +code needs not to use this macro. It might be deprecated and +@emph{retired in future Automake versions}. @item AM_PROG_LEX @acindex AM_PROG_LEX @@ -4068,6 +4068,13 @@ Invocation, , Using @command{autoupdate} to Modernize @table @code +@item AM_PROG_CC_C_O +@acindex AM_PROG_CC_C_O +@acindex AC_PROG_CC_C_O +This is an @emph{obsolete wrapper} around @code{AC_PROG_CC_C_O}. New +code needs not to use this macro. It will be deprecated, and then +removed, in future Automake versions. + @item AM_PROG_MKDIR_P @acindex AM_PROG_MKDIR_P @cindex @code{mkdir -p}, macro check @@ -5810,9 +5817,7 @@ different name for the intermediate object files. Ordinarily a file like @file{sample.c} will be compiled to produce @file{sample.o}. However, if the program's @code{_CFLAGS} variable is set, then the object file will be named, for instance, @file{maude-sample.o}. (See -also @ref{Renamed Objects}.) The use of per-target compilation flags -with C sources requires that the macro @code{AM_PROG_CC_C_O} be called -from @file{configure.ac}. +also @ref{Renamed Objects}). In compilations with per-target flags, the ordinary @samp{AM_} form of the flags variable is @emph{not} automatically included in the @@ -10245,9 +10250,6 @@ the source file. For instance, if the source file is @file{subdir/file.cxx}, then the output file would be @file{subdir/file.o}. -In order to use this option with C sources, you should add -@code{AM_PROG_CC_C_O} to @file{configure.ac}. - @anchor{tar-formats} @item @option{tar-v7} @itemx @option{tar-ustar} diff --git a/m4/init.m4 b/m4/init.m4 index 44b2481..db77a96 100644 --- a/m4/init.m4 +++ b/m4/init.m4 @@ -125,6 +125,53 @@ dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) +dnl We have to redefine AC_PROG_CC to allow our compile rules to use +dnl "-c -o" together also with losing compilers. +dnl FIXME: Add references to the original discussion and bug report. +dnl FIXME: Shameless copy & paste from Autoconf internals, since trying to +dnl play smart among tangles of AC_REQUIRE, m4_defn, m4_provide and +dnl other tricks was proving too difficult, and in the end, likely +dnl more brittle too. And this should anyway be just a temporary +dnl band-aid, until Autoconf provides the semantics and/or hooks we +dnl need (hint hint, nudge nudge) ... +AC_DEFUN([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +dnl FIXME The following abomination is expected to disappear in +dnl Automake 1.14. +AC_MSG_CHECKING([whether $CC understands -c and -o together]) +set dummy $CC; ac_cc=`AS_ECHO(["$[2]"]) | \ + sed 's/[[^a-zA-Z0-9_]]/_/g;s/^[[0-9]]/_/'` +AC_CACHE_VAL([ac_cv_prog_cc_${am_cc}_c_o], +[AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) +# Make sure it works both with $CC and with simple cc. +# We do the test twice because some compilers refuse to overwrite an +# existing .o file with -o, though they will create one. +ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&AS_MESSAGE_LOG_FD' +rm -f conftest2.* +if _AC_DO_VAR(ac_try) && test -f conftest2.$ac_objext +then + eval ac_cv_prog_cc_${ac_cc}_c_o=yes +else + eval ac_cv_prog_cc_${ac_cc}_c_o=no +fi +rm -f core conftest* +])dnl +if eval test \"\$ac_cv_prog_cc_${ac_cc}_c_o\" = yes; then + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) + # Losing compiler, so wrap it with the 'compile' script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" + AC_DEFINE([NO_MINUS_C_MINUS_O], [1], + [Define to 1 if your C compiler doesn't accept -c and -o together.]) +fi +]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header diff --git a/m4/minuso.m4 b/m4/minuso.m4 index 984427c..6cb574e 100644 --- a/m4/minuso.m4 +++ b/m4/minuso.m4 @@ -7,24 +7,10 @@ # AM_PROG_CC_C_O # -------------- -# Like AC_PROG_CC_C_O, but changed for automake. +# Basically a no-op now, completely superseded by the AC_PROG_CC +# adjusted by Automake. Kept for backward-compatibility. AC_DEFUN([AM_PROG_CC_C_O], -[AC_REQUIRE([AC_PROG_CC_C_O])dnl -AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -# FIXME: we rely on the cache variable name because -# there is no other way. -set dummy $CC -am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` -eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o -if test "$am_t" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi +[AC_REQUIRE([AC_PROG_CC])dnl dnl Make sure AC_PROG_CC is never called again, or it will override our dnl setting of CC. m4_define([AC_PROG_CC], diff --git a/t/add-missing.tap b/t/add-missing.tap index f74c2fd..9c4b774 100755 --- a/t/add-missing.tap +++ b/t/add-missing.tap @@ -247,6 +247,7 @@ check_ <<'END' depcomp/C == Files == depcomp +compile == configure.ac == AC_PROG_CC == Makefile.am == @@ -271,9 +272,9 @@ compile == Files == compile == configure.ac == -# Using AM_PROG_CC_C_O in configure.ac should be enough. No need to -# use AC_PROG_CC too, nor to define xxx_PROGRAMS in Makefile.am. -AM_PROG_CC_C_O +# Using AC_PROG_CC in configure.ac should be enough. No +# need to also define, say, xxx_PROGRAMS in Makefile.am. +AC_PROG_CC END # For config.guess and config.sub. @@ -294,6 +295,7 @@ check_ <<'END' == Name == ylwrap/Lex == Files == +compile ylwrap == configure.ac == AC_PROG_CC @@ -308,6 +310,7 @@ check_ <<'END' == Name == ylwrap/Yacc == Files == +compile ylwrap == configure.ac == AC_PROG_CC diff --git a/t/ax/am-test-lib.sh b/t/ax/am-test-lib.sh index f3fcacc..0ceb4d0 100644 --- a/t/ax/am-test-lib.sh +++ b/t/ax/am-test-lib.sh @@ -820,7 +820,7 @@ am_setup_testdir () || framework_failure_ "cannot chdir into test subdirectory" if test x"$am_create_testdir" != x"empty"; then cp "$am_scriptdir"/install-sh "$am_scriptdir"/missing \ - "$am_scriptdir"/depcomp . \ + "$am_scriptdir"/compile "$am_scriptdir"/depcomp . \ || framework_failure_ "fetching common files from $am_scriptdir" # Build appropriate environment in test directory. E.g., create # configure.ac, touch all necessary files, etc. Don't use AC_OUTPUT, diff --git a/t/ccnoco2.sh b/t/ccnoco2.sh deleted file mode 100755 index a835fa6..0000000 --- a/t/ccnoco2.sh +++ /dev/null @@ -1,55 +0,0 @@ -#! /bin/sh -# Copyright (C) 2006-2013 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# Make sure Automake requires AM_PROG_CC_C_O when either per-targets -# flags or subdir-objects are used. - -. test-init.sh - -cat >>configure.ac <<EOF -AC_PROG_CC -AC_OUTPUT -EOF - -cat >Makefile.am <<EOF -bin_PROGRAMS = wish -wish_SOURCES = a.c -wish_CPPFLAGS = -DWHATEVER -EOF - -touch a.c - -$ACLOCAL -$AUTOCONF -AUTOMAKE_fails --copy --add-missing -grep '^Makefile\.am:2:.*per-target.*AM_PROG_CC_C_O' stderr - - -cat >Makefile.am <<EOF -bin_PROGRAMS = wish -wish_SOURCES = sub/a.c -EOF - -mkdir sub -mv a.c sub - -$AUTOMAKE --copy --add-missing - -echo 'AUTOMAKE_OPTIONS = subdir-objects' >> Makefile.am -AUTOMAKE_fails --copy --add-missing -grep '^Makefile\.am:2:.*subdir.*AM_PROG_CC_C_O' stderr - -: diff --git a/t/cond11.sh b/t/cond11.sh index 03c4077..7d729d8 100755 --- a/t/cond11.sh +++ b/t/cond11.sh @@ -47,7 +47,6 @@ END : > config.guess : > config.sub -: > compile $ACLOCAL $AUTOCONF diff --git a/t/cxx-lt-demo.sh b/t/cxx-lt-demo.sh index 8afc974..3a87cfd 100755 --- a/t/cxx-lt-demo.sh +++ b/t/cxx-lt-demo.sh @@ -94,10 +94,12 @@ $AUTOCONF $AUTOMAKE --add-missing --copy ls -l . ax # For debugging. -for f in ltmain.sh depcomp config.guess config.sub; do +# Ideally, the 'compile' script should not be required by C++ compilers. +# But alas, LT_INIT seems to invoke AC_PROG_CC anyway, and that brings in +# that script. +for f in ltmain.sh depcomp compile config.guess config.sub; do test -f ax/$f && test ! -h ax/$f || exit 1 done -test ! -e ax/compile # Not required by C++ compilers. cat > src/main.cc << 'END' #include "libfoo.h++" diff --git a/t/dist-auxdir-many-subdirs.sh b/t/dist-auxdir-many-subdirs.sh index d49372a..ec1a964 100755 --- a/t/dist-auxdir-many-subdirs.sh +++ b/t/dist-auxdir-many-subdirs.sh @@ -63,6 +63,7 @@ END required_files=' install-sh missing + compile depcomp py-compile test-driver diff --git a/t/distcom2.sh b/t/distcom2.sh index 57154d9..dc0cb4d 100755 --- a/t/distcom2.sh +++ b/t/distcom2.sh @@ -44,6 +44,8 @@ $ACLOCAL for opt in '' --no-force; do + rm -f compile depcomp + $AUTOMAKE $opt --add-missing test -f compile diff --git a/t/dollarvar2.sh b/t/dollarvar2.sh index 7183743..ef2dd06 100755 --- a/t/dollarvar2.sh +++ b/t/dollarvar2.sh @@ -65,27 +65,22 @@ grep 'recursive variable expansion' stderr cat >Makefile.am <<'EOF' x = 1 bla = $(foo$(x)) -noinst_PROGRAMS = foo -foo_CPPFLAGS = -Dwhatever +oops = $(var-with-dash) EOF -echo AC_PROG_CC >> configure.ac - -$ACLOCAL --force - # Can disable both 'portability' and 'portability-recursive' warnings. $AUTOMAKE -Wno-portability # Disabling 'portability-recursive' warnings should not disable # 'portability' warnings. AUTOMAKE_fails -Wportability -Wno-portability-recursive -grep AM_PROG_CC_C_O stderr +grep 'var-with-dash' stderr grep 'recursive variable expansion' stderr && exit 1 # Enabling 'portability-recursive' warnings should not enable # all the 'portability' warning. AUTOMAKE_fails -Wno-portability -Wportability-recursive -grep AM_PROG_CC_C_O stderr && exit 1 +grep 'var-with-dash' stderr && exit 1 grep 'recursive variable expansion' stderr : diff --git a/t/extra-portability.sh b/t/extra-portability.sh index 94dd799..1ea23ad 100755 --- a/t/extra-portability.sh +++ b/t/extra-portability.sh @@ -62,30 +62,29 @@ $AUTOMAKE -Wall -Wno-portability # Now, a setup where also a "simple" portability warning is present. # -# Per-target flags require the use of AM_PROG_CC_C_O in configure.ac. -echo libfoo_a_CPPFLAGS = -Dwhatever >> Makefile.am +echo 'var = $(foo--bar)' >> Makefile.am # Enabling extra-portability enables portability as well ... AUTOMAKE_fails -Wextra-portability -grep 'requires.*AM_PROG_CC_C_O' stderr +grep 'foo--bar' stderr grep 'requires.*AM_PROG_AR' stderr # ... even if it had been previously disabled. AUTOMAKE_fails -Wno-portability -Wextra-portability -grep 'requires.*AM_PROG_CC_C_O' stderr +grep 'foo--bar' stderr grep 'requires.*AM_PROG_AR' stderr # Disabling extra-portability leaves portability intact (1). AUTOMAKE_fails -Wportability -Wno-extra-portability -grep 'requires.*AM_PROG_CC_C_O' stderr +grep 'foo--bar' stderr grep 'requires.*AM_PROG_AR' stderr && exit 1 # Disabling extra-portability leaves portability intact (2). AUTOMAKE_fails -Wall -Wno-extra-portability -grep 'requires.*AM_PROG_CC_C_O' stderr +grep 'foo--bar' stderr grep 'requires.*AM_PROG_AR' stderr && exit 1 # Enabling portability does not enable extra-portability. AUTOMAKE_fails -Wportability -grep 'requires.*AM_PROG_CC_C_O' stderr +grep 'foo--bar' stderr grep 'requires.*AM_PROG_AR' stderr && exit 1 # Disabling portability disables extra-portability. diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index 63e098d..aac2506 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -30,7 +30,6 @@ t/pm/Version3.pl XFAIL_TESTS = \ t/all.sh \ -t/ccnoco4.sh \ t/cond17.sh \ t/gcj6.sh \ t/override-conditional-2.sh \ @@ -208,7 +207,6 @@ t/canon7.sh \ t/canon8.sh \ t/canon-name.sh \ t/ccnoco.sh \ -t/ccnoco2.sh \ t/ccnoco3.sh \ t/ccnoco4.sh \ t/check.sh \ diff --git a/t/per-target-flags.sh b/t/per-target-flags.sh index ef19e69..333242f 100755 --- a/t/per-target-flags.sh +++ b/t/per-target-flags.sh @@ -55,15 +55,8 @@ cat - libMakefile.am > libMakefile2.am << 'END' AUTOMAKE_OPTIONS = no-dependencies END -# Make sure 'compile' is required. -for m in $makefiles; do - AUTOMAKE_fails $m - $EGREP " required file.* '(compile|\./compile)'" stderr -done - makefiles=$(for mkf in $makefiles; do echo $mkf.in; done) -: > compile $AUTOMAKE # Sanity check. diff --git a/t/specflg6.sh b/t/specflg6.sh index 77d837a..bbc8334 100755 --- a/t/specflg6.sh +++ b/t/specflg6.sh @@ -36,8 +36,6 @@ foo_CFLAGS = -DFOO foo_SOURCES = foo.c END -: > compile - $ACLOCAL $AUTOMAKE diff --git a/t/subobj.sh b/t/subobj.sh index 2431184..6e5fd98 100755 --- a/t/subobj.sh +++ b/t/subobj.sh @@ -20,6 +20,8 @@ cat >> configure.ac << 'END' AC_PROG_CC +dnl This should be a no-op now, but still be supported +dnl without causing warnings. AM_PROG_CC_C_O END @@ -30,10 +32,11 @@ wish_SOURCES = generic/a.c generic/b.c END $ACLOCAL +rm -f compile $AUTOMAKE --add-missing 2>stderr || { cat stderr >&2; exit 1; } cat stderr >&2 # Make sure compile is installed, and that Automake says so. -grep 'install.*compile' stderr +grep '^configure\.ac:4:.*install.*compile' stderr test -f compile grep '^generic/a\.\$(OBJEXT):' Makefile.in diff --git a/t/subobj4.sh b/t/subobj4.sh index b1b577d..45d9666 100755 --- a/t/subobj4.sh +++ b/t/subobj4.sh @@ -41,7 +41,6 @@ END cat > d2/Makefile.am << 'END' END -: > compile : > d2/z.c $ACLOCAL -- 1.8.1.rc3.192.g2d0029e
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH] compile: use 'compile' script when "-c -o" is used with losing compilers Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Thu, 10 Jan 2013 14:24:01 +0000 Resent-Message-ID: <handler.13378.B13378.13578278125438 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Eric Blake <eblake@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org, "automake-patches@HIDDEN" <automake-patches@HIDDEN> Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.13578278125438 (code B ref 13378); Thu, 10 Jan 2013 14:24:01 +0000 Received: (at 13378) by debbugs.gnu.org; 10 Jan 2013 14:23:32 +0000 Received: from localhost ([127.0.0.1]:53642 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TtJ2Z-0001Pe-F3 for submit <at> debbugs.gnu.org; Thu, 10 Jan 2013 09:23:32 -0500 Received: from mail-lb0-f174.google.com ([209.85.217.174]:60706) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TtJ2W-0001PP-HU for 13378 <at> debbugs.gnu.org; Thu, 10 Jan 2013 09:23:30 -0500 Received: by mail-lb0-f174.google.com with SMTP id gi11so520460lbb.33 for <13378 <at> debbugs.gnu.org>; Thu, 10 Jan 2013 06:23:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=rtXd5rlCcjCLl7NY0RDz1a8l7Yp9aFrOTJ3ZR3BjFog=; b=PFI3hG+zgIN7SLgEWKa05RdFf44l1mtoMG8Pipw6a+yXsaQxC0jEYuuPB/6lFuUpyw XjdRxDDRzdcB0lS5u/gi0afowqt2WjHsx45IPbDMRMZdqcuhforW22K0MPhbRNawdBZr caHgKA7M24QQRCAj1dn3pUJz890md9DT8WLYelhTjAf+F893F7Vp5IhLMZ/Rx6zPOEUz 5ZAzLuZeg9j0AHiGfXB2kcj4VoqB/EwPOouhhVTIvahibJt/aYg6qa7h+h1+86P6K03B IxlknNvtTNrnhJa9wkvj7snrqFo1MzMhl+hA2oNEof5Yet00G+qqvb2b6HihbArOpi2S 1cag== X-Received: by 10.152.127.202 with SMTP id ni10mr68985625lab.6.1357827799859; Thu, 10 Jan 2013 06:23:19 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id bf3sm894076lbb.16.2013.01.10.06.23.17 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 10 Jan 2013 06:23:18 -0800 (PST) Message-ID: <50EECED3.1080201@HIDDEN> Date: Thu, 10 Jan 2013 15:23:15 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <50EC3B75.1030707@HIDDEN> <50EC7338.6010003@HIDDEN> <50EEC31F.2040309@HIDDEN> In-Reply-To: <50EEC31F.2040309@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) On 01/10/2013 02:33 PM, Stefano Lattarini wrote: > Reference: > <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#50> > > On 01/08/2013 08:27 PM, Stefano Lattarini wrote: >> On 01/08/2013 04:29 PM, Eric Blake wrote: >>> On 01/08/2013 08:15 AM, Stefano Lattarini wrote: >>>> That would be overkill, since AM_PROG_CC_C_O is only required by >>>> projects doing C compilation. Also, IIRC, that macro needs to be >>>> called after AC_PROG_CC, while AM_INIT_AUTOMAKE is typically invoked >>>> before AC_PROG_CC. >>> >>> But with m4, you can arrange for AM_INIT_AUTOMAKE to redefine AC_PROG_CC >>> so that it hooks in a call to AM_PROG_CC_C_O immediately after its >>> current definition, and thus still preserve desired ordering while >>> making the burden simpler for the configure.ac author. >>> >> This is true, but I'd have preferred to avoid this shenanigans with >> macro redefinitions if at all possible. It seems it won't be really >> possible though (see also my reply to the last message from Nick): >> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#47> >> :-( >> >> [SNIP] >> >> So I think your proposal is the way to go, *right for Automake 1.13.2*, >> since it offers a bug fix for the situation described in >> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#47> >> > Done with the patch below. The AC_PROG_CC redefinition is more of a > band-aid rather than a "proper" fix (the copy & paste done by the patch > is admittedly quite horrific), but that is no big deal IMHO, since we > will backport the features needed by Automake back into Autoconf, and > Automake 1.14 will just require the later Autoconf anyway, allowing us > to get rid of that copy & paste. > > In addition, with this change, the 'compile' script will be required > in *all* projects using C compilation (even if they don't use the > 'subdir-objects' option); but this should be noticeable only by > packages not using 'automake --add-missing' (and they should be the > great majority), and easily fixable by the other packages anyway. > > OK to push to maint? I'll wait up to a week to push, since I'd really > like a review on this ... > In fact, we don't need to define the 'NO_MINUS_C_MINUS_O' preprocessor symbol, nor should we use the 'ac_cv_prog_cc_${ac_cc}_c_o' cache variable (that is owned by the autoconf macro AC_PROG_CC_C_O). So consider the below squashed in. Let me know if you want me to send a fixed complete patch too. Regards, Stefano -*-*-*- diff --git a/NEWS b/NEWS index e87d267..09bfc1e 100644 --- a/NEWS +++ b/NEWS @@ -70,7 +70,10 @@ New in 1.13.2: - The AM_PROG_CC_C_O is no longer useful, and its use is a no-op now. Future Automake versions might start warning that this - macro is obsolete. + macro is obsolete. For better backward-compatibility, this macro + still sets a proper 'ac_cv_prog_cc_*_c_o' cache variable, and + define the 'NO_MINUS_C_MINUS_O' C preprocessor symbol, but you + should really stop relying on that. * Obsolescent features: diff --git a/m4/init.m4 b/m4/init.m4 index db77a96..c5af65c 100644 --- a/m4/init.m4 +++ b/m4/init.m4 @@ -141,9 +141,9 @@ AC_REQUIRE_AUX_FILE([compile])dnl dnl FIXME The following abomination is expected to disappear in dnl Automake 1.14. AC_MSG_CHECKING([whether $CC understands -c and -o together]) -set dummy $CC; ac_cc=`AS_ECHO(["$[2]"]) | \ - sed 's/[[^a-zA-Z0-9_]]/_/g;s/^[[0-9]]/_/'` -AC_CACHE_VAL([ac_cv_prog_cc_${am_cc}_c_o], +set dummy $CC; am__cc=`AS_ECHO(["$[2]"]) | \ + sed 's/[[^a-zA-Z0-9_]]/_/g;s/^[[0-9]]/_/'` +AC_CACHE_VAL([am_cv_prog_cc_${am__cc}_c_o], [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) # Make sure it works both with $CC and with simple cc. # We do the test twice because some compilers refuse to overwrite an @@ -152,13 +152,13 @@ ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&AS_MESSAGE_LOG_FD' rm -f conftest2.* if _AC_DO_VAR(ac_try) && test -f conftest2.$ac_objext then - eval ac_cv_prog_cc_${ac_cc}_c_o=yes + eval am_cv_prog_cc_${am__cc}_c_o=yes else - eval ac_cv_prog_cc_${ac_cc}_c_o=no + eval am_cv_prog_cc_${am__cc}_c_o=no fi rm -f core conftest* ])dnl -if eval test \"\$ac_cv_prog_cc_${ac_cc}_c_o\" = yes; then +if eval test \"\$am_cv_prog_cc_${am__cc}_c_o\" = yes; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) @@ -168,8 +168,6 @@ else # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" - AC_DEFINE([NO_MINUS_C_MINUS_O], [1], - [Define to 1 if your C compiler doesn't accept -c and -o together.]) fi ]) diff --git a/m4/minuso.m4 b/m4/minuso.m4 index 6cb574e..17fa8c9 100644 --- a/m4/minuso.m4 +++ b/m4/minuso.m4 @@ -15,4 +15,11 @@ dnl Make sure AC_PROG_CC is never called again, or it will override our dnl setting of CC. m4_define([AC_PROG_CC], [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) +# For better backward-compatibility. Users are advised to stop +# relying on this cache variable and C preprocessor symbol ASAP. +eval ac_cv_prog_cc_${am__cc}_c_o=\$am_cv_prog_cc_${am__cc}_c_o +if eval test \"\$ac_cv_prog_cc_${am__cc}_c_o\" != yes; then + AC_DEFINE([NO_MINUS_C_MINUS_O], [1], + [Define to 1 if your C compiler doesn't accept -c and -o together.]) +fi ])
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH] compile: use 'compile' script when "-c -o" is used with losing compilers Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Fri, 11 Jan 2013 16:31:01 +0000 Resent-Message-ID: <handler.13378.B13378.135792184631938 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Eric Blake <eblake@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org, "automake-patches@HIDDEN" <automake-patches@HIDDEN> Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135792184631938 (code B ref 13378); Fri, 11 Jan 2013 16:31:01 +0000 Received: (at 13378) by debbugs.gnu.org; 11 Jan 2013 16:30:46 +0000 Received: from localhost ([127.0.0.1]:55712 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TthVB-0008Iy-HL for submit <at> debbugs.gnu.org; Fri, 11 Jan 2013 11:30:42 -0500 Received: from mail-bk0-f41.google.com ([209.85.214.41]:33494) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TthV8-0008Ij-0J for 13378 <at> debbugs.gnu.org; Fri, 11 Jan 2013 11:30:40 -0500 Received: by mail-bk0-f41.google.com with SMTP id jg9so1044304bkc.28 for <13378 <at> debbugs.gnu.org>; Fri, 11 Jan 2013 08:30:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=PJ1jTuJucJyYPAEmyKe7rwruufIUiUFgzwPfJnKUd14=; b=M4Slwbc536a7VotC6Dv9z5n/XXtHb6DhrS1/FyMeZ0NjprTcQy/bjQ+racJnX5SFZ6 bqWsM6/89KcHJb7scdubDE7xSkhtWObzWtVmsCsTovtTFUST0AaG40epEoFb9NAdc/9P j1ew9vhC49au9ZNAJGbEpINzvQJcsUUHw4KIJSDeutno0QPZp5XBQXUyJGkcnXfk6471 rC0bBbtCVQYylIMZWHOliP2Lk9Yxp+/nmUXeZU2PvDcyaVos3RlUpIPQsZwFmrajZ+fh WKvPOlOMgRrGZ0mLu2ab4tfJFSst/DO+ESUUXXGXvL3Ag5e67rcOtL0L3JwQjzUQJvWP bwyw== X-Received: by 10.204.128.203 with SMTP id l11mr37467402bks.70.1357921824283; Fri, 11 Jan 2013 08:30:24 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id c10sm4876014bkw.1.2013.01.11.08.30.22 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 11 Jan 2013 08:30:23 -0800 (PST) Message-ID: <50F03E1A.10701@HIDDEN> Date: Fri, 11 Jan 2013 17:30:18 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <50EC3B75.1030707@HIDDEN> <50EC7338.6010003@HIDDEN> <50EEC31F.2040309@HIDDEN> <50EECED3.1080201@HIDDEN> In-Reply-To: <50EECED3.1080201@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) [Summarizing the relevant points of the past discussion, somewhat] Eric Blake wrote: > > But with m4, you can arrange for AM_INIT_AUTOMAKE to redefine AC_PROG_CC > so that it hooks in a call to AM_PROG_CC_C_O immediately after its > current definition, and thus still preserve desired ordering while > making the burden simpler for the configure.ac author. I replied: > > This is true, but I'd have preferred to avoid this shenanigans with > macro redefinitions if at all possible. It seems it won't be really > possible though (see also my reply to the last message from Nick): > <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#47> > > So I think your proposal is the way to go, *right for Automake 1.13.2*, > since it offers a bug fix for the situation described in > <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#47> And then went on to implement the patch: > > Done with the patch below. The AC_PROG_CC redefinition is more of a > band-aid rather than a "proper" fix (the copy & paste done by the patch > is admittedly quite horrific), but that is no big deal IMHO, since we > will backport the features needed by Automake back into Autoconf, and > Automake 1.14 will just require the later Autoconf anyway, allowing us > to get rid of that copy & paste. > Now, Autoconf has been updated to do what we need: <http://lists.gnu.org/archive/html/autoconf-patches/2013-01/msg00007.html> The change above has been committed as 'v2.69-63-gce48964'. So here is a follow-up that removes the horrible hack introduced by the previous patch. Since it will require Autoconf 2.70, it is only meant to be applied to master of course; but sending it early to elicit reviews cannot hurt, can it? ;-) ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- From ea80119488d2cd38ec3c81119c6019a4b6decb89 Mon Sep 17 00:00:00 2001 Message-Id: <ea80119488d2cd38ec3c81119c6019a4b6decb89.1357921799.git.stefano.lattarini@HIDDEN> From: Stefano Lattarini <stefano.lattarini@HIDDEN> Date: Fri, 11 Jan 2013 16:59:07 +0100 Subject: [PATCH] compile: avoid AC_PROG_CC messy rewrite Instead, only touch up AC_PROG_CC to distribute the 'compile' script and to rewrite $CC if a losing compiler is detected. We can do so because Autoconf 2.70 (which we now requires) has been so kind to implement the features we need (through a private hook made explicitly available to us), in commit v2.69-63-gce48964 of 2013-01-11, "AC_PROG_CC: also check whether $CC supports "-c -o" together": <http://lists.gnu.org/archive/html/autoconf-patches/2013-01/msg00007.html> * m4/init.m4 (AC_PROG_CC): Simplify, relying on the Autoconf hook. Signed-off-by: Stefano Lattarini <stefano.lattarini@HIDDEN> --- m4/init.m4 | 42 ++++++++---------------------------------- 1 file changed, 8 insertions(+), 34 deletions(-) diff --git a/m4/init.m4 b/m4/init.m4 index c5af65c..9316c2c 100644 --- a/m4/init.m4 +++ b/m4/init.m4 @@ -126,42 +126,16 @@ m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) dnl We have to redefine AC_PROG_CC to allow our compile rules to use -dnl "-c -o" together also with losing compilers. -dnl FIXME: Add references to the original discussion and bug report. -dnl FIXME: Shameless copy & paste from Autoconf internals, since trying to -dnl play smart among tangles of AC_REQUIRE, m4_defn, m4_provide and -dnl other tricks was proving too difficult, and in the end, likely -dnl more brittle too. And this should anyway be just a temporary -dnl band-aid, until Autoconf provides the semantics and/or hooks we -dnl need (hint hint, nudge nudge) ... +dnl "-c -o" together also with losing compilers. We can do so using +dnl a private hook Autoconf has made available to us (since version +dnl 2.70). AC_DEFUN([AC_PROG_CC], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])]dnl +[AC_REQUIRE_AUX_FILE([compile])]dnl +[m4_define([_AM_PROG_CC_C_O_HELPME], [1])]dnl Activate the private hook. +dnl This must *not* be quoted! m4_defn([AC_PROG_CC]) -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -dnl FIXME The following abomination is expected to disappear in -dnl Automake 1.14. -AC_MSG_CHECKING([whether $CC understands -c and -o together]) -set dummy $CC; am__cc=`AS_ECHO(["$[2]"]) | \ - sed 's/[[^a-zA-Z0-9_]]/_/g;s/^[[0-9]]/_/'` -AC_CACHE_VAL([am_cv_prog_cc_${am__cc}_c_o], -[AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) -# Make sure it works both with $CC and with simple cc. -# We do the test twice because some compilers refuse to overwrite an -# existing .o file with -o, though they will create one. -ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&AS_MESSAGE_LOG_FD' -rm -f conftest2.* -if _AC_DO_VAR(ac_try) && test -f conftest2.$ac_objext -then - eval am_cv_prog_cc_${am__cc}_c_o=yes -else - eval am_cv_prog_cc_${am__cc}_c_o=no -fi -rm -f core conftest* -])dnl -if eval test \"\$am_cv_prog_cc_${am__cc}_c_o\" = yes; then - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) +[if eval test \"\$ac_cv_prog_cc_${ac_cc}_c_o\" != yes; then # Losing compiler, so wrap it with the 'compile' script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. -- 1.8.1.rc3.192.g2d0029e
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH] compile: use 'compile' script when "-c -o" is used with losing compilers Resent-From: Eric Blake <eblake@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Fri, 11 Jan 2013 17:57:01 +0000 Resent-Message-ID: <handler.13378.B13378.13579269907494 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org, "automake-patches@HIDDEN" <automake-patches@HIDDEN> Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.13579269907494 (code B ref 13378); Fri, 11 Jan 2013 17:57:01 +0000 Received: (at 13378) by debbugs.gnu.org; 11 Jan 2013 17:56:30 +0000 Received: from localhost ([127.0.0.1]:55767 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TtiqC-0001wn-U8 for submit <at> debbugs.gnu.org; Fri, 11 Jan 2013 12:56:30 -0500 Received: from mx1.redhat.com ([209.132.183.28]:50736) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <eblake@HIDDEN>) id 1Ttiq9-0001wf-Vv for 13378 <at> debbugs.gnu.org; Fri, 11 Jan 2013 12:56:27 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r0BHuGYP014316 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 11 Jan 2013 12:56:16 -0500 Received: from [10.3.113.92] (ovpn-113-92.phx2.redhat.com [10.3.113.92]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r0BHuFOS008994; Fri, 11 Jan 2013 12:56:15 -0500 Message-ID: <50F0523F.4040109@HIDDEN> Date: Fri, 11 Jan 2013 10:56:15 -0700 From: Eric Blake <eblake@HIDDEN> Organization: Red Hat, Inc. User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <50EC3B75.1030707@HIDDEN> <50EC7338.6010003@HIDDEN> <50EEC31F.2040309@HIDDEN> <50EECED3.1080201@HIDDEN> <50F03E1A.10701@HIDDEN> In-Reply-To: <50F03E1A.10701@HIDDEN> X-Enigmail-Version: 1.4.6 OpenPGP: url=http://people.redhat.com/eblake/eblake.gpg Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------enig04742AED41727445E41A80B5" X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Spam-Score: -5.5 (-----) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -6.9 (------) This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig04742AED41727445E41A80B5 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 01/11/2013 09:30 AM, Stefano Lattarini wrote: > Subject: [PATCH] compile: avoid AC_PROG_CC messy rewrite >=20 > Instead, only touch up AC_PROG_CC to distribute the 'compile' script an= d > to rewrite $CC if a losing compiler is detected. We can do so because > Autoconf 2.70 (which we now requires) has been so kind to implement the= s/requires/require/ > features we need (through a private hook made explicitly available to u= s), > in commit v2.69-63-gce48964 of 2013-01-11, "AC_PROG_CC: also check whet= her > $CC supports "-c -o" together": > <http://lists.gnu.org/archive/html/autoconf-patches/2013-01/msg00007.ht= ml> Looks reasonable. I still need to spend another weekend on progressing towards a release of 2.70. --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --------------enig04742AED41727445E41A80B5 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.13 (GNU/Linux) Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with undefined - http://www.enigmail.net/ iQEcBAEBCAAGBQJQ8FI/AAoJEKeha0olJ0NqvkoH/3abRxkzJYKE3VEmEu0e3LzK cZ40OKz6MdEq5Ob7YIEUUSeWbWAVHpgQhDWffg8kUk0txcyQij0qXGsy79twu4lW CGlEE4tp6hCsNYECFeJckGwtsWjuQlbnnej3uy6ERsfQhjNREpgbVN+TXi8/iaxj lA6+d05lb+HZdMy1S4qcqrtRJv+T6ayJWxnAi6TJqSWC4HIJU/Bfry0vOMjd8Ln8 jp5ngxu2wjnQKQJqxrMNrpLvM29NWcjL2vw177z52Pz65RAdDd6+QT4BqSh6w2Y2 i3h+wPxCGs/qeBTxQIZ8CAA0YlNro/jC/SZUVwE327c0MueyvqoXjEUX5sc2i7w= =GX56 -----END PGP SIGNATURE----- --------------enig04742AED41727445E41A80B5--
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH] compile: use 'compile' script when "-c -o" is used with losing compilers Resent-From: Eric Blake <eblake@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Fri, 11 Jan 2013 18:21:02 +0000 Resent-Message-ID: <handler.13378.B13378.13579284099853 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org, "automake-patches@HIDDEN" <automake-patches@HIDDEN> Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.13579284099853 (code B ref 13378); Fri, 11 Jan 2013 18:21:02 +0000 Received: (at 13378) by debbugs.gnu.org; 11 Jan 2013 18:20:09 +0000 Received: from localhost ([127.0.0.1]:55791 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TtjD6-0002Yr-Mr for submit <at> debbugs.gnu.org; Fri, 11 Jan 2013 13:20:09 -0500 Received: from mx1.redhat.com ([209.132.183.28]:3431) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <eblake@HIDDEN>) id 1TtjD3-0002Yj-Qz for 13378 <at> debbugs.gnu.org; Fri, 11 Jan 2013 13:20:07 -0500 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r0BIJuwY017234 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 11 Jan 2013 13:19:56 -0500 Received: from [10.3.113.92] (ovpn-113-92.phx2.redhat.com [10.3.113.92]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r0BIJt6j001018; Fri, 11 Jan 2013 13:19:56 -0500 Message-ID: <50F057CB.9060407@HIDDEN> Date: Fri, 11 Jan 2013 11:19:55 -0700 From: Eric Blake <eblake@HIDDEN> Organization: Red Hat, Inc. User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <50EC3B75.1030707@HIDDEN> <50EC7338.6010003@HIDDEN> <50EEC31F.2040309@HIDDEN> In-Reply-To: <50EEC31F.2040309@HIDDEN> X-Enigmail-Version: 1.4.6 OpenPGP: url=http://people.redhat.com/eblake/eblake.gpg Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------enigF6B09A8C9FDCE390FB16D252" X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 X-Spam-Score: -6.9 (------) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -6.9 (------) This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigF6B09A8C9FDCE390FB16D252 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 01/10/2013 06:33 AM, Stefano Lattarini wrote: > Reference: > <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D13378#50> >=20 > @acindex AC_PROG_CC_C_O > -This is like @code{AC_PROG_CC_C_O}, but it generates its results in > -the manner required by Automake. You must use this instead of > -@code{AC_PROG_CC_C_O} when you need this functionality, that is, when > -using per-target flags or subdir-objects with C sources. > +This is an @emph{obsolete wrapper} around @code{AC_PROG_CC_C_O}. New > +code needs not to use this macro. It might be deprecated and s/needs not to/needs not/ > +@emph{retired in future Automake versions}. As a rule of thumb on when to remove a macro - I would personally like being able to write a configure script that works on both RHEL 5 (or CentOS 5) (autoconf 2.59, automake 1.9.6) as well as rawhide (eventually automake 1.14 and beyond), for as long as RHEL 5 remains a viable Enterprise-level distro. While it is fine to deprecate a macro, or even warn that its use is obsolete, what I _don't_ want is to have to jump through hoops to make my configure.ac/Makefile.am do conditionals that says if targetting older automake, use the older form, else use the newer form. I would rather that I can just blindly use the older form, ignore the warnings, and still have things work. Someday, RHEL 5 will disappear, and/or upgrade to a newer set of autotools (I've been campaigning for the latter, and so has Jim Meyering - the build tools are a special beast, and our argument is that even for a long-term stable platform, newer build tools is in the platform's best interest); but until that happens, completely breaking back-compat is not perceived as very nice. So even if the macro becomes a no-op and/or issues warnings about being obsolete, don't completely remove it, and don't force a user to delete their use of the macro (at least, not unless the user has indicated via AM_INIT_AUTOMAKE that they are willing to require 1.14 as a minimum automake version for processing their input files). > +@item AM_PROG_CC_C_O > +@acindex AM_PROG_CC_C_O > +@acindex AC_PROG_CC_C_O > +This is an @emph{obsolete wrapper} around @code{AC_PROG_CC_C_O}. New > +code needs not to use this macro. It will be deprecated, and then > +removed, in future Automake versions. Again, removed is too harsh; made a no-op and/or made into a warning (one which can be silenced for people knowingly being portable to older automake) is nicer. --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --------------enigF6B09A8C9FDCE390FB16D252 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.13 (GNU/Linux) Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with undefined - http://www.enigmail.net/ iQEcBAEBCAAGBQJQ8FfLAAoJEKeha0olJ0Nqov4H/1rup/0YZyiQylFSN091ri6U yFeFlbDMCObOuKqCyYNgyyMnWTlMVmNcdtuoB34bLez7/r9JNne3yb1qS3n6Muip nQmRjj79bEPxFzM/xQGS8liLksi4b6M/jiRegIaTuQBAiF7ccmGlKe4UAppS+RlP dygqqJakK3QNwyPmao7zu86TUi3slkhYASfz0OFJYjqzepPs5Y/T5ECKJfVPPdjo Yiqgcdnvld2HAs6AaBF0gHsaBoi2FqtZ7bHKh+3GXsybJ/97Y0BzOPwAj3s/9Cly mw3SexutyXcJ0zUuo2+Z58mWVwaU9YQuRgMMNp2TFWWI90oTdaPSpqE41uK7BYs= =ny9n -----END PGP SIGNATURE----- --------------enigF6B09A8C9FDCE390FB16D252--
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH] compile: use 'compile' script when "-c -o" is used with losing compilers Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Fri, 11 Jan 2013 18:44:01 +0000 Resent-Message-ID: <handler.13378.B13378.135792983912016 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Eric Blake <eblake@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org, "automake-patches@HIDDEN" <automake-patches@HIDDEN> Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135792983912016 (code B ref 13378); Fri, 11 Jan 2013 18:44:01 +0000 Received: (at 13378) by debbugs.gnu.org; 11 Jan 2013 18:43:59 +0000 Received: from localhost ([127.0.0.1]:55797 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TtjaA-00037l-RL for submit <at> debbugs.gnu.org; Fri, 11 Jan 2013 13:43:59 -0500 Received: from mail-bk0-f54.google.com ([209.85.214.54]:39586) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1Ttja8-00037W-NY for 13378 <at> debbugs.gnu.org; Fri, 11 Jan 2013 13:43:57 -0500 Received: by mail-bk0-f54.google.com with SMTP id je9so1108294bkc.41 for <13378 <at> debbugs.gnu.org>; Fri, 11 Jan 2013 10:43:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=1zoe5VMI9ZrbHNYMG4LXpsO52Wj1spv/ehCFtr7IceA=; b=sCEYHDf8K2LgdSl1aqvgwFO9JbVIzPPOC3FtokFgzMEDEy3PD+qEdHbs7y30hGZN1f BTJDp6+B2LFKbIWALUNimqnZaToRM7pFNYYxOtVJdoiL+ijYKg+AhCsbgmUW9/RZgR1g whKvcSRJQEuTGTC5DdFkg/Cil/McX/wDHzXSpse80gUC4kHQH8w0ig6ZQA1i8WDHQg9W N2uhlYxu8X1RohUsWiNSKvh9X50EOl9bwJY9LjtWnGsMjfycTtl7iAgKXW4hL8xEDmiM DrsV7dLb+LQhIfBZCYuIL1XLVe6FO+kB55OYEDqkIlwWdVPNLsTVd4ApF8j9ouW+NzVm JRSg== X-Received: by 10.204.145.219 with SMTP id e27mr36352901bkv.140.1357929822510; Fri, 11 Jan 2013 10:43:42 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id i20sm5256496bkw.5.2013.01.11.10.43.40 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 11 Jan 2013 10:43:41 -0800 (PST) Message-ID: <50F05D58.9000802@HIDDEN> Date: Fri, 11 Jan 2013 19:43:36 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <50EC3B75.1030707@HIDDEN> <50EC7338.6010003@HIDDEN> <50EEC31F.2040309@HIDDEN> <50EECED3.1080201@HIDDEN> <50F03E1A.10701@HIDDEN> <50F0523F.4040109@HIDDEN> In-Reply-To: <50F0523F.4040109@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -0.7 (/) On 01/11/2013 06:56 PM, Eric Blake wrote: > On 01/11/2013 09:30 AM, Stefano Lattarini wrote: > >> Subject: [PATCH] compile: avoid AC_PROG_CC messy rewrite >> >> Instead, only touch up AC_PROG_CC to distribute the 'compile' script and >> to rewrite $CC if a losing compiler is detected. We can do so because >> Autoconf 2.70 (which we now requires) has been so kind to implement the > > s/requires/require/ > Well spotted; will fix locally. >> features we need (through a private hook made explicitly available to us), >> in commit v2.69-63-gce48964 of 2013-01-11, "AC_PROG_CC: also check whether >> $CC supports "-c -o" together": >> <http://lists.gnu.org/archive/html/autoconf-patches/2013-01/msg00007.html> > > Looks reasonable. I still need to spend another weekend on progressing > towards a release of 2.70. > Thanks, that is truly appreciated. Best regards, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: Backward-compatibility in the autotools (was: Re: [PATCH] compile: use 'compile' script when "-c -o" is used with losing compilers) Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Fri, 11 Jan 2013 18:46:02 +0000 Resent-Message-ID: <handler.13378.B13378.135792996112229 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Eric Blake <eblake@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org, "automake-patches@HIDDEN" <automake-patches@HIDDEN> Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135792996112229 (code B ref 13378); Fri, 11 Jan 2013 18:46:02 +0000 Received: (at 13378) by debbugs.gnu.org; 11 Jan 2013 18:46:01 +0000 Received: from localhost ([127.0.0.1]:55801 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1Ttjc9-0003BB-9a for submit <at> debbugs.gnu.org; Fri, 11 Jan 2013 13:46:01 -0500 Received: from mail-bk0-f49.google.com ([209.85.214.49]:60102) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1Ttjc6-0003Av-Qu for 13378 <at> debbugs.gnu.org; Fri, 11 Jan 2013 13:45:59 -0500 Received: by mail-bk0-f49.google.com with SMTP id jm19so1114737bkc.22 for <13378 <at> debbugs.gnu.org>; Fri, 11 Jan 2013 10:45:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=9RgJUjcY2QGcJzZ3XLeJldSvCLvxm3y9kTqMjl5X3bg=; b=KjOnpAVHV81alk0+9mPmXrIGcFb7ewGtAgHzFReILEQxUy5gavOeR7AFbf3H81Db4Q KUwpx8SSeUc63vefXEmrlDjk+DTo1jqOMDRAVgjCufYTZpWvmGV9hj7NIAxBQXavWaTl eWMJrhunsxDLtaFkbrmKUgdoMQ/yfx3aYWeVJtFflhqfrX8Kce6mKlX1XTprolE/KAjg WIhdHXA5rQqqSkemGzIVIsh7/153gfIFbHWQefOABOU1HNIE02qzPJiDN7U5lEEUyfIS ubAYwtQbNQ0B6bi5cWkwBaqTV9A5leuvBdFZuQWxCT134n3R/ePI919W5NLHCaPpxkn7 YtZw== X-Received: by 10.204.9.11 with SMTP id j11mr36570576bkj.53.1357929944917; Fri, 11 Jan 2013 10:45:44 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id c10sm5258568bkw.1.2013.01.11.10.45.43 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 11 Jan 2013 10:45:44 -0800 (PST) Message-ID: <50F05DD3.7050602@HIDDEN> Date: Fri, 11 Jan 2013 19:45:39 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <50EC3B75.1030707@HIDDEN> <50EC7338.6010003@HIDDEN> <50EEC31F.2040309@HIDDEN> <50F057CB.9060407@HIDDEN> In-Reply-To: <50F057CB.9060407@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) On 01/11/2013 07:19 PM, Eric Blake wrote: > On 01/10/2013 06:33 AM, Stefano Lattarini wrote: >> Reference: >> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#50> >> > >> @acindex AC_PROG_CC_C_O >> -This is like @code{AC_PROG_CC_C_O}, but it generates its results in >> -the manner required by Automake. You must use this instead of >> -@code{AC_PROG_CC_C_O} when you need this functionality, that is, when >> -using per-target flags or subdir-objects with C sources. >> +This is an @emph{obsolete wrapper} around @code{AC_PROG_CC_C_O}. New >> +code needs not to use this macro. It might be deprecated and > > s/needs not to/needs not/ > Fixed, thanks. >> +@emph{retired in future Automake versions}. > > As a rule of thumb on when to remove a macro - I would personally like > being able to write a configure script that works on both RHEL 5 (or > CentOS 5) (autoconf 2.59, automake 1.9.6) as well as rawhide (eventually > automake 1.14 and beyond), for as long as RHEL 5 remains a viable > Enterprise-level distro. > I'm quite unconvinced of the value in trying to support this. Developers should just keep their tool reasonably up-to date IMHO; if they can't do so through their package manager, they should do so by installing from source. And while I see this can be a problem for complex packages like Perl [1] or GCC, it is easily done for package simpler to install, like the autotools are. [1] I try to keep support for older Perl versions alive in Automake exactly because I've seen which pain is to correctly install Perl from sources. > While it is fine to deprecate a macro, or even warn that its use is > obsolete, what I _don't_ want is to have to jump through hoops to make > my configure.ac/Makefile.am do conditionals that says if targetting > older automake, use the older form, else use the newer form. I would > rather that I can just blindly use the older form, ignore the warnings, > and still have things work. > For a while, this is ok. In fact, I plan to have AM_PROG_CC_C_O start issue warnings only in Automake 1.14, and be removed not before Automake 1.16. But trying to keep a package working with Automake versions that are six, seven years apart (as 1.9.6 and 1.13 are) is asking for trouble, and not worth fighting too hard to support. Also, in this case (as in the case for AM_PROG_MKDIR_P), a user still wanting to use use the obsolete macro can simply define it in, say, acinclude.m4. > Someday, RHEL 5 will disappear, and/or upgrade to a newer set of > autotools (I've been campaigning for the latter, and so has Jim Meyering > - the build tools are a special beast, and our argument is that even for > a long-term stable platform, newer build tools is in the platform's best > interest); but until that happens, completely breaking back-compat is > not perceived as very nice. > > So even if the macro becomes a no-op > Which is as of today, but that is OK, since it does no harm to the users nor the code base. > and/or issues warnings about being obsolete, > This for sure won't happen before Automake 1.14. > don't completely remove it, and don't force a user to delete > their use of the macro (at least, not unless the user has indicated via > AM_INIT_AUTOMAKE that they are willing to require 1.14 as a minimum > automake version for processing their input files). > As for this, there is no hurry. >> +@item AM_PROG_CC_C_O >> +@acindex AM_PROG_CC_C_O >> +@acindex AC_PROG_CC_C_O >> +This is an @emph{obsolete wrapper} around @code{AC_PROG_CC_C_O}. New >> +code needs not to use this macro. It will be deprecated, and then >> +removed, in future Automake versions. > > Again, removed is too harsh; > I believe it is necessary to really inform the users about upcoming obsolescence, lest they got unwittingly bitten by the eventual deprecation or removal. So I'd really like to keep this harsh wording in place. (Of course, the macro will not be removed without having spent at least a major release cycle as deprecated at runtime; having done a huge screw-up in that regard has been enough for me). > made a no-op and/or made into a warning > (one which can be silenced for people knowingly being portable to older > automake) is nicer. > Which is why we will follow this road in the next two major releases. But again, IMHO, that's is not a good reason not to warn users. Regards, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH] compile: use 'compile' script when "-c -o" is used with losing compilers Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Fri, 11 Jan 2013 19:17:01 +0000 Resent-Message-ID: <handler.13378.B13378.135793178615087 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Eric Blake <eblake@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org, "automake-patches@HIDDEN" <automake-patches@HIDDEN> Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135793178615087 (code B ref 13378); Fri, 11 Jan 2013 19:17:01 +0000 Received: (at 13378) by debbugs.gnu.org; 11 Jan 2013 19:16:26 +0000 Received: from localhost ([127.0.0.1]:55819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1Ttk5a-0003vI-GX for submit <at> debbugs.gnu.org; Fri, 11 Jan 2013 14:16:26 -0500 Received: from mail-bk0-f42.google.com ([209.85.214.42]:46767) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1Ttk5Y-0003v7-Pb for 13378 <at> debbugs.gnu.org; Fri, 11 Jan 2013 14:16:25 -0500 Received: by mail-bk0-f42.google.com with SMTP id ji2so1125979bkc.29 for <13378 <at> debbugs.gnu.org>; Fri, 11 Jan 2013 11:16:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=yQ3nbIBWo/E6RaA4a7pnCtBGa4YvXuEa/uqYGphMSn8=; b=YAmE2Srj59mF/z04vQoguOym69nnSgRTd8+j+b11fxogt5BacwDx1LHGauVFmz98vv Gg0Tvvll4RHhHEfCHlTYR7YQ1CcxiyutfyFJcK4LTiVNNINDS21QO4Wa0q3cdD16mDTD QbABuy/ids4/Fhzy7q5fHiKLvr1JcAuklqWDY00Ks5vIb52hDtokrljWpnBClRBqbnr8 e3Ra5hRLyog7PjedDhrn9AAQOaXiFQVKjCNzoLuXNjn41G259lxcI06gt07yyWdkTfkq cO0ThF1rOYBNkvH5a+uUEeTvjLwKmfByjtnJ9oGT9DU2RgXZf+R2jet7bWmMAmtmV+RB 48NA== X-Received: by 10.204.141.4 with SMTP id k4mr36770262bku.60.1357931770768; Fri, 11 Jan 2013 11:16:10 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id 18sm5313756bkv.0.2013.01.11.11.16.08 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 11 Jan 2013 11:16:09 -0800 (PST) Message-ID: <50F064F5.4080501@HIDDEN> Date: Fri, 11 Jan 2013 20:16:05 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <50EC3B75.1030707@HIDDEN> <50EC7338.6010003@HIDDEN> <50EEC31F.2040309@HIDDEN> <50F057CB.9060407@HIDDEN> In-Reply-To: <50F057CB.9060407@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -0.7 (/) On 01/11/2013 07:19 PM, Eric Blake wrote: > On 01/10/2013 06:33 AM, Stefano Lattarini wrote: >> Reference: >> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#50> >> > >> @acindex AC_PROG_CC_C_O >> -This is like @code{AC_PROG_CC_C_O}, but it generates its results in >> -the manner required by Automake. You must use this instead of >> -@code{AC_PROG_CC_C_O} when you need this functionality, that is, when >> -using per-target flags or subdir-objects with C sources. >> +This is an @emph{obsolete wrapper} around @code{AC_PROG_CC_C_O}. New >> +code needs not to use this macro. It might be deprecated and > > s/needs not to/needs not/ > Fixed, thanks. I will soon merge the patch into maint. As for your objections to the wording used in some of the documentation changes (snipped here, to which I have replied in another mail), they can be worked out further on-list, and if a consensus is reached, we can adjust the documentation with follow-up patches without problem. Thanks, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH] compile: use 'compile' script when "-c -o" is used with losing compilers Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Sat, 12 Jan 2013 10:06:01 +0000 Resent-Message-ID: <handler.13378.B13378.13579851592357 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Eric Blake <eblake@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org, "automake-patches@HIDDEN" <automake-patches@HIDDEN> Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.13579851592357 (code B ref 13378); Sat, 12 Jan 2013 10:06:01 +0000 Received: (at 13378) by debbugs.gnu.org; 12 Jan 2013 10:05:59 +0000 Received: from localhost ([127.0.0.1]:56293 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TtxyR-0000bx-Dm for submit <at> debbugs.gnu.org; Sat, 12 Jan 2013 05:05:59 -0500 Received: from mail-ee0-f44.google.com ([74.125.83.44]:65230) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TtxyP-0000bh-AS for 13378 <at> debbugs.gnu.org; Sat, 12 Jan 2013 05:05:58 -0500 Received: by mail-ee0-f44.google.com with SMTP id l10so1253638eei.31 for <13378 <at> debbugs.gnu.org>; Sat, 12 Jan 2013 02:05:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=owBkcRImOaDQE9l0GGAcO2WcBN6nEvC57p1UCuQrid4=; b=LPJM6UL0XepAUKX12+uSlDX4AMuqDaFIzjeR5bZLMcwLOXShqscPqfigJ1hE3fDjbw Ex+Z3VWmnvDd59TipttVFputLM6M3DyL8Q/cSd9psRCi7qOWz5Tv1hBndH4nM/TaFW4l IfxPCaU8igK53G3IMR9gVoji2r5LdDgj8jfMX2GISb2uiyoqFHFd9fp/O3XwXYS4Xdqv L7M5JnQ9QX7lRZ20DWoRP5g+H/lC0R7/ozkvQy3uZhhJHkWhqBGJUh+QhzRVw58Txx7U gDbw0y6RWAoaLZ9Y5x1Fje0/Lx/e86YOQrwlk/AXGtqNaifUb2LDl5TvcaTZHJc/Xzid ThTQ== X-Received: by 10.14.218.69 with SMTP id j45mr209843482eep.35.1357985139660; Sat, 12 Jan 2013 02:05:39 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id f6sm12174787eeo.7.2013.01.12.02.05.37 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 12 Jan 2013 02:05:38 -0800 (PST) Message-ID: <50F1356A.6000904@HIDDEN> Date: Sat, 12 Jan 2013 11:05:30 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <50EC3B75.1030707@HIDDEN> <50EC7338.6010003@HIDDEN> <50EEC31F.2040309@HIDDEN> <50F057CB.9060407@HIDDEN> <50F064F5.4080501@HIDDEN> In-Reply-To: <50F064F5.4080501@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -0.7 (/) On 01/11/2013 08:16 PM, Stefano Lattarini wrote: > On 01/11/2013 07:19 PM, Eric Blake wrote: >> On 01/10/2013 06:33 AM, Stefano Lattarini wrote: >>> Reference: >>> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#50> >>> >> >>> @acindex AC_PROG_CC_C_O >>> -This is like @code{AC_PROG_CC_C_O}, but it generates its results in >>> -the manner required by Automake. You must use this instead of >>> -@code{AC_PROG_CC_C_O} when you need this functionality, that is, when >>> -using per-target flags or subdir-objects with C sources. >>> +This is an @emph{obsolete wrapper} around @code{AC_PROG_CC_C_O}. New >>> +code needs not to use this macro. It might be deprecated and >> >> s/needs not to/needs not/ >> > Fixed, thanks. I will soon merge the patch into maint. > Done. Also merged maint into master, and pushed. Thanks, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [FYI] {maint} coverage: obsolete macro AM_PROG_CC_C_O should cause no warning nor errors References: <50EB2B41.4080505@HIDDEN> In-Reply-To: <50EB2B41.4080505@HIDDEN> Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Sat, 12 Jan 2013 11:34:01 +0000 Resent-Message-ID: <handler.13378.B13378.135799043310522 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: automake-patches@HIDDEN Cc: 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135799043310522 (code B ref 13378); Sat, 12 Jan 2013 11:34:01 +0000 Received: (at 13378) by debbugs.gnu.org; 12 Jan 2013 11:33:53 +0000 Received: from localhost ([127.0.0.1]:56344 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TtzLU-0002jf-Qx for submit <at> debbugs.gnu.org; Sat, 12 Jan 2013 06:33:53 -0500 Received: from mail-wg0-f49.google.com ([74.125.82.49]:52340) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TtzLS-0002jS-Ez for 13378 <at> debbugs.gnu.org; Sat, 12 Jan 2013 06:33:51 -0500 Received: by mail-wg0-f49.google.com with SMTP id 15so1205171wgd.28 for <13378 <at> debbugs.gnu.org>; Sat, 12 Jan 2013 03:33:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer; bh=3RR20wSanEniY9aSY1/wTXXcqjKeQS8/WFvMTQEjajw=; b=AHpyK8OT+XZ1aeKjXj7Z0pkLx3w9/LK8MZuSnOKVwtacqVIhZcH3426OhmJ1cFU790 GswDd+oVsNzNK+qI4UKDnjTUyibZTpLB06W7F6aiD7AJiNC0SZ8qaECRTBEIfQ79YnUH HviTuAKn0Hd+Wx2UkbigDPyF7bOzyZFA4Qk5RnDKNuwOIPXI5zWpPcpVauKO/xlMj1bG Tl5YIzMhxPd0yn0KJgH/z1ieypjOSqsoKzo6zqCP196pnwnnOYWqeinioyt6LpG7Xezn gRQwGzL5m8j/ghB+AGxkNc36DTqCEA8bITtNMOFJrS2J3kxg1KXra6ujGN2DQxpWzCpl xXIw== X-Received: by 10.194.23.37 with SMTP id j5mr125653048wjf.28.1357990411401; Sat, 12 Jan 2013 03:33:31 -0800 (PST) Received: from localhost.localdomain (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id i2sm3137461wiw.3.2013.01.12.03.33.29 (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 12 Jan 2013 03:33:30 -0800 (PST) From: Stefano Lattarini <stefano.lattarini@HIDDEN> Date: Sat, 12 Jan 2013 12:33:22 +0100 Message-Id: <0533c172fe94a40eb342ecc2d2d3a84ad7f52add.1357990286.git.stefano.lattarini@HIDDEN> X-Mailer: git-send-email 1.8.1.rc3.192.g2d0029e X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) Suggested by Eric Blake. * t/am-prog-cc-c-o.sh: New test. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@HIDDEN> --- t/am-prog-cc-c-o.sh | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++ t/list-of-tests.mk | 1 + 2 files changed, 86 insertions(+) create mode 100755 t/am-prog-cc-c-o.sh diff --git a/t/am-prog-cc-c-o.sh b/t/am-prog-cc-c-o.sh new file mode 100755 index 0000000..f9cc04a --- /dev/null +++ b/t/am-prog-cc-c-o.sh @@ -0,0 +1,85 @@ +#! /bin/sh +# Copyright (C) 2013 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Check that uses of the obsolescent AM_PROG_CC_C_O macro doesn't +# cause spurious warnings or errors. Suggested by Eric Blake. + +# We need gcc for for two reasons: +# 1. to ensure our C compiler grasps "-c -o" together. +# 2. to be able to later fake a dumb compiler not grasping that +# (done with 'cc-no-c-o' script below, which required gcc). +required=gcc +. test-init.sh + +echo bin_PROGRAMS = foo > Makefile.am +echo 'int main (void) { return 0; }' > foo.c + +cp configure.ac configure.bak + +cat >> configure.ac << 'END' +# Since AM_PROG_CC_C_O rewrites $CC, it's an error to call AC_PROG_CC +# after it. +AM_PROG_CC_C_O +AC_PROG_CC +END + +$ACLOCAL -Wnone 2>stderr && { cat stderr >&2; exit 1; } +cat stderr >&2 +grep '^configure\.ac:7:.* AC_PROG_CC .*called after AM_PROG_CC_C_O' stderr + +cat configure.bak - > configure.ac << 'END' +dnl It's OK to call AM_PROG_CC_C_O after AC_PROG_CC. +AC_PROG_CC +AM_PROG_CC_C_O +AC_OUTPUT +END + +$ACLOCAL +$AUTOCONF +$AUTOMAKE --add-missing + +./configure >stdout || { cat stdout; exit 1; } +cat stdout +grep 'understands -c and -o together.* yes$' stdout +# No repeated checks please. +test $(grep -c ".*-c['\" ].*-o['\" ]" stdout) -eq 1 +$MAKE + +$MAKE maintainer-clean + +rm -rf autom4te*.cache + +cat configure.bak - > configure.ac << 'END' +dnl It's also OK to call AM_PROG_CC_C_O *without* AC_PROG_CC. +AM_PROG_CC_C_O +AC_OUTPUT +END + +$ACLOCAL +$AUTOCONF +$AUTOMAKE --add-missing + +# Make sure the compiler doesn't understand '-c -o' +CC=$am_testaux_builddir/cc-no-c-o; export CC + +./configure >stdout || { cat stdout; exit 1; } +cat stdout +grep 'understands -c and -o together.* no$' stdout +# No repeated checks please. +test $(grep -c ".*-c['\" ].*-o['\" ]" stdout) -eq 1 +$MAKE + +: diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index baccdca..a6e1cee 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -132,6 +132,7 @@ t/aminit-moreargs-deprecation.sh \ t/amassign.sh \ t/am-config-header-no-more.sh \ t/am-prog-cc-stdc-no-more.sh \ +t/am-prog-cc-c-o.sh \ t/am-macro-not-found.sh \ t/amopt.sh \ t/amopts-location.sh \ -- 1.8.1.rc3.192.g2d0029e
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: Patches for master, making 'subdir-objects' mandatory References: <50EB2B41.4080505@HIDDEN> In-Reply-To: <50EB2B41.4080505@HIDDEN> Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Sat, 12 Jan 2013 13:26:06 +0000 Resent-Message-ID: <handler.13378.B13378.135799716424479 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135799716424479 (code B ref 13378); Sat, 12 Jan 2013 13:26:06 +0000 Received: (at 13378) by debbugs.gnu.org; 12 Jan 2013 13:26:04 +0000 Received: from localhost ([127.0.0.1]:56412 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1Tu15y-0006MY-TL for submit <at> debbugs.gnu.org; Sat, 12 Jan 2013 08:26:03 -0500 Received: from mail-ee0-f51.google.com ([74.125.83.51]:54108) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1Tu15r-0006MD-DF for 13378 <at> debbugs.gnu.org; Sat, 12 Jan 2013 08:25:52 -0500 Received: by mail-ee0-f51.google.com with SMTP id d17so145277eek.38 for <13378 <at> debbugs.gnu.org>; Sat, 12 Jan 2013 05:25:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:subject :content-type:content-transfer-encoding; bh=rhSq09e5nv1dAoZbgpmxrM8DhI77nUuqvaUjOvXUJ4M=; b=rXRJTdfG+OPceWOeVR1hAtmbdxZd7mJ4dAY7+5NSgNdVOD093tqZerbHAjV49dHBww TFRicmSzSEGVJmpuScRlk10JkaZmA31JMApZPBBEsYm8GgoijEkEjcXkLGEqWT0Vaw7z a/+Ux69sydxFq5fsjatVXMZmdCfflbFhy7r+FoZ5h0qfU4O3n8aneAaqSLXvZPg2+NrG gcrYcToqCarHZr8ZGEJ5AFz4br4R09bJ63BsurYg0CLgKcpgUekZpFWI3uKB7Hmu/pgv 7yvBPCRzGtq/E6IlcxOLGGgbDpUF9qyfj2hNN1qi8XPqWBr0bLEnMPhef7fCMGqEcF5N qhkg== X-Received: by 10.14.221.5 with SMTP id q5mr210527309eep.33.1357997133155; Sat, 12 Jan 2013 05:25:33 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id 43sm12847206eed.10.2013.01.12.05.25.31 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 12 Jan 2013 05:25:32 -0800 (PST) Message-ID: <50F16448.6040700@HIDDEN> Date: Sat, 12 Jan 2013 14:25:28 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: 0.1 (/) I thought I had managed to send the cover letter of that patch series to the bug tracker too, but I was wrong. Oh well. Here is the link: http://lists.gnu.org/archive/html/automake-patches/2013-01/msg00102.html Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH] subdir-objects: complain if it isn't enabled (was: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the default, and only available one) Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Sun, 13 Jan 2013 19:53:02 +0000 Resent-Message-ID: <handler.13378.B13378.13581067295542 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: 13378 <at> debbugs.gnu.org Cc: "automake-patches@HIDDEN" <automake-patches@HIDDEN> Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.13581067295542 (code B ref 13378); Sun, 13 Jan 2013 19:53:02 +0000 Received: (at 13378) by debbugs.gnu.org; 13 Jan 2013 19:52:09 +0000 Received: from localhost ([127.0.0.1]:58582 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TuTbD-0001RJ-DH for submit <at> debbugs.gnu.org; Sun, 13 Jan 2013 14:52:09 -0500 Received: from mail-bk0-f49.google.com ([209.85.214.49]:61043) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TuTb9-0001Qm-Dj for 13378 <at> debbugs.gnu.org; Sun, 13 Jan 2013 14:52:06 -0500 Received: by mail-bk0-f49.google.com with SMTP id jm19so1636618bkc.22 for <13378 <at> debbugs.gnu.org>; Sun, 13 Jan 2013 11:51:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=+p61TWS9sI5Lj9GP/mylH1PR0bnrXv7oIOjSlPUYhpo=; b=MbxdIJHZ90uk86H+Wg/rWflAydHDMHLpNRNt2L+kztVfunHDAForWFOAXRWVGZXP6z qxFzURHBGXFK8nXMINQFE9WSNnBAcM3+piF4AMhlAqjR9H4aYAiUVmNmjFYfXG3KxDR1 q+JjjtRPp7rPV9pldwqC1JQqEUCE3F9zeVg1okg+MiAEWB6PPz1EU+vdPBNhQL5ugKDO W+06q9fFcrjvqYBP3A0n6a7hRlUrNnvumwPPC6KEewZ446E/sglQxSUaU36ciqO0/UV9 HEXlxiKVv9FkMVaXtCJQ8q/XZD7REPfuAm6OmCamK9oTQMnlksi4Q+XYzfuWfzY9fVHj EbOw== X-Received: by 10.204.5.135 with SMTP id 7mr38002157bkv.48.1358106697639; Sun, 13 Jan 2013 11:51:37 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id f24sm8211172bkv.7.2013.01.13.11.51.35 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 13 Jan 2013 11:51:36 -0800 (PST) Message-ID: <50F31045.8080804@HIDDEN> Date: Sun, 13 Jan 2013 20:51:33 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> In-Reply-To: <50EB2B41.4080505@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) Reference: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378> On 01/07/2013 09:08 PM, Stefano Lattarini wrote: > Severity: wishlist > > Inspired from Automake-NG commit 'v1.12.1-313-g14fe163' of 2012-06-07, > "[ng] subdir-objects: enable unconditionally". > > The fact that Automake-generated Makefiles place compiled object files in > he current directory by default, also when the corresponding source file > is in a subdirectory, is basically an historical accident, due to the fact > that the 'subdir-objects' option had only been introduced in April 1999, > starting with commit 'user-dep-gen-branchpoint-56-g88b5959', and never > made the default (likely to avoid backwards-compatibility issues). > > Since I believe the behaviour enabled by the 'subdir-objects' is the most > useful one, and in fact the *only* natural one, I'd like to make it the > the only one available, simplifying the Automake implementation and APIs > a little in the process. > > Alas, since this also means changing the default behaviour of Automake > ('subdir-objects' is not enabled by default, sadly), this means the > transition path will be less smooth than I'd like. Here it is a sketch > for it: > > Automake 1.13.2 > --------------- > > Give a warning in the category 'unsupported' if the 'subdir-objects' > option is not specified. This should give the users enough forewarning > about the planned change, and give them time to update their packages > to the new semantic. > Here is a patch doing that. I will push it in a couple of days if there are no objections. Regards, Stefano ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- From 4864af66bfd189a501061d775bb9743a1285d88e Mon Sep 17 00:00:00 2001 Message-Id: <4864af66bfd189a501061d775bb9743a1285d88e.1358106576.git.stefano.lattarini@HIDDEN> From: Stefano Lattarini <stefano.lattarini@HIDDEN> Date: Sun, 13 Jan 2013 17:50:30 +0100 Subject: [PATCH] subdir-objects: complain if it isn't enabled Since the next major automake version will make the behaviour so far only activated with the 'subdir-object' option mandatory, it's better if we start warning users not using that option. As suggested by Peter Johansson, we strive to avoid the warning when it would be irrelevant, i.e., if all source files sit in "current" directory. See automake bug#13378. * automake.in (handle_single_transform): Print the warning when necessary. * t/subobj.sh: Enhance. * t/ax/depcomp.sh: Adjust. * t/cscope.tap: Likewise. * t/depcomp8a.sh: Likewise. * t/depcomp8b.sh: Likewise. * t/ext2.sh: Likewise. * t/extra-portability.sh: Likewise. * t/fort2.sh: Likewise. * t/fort4.sh: Likewise. * t/fort5.sh: Likewise. * t/lex-line.sh: Likewise. * t/libtool3.sh: Likewise. * t/ltinstloc.sh: Likewise. * t/ltlibsrc.sh: Likewise. * t/ltorder.sh: Likewise. * t/parallel-tests-suffix-prog.sh: Likewise. * t/sourcefile-in-subdir.sh: Likewise. * t/specflg9.sh: Likewise. * t/subobj4.sh: Likewise. * t/subobj7.sh: Likewise. * t/subpkg-yacc.sh: Likewise. * t/subpkg.sh: Likewise. * t/suffix-custom-subobj-and-specflg.sh: Likewise. * t/vala-libs.sh: Likewise. * t/vala-non-recursive-setup.sh: Likewise. * t/yacc-grepping2.sh: Likewise. * t/yacc-line.sh: Likewise. --- automake.in | 31 ++++++++++++++++-- t/ax/depcomp.sh | 9 +++--- t/cscope.tap | 6 ++-- t/depcomp8a.sh | 4 ++- t/depcomp8b.sh | 9 ++++-- t/ext2.sh | 1 + t/extra-portability.sh | 2 +- t/fort2.sh | 58 +++++++++++++++++++++++++-------- t/fort4.sh | 2 +- t/fort5.sh | 4 ++- t/lex-line.sh | 4 ++- t/libtool3.sh | 4 +++ t/ltinstloc.sh | 1 + t/ltlibsrc.sh | 2 ++ t/ltorder.sh | 1 + t/parallel-tests-suffix-prog.sh | 1 + t/sourcefile-in-subdir.sh | 2 +- t/specflg9.sh | 1 + t/subobj.sh | 61 +++++++++++++++++++++++++++++++---- t/subobj4.sh | 2 +- t/subobj7.sh | 1 + t/subpkg-yacc.sh | 2 +- t/subpkg.sh | 2 +- t/suffix-custom-subobj-and-specflg.sh | 11 +------ t/vala-libs.sh | 3 +- t/vala-non-recursive-setup.sh | 1 + t/yacc-grepping2.sh | 10 +++--- t/yacc-line.sh | 4 ++- 28 files changed, 183 insertions(+), 56 deletions(-) diff --git a/automake.in b/automake.in index 990b60d..0e3b882 100644 --- a/automake.in +++ b/automake.in @@ -1793,9 +1793,36 @@ sub handle_single_transform ($$$$$%) # If rewrite said it was ok, put the object into a # subdir. - if ($r == LANG_SUBDIR && $directory ne '') + if ($directory ne '') { - $object = $directory . '/' . $object; + if ($r == LANG_SUBDIR) + { + $object = $directory . '/' . $object; + } + else + { + # Since the next major version of automake (1.14) will + # make the behaviour so far only activated with the + # 'subdir-object' option mandatory, it's better if we + # start warning users not using that option. + # As suggested by Peter Johansson, we strive to avoid + # the warning when it would be irrelevant, i.e., if + # all source files sit in "current" directory. + msg_var 'unsupported', $var, + "source file '$full' is in a subdirectory," + . "\nbut option 'subdir-objects' is disabled"; + msg 'unsupported', INTERNAL, <<'EOF', uniq_scope => US_GLOBAL; +possible forward-incompatibility. +At least a source file is in a subdirectory, but the 'subdir-objects' +automake option hasn't been enabled. For now, the corresponding output +object file(s) will be placed in the top-level directory. However, +this behaviour will change in future Automake versions: they will +unconditionally cause object files to be placed in the same subdirectory +of the corresponding sources. +You are advised to start using 'subdir-objects' option throughout your +project, to avoid future incompatibilities. +EOF + } } # If the object file has been renamed (because per-target diff --git a/t/ax/depcomp.sh b/t/ax/depcomp.sh index 0e5b6a5..1534d5f 100644 --- a/t/ax/depcomp.sh +++ b/t/ax/depcomp.sh @@ -130,7 +130,7 @@ check_distclean () cat > configure.ac <<END AC_INIT([$me], [1.0]) AC_CONFIG_AUX_DIR([build-aux]) -AM_INIT_AUTOMAKE +AM_INIT_AUTOMAKE([subdir-objects]) AC_PROG_CC AM_PROG_AR $(if test $depcomp_with_libtool = yes; then @@ -199,18 +199,17 @@ ${normalized_target}_${LINKADD} = src/libbaz.$a grep-test: ## For debugging. cat \$(DEPDIR)/foo.$po || : - cat \$(DEPDIR)/subfoo.$po || : + cat sub/\$(DEPDIR)/subfoo.$po || : cat src/\$(DEPDIR)/baz.$po || : cat src/sub2/\$(DEPDIR)/sub2foo.$po || : -## Checks done here. +## Checks are done here. grep '^foo.$objext.*:' \$(DEPDIR)/foo.$po - grep '^subfoo\.$objext.*:' \$(DEPDIR)/subfoo.$po + grep '^sub/subfoo\.$objext.*:' sub/\$(DEPDIR)/subfoo.$po grep '^baz\.$objext.*:' src/\$(DEPDIR)/baz.$po grep '^sub2/sub2foo\.$objext.*:' src/sub2/\$(DEPDIR)/sub2foo.$po END cat > src/Makefile.am <<END -AUTOMAKE_OPTIONS = subdir-objects noinst_${LIBPRIMARY} = libbaz.$a # We include sub2foo only to be sure that the munging in depcomp # doesn't remove too much from the object file name. diff --git a/t/cscope.tap b/t/cscope.tap index 29feec2..9dbe01b 100755 --- a/t/cscope.tap +++ b/t/cscope.tap @@ -22,8 +22,10 @@ plan_ 18 ocwd=$(pwd) || fatal_ "getting top-level directory" -cat >> configure.ac << 'END' -AC_CONFIG_FILES([sub/Makefile]) +cat > configure.ac << 'END' +AC_INIT([cscope-test], [1.0]) +AM_INIT_AUTOMAKE([subdir-objects]) +AC_CONFIG_FILES([Makefile sub/Makefile]) AC_SUBST([CC], [who-cares]) AC_SUBST([CXX], [who-cares]) AC_SUBST([FC], [who-cares]) diff --git a/t/depcomp8a.sh b/t/depcomp8a.sh index 76aa376..d6c73ed 100755 --- a/t/depcomp8a.sh +++ b/t/depcomp8a.sh @@ -48,7 +48,9 @@ int bar (void) END $ACLOCAL -$AUTOMAKE -a +# FIXME: stop disabling the warnings in the 'unsupported' category +# FIXME: once the 'subdir-objects' option has been mandatory. +$AUTOMAKE -a -Wno-unsupported grep include Makefile.in # For debugging. grep 'include.*\./\$(DEPDIR)/foo\.P' Makefile.in grep 'include.*\./\$(DEPDIR)/bar\.P' Makefile.in diff --git a/t/depcomp8b.sh b/t/depcomp8b.sh index 52382f1..879ee1c 100755 --- a/t/depcomp8b.sh +++ b/t/depcomp8b.sh @@ -31,6 +31,9 @@ AC_OUTPUT END cat > Makefile.am << 'END' +## FIXME: stop disabling the warnings in the 'unsupported' category +## FIXME: once the 'subdir-objects' option has been mandatory. +AUTOMAKE_OPTIONS = -Wno-unsupported lib_LTLIBRARIES = libzardoz.la libzardoz_la_SOURCES = foo.c sub/bar.c END @@ -42,7 +45,9 @@ echo 'int bar (void) { return 0; }' > sub/bar.c libtoolize $ACLOCAL -$AUTOMAKE -a +# FIXME: stop disabling the warnings in the 'unsupported' category +# FIXME: once the 'subdir-objects' option has been mandatory. +$AUTOMAKE -a -Wno-unsupported grep include Makefile.in # For debugging. grep 'include.*\./\$(DEPDIR)/foo\.P' Makefile.in grep 'include.*\./\$(DEPDIR)/bar\.P' Makefile.in @@ -56,7 +61,7 @@ DISTCHECK_CONFIGURE_FLAGS='--enable-dependency-tracking' $MAKE distcheck # Try again with subdir-objects option. -echo AUTOMAKE_OPTIONS = subdir-objects >> Makefile.am +echo AUTOMAKE_OPTIONS += subdir-objects >> Makefile.am $AUTOMAKE grep include Makefile.in # For debugging. diff --git a/t/ext2.sh b/t/ext2.sh index 1089080..4858aec 100755 --- a/t/ext2.sh +++ b/t/ext2.sh @@ -25,6 +25,7 @@ AC_PROG_CXX EOF cat >Makefile.am <<EOF +AUTOMAKE_OPTIONS = subdir-objects bin_PROGRAMS = p q r p_SOURCES = a.cc b.cpp c.cxx q_SOURCES = sub/d.cc sub/e.cpp sub/f.cxx diff --git a/t/extra-portability.sh b/t/extra-portability.sh index 1ea23ad..63849c7 100755 --- a/t/extra-portability.sh +++ b/t/extra-portability.sh @@ -40,7 +40,7 @@ $ACLOCAL cat >Makefile.am <<END EXTRA_LIBRARIES = libfoo.a -libfoo_a_SOURCES = sub/foo.c +libfoo_a_SOURCES = foo.c END # Sanity check: extra-portability warnings causes the expected error. diff --git a/t/fort2.sh b/t/fort2.sh index c99e8b7..d614452 100755 --- a/t/fort2.sh +++ b/t/fort2.sh @@ -19,6 +19,7 @@ # Cf. 'fort1.sh' and 'link_f90_only.sh'. +required=gfortran # Required only in order to run ./configure. . test-init.sh mkdir sub @@ -30,33 +31,64 @@ AC_FC_SRCEXT([f95]) AC_FC_SRCEXT([f03]) AC_FC_SRCEXT([f08]) AC_FC_SRCEXT([blabla]) +AC_OUTPUT END cat >Makefile.am <<'END' +AUTOMAKE_OPTIONS = subdir-objects +FC = fake-fc bin_PROGRAMS = hello goodbye -hello_SOURCES = hello.f90 foo.f95 sub/bar.f95 hi.f03 sub/howdy.f03 greets.f08 sub/bonjour.f08 +hello_SOURCES = hello.f90 foo.f95 sub/bar.f95 hi.f03 sub/howdy.f03 \ + greets.f08 sub/bonjour.f08 goodbye_SOURCES = bye.f95 sub/baz.f90 -goodbye_FCFLAGS = +goodbye_FCFLAGS = --gby END $ACLOCAL $AUTOMAKE -# The following tests aren't fool-proof, but they don't -# need a Fortran compiler. grep '.\$(LINK)' Makefile.in && exit 1 grep '.\$(FCLINK)' Makefile.in grep '.\$(FCCOMPILE)' Makefile.in > stdout cat stdout grep -v '\$(FCFLAGS_f' stdout && exit 1 grep '.\$(FC.*\$(FCFLAGS_blabla' Makefile.in && exit 1 -# Notice the TAB: -grep '^[ ].*\$(FC.*\$(FCFLAGS_f90).*\.f90' Makefile.in -grep '^[ ].*\$(FC.*\$(FCFLAGS_f95).*\.f95' Makefile.in -grep '^[ ].*\$(FC.*\$(FCFLAGS_f03).*\.f03' Makefile.in -grep '^[ ].*\$(FC.*\$(FCFLAGS_f08).*\.f08' Makefile.in -grep '^[ ].*\$(FC.*\$(FCFLAGS_f90).*\.f95' Makefile.in && exit 1 -grep '^[ ].*\$(FC.*\$(FCFLAGS_f95).*\.f90' Makefile.in && exit 1 -grep '^[ ].*\$(FC.*\$(FCFLAGS_f90).*\.f03' Makefile.in && exit 1 -grep '^[ ].*\$(FC.*\$(FCFLAGS_f08).*\.f90' Makefile.in && exit 1 + +sed '/^AC_FC_SRCEXT.*blabla/d' configure.ac >t +mv -f t configure.ac + +rm -rf autom4te*.cache +$ACLOCAL +$AUTOMAKE +$AUTOCONF + +./configure + +touch hello.f90 foo.f95 sub/bar.f95 hi.f03 sub/howdy.f03 greets.f08 \ + sub/bonjour.f08 bye.f95 sub/baz.f90 + +$MAKE -n \ + FCFLAGS_f90=--@90 FCFLAGS_f95=--@95 FCFLAGS_f03=--@03 FCFLAGS_f08=--@08 \ + > stdout || { cat stdout; exit 1; } +cat stdout +# To make it easier to have stricter grepping below. +sed -e 's/[ ][ ]*/ /g' -e 's/^/ /' -e 's/$/ /' stdout > out +cat out + +grep ' fake-fc .* --@90 .* hello\.f90 ' out +grep ' fake-fc .* --@95 .* foo\.f95 ' out +grep ' fake-fc .* --@95 .* sub/bar\.f95 ' out +grep ' fake-fc .* --@03 .* hi\.f03 ' out +grep ' fake-fc .* --@03 .* sub/howdy\.f03 ' out +grep ' fake-fc .* --@08 .* greets\.f08 ' out +grep ' fake-fc .* --@08 .* sub/bonjour\.f08 ' out +grep ' fake-fc .* --gby .* --@95 .*[` ]bye\.f95 ' out +grep ' fake-fc .* --gby .* --@90 .*[` ]sub/baz\.f90 ' out + +test $(grep -c '.*--gby.*\.f' out) -eq 2 + +$EGREP 'fake-fc.*--@(95|03|08).*\.f90' out && exit 1 +$EGREP 'fake-fc.*--@(90|03|08).*\.f95' out && exit 1 +$EGREP 'fake-fc.*--@(90|95|08).*\.f03' out && exit 1 +$EGREP 'fake-fc.*--@(95|95|03).*\.f08' out && exit 1 : diff --git a/t/fort4.sh b/t/fort4.sh index 822edb8..2ef27ab 100755 --- a/t/fort4.sh +++ b/t/fort4.sh @@ -65,7 +65,7 @@ LDADD = $(FCLIBS) END $ACLOCAL -$AUTOMAKE -a +$AUTOMAKE -a -Wno-unsupported # The Fortran 77 linker should be preferred: grep '.\$(FCLINK)' Makefile.in && exit 1 diff --git a/t/fort5.sh b/t/fort5.sh index 0272706..7b9991b 100755 --- a/t/fort5.sh +++ b/t/fort5.sh @@ -75,7 +75,9 @@ END libtoolize --force $ACLOCAL -$AUTOMAKE -a +# FIXME: stop disabling the warnings in the 'unsupported' category +# FIXME: once the 'subdir-objects' option has been mandatory. +$AUTOMAKE -a -Wno-unsupported $AUTOCONF # This test requires Libtool >= 2.0. Earlier Libtool does not diff --git a/t/lex-line.sh b/t/lex-line.sh index 9b27c0b..258f6af 100755 --- a/t/lex-line.sh +++ b/t/lex-line.sh @@ -86,7 +86,9 @@ c_outputs='zardoz.c bar-quux.c sub/foo-zardoz.c sub/dir/quux.c' $ACLOCAL $AUTOCONF -$AUTOMAKE -a +# FIXME: stop disabling the warnings in the 'unsupported' category +# FIXME: once the 'subdir-objects' option has been mandatory. +$AUTOMAKE -a -Wno-unsupported for vpath in : false; do diff --git a/t/libtool3.sh b/t/libtool3.sh index fb8c194..5653280 100755 --- a/t/libtool3.sh +++ b/t/libtool3.sh @@ -28,6 +28,10 @@ AC_OUTPUT END cat > Makefile.am << 'END' +# FIXME: stop disabling the warnings in the 'unsupported' category +# FIXME: once the 'subdir-objects' option has been mandatory. +AUTOMAKE_OPTIONS = -Wno-unsupported + lib_LTLIBRARIES = lib0.la liba/liba.la lib0_la_SOURCES = 0.c liba_liba_la_SOURCES = liba/a.c diff --git a/t/ltinstloc.sh b/t/ltinstloc.sh index b9670cb..bae3d49 100755 --- a/t/ltinstloc.sh +++ b/t/ltinstloc.sh @@ -35,6 +35,7 @@ lib_LTLIBRARIES = liba1.la sub/liba2.la pkglib_LTLIBRARIES = liba1.la nobase_lib_LTLIBRARIES = sub/liba2.la endif +AUTOMAKE_OPTIONS = subdir-objects END libtoolize diff --git a/t/ltlibsrc.sh b/t/ltlibsrc.sh index e58bba7..8c8098b 100755 --- a/t/ltlibsrc.sh +++ b/t/ltlibsrc.sh @@ -35,6 +35,8 @@ noinst_LTLIBRARIES = foo.la zoo.d/old2.la $(srcdir)/zoo_d_old2_la.c: $(srcdir)/old_la.c cp $(srcdir)/old_la.c $@ + +AUTOMAKE_OPTIONS = -Wno-unsupported END cat > foo.c << 'END' diff --git a/t/ltorder.sh b/t/ltorder.sh index fe9d7bd..c243ac7 100755 --- a/t/ltorder.sh +++ b/t/ltorder.sh @@ -27,6 +27,7 @@ AC_OUTPUT END cat >Makefile.am <<'END' +AUTOMAKE_OPTIONS = subdir-objects nobase_lib_LTLIBRARIES = liba1.la sub/liba2.la sub/liba3.la liba4.la liba5.la sub_liba2_la_LIBADD = liba1.la sub_liba3_la_LIBADD = sub/liba2.la diff --git a/t/parallel-tests-suffix-prog.sh b/t/parallel-tests-suffix-prog.sh index 64f103c..7b924a3 100755 --- a/t/parallel-tests-suffix-prog.sh +++ b/t/parallel-tests-suffix-prog.sh @@ -27,6 +27,7 @@ AC_OUTPUT END cat > Makefile.am << 'END' +AUTOMAKE_OPTIONS = subdir-objects ## Note that automake should not match the '/test' part of 'sub/test' as ## '.test' suffix, nor the '/chk' part of 'sub/chk' as '.chk' suffix. TESTS = $(dist_TESTS) $(check_PROGRAMS) diff --git a/t/sourcefile-in-subdir.sh b/t/sourcefile-in-subdir.sh index a010776..1054f18 100755 --- a/t/sourcefile-in-subdir.sh +++ b/t/sourcefile-in-subdir.sh @@ -29,7 +29,7 @@ AC_PROG_CC END $ACLOCAL -$AUTOMAKE +$AUTOMAKE -Wno-unsupported grep '^z\.o: x/z\.c$' Makefile.in diff --git a/t/specflg9.sh b/t/specflg9.sh index 3e0c694..4f3d3b0 100755 --- a/t/specflg9.sh +++ b/t/specflg9.sh @@ -24,6 +24,7 @@ AC_OUTPUT END cat > Makefile.am << 'END' +AUTOMAKE_OPTIONS = subdir-objects bin_PROGRAMS = zzfoo zzbar zzfoo_SOURCES = sub/foo.c zzbar_SOURCES = bar.c diff --git a/t/subobj.sh b/t/subobj.sh index d16512a..22ab2d3 100755 --- a/t/subobj.sh +++ b/t/subobj.sh @@ -14,19 +14,63 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -# Test of subdir objects with C. +# Test of subdir objects with C and C++. . test-init.sh -echo AC_PROG_CC >> configure.ac +cat >> configure.ac <<'END' +AC_PROG_CC +AC_PROG_CXX +AC_PROG_YACC +AC_CONFIG_FILES([sub/Makefile]) +END + +$ACLOCAL +: > ylwrap cat > Makefile.am << 'END' -AUTOMAKE_OPTIONS = subdir-objects +SUBDIRS = sub bin_PROGRAMS = wish -wish_SOURCES = generic/a.c generic/b.c +wish_SOURCES = generic/a.c +wish_SOURCES += another/z.cxx END -$ACLOCAL +mkdir sub +cat > sub/Makefile.am << 'END' +dream_SOURCES = generic/b.c more/r.y +bin_PROGRAMS = dream +END + +AUTOMAKE_fails +grep "^Makefile\.am:3:.*'generic/a\.c'.* in a subdirectory" stderr +grep "^Makefile\.am:[34]:.*'another/z\.cxx'.* in a subdirectory" stderr +grep "^sub/Makefile\.am:1:.*'generic/b\.c'.* in a subdirectory" stderr +grep "option 'subdir-objects' is disabled" stderr +# Verbose tips should be given, but not too many times. +for msg in \ + "possible forward-incompatibility" \ + "advi[sc]e.* 'subdir-objects' option throughout" \ + "unconditionally.* object file.* same subdirectory" \ +; do + test $(grep -c "$msg" stderr) -eq 1 +done + +# Guard against stupid typos. +grep 'subdir-object([^s]|$)' stderr && exit 1 + +$AUTOMAKE -Wno-unsupported + +echo AUTOMAKE_OPTIONS = subdir-objects >> Makefile.am +AUTOMAKE_fails +grep "^Makefile\.am" stderr && exit 1 +grep "^sub/Makefile\.am:.*'generic/b\.c'.* in a subdirectory" stderr +grep "option 'subdir-objects' is disabled" stderr + +sed 's/^AM_INIT_AUTOMAKE/&([subdir-objects])/' configure.ac > configure.tmp +mv -f configure.tmp configure.ac +$ACLOCAL --force +$AUTOMAKE + rm -f compile $AUTOMAKE --add-missing 2>stderr || { cat stderr >&2; exit 1; } cat stderr >&2 @@ -35,9 +79,12 @@ grep '^configure\.ac:4:.*install.*compile' stderr test -f compile grep '^generic/a\.\$(OBJEXT):' Makefile.in -grep '[^/]a\.\$(OBJEXT)' Makefile.in && exit 1 +grep '^generic/b\.\$(OBJEXT):' sub/Makefile.in +grep '^another/z\.\$(OBJEXT):' Makefile.in +$EGREP '(^|[^/])[abz]\.\$(OBJEXT)' Makefile.in sub/Makefile.in && exit 1 # Opportunistically test for a different bug. -grep '^generic/b\.\$(OBJEXT):.*dirstamp' Makefile.in +grep '^another/z\.\$(OBJEXT):.*dirstamp' Makefile.in +grep '^generic/b\.\$(OBJEXT):.*dirstamp' sub/Makefile.in : diff --git a/t/subobj4.sh b/t/subobj4.sh index 816f506..dbbed30 100755 --- a/t/subobj4.sh +++ b/t/subobj4.sh @@ -43,7 +43,7 @@ END : > d2/z.c $ACLOCAL -$AUTOMAKE +$AUTOMAKE -Wno-unsupported grep '\$(CC) .*\.\./d2/z\.c' d1/Makefile.in diff --git a/t/subobj7.sh b/t/subobj7.sh index 5dc9ea8..de73cc2 100755 --- a/t/subobj7.sh +++ b/t/subobj7.sh @@ -25,6 +25,7 @@ AC_OUTPUT END cat > Makefile.am << 'END' +AUTOMAKE_OPTIONS = subdir-objects bin_PROGRAMS = wish wish_SOURCES = foo.c generic/a.c END diff --git a/t/subpkg-yacc.sh b/t/subpkg-yacc.sh index 639e415..9fc6761 100755 --- a/t/subpkg-yacc.sh +++ b/t/subpkg-yacc.sh @@ -49,7 +49,7 @@ mkdir lib/src cat >lib/configure.ac <<'EOF' AC_INIT([lib], [2.3]) -AM_INIT_AUTOMAKE +AM_INIT_AUTOMAKE([subdir-objects]) AC_PROG_RANLIB AC_PROG_YACC dnl This comes after YACC and RANLIB checks, deliberately. diff --git a/t/subpkg.sh b/t/subpkg.sh index 6f59ac5..f9cdc74 100755 --- a/t/subpkg.sh +++ b/t/subpkg.sh @@ -62,7 +62,7 @@ mkdir lib/src cat >lib/configure.ac <<'EOF' AC_INIT([lib], [2.3]) -AM_INIT_AUTOMAKE +AM_INIT_AUTOMAKE([subdir-objects]) AC_CONFIG_MACRO_DIR([../m4]) AM_PROG_AR AC_PROG_RANLIB diff --git a/t/suffix-custom-subobj-and-specflg.sh b/t/suffix-custom-subobj-and-specflg.sh index 32356d7..b862d88 100755 --- a/t/suffix-custom-subobj-and-specflg.sh +++ b/t/suffix-custom-subobj-and-specflg.sh @@ -53,18 +53,9 @@ END $ACLOCAL $AUTOCONF $AUTOMAKE -a -./configure -$MAKE - -$MAKE distcheck -$MAKE distclean - -# Should also work without subdir-objects. -sed '/subdir-objects/d' < Makefile.am > t -mv -f t Makefile.am -$AUTOMAKE ./configure + $MAKE $MAKE distcheck diff --git a/t/vala-libs.sh b/t/vala-libs.sh index 66fd243..f1ed99a 100755 --- a/t/vala-libs.sh +++ b/t/vala-libs.sh @@ -31,6 +31,7 @@ AC_OUTPUT END cat > Makefile.am << 'END' +AUTOMAKE_OPTIONS = subdir-objects lib_LIBRARIES = libmu.a lib_LTLIBRARIES = src/libzardoz.la libmu_a_SOURCES = mu.vala mu2.c mu.vapi mu2.h @@ -75,7 +76,7 @@ int main () } END -mkdir src +mkdir -p src cat > src/zardoz-foo.vala << 'END' using GLib; public class Foo { diff --git a/t/vala-non-recursive-setup.sh b/t/vala-non-recursive-setup.sh index 88d9d33..88f67a8 100755 --- a/t/vala-non-recursive-setup.sh +++ b/t/vala-non-recursive-setup.sh @@ -39,6 +39,7 @@ public class Zardoz { END cat > 'Makefile.am' <<'END' +AUTOMAKE_OPTIONS = subdir-objects bin_PROGRAMS = src/zardoz src_zardoz_CFLAGS = $(GOBJECT_CFLAGS) src_zardoz_LDADD = $(GOBJECT_LIBS) diff --git a/t/yacc-grepping2.sh b/t/yacc-grepping2.sh index 58a963c..3c5da22 100755 --- a/t/yacc-grepping2.sh +++ b/t/yacc-grepping2.sh @@ -34,7 +34,9 @@ mkdir sub : > sub/maude.y $ACLOCAL -$AUTOMAKE -a +# FIXME: stop disabling the warnings in the 'unsupported' category +# FIXME: once the 'subdir-objects' option has been mandatory. +$AUTOMAKE -a -Wno-unsupported grep '^maude\.c:.*maude\.y' Makefile.in @@ -47,7 +49,6 @@ bin_PROGRAMS = maude maude_SOURCES = sub/maude.y END -$ACLOCAL $AUTOMAKE -a # No rule needed, the default .y.c: inference rule is enough @@ -64,8 +65,9 @@ maude_SOURCES = sub/maude.y maude_YFLAGS = -d END -$ACLOCAL -$AUTOMAKE -a +# FIXME: stop disabling the warnings in the 'unsupported' category +# FIXME: once the 'subdir-objects' option has been mandatory. +$AUTOMAKE -a -Wno-unsupported # Rule should use maude_YFLAGS. grep 'AM_YFLAGS.*maude' Makefile.in && exit 1 diff --git a/t/yacc-line.sh b/t/yacc-line.sh index 9067a2d..b034af3 100755 --- a/t/yacc-line.sh +++ b/t/yacc-line.sh @@ -76,7 +76,9 @@ c_outputs='zardoz.c bar-quux.c sub/foo-zardoz.c sub/dir/quux.c' $ACLOCAL $AUTOCONF -$AUTOMAKE -a +# FIXME: stop disabling the warnings in the 'unsupported' category +# FIXME: once the 'subdir-objects' option has been mandatory. +$AUTOMAKE -a -Wno-unsupported for vpath in : false; do -- 1.8.1.rc3.192.g2d0029e
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH] compile: use 'compile' script when "-c -o" is used with losing compilers Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Sun, 13 Jan 2013 20:42:01 +0000 Resent-Message-ID: <handler.13378.B13378.135810968610268 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Nick Bowler <nbowler@HIDDEN> Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135810968610268 (code B ref 13378); Sun, 13 Jan 2013 20:42:01 +0000 Received: (at 13378) by debbugs.gnu.org; 13 Jan 2013 20:41:26 +0000 Received: from localhost ([127.0.0.1]:58687 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TuUMw-0002fZ-7S for submit <at> debbugs.gnu.org; Sun, 13 Jan 2013 15:41:26 -0500 Received: from mail-bk0-f47.google.com ([209.85.214.47]:49614) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TuUMs-0002fG-DT for 13378 <at> debbugs.gnu.org; Sun, 13 Jan 2013 15:41:24 -0500 Received: by mail-bk0-f47.google.com with SMTP id j4so1629565bkw.6 for <13378 <at> debbugs.gnu.org>; Sun, 13 Jan 2013 12:40:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=SXF4vaHu4YeWTQTVYrkhKSg4DHGNIllAU3g+ow+n0tU=; b=J5dXT/PysVOw1XZsPdZdNAb9q8qPsvw6a87e8onHfzpMCReZIT45zWcpzl08uH2anf DiDfv9mnadam9hdbG51di9nh6wrJWtfFHcdtIXEMDGyUqqUmsMjmiAcYa+m4OAJmv4KY EE63YLuE/wLYMt40V8vZxmQhJiup8NNiRg0mE2Dm/m59PlqogtY8ZyWP/pYaURSBqBPG JcpRzmG17Z2K36jrCxcTyYYd7GhtrwYV+JccH5uhlP0ArQcgtoenX0IG7Es6HkKH1Z5H JtTavFBiO9Pz3cqhO/8ssy7/37Dn/+udOicP9cVV7+avqsWlaF1IUIWtm8l2iNwkuXGz X9zg== X-Received: by 10.204.6.21 with SMTP id 21mr39729380bkx.77.1358109655358; Sun, 13 Jan 2013 12:40:55 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id z5sm8307155bkv.11.2013.01.13.12.40.52 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 13 Jan 2013 12:40:54 -0800 (PST) Message-ID: <50F31BD1.90507@HIDDEN> Date: Sun, 13 Jan 2013 21:40:49 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> In-Reply-To: <1358107297-15225-1-git-send-email-nbowler@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) On 01/13/2013 09:01 PM, Nick Bowler wrote: > On 2013-01-12 11:05 +0100, Stefano Lattarini wrote: >> On 01/11/2013 08:16 PM, Stefano Lattarini wrote: >>> On 01/11/2013 07:19 PM, Eric Blake wrote: >>>> On 01/10/2013 06:33 AM, Stefano Lattarini wrote: >>>>> Reference: >>>>> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#50> >>>>> >>>> >>>>> @acindex AC_PROG_CC_C_O >>>>> -This is like @code{AC_PROG_CC_C_O}, but it generates its results in >>>>> -the manner required by Automake. You must use this instead of >>>>> -@code{AC_PROG_CC_C_O} when you need this functionality, that is, when >>>>> -using per-target flags or subdir-objects with C sources. >>>>> +This is an @emph{obsolete wrapper} around @code{AC_PROG_CC_C_O}. New >>>>> +code needs not to use this macro. It might be deprecated and >>>> >>>> s/needs not to/needs not/ >>>> >>> Fixed, thanks. I will soon merge the patch into maint. >>> >> Done. Also merged maint into master, and pushed. > > Hm, so much for waiting a week to push... > No harm done. We already have simplest and sanest semantics than before (which is good). If you patches make that even simpler and saner, we can only rejoice :-). That said, it would be really nice if you could you rebase your changes on current maint (not master), and adjust the commit messages to match. > This all seems like needless complexity. > I didn't particularly care, since most of that complexity was expected to either disappeared or be moved into Autoconf by the time of the Automake 1.14 release. But if we can remove this complexity *today*, with no loss in functionality and no complication in interfaces, well, I certainly won't complain :-) > It's unclear to me why > my earlier suggestion (using AC_CONFIG_COMMANDS_PRE to expand > AM_PROG_CC_C_O) was inadequate. > Mostly it got lost in the noise, and I didn't consider it carefully enough. Right now, I can't think of any problem with your approach. So, unless somebody else objects or points out possible issues, I believe that would be a better approach than mine. > This would also require no changes to autoconf, and we would not > need to deprecate AM_PROG_CC_C_O, > JFTR, we don't need to do so with my patch either. AM_PROG_CC_C_O is simply a no-op now. Which I believe is good (see also my reply to your second patch for more considerations about this). > so no backwards compatibility hacks are required. > They already aren't required, luckily. > These patches no longer apply to master, > They should go in maint, BTW, since the change is to appear in Automake 1.13.2. > but here they are anyway. > > Nick Bowler (2): > Use AC_DEFUN_ONCE to define AM_PROG_CC_C_O. > Automatically call AM_PROG_CC_C_O as required. > > m4/init.m4 | 5 +++++ > m4/minuso.m4 | 2 +- > 2 files changed, 6 insertions(+), 1 deletion(-) > Thanks, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH 2/2] Automatically call AM_PROG_CC_C_O as required. Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Sun, 13 Jan 2013 20:42:02 +0000 Resent-Message-ID: <handler.13378.B13378.135810970110297 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Nick Bowler <nbowler@HIDDEN> Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135810970110297 (code B ref 13378); Sun, 13 Jan 2013 20:42:02 +0000 Received: (at 13378) by debbugs.gnu.org; 13 Jan 2013 20:41:41 +0000 Received: from localhost ([127.0.0.1]:58690 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TuUNA-0002g1-NC for submit <at> debbugs.gnu.org; Sun, 13 Jan 2013 15:41:41 -0500 Received: from mail-ee0-f46.google.com ([74.125.83.46]:54003) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TuUN9-0002fn-99 for 13378 <at> debbugs.gnu.org; Sun, 13 Jan 2013 15:41:40 -0500 Received: by mail-ee0-f46.google.com with SMTP id e49so1636779eek.19 for <13378 <at> debbugs.gnu.org>; Sun, 13 Jan 2013 12:41:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=e1odiefTVhu+k9cEcI7IJq44tvAlxPxl2cx7hgxAH3Q=; b=s22jEZAaRXOJMN7pfRwd4YGgNdV7CuBvchSfgGO9wG8eGKj3pgIbbW+7kfwYt+kmSL RPU58JPTUPlVW32mCZritYcFO77RurKqgaBybs4oMFPtssz3nhSKIQJQJ9Wx2UF3muE/ m/ihaucT/8IgPsaJQbPZDoa41K0ochqM0ju1fT2DYv07zANnCRHnXLr0ZgO+i/Xl1yBW PZbSYibnbb8+D8f9twiRbZraTL2cJsUUzZsGxCF7bTpBdKjjZ4dErspkmU8ZlSDxUuLG IDUtHXMirDt2GmW+8XgJfd1mfUwlAeaEFxFX13Th1NnWTS9FA2YjAQ/DKzTZeNeixlbr a5TQ== X-Received: by 10.14.219.3 with SMTP id l3mr222392302eep.5.1358109672271; Sun, 13 Jan 2013 12:41:12 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id z8sm18865036eeo.11.2013.01.13.12.41.10 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 13 Jan 2013 12:41:11 -0800 (PST) Message-ID: <50F31BE3.2030602@HIDDEN> Date: Sun, 13 Jan 2013 21:41:07 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> <1358107297-15225-3-git-send-email-nbowler@HIDDEN> In-Reply-To: <1358107297-15225-3-git-send-email-nbowler@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) On 01/13/2013 09:01 PM, Nick Bowler wrote: > If subdir-objects is made the default Automake behaviour, packages > will need to add AM_PROG_CC_C_O to their configure.ac. Instead of > that, let's just make the functionality provided by AM_PROG_CC_C_O > mandatory for C projects, and have Automake automatically call it > as required. > > This change should have no effect on packages which explicitly call > AM_PROG_CC_C_O already. > > * m4/init.m4: Have AM_INIT_AUTOMAKE arrange for AM_PROG_CC_C_O to be > called if necessary. > --- > m4/init.m4 | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/m4/init.m4 b/m4/init.m4 > index 7535706..6c48704 100644 > --- a/m4/init.m4 > +++ b/m4/init.m4 > @@ -109,6 +109,11 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], > [m4_define([AC_PROG_OBJCXX], > m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl > ]) > +dnl Automatically invoke AM_PROG_CC_C_O as necessary. Since AC_PROG_CC is > +dnl usually called after AM_INIT_AUTOMAKE, we arrange for the test to be > +dnl done later by AC_CONFIG_COMMANDS_PRE. > This would also have the advantage that we shouldn't worry about possible $CC rewrites between the AC_PROG_CC and the AC_OUTPUT invocation. Your approach might actually be not only the simplest, but also the sanest one. That said, I believe we'd still have to fix AM_PROG_CC_C_O not to rely on the broken AC_PROG_CC_C_O semantics of checking *both* '$CC' and 'cc' for "-c -o" support. But that is quite orthogonal to your patch, and material for a follow-up anyway. Another useful follow-up would be to move the AM_PROG_CC_C_O in a private macro (to be expanded in AC_CONFIG_COMMANDS_PRE like you did above), and make AM_PROG_CC_C_O a no-op (without runtime deprecation). That way, we could rely on the improved semantic of having the potential '$CC' rewrite placed near the end of configure, rather than near the beginning. WDYT? > +AC_CONFIG_COMMANDS_PRE([AC_PROVIDE_IFELSE([AC_PROG_CC], > + [AC_LANG([C]) AM_PROG_CC_C_O])])dnl > AC_REQUIRE([AM_SILENT_RULES])dnl > dnl The testsuite driver may need to know about EXEEXT, so add the > dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This Thanks, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: Backward-compatibility in the autotools Resent-From: Peter Johansson <trojkan@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Sun, 13 Jan 2013 22:46:02 +0000 Resent-Message-ID: <handler.13378.B13378.135811712821674 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org, "automake-patches@HIDDEN" <automake-patches@HIDDEN> Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135811712821674 (code B ref 13378); Sun, 13 Jan 2013 22:46:02 +0000 Received: (at 13378) by debbugs.gnu.org; 13 Jan 2013 22:45:28 +0000 Received: from localhost ([127.0.0.1]:58763 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TuWIx-0005dX-Kh for submit <at> debbugs.gnu.org; Sun, 13 Jan 2013 17:45:27 -0500 Received: from mail-pa0-f49.google.com ([209.85.220.49]:38018) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <trojkan@HIDDEN>) id 1TuWIv-0005dK-9f for 13378 <at> debbugs.gnu.org; Sun, 13 Jan 2013 17:45:26 -0500 Received: by mail-pa0-f49.google.com with SMTP id bi1so1874093pad.22 for <13378 <at> debbugs.gnu.org>; Sun, 13 Jan 2013 14:44:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:user-agent:mime-version:to:cc :subject:references:in-reply-to:content-type :content-transfer-encoding; bh=Ns6xVbgMdlBhw0CVEocR7lE7CSOXUBYBS5EHaasfxLU=; b=l4YdvHGTOE98TIMCucYs/sXDKeS1jj3Z67n8VzAreacGI5BUEbGBzwD6xGfdLoIn8q PrMs4Mu8R/9mzy5AO2hLvdY4Bq/2KIsGak3boByRHttUWGtxo8NhqTk1qpP5250XHyDh gXI14zT0UnUisb3RzgD2Gf+prCcxyWHZCdsyav7risrqj6qdR86M9TAvIIvKrkCZ5sI3 fpZM7JM94mTX65p+Sy77fsSU4xQLwIB+RMtuEsRAVNRKAHtibs5HJayWMJCA/ZOWqSdc lUKEvSAjtqnQz14CAbpt3I3JPAZdAzMd3S+WbXTeF1t/N2T4ZuxBFwfgUos9cSMRG6xT wcaQ== X-Received: by 10.68.251.136 with SMTP id zk8mr246591329pbc.82.1358117098807; Sun, 13 Jan 2013 14:44:58 -0800 (PST) Received: from [152.98.48.237] (gateway.qimr.edu.au. [152.98.8.1]) by mx.google.com with ESMTPS id ql9sm6957901pbc.61.2013.01.13.14.44.54 (version=TLSv1 cipher=RC4-SHA bits=128/128); Sun, 13 Jan 2013 14:44:56 -0800 (PST) Message-ID: <50F3374F.7040607@HIDDEN> Date: Mon, 14 Jan 2013 08:38:07 +1000 From: Peter Johansson <trojkan@HIDDEN> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.11) Gecko/20121116 Thunderbird/10.0.11 MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <alpine.LNX.2.00.1301081048240.2136@HIDDEN> <50EBF68E.3000209@HIDDEN> <50EC0E41.9020307@HIDDEN> <20130108145320.GA15564@HIDDEN> <50EC3825.8000404@HIDDEN> <50EC3B75.1030707@HIDDEN> <50EC7338.6010003@HIDDEN> <50EEC31F.2040309@HIDDEN> <50F057CB.9060407@HIDDEN> <50F05DD3.7050602@HIDDEN> In-Reply-To: <50F05DD3.7050602@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -0.7 (/) On 01/12/2013 04:45 AM, Stefano Lattarini wrote: >> As a rule of thumb on when to remove a macro - I would personally like >> > being able to write a configure script that works on both RHEL 5 (or >> > CentOS 5) (autoconf 2.59, automake 1.9.6) as well as rawhide (eventually >> > automake 1.14 and beyond), for as long as RHEL 5 remains a viable >> > Enterprise-level distro. >> > > I'm quite unconvinced of the value in trying to support this. Developers > should just keep their tool reasonably up-to date IMHO; if they can't > do so through their package manager, they should do so by installing > from source. Keeping autotools might be trivial in one-man-projects, but imposing that kind of requirement in larger teams is just causing head ache and friction, as most members wouldn't barely know what autotools are and even less interested in spending any time on upgrading tools that should just work under then hood. Cheers, Peter
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH] compile: use 'compile' script when "-c -o" is used with losing compilers Resent-From: Nick Bowler <nbowler@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Mon, 14 Jan 2013 00:46:04 +0000 Resent-Message-ID: <handler.13378.B13378.135812434732462 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135812434732462 (code B ref 13378); Mon, 14 Jan 2013 00:46:04 +0000 Received: (at 13378) by debbugs.gnu.org; 14 Jan 2013 00:45:47 +0000 Received: from localhost ([127.0.0.1]:58836 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TuYBO-0008RW-3G for submit <at> debbugs.gnu.org; Sun, 13 Jan 2013 19:45:47 -0500 Received: from mail-vc0-f169.google.com ([209.85.220.169]:34326) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <nbowler@HIDDEN>) id 1TuTmV-0001iu-Dq for 13378 <at> debbugs.gnu.org; Sun, 13 Jan 2013 15:03:48 -0500 Received: by mail-vc0-f169.google.com with SMTP id gb23so2921035vcb.14 for <13378 <at> debbugs.gnu.org>; Sun, 13 Jan 2013 12:03:22 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:sender:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references:x-gm-message-state; bh=3ktY9OUJ54zujVbP7+F//gmSFPCl3pziMEF0KRkYP5g=; b=EKD4sACox4tyfqhBO3mMD1tgfB57bVqUGCbKwob13uMXbTtwaqbIjbSK66IdH9a/NJ KvgjdKWFSsgLCePkayWlOEs65WzoNgdMcWV9PKPYpisygFnYqZyKFdjkN8bcE6SaQsZk 8i5n7S7dJspbEr+aPYhp5v4NtLYWKGAvMVTuzckTEiT72ViMGvmhF9s9HhcMNH/ToVBU crxBadY2yMfnnbHh0GK14dTmoqC0RP08oLH+l1gqpOI/lAzC51BskkUydUKqQNrIZ0ed Xa2bSV42qXAidfFz9GHYc2IgdDRW3NDslWeq43fnR5gY0vQha7oRuCL+Dly22ctPf4AG K8zg== X-Received: by 10.220.149.17 with SMTP id r17mr100311189vcv.0.1358107402137; Sun, 13 Jan 2013 12:03:22 -0800 (PST) Received: from localhost (CPE001ee57ab26d-CM000a735d80e8.cpe.net.cable.rogers.com. [174.115.10.148]) by mx.google.com with ESMTPS id n10sm5642321vde.9.2013.01.13.12.03.19 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sun, 13 Jan 2013 12:03:21 -0800 (PST) From: Nick Bowler <nbowler@HIDDEN> Date: Sun, 13 Jan 2013 15:01:35 -0500 Message-Id: <1358107297-15225-1-git-send-email-nbowler@HIDDEN> X-Mailer: git-send-email 1.8.1 In-Reply-To: <50F1356A.6000904@HIDDEN> References: <50F1356A.6000904@HIDDEN> X-Gm-Message-State: ALoCoQk1+pS5sFmq7DdAiQPhFmSDLdzdjqm7GfbkyKSHuG7M4EX7aOdfDRpHYJ0KOVPY5mRiiwZ7 X-Spam-Score: 0.1 (/) X-Mailman-Approved-At: Sun, 13 Jan 2013 19:45:44 -0500 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) On 2013-01-12 11:05 +0100, Stefano Lattarini wrote: > On 01/11/2013 08:16 PM, Stefano Lattarini wrote: > > On 01/11/2013 07:19 PM, Eric Blake wrote: > >> On 01/10/2013 06:33 AM, Stefano Lattarini wrote: > >>> Reference: > >>> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#50> > >>> > >> > >>> @acindex AC_PROG_CC_C_O > >>> -This is like @code{AC_PROG_CC_C_O}, but it generates its results in > >>> -the manner required by Automake. You must use this instead of > >>> -@code{AC_PROG_CC_C_O} when you need this functionality, that is, when > >>> -using per-target flags or subdir-objects with C sources. > >>> +This is an @emph{obsolete wrapper} around @code{AC_PROG_CC_C_O}. New > >>> +code needs not to use this macro. It might be deprecated and > >> > >> s/needs not to/needs not/ > >> > > Fixed, thanks. I will soon merge the patch into maint. > > > Done. Also merged maint into master, and pushed. Hm, so much for waiting a week to push... This all seems like needless complexity. It's unclear to me why my earlier suggestion (using AC_CONFIG_COMMANDS_PRE to expand AM_PROG_CC_C_O) was inadequate. This would also require no changes to autoconf, and we would not need to deprecate AM_PROG_CC_C_O, so no backwards compatibility hacks are required. These patches no longer apply to master, but here they are anyway. Nick Bowler (2): Use AC_DEFUN_ONCE to define AM_PROG_CC_C_O. Automatically call AM_PROG_CC_C_O as required. m4/init.m4 | 5 +++++ m4/minuso.m4 | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) -- 1.8.1
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH 1/2] Use AC_DEFUN_ONCE to define AM_PROG_CC_C_O. Resent-From: Nick Bowler <nbowler@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Mon, 14 Jan 2013 00:47:02 +0000 Resent-Message-ID: <handler.13378.B13378.135812437832573 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135812437832573 (code B ref 13378); Mon, 14 Jan 2013 00:47:02 +0000 Received: (at 13378) by debbugs.gnu.org; 14 Jan 2013 00:46:18 +0000 Received: from localhost ([127.0.0.1]:58847 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TuYBu-0008TJ-0u for submit <at> debbugs.gnu.org; Sun, 13 Jan 2013 19:46:18 -0500 Received: from mail-vc0-f178.google.com ([209.85.220.178]:49293) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <nbowler@HIDDEN>) id 1TuTmb-0001j8-UN for 13378 <at> debbugs.gnu.org; Sun, 13 Jan 2013 15:03:54 -0500 Received: by mail-vc0-f178.google.com with SMTP id l6so2969666vcl.9 for <13378 <at> debbugs.gnu.org>; Sun, 13 Jan 2013 12:03:29 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:sender:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references:x-gm-message-state; bh=v73yIVzkkt12LEgjr42Kn0OwuH5YSIaceiUlkOaB6Go=; b=gD0M/6RQePX8C2b0SjMJ0Wm/FO4UTrto5TsqcSIBIcTGjrpqobPSeIAuy3hqsUkNgo RWaWqrlKKTuISMUd3hA5ts+tMKZVeP4ELqvSIOkMQ2/vfLohS9F5qk+6Ig3PzTzWF89a 2LXckFK76zwpNLa1ySisuzjMGQajMJYziiokEpFEezQaUuaAHXhYruEdcVBew1o7wzQf C+ECCbi4ovwlOw+/2/xcCTYEICHvK0UomDLOwCaa9PW8Y1FS/CQQmtfEosusoDhP17AF vIquew5WgPhAKWaS8GQQ7FMB+PdGhlOSXBqmDKU4dLYLrACgGF/BLZkHxyRN++u3rYVK uMfw== X-Received: by 10.220.219.204 with SMTP id hv12mr98287432vcb.71.1358107408860; Sun, 13 Jan 2013 12:03:28 -0800 (PST) Received: from localhost (CPE001ee57ab26d-CM000a735d80e8.cpe.net.cable.rogers.com. [174.115.10.148]) by mx.google.com with ESMTPS id dx4sm5639783vdb.16.2013.01.13.12.03.27 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sun, 13 Jan 2013 12:03:28 -0800 (PST) From: Nick Bowler <nbowler@HIDDEN> Date: Sun, 13 Jan 2013 15:01:36 -0500 Message-Id: <1358107297-15225-2-git-send-email-nbowler@HIDDEN> X-Mailer: git-send-email 1.8.1 In-Reply-To: <1358107297-15225-1-git-send-email-nbowler@HIDDEN> References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> X-Gm-Message-State: ALoCoQlJZsSAyPCAZqH2aXh51gfZCM1AV0gwDiD8Ap5WoEQwTZ3DCStIudueUStPOvJ0y7Si7ZWg X-Spam-Score: -0.7 (/) X-Mailman-Approved-At: Sun, 13 Jan 2013 19:46:16 -0500 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) If AM_PROG_CC_C_O is expanded multiple times, and the compiler does not support -c and -o together, each expansion of the macro will prepend the compile script to CC. This can result in the compile script invoking the compile script, which at best pointless and silly. Fortunately, there does not appear to be any serious problems as the first compile invocation strips out -o options, causing subsequent invocations of the script to merely exec their arguments. Other than fixing the above, this should not normally cause any changes to the resulting configure script, except in the (hopefully rare) case where AM_PROG_CC_C_O is directly expanded (i.e., *not* using AC_REQUIRE) in the body of a macro defined with AC_DEFUN. In that case, the use of AC_DEFUN_ONCE may cause the expansion of AM_PROG_CC_C_O to appear earlier in the configure script. * m4/minuso.m4: Change the definition of AM_PROG_CC_C_O to AC_DEFUN_ONCE, avoiding problems caused by multiple expansions. --- m4/minuso.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/m4/minuso.m4 b/m4/minuso.m4 index 984427c..06f74c9 100644 --- a/m4/minuso.m4 +++ b/m4/minuso.m4 @@ -8,7 +8,7 @@ # AM_PROG_CC_C_O # -------------- # Like AC_PROG_CC_C_O, but changed for automake. -AC_DEFUN([AM_PROG_CC_C_O], +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC_C_O])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl -- 1.8.1
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH 2/2] Automatically call AM_PROG_CC_C_O as required. Resent-From: Nick Bowler <nbowler@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Mon, 14 Jan 2013 00:51:01 +0000 Resent-Message-ID: <handler.13378.B13378.1358124616489 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.1358124616489 (code B ref 13378); Mon, 14 Jan 2013 00:51:01 +0000 Received: (at 13378) by debbugs.gnu.org; 14 Jan 2013 00:50:16 +0000 Received: from localhost ([127.0.0.1]:58852 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TuYFi-00007o-L0 for submit <at> debbugs.gnu.org; Sun, 13 Jan 2013 19:50:15 -0500 Received: from mail-vc0-f175.google.com ([209.85.220.175]:48652) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <nbowler@HIDDEN>) id 1TuTme-0001jN-VT for 13378 <at> debbugs.gnu.org; Sun, 13 Jan 2013 15:03:58 -0500 Received: by mail-vc0-f175.google.com with SMTP id fy7so2913291vcb.20 for <13378 <at> debbugs.gnu.org>; Sun, 13 Jan 2013 12:03:31 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:sender:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references:x-gm-message-state; bh=16CSy8EetvsWr/pimzCIFGXJvEAJKGTgUUcD0akOfTE=; b=NUTgI3pfVFIePP0d9mQwFWNONTOu39z3Jde3R6rhWTY3gOhffYW+Yq+yazlbqjGn3Y EJE0/XtqlUSuBOICSafjxge7t8fWjMeb1ezRcnvTBIMSkmJa/8IdcREenhkluQBam65m rwAVANU8oEFuxj6l3UqnuWtkZQiY2qJgx9HDc7Sky/GQxCN/+uenkPHb/n03iN6zfu9I KELJiuFUqj3oFXn71zmz6AVOJNkq3VrJ1pCJJuU0OpZ9zh+mHxJ7q2PmjHPURzYlkeLh zaFMqAHPgZsdSG+Aeqvos4vlDnM/JovW9gnsrc7vkpRrjCGg1xCYQo7DfK4jEu8vuS3/ NOAA== X-Received: by 10.52.70.46 with SMTP id j14mr86264223vdu.99.1358107411834; Sun, 13 Jan 2013 12:03:31 -0800 (PST) Received: from localhost (CPE001ee57ab26d-CM000a735d80e8.cpe.net.cable.rogers.com. [174.115.10.148]) by mx.google.com with ESMTPS id yu4sm5097060veb.7.2013.01.13.12.03.30 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sun, 13 Jan 2013 12:03:31 -0800 (PST) From: Nick Bowler <nbowler@HIDDEN> Date: Sun, 13 Jan 2013 15:01:37 -0500 Message-Id: <1358107297-15225-3-git-send-email-nbowler@HIDDEN> X-Mailer: git-send-email 1.8.1 In-Reply-To: <1358107297-15225-1-git-send-email-nbowler@HIDDEN> References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> X-Gm-Message-State: ALoCoQlXNvEZRpltPOz2nYw0X4R+yqhxoRP818r3T160wDtIWzxMjDnaVs/5SXPNi8SB9xQaY0V5 X-Spam-Score: 0.1 (/) X-Mailman-Approved-At: Sun, 13 Jan 2013 19:50:13 -0500 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) If subdir-objects is made the default Automake behaviour, packages will need to add AM_PROG_CC_C_O to their configure.ac. Instead of that, let's just make the functionality provided by AM_PROG_CC_C_O mandatory for C projects, and have Automake automatically call it as required. This change should have no effect on packages which explicitly call AM_PROG_CC_C_O already. * m4/init.m4: Have AM_INIT_AUTOMAKE arrange for AM_PROG_CC_C_O to be called if necessary. --- m4/init.m4 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/m4/init.m4 b/m4/init.m4 index 7535706..6c48704 100644 --- a/m4/init.m4 +++ b/m4/init.m4 @@ -109,6 +109,11 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) +dnl Automatically invoke AM_PROG_CC_C_O as necessary. Since AC_PROG_CC is +dnl usually called after AM_INIT_AUTOMAKE, we arrange for the test to be +dnl done later by AC_CONFIG_COMMANDS_PRE. +AC_CONFIG_COMMANDS_PRE([AC_PROVIDE_IFELSE([AC_PROG_CC], + [AC_LANG([C]) AM_PROG_CC_C_O])])dnl AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This -- 1.8.1
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH 2/2] Automatically call AM_PROG_CC_C_O as required. Resent-From: Nick Bowler <nbowler@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Mon, 14 Jan 2013 00:51:02 +0000 Resent-Message-ID: <handler.13378.B13378.1358124621503 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.1358124621503 (code B ref 13378); Mon, 14 Jan 2013 00:51:02 +0000 Received: (at 13378) by debbugs.gnu.org; 14 Jan 2013 00:50:21 +0000 Received: from localhost ([127.0.0.1]:58854 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TuYFk-00007r-89 for submit <at> debbugs.gnu.org; Sun, 13 Jan 2013 19:50:20 -0500 Received: from mail-lb0-f181.google.com ([209.85.217.181]:43775) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <draconx@HIDDEN>) id 1TuUlk-0003HX-Dm for 13378 <at> debbugs.gnu.org; Sun, 13 Jan 2013 16:07:05 -0500 Received: by mail-lb0-f181.google.com with SMTP id ge1so2511468lbb.12 for <13378 <at> debbugs.gnu.org>; Sun, 13 Jan 2013 13:06:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=JiixkvCCah5lThgYb9pxjRB3TZQh7myggdaLhJcVgg0=; b=HTQHJ4+C2O1lbAcyxHmg7taZN1TAGB0CcmChHyvi6wZvMV2HEhcrvfRqmUkS11kQLs +K70fU2RYpmHxVyzm6FkCeLJ+b5UPjFRXxZ7HoAwViBhEXwFjr8hA6piowQEd8hIPp35 RPFQptvEbwCYAPXy/lboO9a151tOY53641/64yYNfbCnJrRq7fu4uBxDY4j1sCIi/2qZ q6Rogboqm34zaDhB1M/rYgHCdhf4WHqn/eEQZUBO3AkrDypCh/1NAgHsmHLL4Ufk0vn7 blGUtuu2hM26EuRoUW52JAmSTo19YzPdtC1Atvtkdv1r+9aZXfg8tKCIr9Ys55OTvbkS vx/w== MIME-Version: 1.0 Received: by 10.152.125.240 with SMTP id mt16mr79866153lab.17.1358111198227; Sun, 13 Jan 2013 13:06:38 -0800 (PST) Received: by 10.152.6.6 with HTTP; Sun, 13 Jan 2013 13:06:38 -0800 (PST) In-Reply-To: <50F31BE3.2030602@HIDDEN> References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> <1358107297-15225-3-git-send-email-nbowler@HIDDEN> <50F31BE3.2030602@HIDDEN> Date: Sun, 13 Jan 2013 16:06:38 -0500 X-Google-Sender-Auth: LF5hg_EnCI-hp_Gb_RHehWKmaug Message-ID: <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> From: Nick Bowler <nbowler@HIDDEN> Content-Type: text/plain; charset=UTF-8 X-Spam-Score: 0.1 (/) X-Mailman-Approved-At: Sun, 13 Jan 2013 19:50:13 -0500 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -0.7 (/) On 2013-01-13, Stefano Lattarini <stefano.lattarini@HIDDEN> wrote: > On 01/13/2013 09:01 PM, Nick Bowler wrote: >> +dnl Automatically invoke AM_PROG_CC_C_O as necessary. Since AC_PROG_CC is >> +dnl usually called after AM_INIT_AUTOMAKE, we arrange for the test to be >> +dnl done later by AC_CONFIG_COMMANDS_PRE. > > This would also have the advantage that we shouldn't worry about possible > $CC rewrites between the AC_PROG_CC and the AC_OUTPUT invocation. Your > approach might actually be not only the simplest, but also the sanest one. > > That said, I believe we'd still have to fix AM_PROG_CC_C_O not to rely on > the broken AC_PROG_CC_C_O semantics of checking *both* '$CC' and 'cc' for > "-c -o" support. But that is quite orthogonal to your patch, and material > for a follow-up anyway. Well, that seem more like a something to change in Autoconf, not requiring any change in Automake (except maybe we could also fix the crazy cache variable naming scheme). I admit I do not understand the rationale for Autoconf testing "plain" cc in addition to the real compiler. > Another useful follow-up would be to move the AM_PROG_CC_C_O in a private > macro (to be expanded in AC_CONFIG_COMMANDS_PRE like you did above), and > make AM_PROG_CC_C_O a no-op (without runtime deprecation). That way, we > could rely on the improved semantic of having the potential '$CC' rewrite > placed near the end of configure, rather than near the beginning. WDYT? With AC_CONFIG_COMMANDS_PRE, AM_PROG_CC_C_O would still be required if package authors want to make use of the "compile" wrapper in configure tests -- essentially, configure.ac can call AM_PROG_CC_C_O to force the test to happen where it is needed, rather than just before AC_OUTPUT. I think it'd be worthwhile to keep that working. Cheers, Nick
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH 2/2] Automatically call AM_PROG_CC_C_O as required. Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Mon, 14 Jan 2013 10:24:01 +0000 Resent-Message-ID: <handler.13378.B13378.13581590244490 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Nick Bowler <nbowler@HIDDEN> Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.13581590244490 (code B ref 13378); Mon, 14 Jan 2013 10:24:01 +0000 Received: (at 13378) by debbugs.gnu.org; 14 Jan 2013 10:23:44 +0000 Received: from localhost ([127.0.0.1]:59197 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TuhCh-0001AM-Cj for submit <at> debbugs.gnu.org; Mon, 14 Jan 2013 05:23:44 -0500 Received: from mail-lb0-f176.google.com ([209.85.217.176]:58398) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TuhCe-0001A7-KW for 13378 <at> debbugs.gnu.org; Mon, 14 Jan 2013 05:23:41 -0500 Received: by mail-lb0-f176.google.com with SMTP id k6so2755451lbo.7 for <13378 <at> debbugs.gnu.org>; Mon, 14 Jan 2013 02:23:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=Es6vV28JRFgY1LHA/KIQoIO/ukfmIeFmzSCS057//08=; b=NoPwOQKkXSx7ksL8AMgfVuFiX564no/eB4gWUx6ceog4GGfTyAnc0B04zGHmZvb3um giFLojKMtnhHko67htA68KmX6hnvuN0KLPXM5y2fVUJo2HvpEoHsNMz9t7yhuwUeWJ3h smOPrn3xRfWIfuRo9Bz1Ny0f3HKA3wzMxtbHFLBN9qpzGLidM0JAZsIZLBlNsknD4yUd hEefuKdO2tRLEHkGxosUtkVxseCJ+UMcnuuIfUy95vVB9avVzmp/SF64SIoAu79cx7N4 AAL+by8GlEvuFUYjAG554unqt/n+A1jb4M+PNOYgyG751AMn5Bav7Fygo/dWrwc9qRcz ypuA== X-Received: by 10.152.134.243 with SMTP id pn19mr80891476lab.11.1358158991536; Mon, 14 Jan 2013 02:23:11 -0800 (PST) Received: from [192.168.178.20] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id ie3sm4978620lab.4.2013.01.14.02.23.09 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 14 Jan 2013 02:23:10 -0800 (PST) Message-ID: <50F3DC84.1030701@HIDDEN> Date: Mon, 14 Jan 2013 11:23:00 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> <1358107297-15225-3-git-send-email-nbowler@HIDDEN> <50F31BE3.2030602@HIDDEN> <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> In-Reply-To: <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) On 01/13/2013 10:06 PM, Nick Bowler wrote: > On 2013-01-13, Stefano Lattarini <stefano.lattarini@HIDDEN> wrote: > >> Another useful follow-up would be to move the AM_PROG_CC_C_O in a private >> macro (to be expanded in AC_CONFIG_COMMANDS_PRE like you did above), and >> make AM_PROG_CC_C_O a no-op (without runtime deprecation). That way, we >> could rely on the improved semantic of having the potential '$CC' rewrite >> placed near the end of configure, rather than near the beginning. WDYT? > > With AC_CONFIG_COMMANDS_PRE, AM_PROG_CC_C_O would still be required if > package authors want to make use of the "compile" wrapper in configure > tests -- essentially, configure.ac can call AM_PROG_CC_C_O to force the > test to happen where it is needed, rather than just before AC_OUTPUT. > > I think it'd be worthwhile to keep that working. > Ah, but the $CC rewrite has always been an undocumented hack, and relying on it is a bad idea. Still, your reasoning makes it clear that changing that semantics abruptly might cause subtle backward-incompatibilities in corner-case but perfectly valid situations. Hmmm... I think it's better to follow your approach for now, and then, if and when we decide to fix our macros not to rewrite $CC, do so with proper NEWS and documentation warnings beforehand, and a viable deprecation plan. Thanks, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: Cleaning up AC_PROG_CC_C_O semantics (was: Re: [PATCH 2/2] Automatically call AM_PROG_CC_C_O as required.) Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Mon, 14 Jan 2013 10:25:02 +0000 Resent-Message-ID: <handler.13378.B13378.13581590924597 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Nick Bowler <nbowler@HIDDEN> Cc: "bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>, Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.13581590924597 (code B ref 13378); Mon, 14 Jan 2013 10:25:02 +0000 Received: (at 13378) by debbugs.gnu.org; 14 Jan 2013 10:24:52 +0000 Received: from localhost ([127.0.0.1]:59201 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TuhDo-0001C5-BJ for submit <at> debbugs.gnu.org; Mon, 14 Jan 2013 05:24:52 -0500 Received: from mail-lb0-f169.google.com ([209.85.217.169]:48600) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TuhDm-0001Bs-5C for 13378 <at> debbugs.gnu.org; Mon, 14 Jan 2013 05:24:51 -0500 Received: by mail-lb0-f169.google.com with SMTP id gk1so2820293lbb.14 for <13378 <at> debbugs.gnu.org>; Mon, 14 Jan 2013 02:24:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=uFYzDVIcHGyi48wUOKHfbMg8YdDMR8+bxalI3Bn9kVc=; b=z0enTOP+hEST3yzsuP1htUOZUfaUhni6K8JwfyWcFZ8pfgl913Cn1befwwL3rb5kqO AFBbg/nzD6RaPawViOXWaL2Mn8FBJadV483TZ9na1vmvDt9c19f/2GD0Eew+nitcKxee 5NvWWjizdKLRxtiZiVMOfWZyEmIEqWath+ghIgKEM872wa80qNkBN2J4uDuuk98gsfCD fTx52z9shf5N330Y3NHoSaMIEeDxOmMhTZBQOPUlkaNA+69hhlRwhodMPvHNdk38F5Ae be6vlpsoIXo+fmbNyMeXRpIkfT4EWmWkcP+qq9a+sIwpwPnRjd4mY6qUy+0bKtefpccI vhLA== X-Received: by 10.112.17.14 with SMTP id k14mr34510073lbd.61.1358159060994; Mon, 14 Jan 2013 02:24:20 -0800 (PST) Received: from [192.168.178.20] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id v7sm5054790lbj.13.2013.01.14.02.24.18 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 14 Jan 2013 02:24:20 -0800 (PST) Message-ID: <50F3DCD1.7020309@HIDDEN> Date: Mon, 14 Jan 2013 11:24:17 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> <1358107297-15225-3-git-send-email-nbowler@HIDDEN> <50F31BE3.2030602@HIDDEN> <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> In-Reply-To: <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) [+cc bug-autoconf] Reference: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#127> On 01/13/2013 10:06 PM, Nick Bowler wrote: > On 2013-01-13, Stefano Lattarini <stefano.lattarini@HIDDEN> wrote: >> On 01/13/2013 09:01 PM, Nick Bowler wrote: >>> +dnl Automatically invoke AM_PROG_CC_C_O as necessary. Since AC_PROG_CC is >>> +dnl usually called after AM_INIT_AUTOMAKE, we arrange for the test to be >>> +dnl done later by AC_CONFIG_COMMANDS_PRE. >> >> This would also have the advantage that we shouldn't worry about possible >> $CC rewrites between the AC_PROG_CC and the AC_OUTPUT invocation. Your >> approach might actually be not only the simplest, but also the sanest one. >> >> That said, I believe we'd still have to fix AM_PROG_CC_C_O not to rely on >> the broken AC_PROG_CC_C_O semantics of checking *both* '$CC' and 'cc' for >> "-c -o" support. But that is quite orthogonal to your patch, and material >> for a follow-up anyway. > > Well, that seem more like a something to change in Autoconf, not > requiring any change in Automake (except maybe we could also fix the > crazy cache variable naming scheme). I admit I do not understand the > rationale for Autoconf testing "plain" cc in addition to the real > compiler. > Me neither. However, if the autoconf developers agree that the current AC_PROG_CC_C_O semantic is suboptimal and needlessly complex, and are willing to change it in Autoconf 2.70, we could simply backport that change in Automake 1.13.2, and then start relying on the new Autoconf behaviour in Automake 1.14. Autoconfers, WDYT? Thanks, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: Cleaning up AC_PROG_CC_C_O semantics Resent-From: Paul Eggert <eggert@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Mon, 14 Jan 2013 19:46:01 +0000 Resent-Message-ID: <handler.13378.B13378.135819274510366 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>, "bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135819274510366 (code B ref 13378); Mon, 14 Jan 2013 19:46:01 +0000 Received: (at 13378) by debbugs.gnu.org; 14 Jan 2013 19:45:45 +0000 Received: from localhost ([127.0.0.1]:60264 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1Tupya-0002h8-B5 for submit <at> debbugs.gnu.org; Mon, 14 Jan 2013 14:45:44 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:39787) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <eggert@HIDDEN>) id 1TupyU-0002fD-UK for 13378 <at> debbugs.gnu.org; Mon, 14 Jan 2013 14:45:41 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id C753839E8108; Mon, 14 Jan 2013 11:45:12 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3NzsbLjNdqjK; Mon, 14 Jan 2013 11:45:12 -0800 (PST) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 270BC39E8105; Mon, 14 Jan 2013 11:45:12 -0800 (PST) Message-ID: <50F46047.4070003@HIDDEN> Date: Mon, 14 Jan 2013 11:45:11 -0800 From: Paul Eggert <eggert@HIDDEN> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> <1358107297-15225-3-git-send-email-nbowler@HIDDEN> <50F31BE3.2030602@HIDDEN> <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> <50F3DCD1.7020309@HIDDEN> In-Reply-To: <50F3DCD1.7020309@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -1.5 (-) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.3 (--) On 01/14/13 02:24, Stefano Lattarini wrote: > Autoconfers, WDYT? I think I'm lost. http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378 is a long thread.
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: Cleaning up AC_PROG_CC_C_O semantics Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Mon, 14 Jan 2013 19:58:01 +0000 Resent-Message-ID: <handler.13378.B13378.135819346212009 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Paul Eggert <eggert@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>, "bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135819346212009 (code B ref 13378); Mon, 14 Jan 2013 19:58:01 +0000 Received: (at 13378) by debbugs.gnu.org; 14 Jan 2013 19:57:42 +0000 Received: from localhost ([127.0.0.1]:60280 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TuqAA-00037d-4G for submit <at> debbugs.gnu.org; Mon, 14 Jan 2013 14:57:42 -0500 Received: from mail-bk0-f44.google.com ([209.85.214.44]:45099) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TuqA7-00037O-53 for 13378 <at> debbugs.gnu.org; Mon, 14 Jan 2013 14:57:40 -0500 Received: by mail-bk0-f44.google.com with SMTP id w11so2194102bku.17 for <13378 <at> debbugs.gnu.org>; Mon, 14 Jan 2013 11:57:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=jeBozt7KYS5JSIDu+VbrZxbwQl7GH0JL+sj2slt1RS8=; b=AcBnXx/Una0pXzCnERTZPyP+FfUQEbZHJzwe1bKmAJ/giIlAxe72yKncPhOj6gX1BS GkQdqPvAmEZiAKItkSbGFyyeeYeWFlA20WzW9flGWmpVEAoMZ650ftUxCG1zzEoEY6Dm Py42OJxESpSYbE+nfdwF3DyLAEh+ugk9ZUhvbudPMPeQZdlf+DRchrwZEVThrMHxkBTT LWMMQ7IJQdMMdmFnw1cO/aPr5PsajbOz6UMzWxX7HOJgop5BpAmGoUuxlYszzVtk5ZGf 67txQquieSZxhvPyMgoxkDakx/NG4CiOS9RHgLJMqr98HT6Yusm27qMZDfplDs/Umq2l PUQQ== X-Received: by 10.204.152.28 with SMTP id e28mr40680898bkw.3.1358193432537; Mon, 14 Jan 2013 11:57:12 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id o7sm11012115bkv.13.2013.01.14.11.57.08 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 14 Jan 2013 11:57:11 -0800 (PST) Message-ID: <50F46309.1090509@HIDDEN> Date: Mon, 14 Jan 2013 20:56:57 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> <1358107297-15225-3-git-send-email-nbowler@HIDDEN> <50F31BE3.2030602@HIDDEN> <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> <50F3DCD1.7020309@HIDDEN> <50F46047.4070003@HIDDEN> In-Reply-To: <50F46047.4070003@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) Hi Paul. On 01/14/2013 08:45 PM, Paul Eggert wrote: > On 01/14/13 02:24, Stefano Lattarini wrote: >> Autoconfers, WDYT? > > I think I'm lost. http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378 > is a long thread. > Yeah, sorry for not giving a more clear summary. Here are the main grips I (and I guess Nick too) have with the current AC_PROG_CC_C_O semantics: 1. It checks that *both* 'cc' and '$CC' (which might easily be 'gcc' or 'clang') supports "-c -o" together. Why? If the user has a broken base vendor compiler, but has installed a better one (say GCC), why should he still be penalized? 2. The fact the cache variable used by the test is based on the contents of the $CC expansion seems fragile and confusing. AFICS, none of the other cache variables referring to check on the selected C compiler has this property -- so why should this one? So, my question is: could any of this semantics be improved in the obvious way in Autoconf 2.70? If this is not doable in the pre-existing macro for backward-compatibility considerations (and risking to introduce incompatibilities a last minute change might indeed not be a good idea), with a new one perhaps -- but public and documented this time, rather than just an hack for Automake to exploit. So, is the question clearer now? If yes, what is your opinion? Thanks, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: Cleaning up AC_PROG_CC_C_O semantics Resent-From: Paul Eggert <eggert@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Tue, 15 Jan 2013 03:17:01 +0000 Resent-Message-ID: <handler.13378.B13378.135821980621345 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>, "bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135821980621345 (code B ref 13378); Tue, 15 Jan 2013 03:17:01 +0000 Received: (at 13378) by debbugs.gnu.org; 15 Jan 2013 03:16:46 +0000 Received: from localhost ([127.0.0.1]:60605 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1Tux14-0005YD-Cc for submit <at> debbugs.gnu.org; Mon, 14 Jan 2013 22:16:46 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:33190) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <eggert@HIDDEN>) id 1Tux11-0005Y4-Fn for 13378 <at> debbugs.gnu.org; Mon, 14 Jan 2013 22:16:44 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 9A77039E8105; Mon, 14 Jan 2013 19:16:15 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wFxtGB+ZCBIB; Mon, 14 Jan 2013 19:16:15 -0800 (PST) Received: from [192.168.1.9] (pool-71-189-154-249.lsanca.fios.verizon.net [71.189.154.249]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 128A039E8100; Mon, 14 Jan 2013 19:16:15 -0800 (PST) Message-ID: <50F4C9FA.2090003@HIDDEN> Date: Mon, 14 Jan 2013 19:16:10 -0800 From: Paul Eggert <eggert@HIDDEN> Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 MIME-Version: 1.0 References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> <1358107297-15225-3-git-send-email-nbowler@HIDDEN> <50F31BE3.2030602@HIDDEN> <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> <50F3DCD1.7020309@HIDDEN> <50F46047.4070003@HIDDEN> <50F46309.1090509@HIDDEN> In-Reply-To: <50F46309.1090509@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -1.5 (-) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.8 (--) On 01/14/2013 11:56 AM, Stefano Lattarini wrote: > 1. It checks that *both* 'cc' and '$CC' (which might easily be 'gcc' > or 'clang') supports "-c -o" together. Why? If the user has a > broken base vendor compiler, but has installed a better one (say > GCC), why should he still be penalized? I don't know. It's been that way for two decades or so, for no reason that I can see. > 2. The fact the cache variable used by the test is based on the > contents of the $CC expansion seems fragile and confusing. AFICS, > none of the other cache variables referring to check on the > selected C compiler has this property -- so why should this one? Again, no good reason that I can see. > So, my question is: could any of this semantics be improved in the > obvious way in Autoconf 2.70? If this is not doable in the pre-existing > macro for backward-compatibility considerations (and risking to introduce > incompatibilities a last minute change might indeed not be a good idea), We could have the change take effect only if some other macro is invoked, indicating that the user wants the new behavior. That should be safe. The default behavior can be the old behavior for now, with the intent that this will eventually change to the new behavior.
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: [PATCH] subdir-objects: complain if it isn't enabled Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Wed, 16 Jan 2013 12:33:02 +0000 Resent-Message-ID: <handler.13378.B13378.13583395622349 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: 13378 <at> debbugs.gnu.org Cc: "automake-patches@HIDDEN" <automake-patches@HIDDEN> Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.13583395622349 (code B ref 13378); Wed, 16 Jan 2013 12:33:02 +0000 Received: (at 13378) by debbugs.gnu.org; 16 Jan 2013 12:32:42 +0000 Received: from localhost ([127.0.0.1]:34675 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TvSAb-0000bq-Bb for submit <at> debbugs.gnu.org; Wed, 16 Jan 2013 07:32:41 -0500 Received: from mail-la0-f52.google.com ([209.85.215.52]:55009) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TvSAY-0000bh-1B for 13378 <at> debbugs.gnu.org; Wed, 16 Jan 2013 07:32:39 -0500 Received: by mail-la0-f52.google.com with SMTP id fq12so1330401lab.11 for <13378 <at> debbugs.gnu.org>; Wed, 16 Jan 2013 04:32:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=wBNS5VfN7Bq9BA0XQNEVkVQMFYk5O3FNXd/40DVR4LE=; b=gtD0fUDXMVa4Ge/zk0511h0+cibryyxNLTGWu/aLLBuWfiYIcS2RqiJGtMvbGftRqA 1yTJ6fFLpk2frQWWeyGrIUGmpaHEtVtye6vMrquknN3mSyaPyNST7MylhUj2tcA6riNO kpZKov8i8iJHPcLmOUzIrFhAE6+tE9bBzWIT8QEhk1pVVih9FOd0Y2ifJRnwMDN5D+2P OkTVRy1pXijemBwU7qSJ8pn9aIU6n7urio5IbB+/VqUyJNeZfJcXrSwmt8S1/f0/M6kr rfV/fvkMrkxo/bZ4+Rjon5SD3jcXcx2ceGQlx8hQERRtLL/RCpJxcokgvJb30zWK3xwO b3sw== X-Received: by 10.152.144.4 with SMTP id si4mr1001981lab.10.1358339521366; Wed, 16 Jan 2013 04:32:01 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id to7sm7963863lab.13.2013.01.16.04.31.59 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 16 Jan 2013 04:32:00 -0800 (PST) Message-ID: <50F69DBD.50202@HIDDEN> Date: Wed, 16 Jan 2013 13:31:57 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50EB2B41.4080505@HIDDEN> <50F31045.8080804@HIDDEN> In-Reply-To: <50F31045.8080804@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) On 01/13/2013 08:51 PM, Stefano Lattarini wrote: > Reference: > <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378> > > On 01/07/2013 09:08 PM, Stefano Lattarini wrote: >> Severity: wishlist >> >> Inspired from Automake-NG commit 'v1.12.1-313-g14fe163' of 2012-06-07, >> "[ng] subdir-objects: enable unconditionally". >> >> The fact that Automake-generated Makefiles place compiled object files in >> he current directory by default, also when the corresponding source file >> is in a subdirectory, is basically an historical accident, due to the fact >> that the 'subdir-objects' option had only been introduced in April 1999, >> starting with commit 'user-dep-gen-branchpoint-56-g88b5959', and never >> made the default (likely to avoid backwards-compatibility issues). >> >> Since I believe the behaviour enabled by the 'subdir-objects' is the most >> useful one, and in fact the *only* natural one, I'd like to make it the >> the only one available, simplifying the Automake implementation and APIs >> a little in the process. >> >> Alas, since this also means changing the default behaviour of Automake >> ('subdir-objects' is not enabled by default, sadly), this means the >> transition path will be less smooth than I'd like. Here it is a sketch >> for it: >> >> Automake 1.13.2 >> --------------- >> >> Give a warning in the category 'unsupported' if the 'subdir-objects' >> option is not specified. This should give the users enough forewarning >> about the planned change, and give them time to update their packages >> to the new semantic. >> > Here is a patch doing that. I will push it in a couple of days if there > are no objections. > > Regards, > Stefano > > ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- > > From 4864af66bfd189a501061d775bb9743a1285d88e Mon Sep 17 00:00:00 2001 > Message-Id: <4864af66bfd189a501061d775bb9743a1285d88e.1358106576.git.stefano.lattarini@HIDDEN> > From: Stefano Lattarini <stefano.lattarini@HIDDEN> > Date: Sun, 13 Jan 2013 17:50:30 +0100 > Subject: [PATCH] subdir-objects: complain if it isn't enabled > > Since the next major automake version will make the behaviour so far > only activated with the 'subdir-object' option mandatory, it's better > if we start warning users not using that option. > > As suggested by Peter Johansson, we strive to avoid the warning when > it would be irrelevant, i.e., if all source files sit in "current" > directory. > > See automake bug#13378. > > * automake.in (handle_single_transform): Print the warning when > necessary. > * t/subobj.sh: Enhance. > * t/ax/depcomp.sh: Adjust. > * t/cscope.tap: Likewise. > * t/depcomp8a.sh: Likewise. > * t/depcomp8b.sh: Likewise. > * t/ext2.sh: Likewise. > * t/extra-portability.sh: Likewise. > * t/fort2.sh: Likewise. > * t/fort4.sh: Likewise. > * t/fort5.sh: Likewise. > * t/lex-line.sh: Likewise. > * t/libtool3.sh: Likewise. > * t/ltinstloc.sh: Likewise. > * t/ltlibsrc.sh: Likewise. > * t/ltorder.sh: Likewise. > * t/parallel-tests-suffix-prog.sh: Likewise. > * t/sourcefile-in-subdir.sh: Likewise. > * t/specflg9.sh: Likewise. > * t/subobj4.sh: Likewise. > * t/subobj7.sh: Likewise. > * t/subpkg-yacc.sh: Likewise. > * t/subpkg.sh: Likewise. > * t/suffix-custom-subobj-and-specflg.sh: Likewise. > * t/vala-libs.sh: Likewise. > * t/vala-non-recursive-setup.sh: Likewise. > * t/yacc-grepping2.sh: Likewise. > * t/yacc-line.sh: Likewise. > Pushed now. Regards, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: Cleaning up AC_PROG_CC_C_O semantics Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Wed, 16 Jan 2013 12:48:01 +0000 Resent-Message-ID: <handler.13378.B13378.13583404263601 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Paul Eggert <eggert@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>, "bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.13583404263601 (code B ref 13378); Wed, 16 Jan 2013 12:48:01 +0000 Received: (at 13378) by debbugs.gnu.org; 16 Jan 2013 12:47:06 +0000 Received: from localhost ([127.0.0.1]:34680 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TvSOX-0000w0-0t for submit <at> debbugs.gnu.org; Wed, 16 Jan 2013 07:47:06 -0500 Received: from mail-la0-f53.google.com ([209.85.215.53]:50493) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TvSOU-0000vn-OD for 13378 <at> debbugs.gnu.org; Wed, 16 Jan 2013 07:47:03 -0500 Received: by mail-la0-f53.google.com with SMTP id fn20so1317346lab.40 for <13378 <at> debbugs.gnu.org>; Wed, 16 Jan 2013 04:46:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=alqvi1i+RPTsVdDZgJbu5mjt0I5uc3nKrpi+DxPMXUE=; b=wKeM0NB19PV+qHcVvm7A1zm8KAX8a3kdAw1FAdweoQ9Yss4rlLtaYpFS8au68NFfUw uqSixtMpltm7FTcjHzlOsMufExPtROC5ZW4BL7oUiSqNDnQWxvkuU2rOkVAR+RI1hmcX GwLUyctxjfZlJD3L0ClmNnhLeej2rS/q8SXbmeSMGprsyddhQqBVMndWD/CLx5/fjxBr tYS/WVUvdtpTWNHLkdrctoRSC8bqrVmWBql6fZBxVsh56pLyu/fdFLDpL7Wja2zrBOVU BKk+DRmTXnNnHso/Ixe9TM0uDpnW+Pd5UNMzKiHE5i3a44JKCOpQOsD1Kz411L9kRdEB De0w== X-Received: by 10.152.123.83 with SMTP id ly19mr955276lab.51.1358340386704; Wed, 16 Jan 2013 04:46:26 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id mb2sm7986872lab.7.2013.01.16.04.46.24 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 16 Jan 2013 04:46:25 -0800 (PST) Message-ID: <50F6A11E.20103@HIDDEN> Date: Wed, 16 Jan 2013 13:46:22 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> <1358107297-15225-3-git-send-email-nbowler@HIDDEN> <50F31BE3.2030602@HIDDEN> <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> <50F3DCD1.7020309@HIDDEN> <50F46047.4070003@HIDDEN> <50F46309.1090509@HIDDEN> <50F4C9FA.2090003@HIDDEN> In-Reply-To: <50F4C9FA.2090003@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -0.7 (/) On 01/15/2013 04:16 AM, Paul Eggert wrote: > On 01/14/2013 11:56 AM, Stefano Lattarini wrote: >> 1. It checks that *both* 'cc' and '$CC' (which might easily be 'gcc' >> or 'clang') supports "-c -o" together. Why? If the user has a >> broken base vendor compiler, but has installed a better one (say >> GCC), why should he still be penalized? > > I don't know. It's been that way for two decades or so, for no > reason that I can see. > >> 2. The fact the cache variable used by the test is based on the >> contents of the $CC expansion seems fragile and confusing. AFICS, >> none of the other cache variables referring to check on the >> selected C compiler has this property -- so why should this one? > > Again, no good reason that I can see. > >> So, my question is: could any of this semantics be improved in the >> obvious way in Autoconf 2.70? If this is not doable in the pre-existing >> macro for backward-compatibility considerations (and risking to introduce >> incompatibilities a last minute change might indeed not be a good idea), > > We could have the change take effect only if some other macro is invoked, > indicating that the user wants the new behavior. That should be safe. > The default behavior can be the old behavior for now, with the intent that > this will eventually change to the new behavior. > Makes sense. Should I try to implement something along these lines (might take a few days), or are you planning to do that yourself (in which case I'll avoid the duplicated efforts)? Thanks, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: Cleaning up AC_PROG_CC_C_O semantics Resent-From: Paul Eggert <eggert@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Wed, 16 Jan 2013 17:50:01 +0000 Resent-Message-ID: <handler.13378.B13378.13583585531724 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>, "bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.13583585531724 (code B ref 13378); Wed, 16 Jan 2013 17:50:01 +0000 Received: (at 13378) by debbugs.gnu.org; 16 Jan 2013 17:49:13 +0000 Received: from localhost ([127.0.0.1]:35536 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TvX6u-0000Rk-BN for submit <at> debbugs.gnu.org; Wed, 16 Jan 2013 12:49:12 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:45589) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <eggert@HIDDEN>) id 1TvX6r-0000Rc-FP for 13378 <at> debbugs.gnu.org; Wed, 16 Jan 2013 12:49:10 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 39527A60003; Wed, 16 Jan 2013 09:48:32 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ifCMTaSudtiM; Wed, 16 Jan 2013 09:48:31 -0800 (PST) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id C519CA60001; Wed, 16 Jan 2013 09:48:31 -0800 (PST) Message-ID: <50F6E7EF.30305@HIDDEN> Date: Wed, 16 Jan 2013 09:48:31 -0800 From: Paul Eggert <eggert@HIDDEN> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> <1358107297-15225-3-git-send-email-nbowler@HIDDEN> <50F31BE3.2030602@HIDDEN> <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> <50F3DCD1.7020309@HIDDEN> <50F46047.4070003@HIDDEN> <50F46309.1090509@HIDDEN> <50F4C9FA.2090003@HIDDEN> <50F6A11E.20103@HIDDEN> In-Reply-To: <50F6A11E.20103@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -1.5 (-) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.5 (-) On 01/16/13 04:46, Stefano Lattarini wrote: > Makes sense. Should I try to implement something along these lines (might > take a few days), or are you planning to do that yourself (in which case > I'll avoid the duplicated efforts)? I wasn't planning on doing that, so please go ahead.
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: Cleaning up AC_PROG_CC_C_O semantics Resent-From: Eric Blake <eblake@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Wed, 16 Jan 2013 18:56:01 +0000 Resent-Message-ID: <handler.13378.B13378.13583625567829 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Paul Eggert <eggert@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, "bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>, Stefano Lattarini <stefano.lattarini@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.13583625567829 (code B ref 13378); Wed, 16 Jan 2013 18:56:01 +0000 Received: (at 13378) by debbugs.gnu.org; 16 Jan 2013 18:55:56 +0000 Received: from localhost ([127.0.0.1]:35598 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TvY9T-00022C-Uj for submit <at> debbugs.gnu.org; Wed, 16 Jan 2013 13:55:56 -0500 Received: from mx1.redhat.com ([209.132.183.28]:17803) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <eblake@HIDDEN>) id 1TvY9R-000222-5W for 13378 <at> debbugs.gnu.org; Wed, 16 Jan 2013 13:55:54 -0500 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r0GIOuFk022978 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 16 Jan 2013 13:24:56 -0500 Received: from [10.3.113.75] (ovpn-113-75.phx2.redhat.com [10.3.113.75]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id r0GIOtsL024534; Wed, 16 Jan 2013 13:24:55 -0500 Message-ID: <50F6F076.7020702@HIDDEN> Date: Wed, 16 Jan 2013 11:24:54 -0700 From: Eric Blake <eblake@HIDDEN> Organization: Red Hat, Inc. User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> <1358107297-15225-3-git-send-email-nbowler@HIDDEN> <50F31BE3.2030602@HIDDEN> <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> <50F3DCD1.7020309@HIDDEN> <50F46047.4070003@HIDDEN> <50F46309.1090509@HIDDEN> <50F4C9FA.2090003@HIDDEN> <50F6A11E.20103@HIDDEN> <50F6E7EF.30305@HIDDEN> In-Reply-To: <50F6E7EF.30305@HIDDEN> X-Enigmail-Version: 1.5.0 OpenPGP: url=http://people.redhat.com/eblake/eblake.gpg Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="----enig2DUXWDNDDRBBVLLJMITUD" X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11 X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -6.9 (------) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) ------enig2DUXWDNDDRBBVLLJMITUD Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 01/16/2013 10:48 AM, Paul Eggert wrote: > On 01/16/13 04:46, Stefano Lattarini wrote: >> Makes sense. Should I try to implement something along these lines (m= ight >> take a few days), or are you planning to do that yourself (in which ca= se >> I'll avoid the duplicated efforts)? >=20 > I wasn't planning on doing that, so please go ahead. Didn't you already add _AM_PROG_CC_C_O_HELPME; is that a sufficient witness macro for whether to use the proposed cleanups? --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org ------enig2DUXWDNDDRBBVLLJMITUD Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.13 (GNU/Linux) Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJQ9vB2AAoJEKeha0olJ0NqV/sH/0fsQHYnJd/6rKm2TF8ipYGF vUQO4o+r1XCyZzXrmKvnXH26XwcieJN35PRQn2c9bh3hE6eoVDXmKyCk7meipJ4b ZZAEIEZUjiaKun7OBkr2GGx3MPx0d75L7/8VdPxDLTnr5mIODyENpwBu47f3b1nE N2WBz/ipkgu0HgxWxhS5puhlysx6yoOht4LkxFl5GarP9+c9rm7Vzxj7Dy6s3sHA IgE3IA30vtPaf+5o0OaErDpZgSinc3PthronA0PE7sSaIOpJmfu+LJHo4HnBi+Mw N9gVkamPgxnZnZeR9G/+oTH4XyUOI1jhWATVF2hne0OHDxPgxjHBF+mVs4w2Szk= =9jbM -----END PGP SIGNATURE----- ------enig2DUXWDNDDRBBVLLJMITUD--
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: Cleaning up AC_PROG_CC_C_O semantics Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Wed, 16 Jan 2013 19:48:01 +0000 Resent-Message-ID: <handler.13378.B13378.135836564112895 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Eric Blake <eblake@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, Paul Eggert <eggert@HIDDEN>, "bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135836564112895 (code B ref 13378); Wed, 16 Jan 2013 19:48:01 +0000 Received: (at 13378) by debbugs.gnu.org; 16 Jan 2013 19:47:21 +0000 Received: from localhost ([127.0.0.1]:35636 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TvYxE-0003Lv-7Z for submit <at> debbugs.gnu.org; Wed, 16 Jan 2013 14:47:21 -0500 Received: from mail-bk0-f51.google.com ([209.85.214.51]:56628) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TvYxB-0003Ln-KY for 13378 <at> debbugs.gnu.org; Wed, 16 Jan 2013 14:47:18 -0500 Received: by mail-bk0-f51.google.com with SMTP id ik5so936086bkc.38 for <13378 <at> debbugs.gnu.org>; Wed, 16 Jan 2013 11:46:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=4KTJpxgTUkdXHIqozH0lxsEsRSNYwS66vqSXnHY8S0k=; b=dYBWehINHevTEUye6gcmD4pz8w/+LGZGdKWthJWWC6Yz7Kp1jRhPT4Yu53FBEB0yG/ 8iLzFqZZ4bFm+KVliOBRhk5eZsVB8nrZQbCO1prAZvzHdtY19jKPihnbKQHPnmxceCUi tHYISlCUJBl13ysQ2j3bV0+tGsNiRqjr5KuhpapJqV6uufbb2a7ql1KiQDm5tWlze4w/ WbIVsCcyWeh/DWeeSWDAiWufF2pxBtZ1XFymfEDihdi9wp9XkOJ4lEEvYJVUtmEGEe37 9crijpYekYOq7ydB2dXGJz7OZc7M/FrYBpmPABTVsZ139A4IOYgoQ3dU51NRBFoRHlS+ cZGQ== X-Received: by 10.204.150.218 with SMTP id z26mr826595bkv.95.1358365598563; Wed, 16 Jan 2013 11:46:38 -0800 (PST) Received: from [192.168.178.20] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id d16sm16672493bkw.2.2013.01.16.11.46.36 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 16 Jan 2013 11:46:37 -0800 (PST) Message-ID: <50F70393.8050407@HIDDEN> Date: Wed, 16 Jan 2013 20:46:27 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> <1358107297-15225-3-git-send-email-nbowler@HIDDEN> <50F31BE3.2030602@HIDDEN> <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> <50F3DCD1.7020309@HIDDEN> <50F46047.4070003@HIDDEN> <50F46309.1090509@HIDDEN> <50F4C9FA.2090003@HIDDEN> <50F6A11E.20103@HIDDEN> <50F6E7EF.30305@HIDDEN> <50F6F076.7020702@HIDDEN> In-Reply-To: <50F6F076.7020702@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -0.7 (/) On 01/16/2013 07:24 PM, Eric Blake wrote: > On 01/16/2013 10:48 AM, Paul Eggert wrote: >> On 01/16/13 04:46, Stefano Lattarini wrote: >>> Makes sense. Should I try to implement something along these lines (might >>> take a few days), or are you planning to do that yourself (in which case >>> I'll avoid the duplicated efforts)? >> >> I wasn't planning on doing that, so please go ahead. > > Didn't you already add _AM_PROG_CC_C_O_HELPME; is that a sufficient > witness macro for whether to use the proposed cleanups? > Indeed that is enough for Automake's current needs. But that hook is currently in AC_PROG_CC, while Nick's proposal involved having something like that in AC_PROG_CC_C_O, for which AM_PROG_CC_C_O would continue to be a thin wrapper (but automatically invoked by AC_CONFIG_COMMANDS_PRE whenever needed). Regards, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: Cleaning up AC_PROG_CC_C_O semantics Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Sat, 19 Jan 2013 13:12:01 +0000 Resent-Message-ID: <handler.13378.B13378.135860109320677 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Paul Eggert <eggert@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>, "bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>, 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135860109320677 (code B ref 13378); Sat, 19 Jan 2013 13:12:01 +0000 Received: (at 13378) by debbugs.gnu.org; 19 Jan 2013 13:11:33 +0000 Received: from localhost ([127.0.0.1]:39691 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TwYCr-0005NR-1q for submit <at> debbugs.gnu.org; Sat, 19 Jan 2013 08:11:33 -0500 Received: from mail-ee0-f44.google.com ([74.125.83.44]:55849) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TwYCn-0005ND-1B for 13378 <at> debbugs.gnu.org; Sat, 19 Jan 2013 08:11:31 -0500 Received: by mail-ee0-f44.google.com with SMTP id l10so2140140eei.17 for <13378 <at> debbugs.gnu.org>; Sat, 19 Jan 2013 05:10:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=Ocd/UB5bBHVcAZxXeREG22Fmy+sHHBGaNLwV5VdK0jk=; b=RGnOsm69f7iONUFyOlp3Ivt3dIxn1At/WA1ZTCfyu+wuFaElRRkbTOYi/0UJYzjh45 lJ5BzG+63irfwqr3VbJADIs2hrrBwkYAU4z/EykZ8I7qVrMB2jeCTdx/A438qTlTTIQm ACLbRho0Ecjjl6EjCoTV4yS/Pyu1nzIbfon9zYNaQlm9F+2DZt4BVwKlX9oUkEFyKVIf ATcqechbxFaug0UQP+nqXyprqYgNKwFffb1UtFDpld8mcMRpVN08PKIFmzB/3Wr4Iaid UP2HmQ+kqJzWKYfgO3MUtJOyRBoNx8BADPttXzkTBgG0hDeT3dFfpiNE542bZps/pUqr pltA== X-Received: by 10.14.203.3 with SMTP id e3mr3244507eeo.9.1358601034218; Sat, 19 Jan 2013 05:10:34 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id 46sm12239703eeg.4.2013.01.19.05.10.31 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 19 Jan 2013 05:10:33 -0800 (PST) Message-ID: <50FA9B44.10307@HIDDEN> Date: Sat, 19 Jan 2013 14:10:28 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> <1358107297-15225-3-git-send-email-nbowler@HIDDEN> <50F31BE3.2030602@HIDDEN> <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> <50F3DCD1.7020309@HIDDEN> <50F46047.4070003@HIDDEN> <50F46309.1090509@HIDDEN> <50F4C9FA.2090003@HIDDEN> <50F6A11E.20103@HIDDEN> <50F6E7EF.30305@HIDDEN> In-Reply-To: <50F6E7EF.30305@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) [-cc automake-patches] On 01/16/2013 06:48 PM, Paul Eggert wrote: > On 01/16/13 04:46, Stefano Lattarini wrote: >> Makes sense. Should I try to implement something along these lines (might >> take a few days), or are you planning to do that yourself (in which case >> I'll avoid the duplicated efforts)? > > I wasn't planning on doing that, so please go ahead. > Here is my attempt. OK to go in Autoconf 2.70? Thanks, Stefano ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- From 6d20ebf0abd4e08f0c7793d36d57ac9037026e05 Mon Sep 17 00:00:00 2001 Message-Id: <6d20ebf0abd4e08f0c7793d36d57ac9037026e05.1358600662.git.stefano.lattarini@HIDDEN> From: Stefano Lattarini <stefano.lattarini@HIDDEN> Date: Sat, 19 Jan 2013 13:32:44 +0100 Subject: [PATCH] AC_PROG_CC_C_O: allow for improved semantics The current semantics of AC_PROG_CC_C_O have two serious shortcomings, that make the use of that macro in Automake problematic: 1. It checks that *both* 'cc' and '$CC' (which might easily be 'gcc' or 'clang') supports "-c -o" together. Why? If the user has a broken base vendor compiler, but has installed a better one (say GCC), why should he still be penalized? This behaviour is very likely only due to historical reasons, and has no good rationale today. 2. The name of the cache variable used by this macro is based on the contents of the $CC expansion, rather than following the usual 'ac_cv_cc_*' pattern. This is fragile and confusing. In addition, none of the other cache variables referring to check on the selected C compiler has this property -- so why should this one? Again, no good reasons come to mind (apart for "historical" ones). For backward-compatibility reasons, we can't change these behaviours abruptly; so, we implement a new saner behaviour, but don't make it the default yet, instead allowing the user to explicitly request it by defining the witness macro 'AC_PROG_CC_C_O_USE_MODERN_SEMANTICS'. Future versions of Automake will thus define that macro to enable the desired behaviour. As a consequence of this change, we can drop the Automake-specific private (and hacky) hook that has been added to AC_PROG_CC in past commit 'v2.69-63-gce48964': Automake no longer plan to use it. This change has been motivated by the on-going work on Automake and its 'subdir-object' mode (see automake bug#13378). See also: <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00034.html> * NEWS: Update. * doc/autoconf.texi: Likewise. * lib/autoconf/c.m4 (AC_PROG_CC_C_O): If the witness macro 'AC_PROG_CC_C_O_USE_MODERN_SEMANTICS' is defined: - check support for "-c -o" only for the currently selected C compiler '$CC', and not also the "system" one 'cc' - unconditionally use 'ac_cv_prog_cc_c_o' as the cache variable for this check, instead of a cache variable name based on the expansion of $CC. (AC_PROG_CC): Drop Automake-specific hook enabled when the witness macro '_AM_PROG_CC_C_O_HELPME' was defined. Signed-off-by: Stefano Lattarini <stefano.lattarini@HIDDEN> --- NEWS | 5 +++++ doc/autoconf.texi | 31 ++++++++++++++++++++++++------- lib/autoconf/c.m4 | 46 ++++++++++++++-------------------------------- 3 files changed, 43 insertions(+), 39 deletions(-) diff --git a/NEWS b/NEWS index a9b2226..9e18436 100644 --- a/NEWS +++ b/NEWS @@ -28,6 +28,11 @@ GNU Autoconf NEWS - User visible changes. - AC_PROG_CC_STDC, AC_PROG_CC_C89, AC_PROG_CC_C99 have been marked as obsolete. Applications should use AC_PROG_CC. +- AC_PROG_CC_C_O implements saner semantics if the new witness macro + AC_PROG_CC_C_O_USE_MODERN_SEMANTICS is defined (see the documentation + for details). Future versions of autoconf might make such new + semantics the default at some point. + - AC_FUNC_VFORK now checks for the signal-handling bug in Solaris 2.4 'vfork'. Formerly, it ignored this bug, so that Emacs could use some tricky code on that platform. Solaris 2.4 has not been supported since diff --git a/doc/autoconf.texi b/doc/autoconf.texi index bb83443..c1e89d7 100644 --- a/doc/autoconf.texi +++ b/doc/autoconf.texi @@ -7304,17 +7304,34 @@ needless reexpansion (@pxref{One-Shot Macros}). @acindex{PROG_CC_C_O} @cvindex NO_MINUS_C_MINUS_O @caindex prog_cc_@var{compiler}_c_o +@caindex prog_cc_c_o If the C compiler does not accept the @option{-c} and @option{-o} options -simultaneously, define @code{NO_MINUS_C_MINUS_O}. This macro actually -tests both the compiler found by @code{AC_PROG_CC}, and, if different, -the first @code{cc} in the path. The test fails if one fails. This -macro was created for GNU Make to choose the default C compilation -rule. +simultaneously, define @code{NO_MINUS_C_MINUS_O}. -For the compiler @var{compiler}, this macro caches its result in the +This macro has two modes of behavior, the historical one and a new +sanest one, both described just below. The historical mode is the +default for the moment, but this might change in future autoconf +versions. + +@itemize + +@item +In the ``historical'' mode (originally created for GNU Make to choose +the default C compilation rule), both the compiler @code{$CC} found by +@code{AC_PROG_CC}, and, if different, the first @code{cc} in @env{PATH} +are tested. The test fails if one fails. If @code{$CC} expands to +@var{compiler}, the result of the check is cached in the @code{ac_cv_prog_cc_@var{compiler}_c_o} variable. -@end defmac +@item +In the ``new'' mode (enabled whenever the witness macro +@code{AC_PROG_CC_C_O_USE_MODERN_SEMANTICS} is defined), only the compiler +@code{$CC} found by @code{AC_PROG_CC} is tested, and the result of this +check is cached in the @code{ac_cv_prog_cc_c_o} variable. + +@end itemize + +@end defmac @defmac AC_PROG_CPP @acindex{PROG_CPP} diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 index affd765..90cd696 100644 --- a/lib/autoconf/c.m4 +++ b/lib/autoconf/c.m4 @@ -490,31 +490,6 @@ _AC_PROG_CC_C11([ac_prog_cc_stdc=c11 ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89], [ac_prog_cc_stdc=no ac_cv_prog_cc_stdc=no])])]) -dnl This is a hook for Automake and its 'subdir-objects' mode, which -dnl needs to know whether $CC supports "-c -o" together or not. See -dnl automake bug#13378, in particular <http://debbugs.gnu.org/13378#73>. -dnl FIXME: there is some code duplication with AC_PROG_CC_C_O here. -m4_ifdef([_AM_PROG_CC_C_O_HELPME], -[set dummy $CC; ac_cc=`AS_ECHO(["$[2]"]) | \ - sed 's/[[^a-zA-Z0-9_]]/_/g;s/^[[0-9]]/_/'` -AC_MSG_CHECKING([whether $CC understands -c and -o together]) -AC_CACHE_VAL([ac_cv_prog_cc_${ac_cc}_c_o], -[AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) -# Make sure it works both with $CC and with simple cc. -# We do the test twice because some compilers refuse to overwrite an -# existing .o file with -o, though they will create one. -ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&AS_MESSAGE_LOG_FD' -rm -f conftest2.* -if _AC_DO_VAR(ac_try) && test -f conftest2.$ac_objext -then - AC_MSG_RESULT([yes]) - eval ac_cv_prog_cc_${ac_cc}_c_o=yes -else - AC_MSG_RESULT([no]) - eval ac_cv_prog_cc_${ac_cc}_c_o=no -fi -rm -f core conftest* -])])dnl AC_LANG_POP(C)dnl ])# AC_PROG_CC @@ -589,14 +564,20 @@ fi # -------------- AC_DEFUN([AC_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])dnl -if test "x$CC" != xcc; then +m4_ifdef([AC_PROG_CC_C_O_USE_MODERN_SEMANTICS], +[AC_MSG_CHECKING([whether $CC understands -c and -o together]) +dnl Our cache variable will be simply named 'ac_cv_prog_cc_c_o', +dnl but we keep this indirection to reduce code duplication, below. +_ac_prog_cc_c_o_cache_var=ac_cv_prog_cc_c_o], +[if test "x$CC" != xcc; then AC_MSG_CHECKING([whether $CC and cc understand -c and -o together]) else AC_MSG_CHECKING([whether cc understands -c and -o together]) fi set dummy $CC; ac_cc=`AS_ECHO(["$[2]"]) | sed 's/[[^a-zA-Z0-9_]]/_/g;s/^[[0-9]]/_/'` -AC_CACHE_VAL(ac_cv_prog_cc_${ac_cc}_c_o, +_ac_prog_cc_c_o_cache_var=ac_cv_prog_cc_${ac_cc}_c_o]) +AC_CACHE_VAL([$_ac_prog_cc_c_o_cache_var], [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) # Make sure it works both with $CC and with simple cc. # We do the test twice because some compilers refuse to overwrite an @@ -606,7 +587,8 @@ rm -f conftest2.* if _AC_DO_VAR(ac_try) && test -f conftest2.$ac_objext && _AC_DO_VAR(ac_try); then - eval ac_cv_prog_cc_${ac_cc}_c_o=yes + eval $_ac_prog_cc_c_o_cache_var=yes + m4_ifndef([AC_PROG_CC_C_O_USE_MODERN_SEMANTICS], [ if test "x$CC" != xcc; then # Test first that cc exists at all. if _AC_DO_TOKENS(cc -c conftest.$ac_ext >&AS_MESSAGE_LOG_FD); then @@ -619,16 +601,16 @@ then : else # cc exists but doesn't like -o. - eval ac_cv_prog_cc_${ac_cc}_c_o=no + eval $_ac_prog_cc_c_o_cache_var=no fi fi - fi + fi]) else - eval ac_cv_prog_cc_${ac_cc}_c_o=no + eval $_ac_prog_cc_c_o_cache_var=no fi rm -f core conftest* ])dnl -if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then +if eval test \${$_ac_prog_cc_c_o_cache_var} = yes; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) -- 1.8.1.rc3.192.g2d0029e
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: Cleaning up AC_PROG_CC_C_O semantics Resent-From: Eric Blake <eblake@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Sat, 19 Jan 2013 14:27:07 +0000 Resent-Message-ID: <handler.13378.B13378.135860560427501 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Stefano Lattarini <stefano.lattarini@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, Paul Eggert <eggert@HIDDEN>, "bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>, 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135860560427501 (code B ref 13378); Sat, 19 Jan 2013 14:27:07 +0000 Received: (at 13378) by debbugs.gnu.org; 19 Jan 2013 14:26:44 +0000 Received: from localhost ([127.0.0.1]:39727 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TwZNb-00079V-6M for submit <at> debbugs.gnu.org; Sat, 19 Jan 2013 09:26:43 -0500 Received: from mx1.redhat.com ([209.132.183.28]:39690) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <eblake@HIDDEN>) id 1TwZNV-00079H-Hu for 13378 <at> debbugs.gnu.org; Sat, 19 Jan 2013 09:26:41 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r0JEPbE1025622 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sat, 19 Jan 2013 09:25:37 -0500 Received: from [10.3.113.142] (ovpn-113-142.phx2.redhat.com [10.3.113.142]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r0JEPar4000390; Sat, 19 Jan 2013 09:25:36 -0500 Message-ID: <50FAACDF.4010300@HIDDEN> Date: Sat, 19 Jan 2013 07:25:35 -0700 From: Eric Blake <eblake@HIDDEN> Organization: Red Hat, Inc. User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> <1358107297-15225-3-git-send-email-nbowler@HIDDEN> <50F31BE3.2030602@HIDDEN> <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> <50F3DCD1.7020309@HIDDEN> <50F46047.4070003@HIDDEN> <50F46309.1090509@HIDDEN> <50F4C9FA.2090003@HIDDEN> <50F6A11E.20103@HIDDEN> <50F6E7EF.30305@HIDDEN> <50FA9B44.10307@HIDDEN> In-Reply-To: <50FA9B44.10307@HIDDEN> X-Enigmail-Version: 1.5.0 OpenPGP: url=http://people.redhat.com/eblake/eblake.gpg Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="----enig2FCGFJGSELOFRUUNIEJBH" X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Spam-Score: -6.9 (------) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -6.9 (------) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) ------enig2FCGFJGSELOFRUUNIEJBH Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 01/19/2013 06:10 AM, Stefano Lattarini wrote: > [-cc automake-patches] >=20 > On 01/16/2013 06:48 PM, Paul Eggert wrote: >> On 01/16/13 04:46, Stefano Lattarini wrote: >>> Makes sense. Should I try to implement something along these lines (= might >>> take a few days), or are you planning to do that yourself (in which c= ase >>> I'll avoid the duplicated efforts)? >> >> I wasn't planning on doing that, so please go ahead. >> > Here is my attempt. OK to go in Autoconf 2.70? Close, but I have some ideas for improvements. >=20 > +- AC_PROG_CC_C_O implements saner semantics if the new witness macro > + AC_PROG_CC_C_O_USE_MODERN_SEMANTICS is defined (see the documentatio= n > + for details). Future versions of autoconf might make such new > + semantics the default at some point. Thnking about a forward-compatibility issue - what happens if, when we switch semantics, someone still needs to get back to the old semantics? Do we add yet another witness macro at that time? And how does such a package work with both old and new autoconf at once? Rather, a better plan is to make AC_PROG_CC_C_O be configurable via a single witness, by taking an optional argument that determines _which_ semantics to use and having the witness be a non-empty string to alter defaults. All existing versions of autoconf ignore macro arguments to AC_PROG_CC_C_O, so we can add an optional argument, and document it as follows: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D AC_PROG_CC_C_O([mode]) ---------------------- If MODE is given with the value 'sane', use the new semantics (for 2.70 and beyond). If MODE is given with the value 'old' (or for 2.69 and earlier), use the backwards-compatible semantics. If MODE is omitted, which of the two semantics will default to the value of the macro AC_PROG_CC_C_O_MODE (for 2.70 and beyond). AC_PROG_CC_C_O_MODE ------------------- This macro is predefined in autoconf 2.70 to have the value 'old'; but packages may redefine it to contain 'sane' to impact how AC_PROG_CC_C_O will behave if called without arguments. A future version of autoconf may switch this macro to have the value 'sane'. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Usage wise, a configure.ac that uses AC_PROG_CC_C_O([old]) will always have old semantics, regardless of which autoconf version it is built with. A configure.ac that uses AC_PROG_CC_C_O without arguments (most existing scripts) will default to old semantics under older automake; but Automake 1.14 can do 'm4_define([AC_PROG_CC_C_O_MODE], [sane])' at initialization time, to take advantage of sane semantics. Implementation-wise, it would look something like this in autoconf 2.70 (rough draft): m4_define([AC_PROG_CC_C_O_MODE], [old]) m4_defun([AC_PROG_CC_C_O], [m4_if(m4_default([$1], [m4_default(AC_PROG_CC_C_O_MODE, [old])]), [old], [old semantics], [new semantics])]) or, if we wanted to reject invalid input (rather than silently treating all strings !=3D 'old' as 'sane'): m4_define([AC_PROG_CC_C_O_MODE], [old]) m4_defun([AC_PROG_CC_C_O], [m4_case(m4_default([$1], [m4_default(AC_PROG_CC_C_O_MODE, [old])]), [old], [old semantics], [sane], [new semantics], [m4_fatal([unrecognized mode: $1])])]) Either way, you need only switch one line in a future autoconf to default to new semantics. --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org ------enig2FCGFJGSELOFRUUNIEJBH Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.13 (GNU/Linux) Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJQ+qzfAAoJEKeha0olJ0NqjV8H/1DBNFgyPXEjjLR8fsb0k/dQ gk+uj3x5Hs12pHmZsG73RpSx8X6gl+GcDb+2MbzqzzV/7V7PWn2e2shkP2F8qPr4 wAWIcPJYH5MtzZ6uhhc+OSUjwwcwNIz+LG1N+2ApOUcn5SAB9uXPbPEuCJEIbfbk dn17AvPj6E7QLHO8IxNKMXslh41Vu1RaJTDkGxMDNnlDQMM8BCEAp3eC+lvu58eu iMvhXfoV+brtxJ3W45s5z6eNKbe0UEuIl3Y9l4ejo0Ggc12U2vRDOR9a3w7cZNX2 +5g/VkEVQGyFr/Hb9s0oylhPxAcGwAfdpAkMOWx197sl+gV+OVIuZwEEtDjmnZk= =Z/P7 -----END PGP SIGNATURE----- ------enig2FCGFJGSELOFRUUNIEJBH--
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: Cleaning up AC_PROG_CC_C_O semantics Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Mon, 21 Jan 2013 13:59:01 +0000 Resent-Message-ID: <handler.13378.B13378.135877670919398 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Eric Blake <eblake@HIDDEN> Cc: Nick Bowler <nbowler@HIDDEN>, Paul Eggert <eggert@HIDDEN>, "bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>, 13378 <at> debbugs.gnu.org Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.135877670919398 (code B ref 13378); Mon, 21 Jan 2013 13:59:01 +0000 Received: (at 13378) by debbugs.gnu.org; 21 Jan 2013 13:58:29 +0000 Received: from localhost ([127.0.0.1]:42588 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TxHtL-00052o-Ph for submit <at> debbugs.gnu.org; Mon, 21 Jan 2013 08:58:29 -0500 Received: from mail-la0-f50.google.com ([209.85.215.50]:33856) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1TxHtI-00052f-BX for 13378 <at> debbugs.gnu.org; Mon, 21 Jan 2013 08:58:25 -0500 Received: by mail-la0-f50.google.com with SMTP id ec20so1935780lab.23 for <13378 <at> debbugs.gnu.org>; Mon, 21 Jan 2013 05:57:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=S/y+rdSRHEQxPwlvRz10MyVncYp/scnLKcLCECCIRHo=; b=HgfWWMFZk4mA2KvuuxwLZ1Mb739n79RWuLdJaQgvp4sF5RmRie3AUpFGEz6FL+/qgh 9K0JK5R4Q5JwywEtwYYN1EoZXBqy0s1FbTK9pIgrEWIp/cjEmm50OxYaRacbdDF8Zy2H wuAbkql7Mry2q/1c4Out3mrXEpI3tcvxQWqRrs+WJnutNQbEKXKrsQOUShNvqU2cxMMY Jr7f8PdANjRO3FOiCkgdI4781x/HaY22GGzWAHRTJPYTSFq2Y6nZqAenMqZMThAMAGck mpv94HB2YW/LdpOGVvSDLhB4Gzs1MviG34wGbGVWk0m/uVsfBMNwDa06MZLyT8EKcsuJ UOzw== X-Received: by 10.112.101.232 with SMTP id fj8mr7293367lbb.83.1358776639519; Mon, 21 Jan 2013 05:57:19 -0800 (PST) Received: from [192.168.178.21] (host137-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.137]) by mx.google.com with ESMTPS id s9sm5539694lbc.12.2013.01.21.05.57.16 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 21 Jan 2013 05:57:18 -0800 (PST) Message-ID: <50FD493B.9050403@HIDDEN> Date: Mon, 21 Jan 2013 14:57:15 +0100 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> <1358107297-15225-3-git-send-email-nbowler@HIDDEN> <50F31BE3.2030602@HIDDEN> <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> <50F3DCD1.7020309@HIDDEN> <50F46047.4070003@HIDDEN> <50F46309.1090509@HIDDEN> <50F4C9FA.2090003@HIDDEN> <50F6A11E.20103@HIDDEN> <50F6E7EF.30305@HIDDEN> <50FA9B44.10307@HIDDEN> <50FAACDF.4010300@HIDDEN> In-Reply-To: <50FAACDF.4010300@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -0.7 (/) Hi Eric. On 01/19/2013 03:25 PM, Eric Blake wrote: > On 01/19/2013 06:10 AM, Stefano Lattarini wrote: >> [-cc automake-patches] >> >> On 01/16/2013 06:48 PM, Paul Eggert wrote: >>> On 01/16/13 04:46, Stefano Lattarini wrote: >>>> Makes sense. Should I try to implement something along these lines (might >>>> take a few days), or are you planning to do that yourself (in which case >>>> I'll avoid the duplicated efforts)? >>> >>> I wasn't planning on doing that, so please go ahead. >>> >> Here is my attempt. OK to go in Autoconf 2.70? > > Close, but I have some ideas for improvements. > > [SNIP] > All your suggestions sound good, but I won't have time to fix my patch to accommodate them in the short term. If you want to take over from here, feel free to; otherwise, let's put this topic on hold for the moment. Thanks, Stefano
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: More work on subdir-objects, AC_PROG_CC and AM_PROG_CC_C_O Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Sat, 11 May 2013 09:58:01 +0000 Resent-Message-ID: <handler.13378.B13378.13682662798760 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Nick Bowler <nbowler@HIDDEN> Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.13682662798760 (code B ref 13378); Sat, 11 May 2013 09:58:01 +0000 Received: (at 13378) by debbugs.gnu.org; 11 May 2013 09:57:59 +0000 Received: from localhost ([127.0.0.1]:36237 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1Ub6Yw-0002H9-Im for submit <at> debbugs.gnu.org; Sat, 11 May 2013 05:57:59 -0400 Received: from mail-we0-f178.google.com ([74.125.82.178]:64027) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1Ub6Yt-0002Gr-CJ for 13378 <at> debbugs.gnu.org; Sat, 11 May 2013 05:57:57 -0400 Received: by mail-we0-f178.google.com with SMTP id q57so4960773wes.9 for <13378 <at> debbugs.gnu.org>; Sat, 11 May 2013 02:57:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type; bh=4422TKTpBrkGkuAwCOdvmZf9wzAT10CZeWVysEvnlOc=; b=IK73bYYMcmnn07meMyLi4UiKqezdkoi2xPoRSNSBFncxewovTECD3vhYsug3ACdd55 VtGePJvgVxbvK2ZScbhYjVVOGejR5EkekT+5xzRysSTgRixuHdxZLAXsXRWhHKxbSwhg fFeVRga4SitF48FaCuQQdVyk9B5bQBPM1Fogd+231mEc1jvpAT88AHl9CLc1pLYYZqbt PBss92YkV3zEFHEt9Ao4bTnwtbnlgcNSP3qFRIj2xHPmy4iVFSLz2FlE/t6JDM3asusm LPoUP//OXYZK2H7PG8YnxM4Klvh9VhhvbJtsfI9TvSxYyYErRf8lpLjaULB8NLVsu7pr VTDg== X-Received: by 10.195.12.228 with SMTP id et4mr29338499wjd.59.1368266259642; Sat, 11 May 2013 02:57:39 -0700 (PDT) Received: from [192.168.178.20] (host93-95-dynamic.6-79-r.retail.telecomitalia.it. [79.6.95.93]) by mx.google.com with ESMTPSA id je7sm2600165wic.9.2013.05.11.02.57.37 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 11 May 2013 02:57:38 -0700 (PDT) Message-ID: <518E160A.4050808@HIDDEN> Date: Sat, 11 May 2013 11:57:30 +0200 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> <1358107297-15225-3-git-send-email-nbowler@HIDDEN> <50F31BE3.2030602@HIDDEN> <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> <50F3DC84.1030701@HIDDEN> In-Reply-To: <50F3DC84.1030701@HIDDEN> Content-Type: multipart/mixed; boundary="------------020507090208040907040505" X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) This is a multi-part message in MIME format. --------------020507090208040907040505 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Reference: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#130> Hello everybody, sorry for the delay. This follow-up is looong overdue. On 01/14/2013 11:23 AM, Stefano Lattarini wrote: > On 01/13/2013 10:06 PM, Nick Bowler wrote: >> On 2013-01-13, Stefano Lattarini <stefano.lattarini@HIDDEN> wrote: >> >>> Another useful follow-up would be to move the AM_PROG_CC_C_O in a private >>> macro (to be expanded in AC_CONFIG_COMMANDS_PRE like you did above), and >>> make AM_PROG_CC_C_O a no-op (without runtime deprecation). That way, we >>> could rely on the improved semantic of having the potential '$CC' rewrite >>> placed near the end of configure, rather than near the beginning. WDYT? >> >> With AC_CONFIG_COMMANDS_PRE, AM_PROG_CC_C_O would still be required if >> package authors want to make use of the "compile" wrapper in configure >> tests -- essentially, configure.ac can call AM_PROG_CC_C_O to force the >> test to happen where it is needed, rather than just before AC_OUTPUT. >> >> I think it'd be worthwhile to keep that working. >> > Ah, but the $CC rewrite has always been an undocumented hack, and relying > on it is a bad idea. Still, your reasoning makes it clear that changing > that semantics abruptly might cause subtle backward-incompatibilities in > corner-case but perfectly valid situations. Hmmm... I think it's better > to follow your approach for now, and then, if and when we decide to fix > our macros not to rewrite $CC, do so with proper NEWS and documentation > warnings beforehand, and a viable deprecation plan. > The attached patches implement Nick's suggestion on the current code base (original patches from Nick has unfortunately gotten too much out-of-sync with the current codebase situation). But note that the second (one-liner) is actually identical to the first patch originally posted by Nick <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#121>, so it's still in his name. I plan to push these patches to maint in a couple of days if there is no objection. Regards, Stefano --------------020507090208040907040505 Content-Type: text/x-patch; name="0001-compile-avoid-AC_PROG_CC-messy-rewrite.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-compile-avoid-AC_PROG_CC-messy-rewrite.patch" From 32eb770b73903a6b09216709790a093b33afff8d Mon Sep 17 00:00:00 2001 Message-Id: <32eb770b73903a6b09216709790a093b33afff8d.1368266171.git.stefano.lattarini@HIDDEN> From: Stefano Lattarini <stefano.lattarini@HIDDEN> Date: Sat, 11 May 2013 11:03:41 +0200 Subject: [PATCH 1/2] compile: avoid AC_PROG_CC messy rewrite Instead, add an hook to AC_OUTPUT to have AM_PROG_CC_C_O invoked automatically. See also the long-winded discussion about automake bug#13378. * m4/minuso.m4 (AM_PROG_CC_C_O): Bring back the old implementation, from commit v1.13.1-55-g1ab8fb6. * m4/init.m4 (AC_PROG_CC): Remove this horrible, hacky re-write. * (AM_INIT_AUTOMAKE): Arrange for AM_PROG_CC_C_O to be called if necessary. * t/am-prog-cc-c-o.sh: Adjust to avoid spurious failure. * t/subobj.sh: Likewise. Suggested-by: Nick Bowler <nbowler@HIDDEN> Signed-off-by: Stefano Lattarini <stefano.lattarini@HIDDEN> --- m4/init.m4 | 52 ++++++---------------------------------------------- m4/minuso.m4 | 27 +++++++++++++++++---------- t/add-missing.tap | 9 ++++----- t/am-prog-cc-c-o.sh | 4 ++-- t/subobj.sh | 3 ++- 5 files changed, 31 insertions(+), 64 deletions(-) diff --git a/m4/init.m4 b/m4/init.m4 index ce64a6c..a6f2733 100644 --- a/m4/init.m4 +++ b/m4/init.m4 @@ -110,6 +110,12 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) +dnl Automatically invoke AM_PROG_CC_C_O as necessary. Since AC_PROG_CC is +dnl usually called after AM_INIT_AUTOMAKE, we arrange for the test to be +dnl done later by AC_CONFIG_COMMANDS_PRE. +AC_CONFIG_COMMANDS_PRE([AC_PROVIDE_IFELSE( + [AC_PROG_CC], + [AC_LANG_PUSH([C]) AM_PROG_CC_C_O AC_LANG_POP([C])])])dnl AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This @@ -166,52 +172,6 @@ dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) -dnl We have to redefine AC_PROG_CC to allow our compile rules to use -dnl "-c -o" together also with losing compilers. -dnl FIXME: Add references to the original discussion and bug report. -dnl FIXME: Shameless copy & paste from Autoconf internals, since trying to -dnl play smart among tangles of AC_REQUIRE, m4_defn, m4_provide and -dnl other tricks was proving too difficult, and in the end, likely -dnl more brittle too. And this should anyway be just a temporary -dnl band-aid, until Autoconf provides the semantics and/or hooks we -dnl need (hint hint, nudge nudge) ... -AC_DEFUN([AC_PROG_CC], -m4_defn([AC_PROG_CC]) -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -dnl FIXME The following abomination is expected to disappear in -dnl Automake 1.14. -AC_MSG_CHECKING([whether $CC understands -c and -o together]) -set dummy $CC; am__cc=`AS_ECHO(["$[2]"]) | \ - sed 's/[[^a-zA-Z0-9_]]/_/g;s/^[[0-9]]/_/'` -AC_CACHE_VAL([am_cv_prog_cc_${am__cc}_c_o], -[AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) -# Make sure it works both with $CC and with simple cc. -# We do the test twice because some compilers refuse to overwrite an -# existing .o file with -o, though they will create one. -ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&AS_MESSAGE_LOG_FD' -rm -f conftest2.* -if _AC_DO_VAR(ac_try) && test -f conftest2.$ac_objext -then - eval am_cv_prog_cc_${am__cc}_c_o=yes -else - eval am_cv_prog_cc_${am__cc}_c_o=no -fi -rm -f core conftest* -])dnl -if eval test \"\$am_cv_prog_cc_${am__cc}_c_o\" = yes; then - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) - # Losing compiler, so wrap it with the 'compile' script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -]) - # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. diff --git a/m4/minuso.m4 b/m4/minuso.m4 index 17fa8c9..984427c 100644 --- a/m4/minuso.m4 +++ b/m4/minuso.m4 @@ -7,19 +7,26 @@ # AM_PROG_CC_C_O # -------------- -# Basically a no-op now, completely superseded by the AC_PROG_CC -# adjusted by Automake. Kept for backward-compatibility. +# Like AC_PROG_CC_C_O, but changed for automake. AC_DEFUN([AM_PROG_CC_C_O], -[AC_REQUIRE([AC_PROG_CC])dnl +[AC_REQUIRE([AC_PROG_CC_C_O])dnl +AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi dnl Make sure AC_PROG_CC is never called again, or it will override our dnl setting of CC. m4_define([AC_PROG_CC], [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) -# For better backward-compatibility. Users are advised to stop -# relying on this cache variable and C preprocessor symbol ASAP. -eval ac_cv_prog_cc_${am__cc}_c_o=\$am_cv_prog_cc_${am__cc}_c_o -if eval test \"\$ac_cv_prog_cc_${am__cc}_c_o\" != yes; then - AC_DEFINE([NO_MINUS_C_MINUS_O], [1], - [Define to 1 if your C compiler doesn't accept -c and -o together.]) -fi ]) diff --git a/t/add-missing.tap b/t/add-missing.tap index 9c4b774..053b9a1 100755 --- a/t/add-missing.tap +++ b/t/add-missing.tap @@ -62,6 +62,7 @@ AC_CANONICAL_TARGET AC_CANONICAL_SYSTEM AM_PATH_LISPDIR AM_PATH_PYTHON +AC_OUTPUT END $ACLOCAL || framework_failure_ "cannot pre-compute aclocal.m4" @@ -247,7 +248,6 @@ check_ <<'END' depcomp/C == Files == depcomp -compile == configure.ac == AC_PROG_CC == Makefile.am == @@ -272,9 +272,10 @@ compile == Files == compile == configure.ac == -# Using AC_PROG_CC in configure.ac should be enough. No -# need to also define, say, xxx_PROGRAMS in Makefile.am. +# Using AC_PROG_CC and AC_OUTPUT in configure.ac should be enough. +# No need to also define, say, xxx_PROGRAMS in Makefile.am. AC_PROG_CC +AC_OUTPUT END # For config.guess and config.sub. @@ -295,7 +296,6 @@ check_ <<'END' == Name == ylwrap/Lex == Files == -compile ylwrap == configure.ac == AC_PROG_CC @@ -310,7 +310,6 @@ check_ <<'END' == Name == ylwrap/Yacc == Files == -compile ylwrap == configure.ac == AC_PROG_CC diff --git a/t/am-prog-cc-c-o.sh b/t/am-prog-cc-c-o.sh index da6a3a4..549cdcc 100755 --- a/t/am-prog-cc-c-o.sh +++ b/t/am-prog-cc-c-o.sh @@ -56,7 +56,7 @@ $AUTOMAKE --add-missing ./configure >stdout || { cat stdout; exit 1; } cat stdout -grep 'understands -c and -o together.* yes$' stdout +$EGREP 'understands? -c and -o together.* yes$' stdout # No repeated checks please. test $(grep -c ".*-c['\" ].*-o['\" ]" stdout) -eq 1 $MAKE @@ -83,7 +83,7 @@ CC=$am_testaux_builddir/cc-no-c-o; export CC ./configure >stdout || { cat stdout; exit 1; } cat stdout -grep 'understands -c and -o together.* no$' stdout +$EGREP 'understands? -c and -o together.* no$' stdout # No repeated checks please. test $(grep -c ".*-c['\" ].*-o['\" ]" stdout) -eq 1 $MAKE diff --git a/t/subobj.sh b/t/subobj.sh index 22ab2d3..f595e68 100755 --- a/t/subobj.sh +++ b/t/subobj.sh @@ -23,6 +23,7 @@ AC_PROG_CC AC_PROG_CXX AC_PROG_YACC AC_CONFIG_FILES([sub/Makefile]) +AC_OUTPUT END $ACLOCAL @@ -75,7 +76,7 @@ rm -f compile $AUTOMAKE --add-missing 2>stderr || { cat stderr >&2; exit 1; } cat stderr >&2 # Make sure compile is installed, and that Automake says so. -grep '^configure\.ac:4:.*install.*compile' stderr +grep '^configure\.ac:[48]:.*install.*compile' stderr test -f compile grep '^generic/a\.\$(OBJEXT):' Makefile.in -- 1.8.3.rc0.19.g7e6a0cc --------------020507090208040907040505 Content-Type: text/x-patch; name="0002-Use-AC_DEFUN_ONCE-to-define-AM_PROG_CC_C_O.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0002-Use-AC_DEFUN_ONCE-to-define-AM_PROG_CC_C_O.patch" From c148dc73a92c1df5e70a61e9495e62c010090bd4 Mon Sep 17 00:00:00 2001 Message-Id: <c148dc73a92c1df5e70a61e9495e62c010090bd4.1368266171.git.stefano.lattarini@HIDDEN> In-Reply-To: <32eb770b73903a6b09216709790a093b33afff8d.1368266171.git.stefano.lattarini@HIDDEN> References: <32eb770b73903a6b09216709790a093b33afff8d.1368266171.git.stefano.lattarini@HIDDEN> From: Nick Bowler <nbowler@HIDDEN> Date: Sat, 11 May 2013 11:45:16 +0200 Subject: [PATCH 2/2] Use AC_DEFUN_ONCE to define AM_PROG_CC_C_O If AM_PROG_CC_C_O is expanded multiple times, and the compiler does not support -c and -o together, each expansion of the macro will prepend the compile script to CC. This can result in the compile script invoking the compile script, which at best pointless and silly. Fortunately, there does not appear to be any serious problems as the first compile invocation strips out -o options, causing subsequent invocations of the script to merely exec their arguments. Other than fixing the above, this should not normally cause any changes to the resulting configure script, except in the (hopefully rare) case where AM_PROG_CC_C_O is directly expanded (i.e., *not* using AC_REQUIRE) in the body of a macro defined with AC_DEFUN. In that case, the use of AC_DEFUN_ONCE may cause the expansion of AM_PROG_CC_C_O to appear earlier in the configure script. * m4/minuso.m4: Change the definition of AM_PROG_CC_C_O to use AC_DEFUN_ONCE, avoiding problems caused by multiple expansions. Copyright-paperwork-exempt: yes Signed-off-by: Stefano Lattarini <stefano.lattarini@HIDDEN> --- m4/minuso.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/m4/minuso.m4 b/m4/minuso.m4 index 984427c..06f74c9 100644 --- a/m4/minuso.m4 +++ b/m4/minuso.m4 @@ -8,7 +8,7 @@ # AM_PROG_CC_C_O # -------------- # Like AC_PROG_CC_C_O, but changed for automake. -AC_DEFUN([AM_PROG_CC_C_O], +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC_C_O])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl -- 1.8.3.rc0.19.g7e6a0cc --------------020507090208040907040505--
X-Loop: help-debbugs@HIDDEN Subject: bug#13378: More work on subdir-objects, AC_PROG_CC and AM_PROG_CC_C_O Resent-From: Stefano Lattarini <stefano.lattarini@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-automake@HIDDEN Resent-Date: Mon, 13 May 2013 20:12:02 +0000 Resent-Message-ID: <handler.13378.B13378.13684759005622 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 13378 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: Nick Bowler <nbowler@HIDDEN> Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org, automake-patches@HIDDEN Received: via spool by 13378-submit <at> debbugs.gnu.org id=B13378.13684759005622 (code B ref 13378); Mon, 13 May 2013 20:12:02 +0000 Received: (at 13378) by debbugs.gnu.org; 13 May 2013 20:11:40 +0000 Received: from localhost ([127.0.0.1]:39042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1Ubz5w-0001Sb-6R for submit <at> debbugs.gnu.org; Mon, 13 May 2013 16:11:40 -0400 Received: from mail-ee0-f48.google.com ([74.125.83.48]:56368) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <stefano.lattarini@HIDDEN>) id 1Ubz5t-0001SQ-Hb for 13378 <at> debbugs.gnu.org; Mon, 13 May 2013 16:11:39 -0400 Received: by mail-ee0-f48.google.com with SMTP id b47so328477eek.21 for <13378 <at> debbugs.gnu.org>; Mon, 13 May 2013 13:11:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=7Ejf8fRoAU5G8EU3g7BmvThqQAN4mxAt4zCa/IG9VYw=; b=zFNcYWLlOYa7RKIKwrb08afeo2p4wHkZCQL7DfuEC6JUp+uKXUtt5WH9OhlpR2RW+4 UIUkXFtVQVaRIRFCZ/pK3hCHiuvMlXxffjY2/SLnqMhfRWQoLLGo+WwwmFAqX8joZBJ/ 7I9eA2NyOQg15ozjtR4CWje/Gg2PcrsV2vJE4qe+27+vHSAklJxrFWZKjWIzE/e0R6l8 SaZGmQiXL/ovWiS9Wmkm/tVNSqV1wN8DMHWTGeJewPFLFypHuRUFtBvklUjihdadqdKV Bnh8IWA7pjV+YAgoGu7G4TwQdVNoIkGezbmYKFpTDF4qrLCzCAfBmmyBEHRuYFsu4xrG xPwQ== X-Received: by 10.15.94.131 with SMTP id bb3mr31425330eeb.20.1368475867910; Mon, 13 May 2013 13:11:07 -0700 (PDT) Received: from [192.168.178.20] (host93-95-dynamic.6-79-r.retail.telecomitalia.it. [79.6.95.93]) by mx.google.com with ESMTPSA id i2sm14165791eeg.2.2013.05.13.13.11.05 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 13 May 2013 13:11:07 -0700 (PDT) Message-ID: <519148D7.6070902@HIDDEN> Date: Mon, 13 May 2013 22:11:03 +0200 From: Stefano Lattarini <stefano.lattarini@HIDDEN> MIME-Version: 1.0 References: <50F1356A.6000904@HIDDEN> <1358107297-15225-1-git-send-email-nbowler@HIDDEN> <1358107297-15225-3-git-send-email-nbowler@HIDDEN> <50F31BE3.2030602@HIDDEN> <CAN_QmVywCuVu_Qig2eJAuds5ApzvA=oq3FUYo460RojsvWGYiA@HIDDEN> <50F3DC84.1030701@HIDDEN> <518E160A.4050808@HIDDEN> In-Reply-To: <518E160A.4050808@HIDDEN> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) On 05/11/2013 11:57 AM, Stefano Lattarini wrote: > Reference: > <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#130> > > Hello everybody, sorry for the delay. This follow-up is looong > overdue. > > On 01/14/2013 11:23 AM, Stefano Lattarini wrote: >> On 01/13/2013 10:06 PM, Nick Bowler wrote: >>> On 2013-01-13, Stefano Lattarini <stefano.lattarini@HIDDEN> wrote: >>> >>>> Another useful follow-up would be to move the AM_PROG_CC_C_O in a private >>>> macro (to be expanded in AC_CONFIG_COMMANDS_PRE like you did above), and >>>> make AM_PROG_CC_C_O a no-op (without runtime deprecation). That way, we >>>> could rely on the improved semantic of having the potential '$CC' rewrite >>>> placed near the end of configure, rather than near the beginning. WDYT? >>> >>> With AC_CONFIG_COMMANDS_PRE, AM_PROG_CC_C_O would still be required if >>> package authors want to make use of the "compile" wrapper in configure >>> tests -- essentially, configure.ac can call AM_PROG_CC_C_O to force the >>> test to happen where it is needed, rather than just before AC_OUTPUT. >>> >>> I think it'd be worthwhile to keep that working. >>> >> Ah, but the $CC rewrite has always been an undocumented hack, and relying >> on it is a bad idea. Still, your reasoning makes it clear that changing >> that semantics abruptly might cause subtle backward-incompatibilities in >> corner-case but perfectly valid situations. Hmmm... I think it's better >> to follow your approach for now, and then, if and when we decide to fix >> our macros not to rewrite $CC, do so with proper NEWS and documentation >> warnings beforehand, and a viable deprecation plan. >> > The attached patches implement Nick's suggestion on the current code > base (original patches from Nick has unfortunately gotten too much > out-of-sync with the current codebase situation). But note that the > second (one-liner) is actually identical to the first patch originally > posted by Nick <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#121>, > so it's still in his name. > > I plan to push these patches to maint in a couple of days if there is > no objection. > Patches pushed. Regards, Stefano
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.