From: Ralf Wildenhues Date: Sat, 31 Oct 2009 08:20:10 +0000 (+0100) Subject: Fix AC_OPENMP configure message for non-C compilers. X-Git-Tag: v2.65~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5f17d8f0d3ac238433f12bbab588aafbdb0ff4bb;p=thirdparty%2Fautoconf.git 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. Signed-off-by: Ralf Wildenhues --- diff --git a/ChangeLog b/ChangeLog index 21fb77ad..31b805ad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -10,6 +10,17 @@ 2009-10-31 Ralf Wildenhues + 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. + Do not fail OpenMP tests on systems without aclocal. * tests/c.at (AC_OPENMP and C, AC_OPENMP and C++): Override `ACLOCAL=true' for autoreconf, the tests don't need aclocal. diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 index 3b7cf365..420c8b6c 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 d87510a5..748fca87 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 6cbcfa21..f5918d09 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 5b44c684..1beda240 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. ##