1
1

* 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.
Этот коммит содержится в:
Brian Barrett 2005-09-16 02:49:31 +00:00
родитель 93e28ebe74
Коммит cf04b2da3c
5 изменённых файлов: 160 добавлений и 86 удалений

@ -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