* bunch of changes to make better use of config cache. Almost everything in the
C / C++ tests now use the caching scheme. Only exception is C++ exception handling code, which is disabled by default, so I'm not too worried about making that configure faster :) This commit was SVN r7403.
Этот коммит содержится в:
родитель
93e28ebe74
Коммит
cf04b2da3c
@ -15,21 +15,34 @@ dnl
|
||||
dnl $HEADER$
|
||||
dnl
|
||||
|
||||
define([OMPI_CXX_FIND_TEMPLATE_REPOSITORY],[
|
||||
#
|
||||
# Arguments: None
|
||||
#
|
||||
# Dependencies: None
|
||||
#
|
||||
# See if the compiler makes template repository directories
|
||||
# Warning: this is a really screwy example! -JMS
|
||||
#
|
||||
# Sets OMPI_CXX_TEMPLATE_REPOSITORY to the template repository, or blank.
|
||||
# Must call AC_SUBST manually
|
||||
#
|
||||
AC_DEFUN([OMPI_CXX_FIND_TEMPLATE_REPOSITORY],[
|
||||
#
|
||||
# Arguments: None
|
||||
#
|
||||
# Dependencies: None
|
||||
#
|
||||
# See if the compiler makes template repository directories
|
||||
# Warning: this is a really screwy example! -JMS
|
||||
#
|
||||
# Sets OMPI_CXX_TEMPLATE_REPOSITORY to the template repository, or blank.
|
||||
# Must call AC_SUBST manually
|
||||
#
|
||||
AC_CACHE_CHECK([for C++ template_repository_directory],
|
||||
[ompi_cv_cxx_template_repository],
|
||||
[_OMPI_CXX_FIND_TEMPLATE_REPOSITORY])
|
||||
|
||||
if test "$ompi_cv_cxx_template_repository" = "not used" ; then
|
||||
OMPI_CXX_TEMPLATE_REPOSITORY=
|
||||
elif test "$ompi_cv_cxx_template_repository" = "templates not supported" ; then
|
||||
OMPI_CXX_TEMPLATE_REPOSITORY=
|
||||
else
|
||||
OMPI_CXX_TEMPLATE_REPOSITORY="$ompi_cv_cxx_template_repository"
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
AC_DEFUN([_OMPI_CXX_FIND_TEMPLATE_REPOSITORY],[
|
||||
# Find the repository
|
||||
AC_MSG_CHECKING([for C++ template repository directory])
|
||||
mkdir conf_tmp_$$
|
||||
cd conf_tmp_$$
|
||||
cat > conftest.h <<EOF
|
||||
@ -90,7 +103,7 @@ ompi_template_failed=
|
||||
echo configure:__oline__: $CXX $CXXFLAGS -c conftest1.C >&5
|
||||
$CXX $CXXFLAGS -c conftest1.C >&5 2>&5
|
||||
if test ! -f conftest1.o ; then
|
||||
AC_MSG_RESULT([templates not supported?])
|
||||
ompi_cv_cxx_template_repository="templates not supported"
|
||||
echo configure:__oline__: here is the program that failed: >&5
|
||||
cat conftest1.C >&5
|
||||
echo configure:__oline__: here is conftest.h: >&5
|
||||
@ -100,7 +113,7 @@ else
|
||||
echo configure:__oline__: $CXX $CXXFLAGS -c conftest2.C >&5
|
||||
$CXX $CXXFLAGS -c conftest2.C >&5 2>&5
|
||||
if test ! -f conftest2.o ; then
|
||||
AC_MSG_RESULT([unknown error])
|
||||
ompi_cv_cxx_template_repository=
|
||||
echo configure:__oline__: here is the program that failed: >&5
|
||||
cat conftest2.C >&5
|
||||
echo configure:__oline__: here is conftest.h: >&5
|
||||
@ -141,15 +154,13 @@ else
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
OMPI_CXX_TEMPLATE_REPOSITORY="$ompi_template_dir $ompi_template_filemask"
|
||||
ompi_cv_cxx_template_repository="$ompi_template_dir $ompi_template_filemask"
|
||||
|
||||
if test "`echo $OMPI_CXX_TEMPLATE_REPOSITORY`" != ""; then
|
||||
AC_MSG_RESULT([$OMPI_CXX_TEMPLATE_REPOSITORY])
|
||||
else
|
||||
AC_MSG_RESULT([not used])
|
||||
if test "`echo $ompi_cv_cxx_template_repository`" = ""; then
|
||||
ompi_cv_cxx_template_repository="not used"
|
||||
fi
|
||||
cd ..
|
||||
rm -rf conf_tmp_$$
|
||||
|
||||
# Clean up
|
||||
unset ompi_file ompi_template_failed ompi_template_dir])dnl
|
||||
unset ompi_file ompi_template_failed ompi_template_dir])
|
||||
|
@ -142,11 +142,26 @@ dnl a global linkable from C. Basically, an _ or not.
|
||||
dnl
|
||||
dnl #################################################################
|
||||
AC_DEFUN([OMPI_CHECK_ASM_GSYM],[
|
||||
AC_CACHE_CHECK([prefix for global symbol labels],
|
||||
[ompi_cv_asm_gsym],
|
||||
[_OMPI_CHECK_ASM_GSYM])
|
||||
|
||||
if test "$ompi_cv_asm_gsym" = "none" ; then
|
||||
AC_MSG_ERROR([Could not determine global symbol label prefix])
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED([OMPI_ASM_GSYM], ["$ompi_cv_asm_gsym"],
|
||||
[Assembly prefix for gsym labels])
|
||||
OMPI_ASM_GSYM="$ompi_cv_asm_gsym"
|
||||
AC_SUBST(OMPI_ASM_GSYM)
|
||||
|
||||
])
|
||||
|
||||
AC_DEFUN([_OMPI_CHECK_ASM_GSYM],[
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_TEXT])
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_GLOBAL])
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_LABEL_SUFFIX])
|
||||
|
||||
AC_MSG_CHECKING([prefix for global symbol labels])
|
||||
ompi_cv_asm_gsym="none"
|
||||
|
||||
for sym in "_" "" "." ; do
|
||||
@ -202,17 +217,6 @@ ${sym}gsym_test_func${ompi_cv_asm_label_suffix}],
|
||||
fi
|
||||
done
|
||||
rm -f conftest.*
|
||||
|
||||
AC_MSG_RESULT([$ompi_cv_asm_gsym])
|
||||
|
||||
if test "$ompi_cv_asm_gsym" = "none" ; then
|
||||
AC_MSG_ERROR([Could not determine global symbol label prefix])
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED([OMPI_ASM_GSYM], ["$ompi_cv_asm_gsym"],
|
||||
[Assembly prefix for lsym labels])
|
||||
OMPI_ASM_GSYM="$ompi_cv_asm_gsym"
|
||||
AC_SUBST(OMPI_ASM_GSYM)
|
||||
])dnl
|
||||
|
||||
|
||||
@ -297,7 +301,17 @@ dnl We look for @ \# %
|
||||
dnl
|
||||
dnl #################################################################
|
||||
AC_DEFUN([OMPI_CHECK_ASM_TYPE],[
|
||||
AC_MSG_CHECKING([prefix for function in .type])
|
||||
AC_CACHE_CHECK([prefix for function in .type],
|
||||
[ompi_cv_asm_type],
|
||||
[_OMPI_CHECK_ASM_TYPE])
|
||||
|
||||
AC_DEFINE_UNQUOTED([OMPI_ASM_TYPE], ["$ompi_cv_asm_type"],
|
||||
[How to set function type in .type directive])
|
||||
OMPI_ASM_TYPE="$ompi_cv_asm_type"
|
||||
AC_SUBST(OMPI_ASM_TYPE)
|
||||
])
|
||||
|
||||
AC_DEFUN([_OMPI_CHECK_ASM_TYPE],[
|
||||
ompi_cv_asm_type=""
|
||||
|
||||
case "${host}" in
|
||||
@ -326,11 +340,6 @@ AC_DEFUN([OMPI_CHECK_ASM_TYPE],[
|
||||
esac
|
||||
rm -f conftest.out
|
||||
|
||||
AC_MSG_RESULT([$ompi_cv_asm_type])
|
||||
AC_DEFINE_UNQUOTED([OMPI_ASM_TYPE], ["$ompi_cv_asm_type"],
|
||||
[How to set function type in .type directive])
|
||||
OMPI_ASM_TYPE="$ompi_cv_asm_type"
|
||||
AC_SUBST(OMPI_ASM_TYPE)
|
||||
unset asm_result type
|
||||
])dnl
|
||||
|
||||
@ -344,23 +353,26 @@ dnl each function, 0 otherwise.
|
||||
dnl
|
||||
dnl #################################################################
|
||||
AC_DEFUN([OMPI_CHECK_ASM_SIZE],[
|
||||
AC_MSG_CHECKING([if .size is needed])
|
||||
ompi_cv_asm_size=0
|
||||
asm_result="no"
|
||||
|
||||
OMPI_TRY_ASSEMBLE([ .size mysym, 1],
|
||||
AC_CACHE_CHECK([if .size is needed],
|
||||
[ompi_cv_asm_need_size],
|
||||
[ompi_cv_asm_need_size="no"
|
||||
OMPI_TRY_ASSEMBLE([ .size mysym, 1],
|
||||
[# ok, we succeeded at assembling. see if there was
|
||||
# a warning in the output.
|
||||
if test "`cat conftest.out`" = "" ; then
|
||||
ompi_cv_asm_size=1
|
||||
asm_result="yes"
|
||||
ompi_cv_asm_need_size="yes"
|
||||
fi])
|
||||
rm -f conftest.out
|
||||
rm -f conftest.out])
|
||||
|
||||
AC_MSG_RESULT([$asm_result])
|
||||
AC_DEFINE_UNQUOTED([OMPI_ASM_SIZE], ["$ompi_cv_asm_size"],
|
||||
[Do we need to give a .size directive?])
|
||||
OMPI_ASM_SIZE="$ompi_cv_asm_size"
|
||||
if test "$ompi_cv_asm_need_size" = "yes" ; then
|
||||
ompi_asm_size=1
|
||||
else
|
||||
ompi_asm_size=0
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED([OMPI_ASM_SIZE], ["$ompi_asm_size"],
|
||||
[Do we need to give a .size directive])
|
||||
OMPI_ASM_SIZE="$ompi_asm_size"
|
||||
AC_SUBST(OMPI_ASM_TYPE)
|
||||
unset asm_result
|
||||
])dnl
|
||||
|
@ -104,8 +104,16 @@ if test "$TRULY_GCC" = "yes" -a "$WANT_PICKY_COMPILER" = 1; then
|
||||
# see if -Wno-long-double works...
|
||||
CFLAGS_orig="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -Wno-long-double"
|
||||
AC_TRY_COMPILE([], [], add="$add -Wno-long-double")
|
||||
AC_CACHE_CHECK([if $CC supports -Wno-long-double],
|
||||
[ompi_cv_cc_wno_long_double],
|
||||
[AC_TRY_COMPILE([], [],
|
||||
[ompi_cv_cc_wno_long_double="yes"],
|
||||
[ompi_cv_cc_wno_long_double="no"])])
|
||||
|
||||
CFLAGS="$CFLAGS_orig"
|
||||
if test "$ompi_cv_cc_wno_long_double" = "yes" ; then
|
||||
add="$add -Wno-long-double"
|
||||
fi
|
||||
|
||||
add="$add -Werror-implicit-function-declaration "
|
||||
|
||||
@ -122,12 +130,26 @@ if test "$GCC" = "yes"; then
|
||||
|
||||
CFLAGS="$CFLAGS_orig -finline-functions"
|
||||
add=
|
||||
AC_TRY_COMPILE([], [], add=" -finline-functions")
|
||||
AC_CACHE_CHECK([if $CC supports -finline-functions],
|
||||
[ompi_cv_cc_finline_functions],
|
||||
[AC_TRY_COMPILE([], [],
|
||||
[ompi_cv_cc_finline_functions="yes"],
|
||||
[ompi_cv_cc_finline_functions="no"])])
|
||||
if test "$ompi_cv_cc_finline_functions" = "yes" ; then
|
||||
add=" -finline-functions"
|
||||
fi
|
||||
CFLAGS="$CFLAGS_orig$add"
|
||||
|
||||
CFLAGS="$CFLAGS_orig -fno-strict-aliasing"
|
||||
add=
|
||||
AC_TRY_COMPILE([], [], add=" -fno-strict-aliasing")
|
||||
AC_CACHE_CHECK([if $CC supports -fno-strict-aliasing],
|
||||
[ompi_cv_cc_fno_strict_aliasing],
|
||||
[AC_TRY_COMPILE([], [],
|
||||
[ompi_cv_cc_fno_strict_aliasing="yes"],
|
||||
[ompi_cv_cc_fno_strict_aliasing="no"])])
|
||||
if test "$ompi_cv_cc_fno_strict_aliasing" = "yes" ; then
|
||||
add=" -fno-strict-aliasing"
|
||||
fi
|
||||
CFLAGS="$CFLAGS_orig$add"
|
||||
|
||||
OMPI_UNIQ(CFLAGS)
|
||||
@ -158,10 +180,20 @@ if test ! -z "$RESTRICT_CFLAGS" ; then
|
||||
CFLAGS_orig="$CFLAGS"
|
||||
CFLAGS="$CFLAGS_orig $RESTRICT_CFLAGS"
|
||||
add=
|
||||
AC_TRY_COMPILE([], [], add=" $RESTRICT_CFLAGS")
|
||||
AC_CACHE_CHECK([if $CC supports $RESTRICT_CFLAGS],
|
||||
[ompi_cv_cc_restrict_cflags],
|
||||
[AC_TRY_COMPILE([], [],
|
||||
[ompi_cv_cc_restrict_cflags="yes"],
|
||||
[ompi_cv_cc_restrict_cflags="no"])])
|
||||
if test "ompi_cv_cc_restruct_cflags" = "yes" ; then
|
||||
add="$RESTRUCT_CFLAGS"
|
||||
fi
|
||||
|
||||
CFLAGS="${CFLAGS_orig}${add}"
|
||||
OMPI_UNIQ(CFLAGS)
|
||||
AC_MSG_WARN([$add has been added to CFLAGS])
|
||||
if test "$add" != "" ; then
|
||||
AC_MSG_WARN([$add has been added to CFLAGS])
|
||||
fi
|
||||
unset add
|
||||
fi
|
||||
|
||||
|
@ -15,6 +15,31 @@ dnl
|
||||
dnl $HEADER$
|
||||
dnl
|
||||
|
||||
# _OMPI_PROG_CXX_IMPERSONATE_GCC()
|
||||
# --------------------------------
|
||||
# Check for compilers that impersonate g++
|
||||
AC_DEFUN([_OMPI_PROG_CXX_IMPERSONATE_GCC],[
|
||||
AC_CACHE_CHECK([if compiler impersonates g++],
|
||||
[ompi_cv_prog_cxx_impersonate_gcc],
|
||||
[ompi_cv_prog_cxx_impersonate_gcc="no"
|
||||
TRULY_GXX=$GXX
|
||||
if test "$GXX" = "yes"; then
|
||||
AC_TRY_COMPILE([], [
|
||||
int i = 3;
|
||||
#if __INTEL_COMPILER
|
||||
#error Yes, I am lying about being g++.
|
||||
#endif
|
||||
], [], [ompi_cv_prog_cxx_impersonate_gcc="yes"])
|
||||
fi])
|
||||
|
||||
if test "$GXX" = "yes" -a "$ompi_cv_prog_cxx_impersonate_gcc" = "no" ; then
|
||||
TRULY_GXX=yes
|
||||
else
|
||||
TRULY_GXX=no
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
AC_DEFUN([OMPI_SETUP_CXX],[
|
||||
|
||||
# Modularize this setup so that sub-configure.in scripts can use this
|
||||
@ -31,31 +56,7 @@ AC_DEFINE_UNQUOTED(OMPI_CXX, "$CXX", [OMPI underlying C++ compiler])
|
||||
OMPI_CXX_ABSOLUTE="`which $CXX`"
|
||||
AC_SUBST(OMPI_CXX_ABSOLUTE)
|
||||
|
||||
# Check for compilers that impersonate g++
|
||||
|
||||
AC_MSG_CHECKING([for compilers that impersonate g++])
|
||||
msg=
|
||||
TRULY_GXX=$GXX
|
||||
if test "$GXX" = "yes"; then
|
||||
AC_TRY_COMPILE([], [
|
||||
int i = 3;
|
||||
#if __INTEL_COMPILER
|
||||
#error Yes, I am lying about being g++.
|
||||
#endif
|
||||
], [], [msg=intel])
|
||||
|
||||
# If we made it through unscathed, then it really is g++
|
||||
if test -z "$msg"; then
|
||||
TRULY_GXX=yes
|
||||
else
|
||||
TRULY_GXX=no
|
||||
fi
|
||||
else
|
||||
# We never thought that this was GXX to begin with
|
||||
msg="not applicable"
|
||||
TRULY_GXX=no
|
||||
fi
|
||||
AC_MSG_RESULT([$msg])
|
||||
_OMPI_PROG_CXX_IMPERSONATE_GCC
|
||||
|
||||
# Do we want code coverage
|
||||
if test "$WANT_COVERAGE" = "1"; then
|
||||
@ -89,13 +90,22 @@ if test "$TRULY_GXX" = "yes" -a "$WANT_PICKY_COMPILER" = 1; then
|
||||
AC_LANG_PUSH(C++)
|
||||
CXXFLAGS_orig="$CXXFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS -Wno-long-double"
|
||||
AC_TRY_COMPILE([], [], add="$add -Wno-long-double")
|
||||
AC_CACHE_CHECK([if $CXX supports -Wno-long-double],
|
||||
[ompi_cv_cxx_wno_long_double],
|
||||
[AC_TRY_COMPILE([], [],
|
||||
[ompi_cv_cxx_wno_long_double="yes"],
|
||||
[ompi_cv_cxx_wno_long_double="no"])])
|
||||
CXXFLAGS="$CXXFLAGS_orig"
|
||||
AC_LANG_POP(C++)
|
||||
if test "$ompi_cv_cxx_wno_long_double" = "yes" ; then
|
||||
add="$add -Wno-long-double"
|
||||
fi
|
||||
|
||||
CXXFLAGS="$CXXFLAGS $add"
|
||||
OMPI_UNIQ(CXXFLAGS)
|
||||
AC_MSG_WARN([$add has been added to CXXFLAGS (--enable-picky)])
|
||||
if test "$add" != "" ; then
|
||||
AC_MSG_WARN([$add has been added to CXXFLAGS (--enable-picky)])
|
||||
fi
|
||||
unset add
|
||||
fi
|
||||
|
||||
@ -105,10 +115,19 @@ if test "$GXX" = "yes"; then
|
||||
CXXFLAGS_orig="$CXXFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS -finline-functions"
|
||||
add=
|
||||
AC_TRY_COMPILE([], [], add=" -finline-functions")
|
||||
AC_CACHE_CHECK([if $CXX supports -finline-functions],
|
||||
[ompi_cv_cxx_finline_functions],
|
||||
[AC_TRY_COMPILE([], [],
|
||||
[ompi_cv_cxx_finline_functions="yes"],
|
||||
[ompi_cv_cxx_finline_functions="no"])])
|
||||
if test "$ompi_cv_cxx_finline_functions" = "yes" ; then
|
||||
add=" -finline-functions"
|
||||
fi
|
||||
CXXFLAGS="$CXXFLAGS_orig$add"
|
||||
OMPI_UNIQ(CXXFLAGS)
|
||||
AC_MSG_WARN([$add has been added to CXXFLAGS])
|
||||
if test "$add" != "" ; then
|
||||
AC_MSG_WARN([$add has been added to CXXFLAGS])
|
||||
fi
|
||||
unset add
|
||||
fi
|
||||
|
||||
|
@ -43,7 +43,7 @@ OMPI_LOAD_PLATFORM
|
||||
|
||||
AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects no-define])
|
||||
|
||||
# now that we're inited, must make configure depend on the VERSION file
|
||||
# Make configure depend on the VERSION file, since it's used in AC_INIT
|
||||
AC_SUBST([CONFIGURE_DEPENDENCIES], ['$(top_srcdir)/VERSION'])
|
||||
|
||||
# Get the version of OMPI that we are installing
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user