GNU bug report logs - #13378
Make the 'subdir-objects' setup the default, and only available one

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

Package: automake; Severity: wishlist; Reported by: Stefano Lattarini <stefano.lattarini@HIDDEN>; dated Mon, 7 Jan 2013 20:10:07 UTC; Maintainer for automake is bug-automake@HIDDEN.

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


Received: (at 13378) by debbugs.gnu.org; 13 May 2013 20:11:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 13 16:11:40 2013
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
To: Nick Bowler <nbowler@HIDDEN>
Subject: Re: bug#13378: More work on subdir-objects,
	AC_PROG_CC and AM_PROG_CC_C_O
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-Debbugs-Envelope-To: 13378
Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org,
	automake-patches@HIDDEN
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




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

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


Received: (at 13378) by debbugs.gnu.org; 11 May 2013 09:57:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 11 05:57:59 2013
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
To: Nick Bowler <nbowler@HIDDEN>
Subject: More work on subdir-objects, AC_PROG_CC and AM_PROG_CC_C_O
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-Debbugs-Envelope-To: 13378
Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org,
	automake-patches@HIDDEN
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--




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

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


Received: (at 13378) by debbugs.gnu.org; 21 Jan 2013 13:58:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 21 08:58:29 2013
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
To: Eric Blake <eblake@HIDDEN>
Subject: Re: bug#13378: Cleaning up AC_PROG_CC_C_O semantics
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, Paul Eggert <eggert@HIDDEN>,
	"bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>, 13378 <at> debbugs.gnu.org
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




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

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


Received: (at 13378) by debbugs.gnu.org; 19 Jan 2013 14:26:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 19 09:26:44 2013
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
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: bug#13378: Cleaning up AC_PROG_CC_C_O semantics
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, Paul Eggert <eggert@HIDDEN>,
	"bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>, 13378 <at> debbugs.gnu.org
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--




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

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


Received: (at 13378) by debbugs.gnu.org; 19 Jan 2013 13:11:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 19 08:11:33 2013
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
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: bug#13378: Cleaning up AC_PROG_CC_C_O semantics
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>,
	"bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>, 13378 <at> debbugs.gnu.org
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




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

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


Received: (at 13378) by debbugs.gnu.org; 16 Jan 2013 19:47:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 16 14:47:21 2013
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
To: Eric Blake <eblake@HIDDEN>
Subject: Re: bug#13378: Cleaning up AC_PROG_CC_C_O semantics
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, Paul Eggert <eggert@HIDDEN>,
	"bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>,
	13378 <at> debbugs.gnu.org, automake-patches@HIDDEN
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




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

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


Received: (at 13378) by debbugs.gnu.org; 16 Jan 2013 18:55:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 16 13:55:56 2013
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
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: bug#13378: Cleaning up AC_PROG_CC_C_O semantics
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>,
	"bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>,
	Stefano Lattarini <stefano.lattarini@HIDDEN>,
	13378 <at> debbugs.gnu.org, automake-patches@HIDDEN
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--




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

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


Received: (at 13378) by debbugs.gnu.org; 16 Jan 2013 17:49:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 16 12:49:12 2013
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
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: bug#13378: Cleaning up AC_PROG_CC_C_O semantics
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>,
	"bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>,
	13378 <at> debbugs.gnu.org, automake-patches@HIDDEN
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.




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

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


Received: (at 13378) by debbugs.gnu.org; 16 Jan 2013 12:47:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 16 07:47:06 2013
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
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: bug#13378: Cleaning up AC_PROG_CC_C_O semantics
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>,
	"bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>,
	13378 <at> debbugs.gnu.org, automake-patches@HIDDEN
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




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

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


Received: (at 13378) by debbugs.gnu.org; 16 Jan 2013 12:32:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 16 07:32:42 2013
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
To: 13378 <at> debbugs.gnu.org
Subject: Re: bug#13378: [PATCH] subdir-objects: complain if it isn't enabled
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-Debbugs-Envelope-To: 13378
Cc: "automake-patches@HIDDEN" <automake-patches@HIDDEN>
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




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

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


Received: (at 13378) by debbugs.gnu.org; 15 Jan 2013 03:16:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 14 22:16:46 2013
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
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: Cleaning up AC_PROG_CC_C_O semantics
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>,
	"bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>,
	13378 <at> debbugs.gnu.org, automake-patches@HIDDEN
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.




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

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


Received: (at 13378) by debbugs.gnu.org; 14 Jan 2013 19:57:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 14 14:57:42 2013
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
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: Cleaning up AC_PROG_CC_C_O semantics
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>,
	"bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>,
	13378 <at> debbugs.gnu.org, automake-patches@HIDDEN
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




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

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


Received: (at 13378) by debbugs.gnu.org; 14 Jan 2013 19:45:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 14 14:45:45 2013
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
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: Cleaning up AC_PROG_CC_C_O semantics
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>,
	"bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>,
	13378 <at> debbugs.gnu.org, automake-patches@HIDDEN
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.




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

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


Received: (at 13378) by debbugs.gnu.org; 14 Jan 2013 10:24:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 14 05:24:52 2013
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
To: Nick Bowler <nbowler@HIDDEN>
Subject: Cleaning up AC_PROG_CC_C_O semantics (was: Re: [PATCH 2/2]
	Automatically call AM_PROG_CC_C_O as required.)
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-Debbugs-Envelope-To: 13378
Cc: "bug-autoconf@HIDDEN" <bug-autoconf@HIDDEN>,
	Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org,
	automake-patches@HIDDEN
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





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

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


Received: (at 13378) by debbugs.gnu.org; 14 Jan 2013 10:23:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 14 05:23:44 2013
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
To: Nick Bowler <nbowler@HIDDEN>
Subject: Re: bug#13378: [PATCH 2/2] Automatically call AM_PROG_CC_C_O as
	required.
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-Debbugs-Envelope-To: 13378
Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org,
	automake-patches@HIDDEN
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






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

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


Received: (at 13378) by debbugs.gnu.org; 14 Jan 2013 00:50:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 13 19:50:21 2013
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>
Subject: Re: [PATCH 2/2] Automatically call AM_PROG_CC_C_O as required.
From: Nick Bowler <nbowler@HIDDEN>
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Content-Type: text/plain; charset=UTF-8
X-Spam-Score: 0.1 (/)
X-Debbugs-Envelope-To: 13378
X-Mailman-Approved-At: Sun, 13 Jan 2013 19:50:13 -0500
Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org,
	automake-patches@HIDDEN
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




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

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


Received: (at 13378) by debbugs.gnu.org; 14 Jan 2013 00:50:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 13 19:50:16 2013
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>
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: [PATCH 2/2] Automatically call AM_PROG_CC_C_O as required.
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-Debbugs-Envelope-To: 13378
X-Mailman-Approved-At: Sun, 13 Jan 2013 19:50:13 -0500
Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org,
	automake-patches@HIDDEN
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




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

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


Received: (at 13378) by debbugs.gnu.org; 14 Jan 2013 00:46:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 13 19:46:18 2013
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>
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: [PATCH 1/2] Use AC_DEFUN_ONCE to define AM_PROG_CC_C_O.
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-Debbugs-Envelope-To: 13378
X-Mailman-Approved-At: Sun, 13 Jan 2013 19:46:16 -0500
Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org,
	automake-patches@HIDDEN
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




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

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


Received: (at 13378) by debbugs.gnu.org; 14 Jan 2013 00:45:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 13 19:45:47 2013
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>
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: bug#13378: [PATCH] compile: use 'compile' script when "-c -o" is
	used with losing compilers
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-Debbugs-Envelope-To: 13378
X-Mailman-Approved-At: Sun, 13 Jan 2013 19:45:44 -0500
Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org,
	automake-patches@HIDDEN
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




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

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


Received: (at 13378) by debbugs.gnu.org; 13 Jan 2013 22:45:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 13 17:45:28 2013
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
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: bug#13378: Backward-compatibility in the autotools
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>,
	13378 <at> debbugs.gnu.org,
	"automake-patches@HIDDEN" <automake-patches@HIDDEN>
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




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

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


Received: (at 13378) by debbugs.gnu.org; 13 Jan 2013 20:41:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 13 15:41:41 2013
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
To: Nick Bowler <nbowler@HIDDEN>
Subject: Re: [PATCH 2/2] Automatically call AM_PROG_CC_C_O as required.
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-Debbugs-Envelope-To: 13378
Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org,
	automake-patches@HIDDEN
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




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

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


Received: (at 13378) by debbugs.gnu.org; 13 Jan 2013 20:41:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 13 15:41:26 2013
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
To: Nick Bowler <nbowler@HIDDEN>
Subject: Re: bug#13378: [PATCH] compile: use 'compile' script when "-c -o"
	is used with losing compilers
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-Debbugs-Envelope-To: 13378
Cc: Eric Blake <eblake@HIDDEN>, 13378 <at> debbugs.gnu.org,
	automake-patches@HIDDEN
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




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

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


Received: (at 13378) by debbugs.gnu.org; 13 Jan 2013 19:52:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 13 14:52:09 2013
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
To: 13378 <at> debbugs.gnu.org
Subject: [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)
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-Debbugs-Envelope-To: 13378
Cc: "automake-patches@HIDDEN" <automake-patches@HIDDEN>
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




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

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


Received: (at 13378) by debbugs.gnu.org; 12 Jan 2013 13:26:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 12 08:26:04 2013
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
To: 13378 <at> debbugs.gnu.org
Subject: Patches for master, making 'subdir-objects' mandatory
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.1 (/)
X-Debbugs-Envelope-To: 13378
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




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

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


Received: (at 13378) by debbugs.gnu.org; 12 Jan 2013 11:33:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 12 06:33:53 2013
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>
To: automake-patches@HIDDEN
Subject: [FYI] {maint} coverage: obsolete macro AM_PROG_CC_C_O should cause no
	warning nor errors
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-Debbugs-Envelope-To: 13378
Cc: 13378 <at> debbugs.gnu.org
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





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

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


Received: (at 13378) by debbugs.gnu.org; 12 Jan 2013 10:05:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 12 05:05:59 2013
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
To: Eric Blake <eblake@HIDDEN>
Subject: Re: bug#13378: [PATCH] compile: use 'compile' script when "-c -o"
	is used with losing compilers
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org,
	"automake-patches@HIDDEN" <automake-patches@HIDDEN>
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




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

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


Received: (at 13378) by debbugs.gnu.org; 11 Jan 2013 19:16:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 11 14:16:26 2013
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
To: Eric Blake <eblake@HIDDEN>
Subject: Re: bug#13378: [PATCH] compile: use 'compile' script when "-c -o"
	is used with losing compilers
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org,
	"automake-patches@HIDDEN" <automake-patches@HIDDEN>
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




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

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


Received: (at 13378) by debbugs.gnu.org; 11 Jan 2013 18:46:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 11 13:46:01 2013
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
To: Eric Blake <eblake@HIDDEN>
Subject: Backward-compatibility in the autotools (was: Re: [PATCH] compile:
	use 'compile' script when "-c -o" is used with losing compilers)
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org,
	"automake-patches@HIDDEN" <automake-patches@HIDDEN>
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




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

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


Received: (at 13378) by debbugs.gnu.org; 11 Jan 2013 18:43:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 11 13:43:59 2013
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
To: Eric Blake <eblake@HIDDEN>
Subject: Re: bug#13378: [PATCH] compile: use 'compile' script when "-c -o"
	is used with losing compilers
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org,
	"automake-patches@HIDDEN" <automake-patches@HIDDEN>
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




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

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


Received: (at 13378) by debbugs.gnu.org; 11 Jan 2013 18:20:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 11 13:20:09 2013
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
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: [PATCH] compile: use 'compile' script when "-c -o" is used with
	losing compilers
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org,
	"automake-patches@HIDDEN" <automake-patches@HIDDEN>
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--




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

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


Received: (at 13378) by debbugs.gnu.org; 11 Jan 2013 17:56:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 11 12:56:30 2013
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
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: bug#13378: [PATCH] compile: use 'compile' script when "-c -o"
	is used with losing compilers
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org,
	"automake-patches@HIDDEN" <automake-patches@HIDDEN>
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--




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

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


Received: (at 13378) by debbugs.gnu.org; 11 Jan 2013 16:30:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 11 11:30:46 2013
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
To: Eric Blake <eblake@HIDDEN>
Subject: Re: bug#13378: [PATCH] compile: use 'compile' script when "-c -o"
	is used with losing compilers
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org,
	"automake-patches@HIDDEN" <automake-patches@HIDDEN>
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





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

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


Received: (at 13378) by debbugs.gnu.org; 10 Jan 2013 14:23:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 10 09:23:32 2013
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
To: Eric Blake <eblake@HIDDEN>
Subject: Re: bug#13378: [PATCH] compile: use 'compile' script when "-c -o"
	is used with losing compilers
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org,
	"automake-patches@HIDDEN" <automake-patches@HIDDEN>
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
 ])




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

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


Received: (at 13378) by debbugs.gnu.org; 10 Jan 2013 13:33:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 10 08:33:47 2013
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
To: Eric Blake <eblake@HIDDEN>
Subject: [PATCH] compile: use 'compile' script when "-c -o" is used with losing
	compilers
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org,
	"automake-patches@HIDDEN" <automake-patches@HIDDEN>
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




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

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


Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 22:32:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 17:32:50 2013
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
To: Peter Rosin <peda@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: 13378 <at> debbugs.gnu.org
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




Information forwarded to bug-automake@HIDDEN:
bug#13378; Package automake. Full text available.
Changed bug title to 'Make the 'subdir-objects' setup the default, and only available one' from '[IMPORTANT] Make the 'subdir-objects' setup the default, and only available one' Request was from Stefano Lattarini <stefano.lattarini@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 22:03:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 17:03:13 2013
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
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: 13378 <at> debbugs.gnu.org
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'





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

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


Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 21:43:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 16:43:16 2013
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
To: Peter Rosin <peda@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org
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




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

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


Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 21:29:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 16:29:04 2013
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
To: Peter Rosin <peda@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>,
	13378 <at> debbugs.gnu.org
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




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

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


Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 21:11:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 16:11:57 2013
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
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, Eric Blake <eblake@HIDDEN>,
	13378 <at> debbugs.gnu.org
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





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

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


Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 21:07:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 16:07:05 2013
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
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org
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





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

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


Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 19:28:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 14:28:13 2013
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
To: Eric Blake <eblake@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org
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




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

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


Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 19:21:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 14:21:05 2013
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
To: Nick Bowler <nbowler@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: Peter Breitenlohner <peb@HIDDEN>, 13378 <at> debbugs.gnu.org,
	"automake-patches@HIDDEN" <automake-patches@HIDDEN>
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




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

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


Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 16:00:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 11:00:58 2013
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>
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: Peter Breitenlohner <peb@HIDDEN>, 13378 <at> debbugs.gnu.org
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/)




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

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


Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 15:30:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 10:30:10 2013
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
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: Nick Bowler <nbowler@HIDDEN>, 13378 <at> debbugs.gnu.org
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--




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

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


Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 15:16:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 10:16:13 2013
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
To: Nick Bowler <nbowler@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: Peter Breitenlohner <peb@HIDDEN>, 13378 <at> debbugs.gnu.org
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




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

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


Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 14:53:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 09:53:42 2013
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>
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: Peter Breitenlohner <peb@HIDDEN>, 13378 <at> debbugs.gnu.org
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/)




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

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


Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 12:17:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 07:17:28 2013
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
To: Peter Breitenlohner <peb@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: bug-automake@HIDDEN, 13378 <at> debbugs.gnu.org
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




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

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


Received: (at submit) by debbugs.gnu.org; 8 Jan 2013 12:17:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 07:17:30 2013
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
To: Peter Breitenlohner <peb@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: submit
Cc: bug-automake@HIDDEN, 13378 <at> debbugs.gnu.org
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




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

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


Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 10:36:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 05:36:20 2013
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
To: Peter Breitenlohner <peb@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: bug-automake@HIDDEN, 13378 <at> debbugs.gnu.org
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




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

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


Received: (at submit) by debbugs.gnu.org; 8 Jan 2013 10:36:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 05:36:24 2013
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
To: Peter Breitenlohner <peb@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: submit
Cc: bug-automake@HIDDEN, 13378 <at> debbugs.gnu.org
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




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

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


Received: (at 13378) by debbugs.gnu.org; 8 Jan 2013 09:57:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 04:57:29 2013
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>
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: bug-automake@HIDDEN, 13378 <at> debbugs.gnu.org
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>




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

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


Received: (at submit) by debbugs.gnu.org; 8 Jan 2013 09:57:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 08 04:57:32 2013
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>
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: submit
Cc: bug-automake@HIDDEN, 13378 <at> debbugs.gnu.org
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>




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

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


Received: (at 13378) by debbugs.gnu.org; 7 Jan 2013 23:05:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 07 18:05:00 2013
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
To: Stefano Lattarini <stefano.lattarini@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: 13378 <at> debbugs.gnu.org
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




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

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


Received: (at 13378) by debbugs.gnu.org; 7 Jan 2013 22:18:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 07 17:18:48 2013
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
To: Peter Johansson <trojkan@HIDDEN>
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: 13378
Cc: 13378 <at> debbugs.gnu.org
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




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

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


Received: (at submit) by debbugs.gnu.org; 7 Jan 2013 21:55:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 07 16:55:31 2013
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
To: bug-automake@HIDDEN
Subject: Re: bug#13378: [IMPORTANT] Make the 'subdir-objects' setup the
	default, and only available one
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-Debbugs-Envelope-To: submit
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





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

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


Received: (at submit) by debbugs.gnu.org; 7 Jan 2013 20:09:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 07 15:09:54 2013
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
To: bug-automake@HIDDEN
Subject: [IMPORTANT] Make the 'subdir-objects' setup the default, and only
	available one
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-Debbugs-Envelope-To: submit
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




Acknowledgement sent to Stefano Lattarini <stefano.lattarini@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-automake@HIDDEN. Full text available.
Report forwarded to bug-automake@HIDDEN:
bug#13378; Package automake. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

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