13d86e100b
Continue the reorganization of the configure system. Move files from the main config directory to their appropriate level-specific config directories. Modify the configure system to correctly handle compiler detection, test, and setup so that all things pertaining to opal and orte are done at the lower level, with the ompi configure system only looking at mpi-specific options. Ensure the wrapper compilers for orte and ompi only get built when appropriate. Add support for c++ to the orte wrapper compilers, both script and non-script versions. This commit was SVN r22138.
96 строки
2.7 KiB
Bash
96 строки
2.7 KiB
Bash
dnl -*- shell-script -*-
|
|
dnl
|
|
dnl Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
|
|
dnl
|
|
dnl $COPYRIGHT$
|
|
dnl
|
|
dnl Additional copyrights may follow
|
|
dnl
|
|
dnl $HEADER$
|
|
dnl
|
|
|
|
|
|
# OPAL_CHECK_COMPILER_VERSION_ID()
|
|
# ----------------------------------------------------
|
|
# Try to figure out the compiler's name and version to detect cases,
|
|
# where users compile Open MPI with one version and compile the application
|
|
# with a different compiler.
|
|
#
|
|
AC_DEFUN([OPAL_CHECK_COMPILER_VERSION_ID],
|
|
[
|
|
OPAL_CHECK_COMPILER(FAMILYID)
|
|
OPAL_CHECK_COMPILER_STRINGIFY(FAMILYNAME)
|
|
OPAL_CHECK_COMPILER(VERSION)
|
|
OPAL_CHECK_COMPILER_STRINGIFY(VERSION_STR)
|
|
])dnl
|
|
|
|
|
|
AC_DEFUN([OPAL_CHECK_COMPILER], [
|
|
lower=m4_tolower($1)
|
|
AC_CACHE_CHECK([for compiler $lower], opal_cv_compiler_[$1],
|
|
[
|
|
if test "$cross_compiling" != "yes" ; then
|
|
CPPFLAGS_orig=$CPPFLAGS
|
|
CPPFLAGS="-I${top_ompi_srcdir}/ompi/include $CPPFLAGS"
|
|
AC_TRY_RUN([
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include "mpi_portable_platform.h.in" /* Yes, it is supposed to be a .in-file */
|
|
|
|
int main (int argc, char * argv[])
|
|
{
|
|
FILE * f;
|
|
f=fopen("conftestval", "w");
|
|
if (!f) exit(1);
|
|
fprintf (f, "%d", PLATFORM_COMPILER_$1);
|
|
return 0;
|
|
}
|
|
], [
|
|
eval opal_cv_compiler_$1=`cat conftestval`;
|
|
], [
|
|
eval opal_cv_compiler_$1=0
|
|
])
|
|
CPPFLAGS=$CPPFLAGS_orig
|
|
else
|
|
opal_cv_compiler_$1=0
|
|
fi
|
|
])
|
|
AC_DEFINE_UNQUOTED([OPAL_BUILD_PLATFORM_COMPILER_$1], $opal_cv_compiler_[$1],
|
|
[The compiler $lower which OMPI was built with])
|
|
])dnl
|
|
|
|
|
|
AC_DEFUN([OPAL_CHECK_COMPILER_STRINGIFY], [
|
|
lower=m4_tolower($1)
|
|
AC_CACHE_CHECK([for compiler $lower], opal_cv_compiler_[$1],
|
|
[
|
|
if test "$cross_compiling" != "yes" ; then
|
|
CPPFLAGS_orig=$CPPFLAGS
|
|
CPPFLAGS="-I${top_ompi_srcdir}/ompi/include $CPPFLAGS"
|
|
AC_TRY_RUN([
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include "mpi_portable_platform.h.in" /* Yes, it is supposed to be a .in-file */
|
|
|
|
int main (int argc, char * argv[])
|
|
{
|
|
FILE * f;
|
|
f=fopen("conftestval", "w");
|
|
if (!f) exit(1);
|
|
fprintf (f, "%s", _STRINGIFY(PLATFORM_COMPILER_$1));
|
|
return 0;
|
|
}
|
|
], [
|
|
eval opal_cv_compiler_$1=`cat conftestval`;
|
|
], [
|
|
eval opal_cv_compiler_$1=UNKNOWN
|
|
])
|
|
CPPFLAGS=$CPPFLAGS_orig
|
|
else
|
|
opal_cv_compiler_$1=UNKNOWN
|
|
fi
|
|
])
|
|
AC_DEFINE_UNQUOTED([OPAL_BUILD_PLATFORM_COMPILER_$1], $opal_cv_compiler_[$1],
|
|
[The compiler $lower which OMPI was built with])
|
|
])dnl
|