On 08/27/2010 11:48 AM, Eric Blake wrote:
On 08/27/2010 11:44 AM, Ralf Wildenhues wrote:
* Eric Blake wrote on Thu, Aug 26, 2010 at 11:13:02PM CEST:
* lib/autoconf/fortran.m4 (AC_FC_FREEFORM, AC_FC_FIXEDFORM)
(AC_FC_LINE_LENGTH, __AC_FC_NAME_MANGLING): Intentionally bypass
AC_LANG_SOURCE.
Rather than uglifying all Fortran tests (which would need to be done in
a number of third-party macros as well), how about turning off the
warning for Fortran 77 and Fortran, for which Autoconf doesn't provide
pre-processing functionality yet anyway?
Good idea. I think it can be done by making AC_LANG_CONFTEST dispatch to
a language-specific override, then make Fortran override it to skip the
warning. I'll have to work on that...
I've run out of time to test this; it will have to wait until after the
weekend on my side of things. But this should do the trick -
AC_LANG_CONFTEST is already language-specific, and right now, C, C++,
ObjC, and ObjC++ all override it (C explicitly, the other three via
AC_LANG_DEFINE inheritance). Therefore, making the default silence the
warning has the net effect that the remaining languages, Fortran and
Erlang, will never be able to trip the warning, even if the user skipped
AC_LANG_PROGRAM during that language.
Of course, the final patch should remove some of the uglification added
in the previous round of patches to fortran.m4, and probably some
testsuite exposure.
diff --git i/lib/autoconf/lang.m4 w/lib/autoconf/lang.m4
index bd4b68b..304cd91 100644
--- i/lib/autoconf/lang.m4
+++ w/lib/autoconf/lang.m4
@@ -201,9 +201,14 @@ AC_DEFUN([AC_LANG_CONFTEST],
# AC_LANG_CONFTEST()(BODY)
# ------------------------
# Default implementation of AC_LANG_CONFTEST.
+# This version assumes that you can't inline confdefs.h into your
+# language, and as such, it is safe to blindly call
+# AC_LANG_DEFINES_PROVIDED. Language-specific overrides should
+# remove this call if AC_LANG_SOURCE does inline confdefs.h.
m4_define([AC_LANG_CONFTEST()],
[cat > conftest.$ac_ext <<_ACEOF
-$1
+AC_LANG_DEFINES_PROVIDED[]$1
_ACEOF])
# AC_LANG_DEFINES_PROVIDED
--
Eric Blake [email protected] +1-801-349-2682
Libvirt virtualization library http://libvirt.org