[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: AC_OPENMP / AC_LANG_FUNC_LINK_TRY: unknown language: Fortran
From: |
Ralf Wildenhues |
Subject: |
Re: AC_OPENMP / AC_LANG_FUNC_LINK_TRY: unknown language: Fortran |
Date: |
Sat, 31 Oct 2009 09:21:09 +0100 |
User-agent: |
Mutt/1.5.20 (2009-08-09) |
* Eric Blake wrote on Fri, Oct 30, 2009 at 09:41:22PM CET:
> Wouldn't it work to reuse an existing per-language macro, as in:
> m4_toupper(_AC_LANG_ABBREV)
>
> well, that gives $ERL instead of $ERLC. So I guess we don't have anything.
>
> That being the case, I would prefer to add another argument to
> AC_LANG_DEFINE to populate _AC_CC(lang) in the same manner as
> _AC_LANG_ABBREV(lang) is populated, rather than hardcoding the translation
> in lang.m4.
Yes, that sounds better; thanks. IIUC then AC_LANG_DEFINE is not public
yet and not used outside Autoconf, so we can reorder arguments. OK to
apply?
Thanks,
Ralf
Fix AC_OPENMP configure message for non-C compilers.
* lib/autoconf/lang.m4 (AC_LANG_DEFINE): Accept as additional
fourth arg the compiler variable name, defined in _AC_CC($1).
(_AC_CC): New language dispatch macro.
* lib/autoconf/erlang.m4 (AC_LANG(Erlang)): Adjust.
* lib/autoconf/fortran.m4 (AC_LANG(Fortran 77), AC_LANG(Fortran)):
Likewise.
* lib/autoconf/c.m4 (AC_LANG(C), AC_LANG(C++))
(AC_LANG(Objective C), AC_LANG(Objective C++)): Likewise.
(AC_OPENMP): Use _AC_CC instead of $CC.
diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
index 3b7cf36..420c8b6 100644
--- a/lib/autoconf/c.m4
+++ b/lib/autoconf/c.m4
@@ -59,7 +59,7 @@
# AC_LANG(C)
# ----------
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-AC_LANG_DEFINE([C], [c], [C], [],
+AC_LANG_DEFINE([C], [c], [C], [CC], [],
[ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&AS_MESSAGE_LOG_FD'
@@ -238,7 +238,7 @@ static unsigned long int ulongval () { return $2; }
# AC_LANG(C++)
# ------------
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-AC_LANG_DEFINE([C++], [cxx], [CXX], [C],
+AC_LANG_DEFINE([C++], [cxx], [CXX], [CXX], [C],
[ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&AS_MESSAGE_LOG_FD'
@@ -260,7 +260,7 @@ AU_DEFUN([AC_LANG_CPLUSPLUS], [AC_LANG(C++)])
# AC_LANG(Objective C)
# --------------------
-AC_LANG_DEFINE([Objective C], [objc], [OBJC], [C],
+AC_LANG_DEFINE([Objective C], [objc], [OBJC], [OBJC], [C],
[ac_ext=m
ac_cpp='$OBJCPP $CPPFLAGS'
ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&AS_MESSAGE_LOG_FD'
@@ -282,7 +282,7 @@ AU_DEFUN([AC_LANG_OBJC], [AC_LANG(Objective C)])
# AC_LANG(Objective C++)
# ----------------------
-AC_LANG_DEFINE([Objective C++], [objcxx], [OBJCXX], [C++],
+AC_LANG_DEFINE([Objective C++], [objcxx], [OBJCXX], [OBJCXX], [C++],
[ac_ext=mm
ac_cpp='$OBJCXXCPP $CPPFLAGS'
ac_compile='$OBJCXX -c $OBJCXXFLAGS $CPPFLAGS conftest.$ac_ext
>&AS_MESSAGE_LOG_FD'
@@ -1973,7 +1973,7 @@ AC_DEFUN([AC_OPENMP],
AC_ARG_ENABLE([openmp],
[AS_HELP_STRING([--disable-openmp], [do not use OpenMP])])
if test "$enable_openmp" != no; then
- AC_CACHE_CHECK([for $CC option to support OpenMP],
+ AC_CACHE_CHECK([for $[]_AC_CC[] option to support OpenMP],
[ac_cv_prog_[]_AC_LANG_ABBREV[]_openmp],
[AC_LINK_IFELSE([_AC_LANG_OPENMP],
[ac_cv_prog_[]_AC_LANG_ABBREV[]_openmp='none needed'],
diff --git a/lib/autoconf/erlang.m4 b/lib/autoconf/erlang.m4
index d87510a..748fca8 100644
--- a/lib/autoconf/erlang.m4
+++ b/lib/autoconf/erlang.m4
@@ -99,7 +99,7 @@ fi
# AC_LANG(Erlang)
# ---------------
-AC_LANG_DEFINE([Erlang], [erl], [ERL], [],
+AC_LANG_DEFINE([Erlang], [erl], [ERL], [ERLC], [],
[ac_ext=erl
ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&AS_MESSAGE_LOG_FD'
ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&AS_MESSAGE_LOG_FD && echo
"[#]!/bin/sh" > conftest$ac_exeext && AS_ECHO(["\"$ERL\" -run conftest start
-run init stop -noshell"]) >> conftest$ac_exeext && chmod +x conftest$ac_exeext'
diff --git a/lib/autoconf/fortran.m4 b/lib/autoconf/fortran.m4
index 6cbcfa2..f5918d0 100644
--- a/lib/autoconf/fortran.m4
+++ b/lib/autoconf/fortran.m4
@@ -140,7 +140,7 @@ fi[]dnl
# AC_LANG(Fortran 77)
# -------------------
-AC_LANG_DEFINE([Fortran 77], [f77], [F], [],
+AC_LANG_DEFINE([Fortran 77], [f77], [F], [F77], [],
[ac_ext=f
ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&AS_MESSAGE_LOG_FD'
ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS
>&AS_MESSAGE_LOG_FD'
@@ -220,7 +220,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(Fortran 77)],
# AC_LANG(Fortran)
# ----------------
-AC_LANG_DEFINE([Fortran], [fc], [FC], [Fortran 77],
+AC_LANG_DEFINE([Fortran], [fc], [FC], [FC], [Fortran 77],
[ac_ext=${ac_fc_srcext-f}
ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext
>&AS_MESSAGE_LOG_FD'
ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext
conftest.$ac_ext $LIBS >&AS_MESSAGE_LOG_FD'
diff --git a/lib/autoconf/lang.m4 b/lib/autoconf/lang.m4
index 5b44c68..1beda24 100644
--- a/lib/autoconf/lang.m4
+++ b/lib/autoconf/lang.m4
@@ -160,27 +160,28 @@ m4_defun([AC_LANG_ASSERT],
-# AC_LANG_DEFINE(NAME, ABBREV, PREFIX, COPY-FROM, SHELL-VARS)
-# -----------------------------------------------------------
+# AC_LANG_DEFINE(NAME, ABBREV, PREFIX, COMPILER-VAR, COPY-FROM, SHELL-VARS)
+# -------------------------------------------------------------------------
# Define a language referenced by AC_LANG(NAME), with cache variable prefix
-# ABBREV and Makefile variable prefix PREFIX. AC_LANG(NAME) is defined
-# to SHELL-VARS, other macros are copied from language COPY-FROM. Even if
-# COPY-FROM is empty, a default definition is provided for language-specific
-# macros AC_LANG_SOURCE(NAME) and AC_LANG_CONFTEST(NAME).
+# ABBREV, Makefile variable prefix PREFIX and compiler variable COMPILER-VAR.
+# AC_LANG(NAME) is defined to SHELL-VARS, other macros are copied from language
+# COPY-FROM. Even if COPY-FROM is empty, a default definition is provided for
+# language-specific macros AC_LANG_SOURCE(NAME) and AC_LANG_CONFTEST(NAME).
m4_define([AC_LANG_DEFINE],
-[m4_define([AC_LANG($1)], [$5])]
+[m4_define([AC_LANG($1)], [$6])]
[m4_define([_AC_LANG_ABBREV($1)], [$2])]
[m4_define([_AC_LANG_PREFIX($1)], [$3])]
-[m4_copy([AC_LANG_CONFTEST($4)], [AC_LANG_CONFTEST($1)])]
-[m4_copy([AC_LANG_SOURCE($4)], [AC_LANG_SOURCE($1)])]
-[m4_copy([_AC_LANG_NULL_PROGRAM($4)], [_AC_LANG_NULL_PROGRAM($1)])]
-[m4_ifval([$4],
-[m4_copy([AC_LANG_PROGRAM($4)], [AC_LANG_PROGRAM($1)])]
-[m4_copy([AC_LANG_CALL($4)], [AC_LANG_CALL($1)])]
-[m4_copy([AC_LANG_FUNC_LINK_TRY($4)], [AC_LANG_FUNC_LINK_TRY($1)])]
-[m4_copy([AC_LANG_BOOL_COMPILE_TRY($4)], [AC_LANG_BOOL_COMPILE_TRY($1)])]
-[m4_copy([AC_LANG_INT_SAVE($4)], [AC_LANG_INT_SAVE($1)])]
-[m4_copy([_AC_LANG_IO_PROGRAM($4)], [_AC_LANG_IO_PROGRAM($1)])])])
+[m4_define([_AC_CC($1)], [$4])]
+[m4_copy([AC_LANG_CONFTEST($5)], [AC_LANG_CONFTEST($1)])]
+[m4_copy([AC_LANG_SOURCE($5)], [AC_LANG_SOURCE($1)])]
+[m4_copy([_AC_LANG_NULL_PROGRAM($5)], [_AC_LANG_NULL_PROGRAM($1)])]
+[m4_ifval([$5],
+[m4_copy([AC_LANG_PROGRAM($5)], [AC_LANG_PROGRAM($1)])]
+[m4_copy([AC_LANG_CALL($5)], [AC_LANG_CALL($1)])]
+[m4_copy([AC_LANG_FUNC_LINK_TRY($5)], [AC_LANG_FUNC_LINK_TRY($1)])]
+[m4_copy([AC_LANG_BOOL_COMPILE_TRY($5)], [AC_LANG_BOOL_COMPILE_TRY($1)])]
+[m4_copy([AC_LANG_INT_SAVE($5)], [AC_LANG_INT_SAVE($1)])]
+[m4_copy([_AC_LANG_IO_PROGRAM($5)], [_AC_LANG_IO_PROGRAM($1)])])])
## ----------------------- ##
## 2. Producing programs. ##
@@ -284,6 +285,12 @@ AC_DEFUN([AC_LANG_INT_SAVE],
[_AC_LANG_DISPATCH([$0], _AC_LANG, $@)])
+# _AC_CC
+# ------
+# The variable name of the compiler.
+m4_define([_AC_CC],
+[_AC_LANG_DISPATCH([$0], _AC_LANG, $@)])
+
## -------------------------------------------- ##
## 3. Looking for Compilers and Preprocessors. ##