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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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--
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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--
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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--
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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.
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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.
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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.
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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--
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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--
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
])
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.Stefano Lattarini <stefano.lattarini@HIDDEN>
to control <at> debbugs.gnu.org.
Full text available.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'
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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/)
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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--
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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/)
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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>
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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>
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
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
Stefano Lattarini <stefano.lattarini@HIDDEN>:bug-automake@HIDDEN.
Full text available.bug-automake@HIDDEN:bug#13378; Package automake.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.