1
1

re-apply r29608 and fix the broken configure test that broke worse with the

patch.  See ticket #3885, comment 10 for an explination of why calling
_STRINGIFY on something that's not a numerical constant is always a bad idea.

This commit was SVN r29613.

The following SVN revision numbers were found above:
  r29608 --> open-mpi/ompi@b71bd51cdd
Этот коммит содержится в:
Brian Barrett 2013-11-05 22:41:10 +00:00
родитель 36e9987ce6
Коммит 9780043456
2 изменённых файлов: 38 добавлений и 6 удалений

Просмотреть файл

@ -21,7 +21,7 @@ AC_DEFUN([OPAL_CHECK_COMPILER_VERSION_ID],
OPAL_CHECK_COMPILER(FAMILYID) OPAL_CHECK_COMPILER(FAMILYID)
OPAL_CHECK_COMPILER_STRINGIFY(FAMILYNAME) OPAL_CHECK_COMPILER_STRINGIFY(FAMILYNAME)
OPAL_CHECK_COMPILER(VERSION) OPAL_CHECK_COMPILER(VERSION)
OPAL_CHECK_COMPILER_STRINGIFY(VERSION_STR) OPAL_CHECK_COMPILER_STRING(VERSION_STR)
])dnl ])dnl
@ -57,6 +57,38 @@ int main (int argc, char * argv[])
[The compiler $lower which OMPI was built with]) [The compiler $lower which OMPI was built with])
])dnl ])dnl
AC_DEFUN([OPAL_CHECK_COMPILER_STRING], [
lower=m4_tolower($1)
AC_CACHE_CHECK([for compiler $lower], opal_cv_compiler_[$1],
[
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"
int main (int argc, char * argv[])
{
FILE * f;
f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf (f, "%s", PLATFORM_COMPILER_$1);
return 0;
}
], [
eval opal_cv_compiler_$1=`cat conftestval`;
], [
eval opal_cv_compiler_$1=UNKNOWN
], [
eval opal_cv_compiler_$1=UNKNOWN
])
CPPFLAGS=$CPPFLAGS_orig
])
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], [ AC_DEFUN([OPAL_CHECK_COMPILER_STRINGIFY], [
lower=m4_tolower($1) lower=m4_tolower($1)

Просмотреть файл

@ -98,7 +98,7 @@
# define PLATFORM_COMPILER_VERSION \ # define PLATFORM_COMPILER_VERSION \
PLATFORM_COMPILER_VERSION_INT(__INTEL_COMPILER/10, __INTEL_COMPILER/100, _PLATFORM_INTEL_COMPILER_BUILD_DATE) PLATFORM_COMPILER_VERSION_INT(__INTEL_COMPILER/10, __INTEL_COMPILER/100, _PLATFORM_INTEL_COMPILER_BUILD_DATE)
# define PLATFORM_COMPILER_VERSION_STR \ # define PLATFORM_COMPILER_VERSION_STR \
_STRINGIFY(__INTEL_COMPILER)"."_STRINGIFY(_PLATFORM_INTEL_COMPILER_BUILD_DATE) _STRINGIFY(__INTEL_COMPILER) "." _STRINGIFY(_PLATFORM_INTEL_COMPILER_BUILD_DATE)
#elif defined(__PATHSCALE__) #elif defined(__PATHSCALE__)
# define PLATFORM_COMPILER_PATHSCALE 1 # define PLATFORM_COMPILER_PATHSCALE 1
@ -131,7 +131,7 @@
# define PLATFORM_COMPILER_VERSION \ # define PLATFORM_COMPILER_VERSION \
PLATFORM_COMPILER_VERSION_INT(__PGIC__,__PGIC_MINOR__,__PGIC_PATCHLEVEL__) PLATFORM_COMPILER_VERSION_INT(__PGIC__,__PGIC_MINOR__,__PGIC_PATCHLEVEL__)
# define PLATFORM_COMPILER_VERSION_STR \ # define PLATFORM_COMPILER_VERSION_STR \
_STRINGIFY(__PGIC__)"."_STRINGIFY(__PGIC_MINOR__)"-"_STRINGIFY(__PGIC_PATCHLEVEL__) _STRINGIFY(__PGIC__) "." _STRINGIFY(__PGIC_MINOR__) "-" _STRINGIFY(__PGIC_PATCHLEVEL__)
# else # else
/* PGI before 6.1-4 lacks any version ID preprocessor macros - so use this filthy hack */ /* PGI before 6.1-4 lacks any version ID preprocessor macros - so use this filthy hack */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX /* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
@ -370,13 +370,13 @@
/* gather any advertised GNU version number info, even for non-gcc compilers */ /* gather any advertised GNU version number info, even for non-gcc compilers */
# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) # if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
# define __PLATFORM_COMPILER_GNU_VERSION_STR \ # define __PLATFORM_COMPILER_GNU_VERSION_STR \
_STRINGIFY(__GNUC__)"."_STRINGIFY(__GNUC_MINOR__)"."_STRINGIFY(__GNUC_PATCHLEVEL__) _STRINGIFY(__GNUC__) "." _STRINGIFY(__GNUC_MINOR__) "." _STRINGIFY(__GNUC_PATCHLEVEL__)
# elif defined(__GNUC_MINOR__) # elif defined(__GNUC_MINOR__)
# define __PLATFORM_COMPILER_GNU_VERSION_STR \ # define __PLATFORM_COMPILER_GNU_VERSION_STR \
_STRINGIFY(__GNUC__)"."_STRINGIFY(__GNUC_MINOR__)".?" _STRINGIFY(__GNUC__) "." _STRINGIFY(__GNUC_MINOR__) ".?"
# else # else
# define __PLATFORM_COMPILER_GNU_VERSION_STR \ # define __PLATFORM_COMPILER_GNU_VERSION_STR \
_STRINGIFY(__GNUC__)".?.?" _STRINGIFY(__GNUC__) ".?.?"
# endif # endif
#elif defined(PLATFORM_COMPILER_UNKNOWN) /* unknown compiler */ #elif defined(PLATFORM_COMPILER_UNKNOWN) /* unknown compiler */
# define PLATFORM_COMPILER_FAMILYNAME UNKNOWN # define PLATFORM_COMPILER_FAMILYNAME UNKNOWN