Autoconf updates to make us compatible with AC 2.68. Thanks to Ralf W. for the patch!
This commit was SVN r23797.
Этот коммит содержится в:
родитель
cb647134b9
Коммит
7ef20f60f3
@ -57,6 +57,9 @@ AC_DEFUN([OMPI_CXX_COMPILER_VENDOR], [
|
||||
$1="$ompi_cv_c_compiler_vendor"
|
||||
])
|
||||
|
||||
# workaround to avoid syntax error with Autoconf < 2.68:
|
||||
m4_ifndef([AC_LANG_DEFINES_PROVIDED],
|
||||
[m4_define([AC_LANG_DEFINES_PROVIDED])])
|
||||
|
||||
# OMPI_IFDEF_IFELSE(symbol, [action-if-defined],
|
||||
# [action-if-not-defined])
|
||||
@ -64,7 +67,8 @@ AC_DEFUN([OMPI_CXX_COMPILER_VENDOR], [
|
||||
# Run compiler to determine if preprocessor symbol "symbol" is
|
||||
# defined by the compiler.
|
||||
AC_DEFUN([OMPI_IFDEF_IFELSE], [
|
||||
AC_COMPILE_IFELSE([#ifndef $1
|
||||
AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED
|
||||
#ifndef $1
|
||||
#error "symbol $1 not defined"
|
||||
choke me
|
||||
#endif], [$2], [$3])])
|
||||
@ -76,7 +80,8 @@ choke me
|
||||
# Run compiler to determine if preprocessor symbol "symbol" is
|
||||
# defined by the compiler.
|
||||
AC_DEFUN([OMPI_IF_IFELSE], [
|
||||
AC_COMPILE_IFELSE([#if !( $1 )
|
||||
AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED
|
||||
#if !( $1 )
|
||||
#error "condition $1 not met"
|
||||
choke me
|
||||
#endif], [$2], [$3])])
|
||||
|
14
configure.ac
14
configure.ac
@ -82,7 +82,7 @@ OMPI_LOAD_PLATFORM
|
||||
#
|
||||
# Init automake
|
||||
#
|
||||
AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects no-define 1.10 tar-ustar])
|
||||
AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects no-define 1.10c silent-rules tar-ustar])
|
||||
|
||||
# If Automake supports silent rules, enable them.
|
||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
||||
@ -409,9 +409,9 @@ OMPI_C_GET_ALIGNMENT(void *, OPAL_ALIGNMENT_VOID_P)
|
||||
#
|
||||
|
||||
AC_MSG_CHECKING(for C bool type)
|
||||
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[
|
||||
AC_INCLUDES_DEFAULT]],
|
||||
[[bool bar, foo = true; bar = foo;]]),
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
|
||||
AC_INCLUDES_DEFAULT],
|
||||
[[bool bar, foo = true; bar = foo;]])],
|
||||
[OPAL_NEED_C_BOOL=0 MSG=yes],[OPAL_NEED_C_BOOL=1 MSG=no])
|
||||
AC_DEFINE_UNQUOTED(OPAL_NEED_C_BOOL, $OPAL_NEED_C_BOOL,
|
||||
[Whether the C compiler supports "bool" without any other help (such as <stdbool.h>)])
|
||||
@ -594,12 +594,12 @@ AC_CHECK_HEADERS([net/if.h], [], [],
|
||||
AC_CHECK_HEADERS([stdbool.h], [have_stdbool_h=1], [have_stdbool_h=0])
|
||||
AC_MSG_CHECKING([if <stdbool.h> works])
|
||||
if test "$have_stdbool_h" = "1"; then
|
||||
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[
|
||||
AC_INCLUDES_DEFAULT
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
|
||||
AC_INCLUDES_DEFAULT[
|
||||
#if HAVE_STDBOOL_H
|
||||
#include <stdbool.h>
|
||||
#endif]],
|
||||
[[bool bar, foo = true; bar = foo;]]),
|
||||
[[bool bar, foo = true; bar = foo;]])],
|
||||
[OPAL_USE_STDBOOL_H=1 MSG=yes],[OPAL_USE_STDBOOL_H=0 MSG=no])
|
||||
else
|
||||
OPAL_USE_STDBOOL_H=0
|
||||
|
@ -58,13 +58,13 @@ elif test "$GXX" = "yes"; then
|
||||
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[]], [[try { int i = 0; } catch(...) { int j = 2; }]]), ompi_happy=1, ompi_happy=0)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[try { int i = 0; } catch(...) { int j = 2; }]])], ompi_happy=1, ompi_happy=0)
|
||||
|
||||
if test "$ompi_happy" = "1"; then
|
||||
ompi_exflags="-fexceptions";
|
||||
else
|
||||
CXXFLAGS="$CXXFLAGS_SAVE -fhandle-exceptions"
|
||||
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[]], [[try { int i = 0; } catch(...) { int j = 2; }]]), ompi_happy=1, ompi_happy=0)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[try { int i = 0; } catch(...) { int j = 2; }]])], ompi_happy=1, ompi_happy=0)
|
||||
if test "$ompi_happy" = "1"; then
|
||||
ompi_exflags="-fhandle-exceptions";
|
||||
fi
|
||||
|
@ -32,7 +32,7 @@ AC_DEFUN([OMPI_CXX_HAVE_EXCEPTIONS],[
|
||||
AC_MSG_CHECKING([for throw/catch])
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[]], [[int i=1; throw(i);]]),
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int i=1; throw(i);]])],
|
||||
OMPI_CXX_EXCEPTIONS=1, OMPI_CXX_EXCPTIONS=0)
|
||||
if test "$OMPI_CXX_EXCEPTIONS" = "1"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
|
@ -44,13 +44,13 @@ AC_DEFUN([OMPI_F77_GET_FORTRAN_HANDLE_MAX],[
|
||||
# Get INT_MAX. Compute a SWAG if we are cross compiling or something
|
||||
# goes wrong.
|
||||
rm -f conftest.out >/dev/null 2>&1
|
||||
AC_RUN_IFELSE(AC_LANG_PROGRAM([[
|
||||
AC_RUN_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <stdio.h>
|
||||
#include <limits.h>
|
||||
]],[[FILE *fp = fopen("conftest.out", "w");
|
||||
long cint = INT_MAX;
|
||||
fprintf(fp, "%ld", cint);
|
||||
fclose(fp);]]),
|
||||
fclose(fp);]])],
|
||||
[ompi_cint_max=`cat conftest.out`],
|
||||
[ompi_cint_max=0],
|
||||
[ #cross compiling is fun. compute INT_MAX same as INTEGER max
|
||||
|
@ -329,7 +329,7 @@ AC_DEFUN([_OMPI_CXX_CHECK_EXCEPTIONS_BACKEND],[
|
||||
CFLAGS="$CFLAGS $OMPI_CXX_EXCEPTIONS_CXXFLAGS"
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_C
|
||||
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[]], [[int i = 0;]]),
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int i = 0;]])],
|
||||
[AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_RESULT([no])
|
||||
AC_MSG_WARN([C++ exception flags are different between the C and C++ compilers; this configure script cannot currently handle this scenario. Either disable C++ exception support or send mail to the Open MPI users list.])
|
||||
|
@ -134,8 +134,8 @@ elif test "$OMPI_CXX_EXCEPTIONS_CXXFLAGS" = ""; then
|
||||
else
|
||||
FFLAGS="$FFLAGS $OMPI_CXX_EXCEPTIONS_CXXFLAGS"
|
||||
AC_LANG_PUSH(Fortran 77)
|
||||
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([], [[ INTEGER I
|
||||
I = 3]]),
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[ INTEGER I
|
||||
I = 3]])],
|
||||
[AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_RESULT([no])
|
||||
AC_MSG_WARN([C++ exception flags are different between the C and C++ compilers; this configure script cannot currently handle this scenario. Either disable C++ exception support or send mail to the Open MPI users list.])
|
||||
|
@ -197,8 +197,8 @@ elif test "$OMPI_CXX_EXCEPTIONS_CXXFLAGS" = ""; then
|
||||
else
|
||||
FCFLAGS="$FFLAGS $OMPI_CXX_EXCEPTIONS_CXXFLAGS"
|
||||
AC_LANG_PUSH(Fortran)
|
||||
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([], [[ INTEGER I
|
||||
I = 3]]),
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[ INTEGER I
|
||||
I = 3]])],
|
||||
[AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_RESULT([no])
|
||||
AC_MSG_WARN([C++ exception flags are different between the C and C++ compilers; this configure script cannot currently handle this scenario. Either disable C++ exception support or send mail to the Open MPI users list.])
|
||||
|
@ -21,13 +21,13 @@ AC_DEFUN([OPAL_CHECK_OFFSETOF],[
|
||||
OMPI_VAR_SCOPE_PUSH([have_offsetof_msg])
|
||||
|
||||
AC_MSG_CHECKING(for functional offsetof macro)
|
||||
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[#include<stddef.h>]],
|
||||
[[struct foo {int a, b;}; size_t offset = offsetof(struct foo, b); ]]),
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include<stddef.h>]],
|
||||
[[struct foo {int a, b;}; size_t offset = offsetof(struct foo, b); ]])],
|
||||
[have_offsetof_msg="yes"], [have_offsetof_msg="no"])
|
||||
if test "$have_offsetof_msg" = "no"; then
|
||||
CPPFLAGS="$CPPFLAGS -DNO_PGI_OFFSET"
|
||||
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[#include<stddef.h>]],
|
||||
[[struct foo {int a, b;}; size_t offset = offsetof(struct foo, b); ]]),
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include<stddef.h>]],
|
||||
[[struct foo {int a, b;}; size_t offset = offsetof(struct foo, b); ]])],
|
||||
[have_offsetof_msg="yes"], [have_offsetof_msg="no"])
|
||||
|
||||
if test "$have_offsetof_msg" = "no"; then
|
||||
|
@ -585,11 +585,11 @@ AC_DEFUN([OMPI_CHECK_INLINE_C_GCC],[
|
||||
;;
|
||||
*)
|
||||
if test ! "$assembly" = "" ; then
|
||||
AC_RUN_IFELSE(AC_LANG_PROGRAM([[
|
||||
AC_INCLUDES_DEFAULT]],
|
||||
AC_RUN_IFELSE([AC_LANG_PROGRAM([
|
||||
AC_INCLUDES_DEFAULT],
|
||||
[[int ret = 1;
|
||||
__asm__ __volatile__ ($assembly);
|
||||
return ret;]]),
|
||||
return ret;]])],
|
||||
[asm_result="yes"], [asm_result="no"],
|
||||
[asm_result="unknown"])
|
||||
else
|
||||
@ -600,11 +600,11 @@ return ret;]]),
|
||||
|
||||
# if we're cross compiling, just try to compile and figure good enough
|
||||
if test "$asm_result" = "unknown" ; then
|
||||
AC_LINK_IFELSE(AC_LANG_PROGRAM([[
|
||||
AC_INCLUDES_DEFAULT]],
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([
|
||||
AC_INCLUDES_DEFAULT],
|
||||
[[int ret = 1;
|
||||
__asm__ __volatile__ ($assembly);
|
||||
return ret;]]),
|
||||
return ret;]])],
|
||||
[asm_result="yes"], [asm_result="no"])
|
||||
fi
|
||||
fi
|
||||
@ -639,11 +639,11 @@ AC_DEFUN([OMPI_CHECK_INLINE_CXX_GCC],[
|
||||
;;
|
||||
*)
|
||||
if test ! "$assembly" = "" ; then
|
||||
AC_RUN_IFELSE(AC_LANG_PROGRAM([[
|
||||
AC_INCLUDES_DEFAULT]],
|
||||
AC_RUN_IFELSE([AC_LANG_PROGRAM([
|
||||
AC_INCLUDES_DEFAULT],
|
||||
[[int ret = 1;
|
||||
__asm__ __volatile__ ($assembly);
|
||||
return ret;]]),
|
||||
return ret;]])],
|
||||
[asm_result="yes"], [asm_result="no"],
|
||||
[asm_result="unknown"])
|
||||
else
|
||||
@ -653,11 +653,11 @@ return ret;]]),
|
||||
esac
|
||||
# if we're cross compiling, just try to compile and figure good enough
|
||||
if test "$asm_result" = "unknown" ; then
|
||||
AC_LINK_IFELSE(AC_LANG_PROGRAM([[
|
||||
AC_INCLUDES_DEFAULT]],
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([
|
||||
AC_INCLUDES_DEFAULT],
|
||||
[[int ret = 1;
|
||||
__asm__ __volatile__ ($assembly);
|
||||
return ret;]]),
|
||||
return ret;]])],
|
||||
[asm_result="yes"], [asm_result="no"])
|
||||
fi
|
||||
|
||||
@ -690,11 +690,11 @@ AC_DEFUN([OMPI_CHECK_INLINE_C_DEC],[
|
||||
|
||||
AC_MSG_CHECKING([if $CC supports DEC inline assembly])
|
||||
|
||||
AC_LINK_IFELSE(AC_LANG_PROGRAM([[
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([
|
||||
AC_INCLUDES_DEFAULT
|
||||
#include <c_asm.h>]],
|
||||
#include <c_asm.h>],
|
||||
[[asm("");
|
||||
return 0;]]),
|
||||
return 0;]])],
|
||||
[asm_result="yes"], [asm_result="no"])
|
||||
|
||||
AC_MSG_RESULT([$asm_result])
|
||||
@ -717,11 +717,11 @@ AC_DEFUN([OMPI_CHECK_INLINE_CXX_DEC],[
|
||||
AC_LANG_PUSH([C++])
|
||||
AC_MSG_CHECKING([if $CXX supports DEC inline assembly])
|
||||
|
||||
AC_LINK_IFELSE(AC_LANG_PROGRAM([[
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([
|
||||
AC_INCLUDES_DEFAULT
|
||||
#include <c_asm.h>]],
|
||||
#include <c_asm.h>],
|
||||
[[asm("");
|
||||
return 0;]]),
|
||||
return 0;]])],
|
||||
[asm_result="yes"], [asm_result="no"])
|
||||
|
||||
AC_MSG_RESULT([$asm_result])
|
||||
|
@ -198,26 +198,26 @@ if test "x$haveepoll" = "xyes" -a "$cross_compiling" != "yes" ; then
|
||||
|
||||
haveepoll=no
|
||||
AC_MSG_CHECKING([for working epoll library interface])
|
||||
AC_RUN_IFELSE(AC_LANG_PROGRAM([[
|
||||
AC_INCLUDES_DEFAULT
|
||||
AC_RUN_IFELSE([AC_LANG_PROGRAM([
|
||||
AC_INCLUDES_DEFAULT[
|
||||
#include <sys/epoll.h>]],
|
||||
[[
|
||||
struct epoll_event epevin;
|
||||
struct epoll_event epevout;
|
||||
int res;
|
||||
int epfd;
|
||||
int fildes[[2]];
|
||||
int fildes[2];
|
||||
|
||||
if ((epfd = epoll_create(1)) == -1)
|
||||
exit(1);
|
||||
if (pipe(&fildes[[0]]) < 0)
|
||||
if (pipe(&fildes[0]) < 0)
|
||||
exit(1);
|
||||
memset(&epevin, 0, sizeof(epevin));
|
||||
memset(&epevout, 0, sizeof(epevout));
|
||||
memset(&epevin.data.ptr, 5, sizeof(epevin.data.ptr));
|
||||
epevin.events = EPOLLIN | EPOLLOUT;
|
||||
|
||||
if (epoll_ctl(epfd, EPOLL_CTL_ADD, fildes[[1]], &epevin) == -1)
|
||||
if (epoll_ctl(epfd, EPOLL_CTL_ADD, fildes[1], &epevin) == -1)
|
||||
exit(1);
|
||||
|
||||
res = epoll_wait(epfd, &epevout, 1, 0);
|
||||
@ -229,7 +229,7 @@ AC_INCLUDES_DEFAULT
|
||||
}
|
||||
}
|
||||
/* SUCCESS */
|
||||
]]),
|
||||
]])],
|
||||
[haveepoll=yes
|
||||
AC_DEFINE(HAVE_EPOLL, 1,
|
||||
[Define if your system supports the epoll interface])
|
||||
@ -244,8 +244,8 @@ if test "x$ac_cv_header_sys_epoll_h" = "xyes" -a "x$haveepoll" = "xno" -a "$cros
|
||||
# OMPI: See comment above. This test uses the epoll system call
|
||||
# interface instead of the library interface.
|
||||
AC_MSG_CHECKING(for working epoll system call)
|
||||
AC_RUN_IFELSE(AC_LANG_PROGRAM([[
|
||||
AC_INCLUDES_DEFAULT
|
||||
AC_RUN_IFELSE([AC_LANG_PROGRAM([
|
||||
AC_INCLUDES_DEFAULT[
|
||||
#include <sys/syscall.h>
|
||||
#include <sys/epoll.h>]],
|
||||
[[
|
||||
@ -253,11 +253,11 @@ AC_INCLUDES_DEFAULT
|
||||
struct epoll_event epevout;
|
||||
int res;
|
||||
int epfd;
|
||||
int fildes[[2]];
|
||||
int fildes[2];
|
||||
|
||||
if ((epfd = syscall(__NR_epoll_create, 1)) == -1)
|
||||
exit(1);
|
||||
if (pipe(&fildes[[0]]) < 0)
|
||||
if (pipe(&fildes[0]) < 0)
|
||||
exit(1);
|
||||
memset(&epevin, 0, sizeof(epevin));
|
||||
memset(&epevout, 0, sizeof(epevout));
|
||||
@ -265,7 +265,7 @@ AC_INCLUDES_DEFAULT
|
||||
epevin.events = EPOLLIN | EPOLLOUT;
|
||||
|
||||
if (syscall(__NR_epoll_ctl, epfd,
|
||||
EPOLL_CTL_ADD, fildes[[1]], &epevin) == -1)
|
||||
EPOLL_CTL_ADD, fildes[1], &epevin) == -1)
|
||||
exit(1);
|
||||
|
||||
res = syscall(__NR_epoll_wait, epfd, &epevout, 1, 0);
|
||||
@ -277,7 +277,7 @@ AC_INCLUDES_DEFAULT
|
||||
}
|
||||
}
|
||||
/* SUCCESS */
|
||||
]]),
|
||||
]])],
|
||||
[haveepollsyscall=yes
|
||||
AC_DEFINE(HAVE_EPOLL, 1,
|
||||
[Define if your system supports the epoll interface])
|
||||
@ -313,7 +313,7 @@ if test "x$ac_cv_header_sys_event_h" = "xyes"; then
|
||||
esac
|
||||
if test "x$havekqueue" = "xyes" ; then
|
||||
AC_MSG_CHECKING(for working kqueue)
|
||||
AC_TRY_RUN(
|
||||
AC_TRY_RUN([
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/event.h>
|
||||
@ -327,30 +327,30 @@ main()
|
||||
{
|
||||
int kq;
|
||||
int n;
|
||||
int fd[[2]];
|
||||
int fd[2];
|
||||
struct kevent ev;
|
||||
struct timespec ts;
|
||||
char buf[[8000]];
|
||||
char buf[8000];
|
||||
|
||||
if (pipe(fd) == -1)
|
||||
exit(1);
|
||||
if (fcntl(fd[[1]], F_SETFL, O_NONBLOCK) == -1)
|
||||
if (fcntl(fd[1], F_SETFL, O_NONBLOCK) == -1)
|
||||
exit(1);
|
||||
|
||||
while ((n = write(fd[[1]], buf, sizeof(buf))) == sizeof(buf))
|
||||
while ((n = write(fd[1], buf, sizeof(buf))) == sizeof(buf))
|
||||
;
|
||||
|
||||
if ((kq = kqueue()) == -1)
|
||||
exit(1);
|
||||
|
||||
ev.ident = fd[[1]];
|
||||
ev.ident = fd[1];
|
||||
ev.filter = EVFILT_WRITE;
|
||||
ev.flags = EV_ADD | EV_ENABLE;
|
||||
n = kevent(kq, &ev, 1, NULL, 0, NULL);
|
||||
if (n == -1)
|
||||
exit(1);
|
||||
|
||||
read(fd[[0]], buf, sizeof(buf));
|
||||
read(fd[0], buf, sizeof(buf));
|
||||
|
||||
ts.tv_sec = 0;
|
||||
ts.tv_nsec = 0;
|
||||
@ -359,7 +359,7 @@ main()
|
||||
exit(1);
|
||||
|
||||
exit(0);
|
||||
}, [AC_MSG_RESULT(yes)
|
||||
}], [AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_WORKING_KQUEUE, 1,
|
||||
[Define if kqueue works correctly with pipes])
|
||||
sources="kqueue.c $sources"], [AC_MSG_RESULT(no)], [AC_MSG_RESULT(no)])
|
||||
|
@ -27,21 +27,23 @@ AC_DEFUN([MCA_opal_if_windows_CONFIG],[
|
||||
# registry. We should first check that the function is defined,
|
||||
# and then check for it's presence in the kernel32 library.
|
||||
AC_MSG_CHECKING([for working RegOpenKeyEx])
|
||||
AC_TRY_RUN( [#include <windows.h>
|
||||
AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT
|
||||
#include <windows.h>], [
|
||||
int main( int argc, char** argv ) {
|
||||
RegOpenKeyEx( HKEY_CURRENT_USER, "Software\\Open MPI", 0, KEY_READ, NULL);
|
||||
return 0; }],
|
||||
return 0; }])],
|
||||
[AC_MSG_RESULT([yes])
|
||||
$1],
|
||||
[AC_MSG_RESULT([no])
|
||||
$2],
|
||||
[AC_COMPILE_IFELSE([#include <windows.h>
|
||||
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT
|
||||
#include <windows.h>], [
|
||||
int main( int argc, char** argv ) {
|
||||
RegOpenKeyEx( HKEY_CURRENT_USER, "Software\\Open MPI", 0, KEY_READ, NULL);
|
||||
return 0; }],
|
||||
return 0; }])],
|
||||
[AC_MSG_RESULT([yes])
|
||||
$1],
|
||||
[AC_MSG_RESULT([no])
|
||||
$2])])
|
||||
])dnl
|
||||
])])dnl
|
||||
|
||||
|
@ -27,18 +27,20 @@ AC_DEFUN([MCA_opal_installdirs_windows_CONFIG],[
|
||||
# registry. We should first check that the function is defined,
|
||||
# and then check for it's presence in the kernel32 library.
|
||||
AC_MSG_CHECKING(for working RegOpenKeyEx)
|
||||
AC_TRY_RUN( [#include <windows.h>
|
||||
AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT
|
||||
#include <windows.h>], [
|
||||
int main( int argc, char** argv ) {
|
||||
RegOpenKeyEx( HKEY_CURRENT_USER, "Software\\Open MPI", 0, KEY_READ, NULL);
|
||||
return 0; }],
|
||||
return 0; }])],
|
||||
[AC_MSG_RESULT([yes])
|
||||
$1],
|
||||
[AC_MSG_RESULT([no])
|
||||
$2],
|
||||
[AC_COMPILE_IFELSE([#include <windows.h>
|
||||
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT
|
||||
#include <windows.h>], [
|
||||
int main( int argc, char** argv ) {
|
||||
RegOpenKeyEx( HKEY_CURRENT_USER, "Software\\Open MPI", 0, KEY_READ, NULL);
|
||||
return 0; }],
|
||||
return 0; }])],
|
||||
[AC_MSG_RESULT([yes])
|
||||
$1],
|
||||
[AC_MSG_RESULT([no])
|
||||
|
@ -42,11 +42,11 @@ AC_DEFUN([MCA_opal_memchecker_valgrind_CONFIG],[
|
||||
opal_memchecker_valgrind_save_CPPFLAGS=$CPPFLAGS])
|
||||
AC_CHECK_HEADERS([valgrind/valgrind.h],
|
||||
[AC_MSG_CHECKING([for VALGRIND_CHECK_MEM_IS_ADDRESSABLE])
|
||||
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include "valgrind/memcheck.h"
|
||||
]],
|
||||
[[char buffer = 0xff;
|
||||
VALGRIND_CHECK_MEM_IS_ADDRESSABLE(&buffer, sizeof(buffer));]]),
|
||||
VALGRIND_CHECK_MEM_IS_ADDRESSABLE(&buffer, sizeof(buffer));]])],
|
||||
[AC_MSG_RESULT([yes])
|
||||
opal_memchecker_valgrind_happy=yes],
|
||||
[AC_MSG_RESULT([no])
|
||||
|
@ -430,13 +430,13 @@ AC_DEFUN([HWLOC_SETUP_CORE_AFTER_C99],[
|
||||
|
||||
_HWLOC_CHECK_DECL([sched_setaffinity], [
|
||||
AC_MSG_CHECKING([for old prototype of sched_setaffinity])
|
||||
AC_COMPILE_IFELSE(
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
#define _GNU_SOURCE
|
||||
#include <sched.h>
|
||||
static unsigned long mask;
|
||||
]], [[ sched_setaffinity(0, (void*) &mask);
|
||||
]]),
|
||||
]])],
|
||||
AC_DEFINE([HWLOC_HAVE_OLD_SCHED_SETAFFINITY], [1], [Define to 1 if glibc provides the old prototype of sched_setaffinity()])
|
||||
AC_MSG_RESULT([yes]),
|
||||
AC_MSG_RESULT([no])
|
||||
@ -447,19 +447,19 @@ AC_DEFUN([HWLOC_SETUP_CORE_AFTER_C99],[
|
||||
]])
|
||||
|
||||
AC_MSG_CHECKING([for working CPU_SET])
|
||||
AC_LINK_IFELSE(
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
#include <sched.h>
|
||||
cpu_set_t set;
|
||||
]], [[ CPU_ZERO(&set); CPU_SET(0, &set);
|
||||
]]),
|
||||
]])],
|
||||
AC_DEFINE([HWLOC_HAVE_CPU_SET], [1], [Define to 1 if the CPU_SET macro works])
|
||||
AC_MSG_RESULT([yes]),
|
||||
AC_MSG_RESULT([no])
|
||||
)
|
||||
|
||||
AC_MSG_CHECKING([for working CPU_SET_S])
|
||||
AC_LINK_IFELSE(
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
#include <sched.h>
|
||||
cpu_set_t *set;
|
||||
@ -468,7 +468,7 @@ AC_DEFUN([HWLOC_SETUP_CORE_AFTER_C99],[
|
||||
CPU_ZERO_S(CPU_ALLOC_SIZE(1024), set);
|
||||
CPU_SET_S(CPU_ALLOC_SIZE(1024), 0, set);
|
||||
CPU_FREE(set);
|
||||
]]),
|
||||
]])],
|
||||
AC_DEFINE([HWLOC_HAVE_CPU_SET_S], [1], [Define to 1 if the CPU_SET_S macro works])
|
||||
AC_MSG_RESULT([yes]),
|
||||
AC_MSG_RESULT([no])
|
||||
@ -570,7 +570,7 @@ AC_DEFUN([HWLOC_SETUP_CORE_AFTER_C99],[
|
||||
AC_MSG_CHECKING([for cpuid])
|
||||
old_CPPFLAGS="$CPPFLAGS"
|
||||
CFLAGS="$CFLAGS -I$HWLOC_top_srcdir/include"
|
||||
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <stdio.h>
|
||||
#include <private/cpuid.h>
|
||||
]], [[
|
||||
@ -580,7 +580,7 @@ AC_DEFUN([HWLOC_SETUP_CORE_AFTER_C99],[
|
||||
printf("highest cpuid %x\n", eax);
|
||||
return 0;
|
||||
}
|
||||
]]), [
|
||||
]])], [
|
||||
AC_MSG_RESULT([yes])
|
||||
AC_DEFINE(HWLOC_HAVE_CPUID, 1, [Define to 1 if you have cpuid])
|
||||
hwloc_have_cpuid=yes
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user