1
1
openmpi/opal/config/opal_check_compiler_version.m4
Ralph Castain 13d86e100b Courtesy of Ralph and Jeff:
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.
2009-10-24 01:04:35 +00:00

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