1
1

this is the big windows commit. there are more things which have gone into this than i can remember. but basically, we are looking for

1. header file and source file protections using #ifdef WIN32
2. new files and directories to support windows functionality
3. appropritate linkage symbols added (OMPI_DECLSPEC) for windows
4. some functions are unimplemented on the windows side. this is mostly
because there might not be need to implement it in windows land. eg., forking
a daemon off
5. Introduced locking mechanisms for windows

This commit was SVN r3286.
Этот коммит содержится в:
Prabhanjan Kambadur 2004-10-22 16:06:05 +00:00
родитель 49e35c869b
Коммит 4257467fec
219 изменённых файлов: 18134 добавлений и 2140 удалений

824
contrib/configure.ac Обычный файл
Просмотреть файл

@ -0,0 +1,824 @@
# -*- shell-script -*-
#
# $HEADER$
#
############################################################################
# Initialization, version number, and other random setup/init stuff
############################################################################
# Init autoconf
AC_INIT(./src/mpi/c/init.c)
AC_PREREQ(2.58)
AC_CONFIG_AUX_DIR(./config)
# Get the version of OMPI that we are installing
OMPI_GET_VERSION($srcdir/VERSION, OMPI)
AC_SUBST(OMPI_MAJOR_VERSION)
AC_SUBST(OMPI_MINOR_VERSION)
AC_SUBST(OMPI_RELEASE_VERSION)
AC_SUBST(OMPI_ALPHA_VERSION)
AC_SUBST(OMPI_BETA_VERSION)
AC_SUBST(OMPI_SVN_VERSION)
AC_SUBST(OMPI_VERSION)
#
# Start it up
#
OMPI_CONFIGURE_SETUP
ompi_show_title "Configuring OMPI version $OMPI_VERSION"
ompi_show_subtitle "Initialization, setup"
#
# Init automake
# The third argument to AM_INIT_AUTOMAKE surpresses the PACKAGE and
# VERSION macors
#
AM_INIT_AUTOMAKE(openmpi, $OMPI_VERSION, 'no')
#
# GNU C and autotools are inconsistent about whether this is defined
# so let's make it true everywhere for now...
#
AC_GNU_SOURCE
OMPI_TOP_BUILDDIR="`pwd`"
AC_SUBST(OMPI_TOP_BUILDDIR)
cd "$srcdir"
OMPI_TOP_SRCDIR="`pwd`"
AC_SUBST(OMPI_TOP_SRCDIR)
cd "$OMPI_TOP_BUILDDIR"
AC_MSG_NOTICE([builddir: $OMPI_TOP_BUILDDIR])
AC_MSG_NOTICE([srcdir: $OMPI_TOP_SRCDIR])
if test "$OMPI_TOP_BUILDDIR" != "$OMPI_TOP_SRCDIR"; then
AC_MSG_NOTICE([Detected VPATH build])
fi
# Setup the top of the include/ompi_config.h file
AH_TOP([/* -*- c -*-
*
* $HEADER$
*
* Function: - OS, CPU and compiler dependent configuration
*/
#ifndef OMPI_CONFIG_H
#define OMPI_CONFIG_H
])
AH_BOTTOM([
#include "ompi_config_bottom.h"
#endif /* OMPI_CONFIG_H */
])
# Other basic setup stuff (shared with components)
OMPI_BASIC_SETUP
top_ompi_srcdir="$OMPI_TOP_SRCDIR"
AC_SUBST(top_ompi_srcdir)
top_ompi_builddir="$OMPI_TOP_BUILDDIR"
AC_SUBST(top_ompi_builddir)
############################################################################
# Configuration options
############################################################################
OMPI_CONFIGURE_OPTIONS
############################################################################
# Libtool: part one
# (before C compiler setup)
############################################################################
#
# Part one of libtool magic. Enable static so that we have the --with
# tests done up here and can check for OS. Save the values of
# $enable_static and $enable_shared before setting the defaults,
# because if the user specified --[en|dis]able-[static|shared] on the
# command line, they'll already be set. In this way, we can tell if
# the user requested something or if the default was set here.
#
ompi_enable_shared="$enable_shared"
ompi_enable_static="$enable_static"
AM_ENABLE_SHARED
AM_DISABLE_STATIC
############################################################################
# Check for compilers and preprocessors
############################################################################
ompi_show_title "Compiler and preprocessor tests"
##################################
# C compiler characteristics
##################################
OMPI_SETUP_CC
#
# Check for some types
#
AC_CHECK_TYPES(long long)
AC_CHECK_TYPES(long double)
AC_CHECK_TYPES(int8_t)
AC_CHECK_TYPES(uint8_t)
AC_CHECK_TYPES(int16_t)
AC_CHECK_TYPES(uint16_t)
AC_CHECK_TYPES(int32_t)
AC_CHECK_TYPES(uint32_t)
AC_CHECK_TYPES(int64_t)
AC_CHECK_TYPES(uint64_t)
AC_CHECK_TYPES(intptr_t)
AC_CHECK_TYPES(uintptr_t)
#
# Check for type sizes
#
AC_CHECK_SIZEOF(char)
AC_CHECK_SIZEOF(short)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(long)
if test $ac_cv_type_long_long = yes; then
AC_CHECK_SIZEOF(long long)
fi
if test $ac_cv_type_long_double = yes; then
AC_CHECK_SIZEOF(long double)
fi
AC_CHECK_SIZEOF(float)
AC_CHECK_SIZEOF(double)
AC_CHECK_SIZEOF(void *)
#
# Check for type alignments
#
OMPI_C_GET_ALIGNMENT(char, OMPI_ALIGNMENT_CHAR)
OMPI_C_GET_ALIGNMENT(short, OMPI_ALIGNMENT_SHORT)
OMPI_C_GET_ALIGNMENT(wchar_t, OMPI_ALIGNMENT_WCHAR)
OMPI_C_GET_ALIGNMENT(int, OMPI_ALIGNMENT_INT)
OMPI_C_GET_ALIGNMENT(long, OMPI_ALIGNMENT_LONG)
if test $ac_cv_type_long_long = yes; then
OMPI_C_GET_ALIGNMENT(long long, OMPI_ALIGNMENT_LONG_LONG)
fi
OMPI_C_GET_ALIGNMENT(float, OMPI_ALIGNMENT_FLOAT)
OMPI_C_GET_ALIGNMENT(double, OMPI_ALIGNMENT_DOUBLE)
if test $ac_cv_type_long_double = yes; then
OMPI_C_GET_ALIGNMENT(long double, OMPI_ALIGNMENT_LONG_DOUBLE)
fi
OMPI_C_GET_ALIGNMENT(void *, OMPI_ALIGNMENT_VOID_P)
#
# Check for other compiler characteristics
#
if test "$GCC" = "yes"; then
# gcc 2.96 will emit oodles of warnings if you use "inline" with
# -pedantic (which we do in developer builds). However,
# "__inline__" is ok. So we have to force gcc to select the
# right one. If you use -pedantic, the AC_C_INLINE test will fail
# (because it names a function foo() -- without the (void)). So
# we turn off all the picky flags, turn on -ansi mode (which is
# implied by -pedantic), and set warnings to be errors. Hence,
# this does the following (for 2.96):
#
# - causes the check for "inline" to emit a warning, which then
# fails
# - checks for __inline__, which then emits no error, and works
#
# This also works nicely for gcc 3.x because "inline" will work on
# the first check, and all is fine. :-)
CFLAGS_save="$CFLAGS"
CFLAGS="$OMPI_CFLAGS_BEFORE_PICKY -Werror -ansi"
fi
AC_C_INLINE
AC_C_RESTRICT
OMPI_C_WEAK_SYMBOLS
if test "$GCC" = "yes"; then
CFLAGS="$CFLAGS_save"
fi
# If we want the profiling layer:
# - If the C compiler has weak symbols, use those.
# - If not, then set to compile the code again with #define's in a
# separate directory.
if test "$WANT_WEAK_SYMBOLS" = "0"; then
OMPI_C_HAVE_WEAK_SYMBOLS=0
fi
if test "$WANT_MPI_PROFILING" = "1"; then
if test "$OMPI_C_HAVE_WEAK_SYMBOLS" = "1"; then
OMPI_PROFILING_COMPILE_SEPARATELY=0
else
OMPI_PROFILING_COMPILE_SEPARATELY=1
fi
else
OMPI_PROFILING_COMPILE_SEPARATELY=0
fi
#
# There are 2 layers to the MPI Language binidings One layer generates
# MPI_* bindings. The other layer generates PMPI_* bindings. The
# following conditions determine whether each (or both) these layers
# are built.
# 1. MPI_* bindings are needed if:
# - Profiling is not required
# - Profiling is required but weak symbols are not
# supported
# 2. PMPI_* bindings are needed if profiling is required. Hence we
# define 2 conditionals which tell us whether each of these layers
# need to be built or NOT
#
AM_CONDITIONAL(WANT_MPI_BINDINGS_LAYER,
test "$WANT_MPI_PROFILING" = 0 -o "$OMPI_PROFILING_COMPILE_SEPARATELY" = 1)
AM_CONDITIONAL(WANT_PMPI_BINDINGS_LAYER,
test "$WANT_MPI_PROFILING" = 1)
AM_CONDITIONAL(COMPILE_PROFILING_SEPARATELY,
test "$OMPI_PROFILING_COMPILE_SEPARATELY" = 1)
AC_DEFINE_UNQUOTED(OMPI_ENABLE_MPI_PROFILING, $WANT_MPI_PROFILING,
[Whether we want MPI profiling or not])
AC_DEFINE_UNQUOTED(OMPI_HAVE_WEAK_SYMBOLS, $OMPI_C_HAVE_WEAK_SYMBOLS,
[Wehther we have weak symbols or not])
##################################
# C++ compiler characteristics
##################################
OMPI_SETUP_CXX
# check for type sizes
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
#AC_CHECK_SIZEOF(BOOL)
# check for type alignments
#OMPI_C_GET_ALIGNMENT(BOOL, OMPI_ALIGNMENT_CXX_BOOL)
AC_LANG_RESTORE
# check if we want C++ support
AM_CONDITIONAL(WANT_MPI_CXX_BINDINGS,
test "$WANT_MPI_CXX_SUPPORT" = 1)
AC_DEFINE_UNQUOTED(OMPI_WANT_CXX_BINDINGS, $WANT_MPI_CXX_SUPPORT,
[Whether we want MPI cxx support or not])
##################################
# Fortran
##################################
OMPI_HAVE_FORTRAN_INTEGER1=0
OMPI_HAVE_FORTRAN_INTEGER2=0
OMPI_HAVE_FORTRAN_INTEGER4=0
OMPI_HAVE_FORTRAN_INTEGER8=0
OMPI_HAVE_FORTRAN_INTEGER16=0
OMPI_HAVE_FORTRAN_REAL4=0
OMPI_HAVE_FORTRAN_REAL8=0
OMPI_HAVE_FORTRAN_REAL16=0
OMPI_HAVE_FORTRAN_COMPLEX8=0
OMPI_HAVE_FORTRAN_COMPLEX16=0
OMPI_HAVE_FORTRAN_COMPLEX32=0
OMPI_SIZEOF_FORTRAN_INT=0
OMPI_SIZEOF_FORTRAN_REAL=0
OMPI_SIZEOF_FORTRAN_DBLPREC=0
OMPI_SIZEOF_FORTRAN_COMPLEX=0
OMPI_SIZEOF_FORTRAN_DBLCOMPLEX=0
OMPI_ALIGNMENT_FORTRAN_INT=0
OMPI_ALIGNMENT_FORTRAN_REAL=0
OMPI_ALIGNMENT_FORTRAN_DBLPREC=0
OMPI_ALIGNMENT_FORTRAN_COMPLEX=0
OMPI_ALIGNMENT_FORTRAN_DBLCOMPLEX=0
OMPI_SETUP_F77
OMPI_F77_FIND_EXT_SYMBOL_CONVENTION($OMPI_F77)
# Even if we don't want fortran support, we have to have a size for
# INTEGER because it's needed to define MPI_Fint, which is part of
# mpi.h. Hence, if we don't want fortran support, we set the size of
# Fortran INTEGER's to sizeof(int).
#
# Similarly, we need C types for LOGICAL, REAL, and DOUBLE PRECISION
# for the MPI_Op reduction back-end routines.
if test "$OMPI_WANT_F77_BINDINGS" = "0" ; then
OMPI_SIZEOF_FORTRAN_LOGICAL=$ac_cv_sizeof_int
OMPI_SIZEOF_FORTRAN_INT=$ac_cv_sizeof_int
OMPI_SIZEOF_FORTRAN_REAL=$ac_cv_sizeof_float
OMPI_SIZEOF_FORTRAN_DBLPREC=$ac_cv_sizeof_double
else
# If we want fortran support, then get the sizes and alignments of
# all the rest of the fortran types
OMPI_F77_CHECK_TYPE(INTEGER*1, OMPI_HAVE_FORTRAN_INTEGER1)
OMPI_F77_CHECK_TYPE(INTEGER*2, OMPI_HAVE_FORTRAN_INTEGER2)
OMPI_F77_CHECK_TYPE(INTEGER*4, OMPI_HAVE_FORTRAN_INTEGER4)
OMPI_F77_CHECK_TYPE(INTEGER*8, OMPI_HAVE_FORTRAN_INTEGER8)
OMPI_F77_CHECK_TYPE(INTEGER*16, OMPI_HAVE_FORTRAN_INTEGER16)
OMPI_F77_CHECK_TYPE(REAL*4, OMPI_HAVE_FORTRAN_REAL4)
OMPI_F77_CHECK_TYPE(REAL*8, OMPI_HAVE_FORTRAN_REAL8)
OMPI_F77_CHECK_TYPE(REAL*16, OMPI_HAVE_FORTRAN_REAL16)
OMPI_F77_CHECK_TYPE(COMPLEX*8, OMPI_HAVE_FORTRAN_COMPLEX8)
OMPI_F77_CHECK_TYPE(COMPLEX*16, OMPI_HAVE_FORTRAN_COMPLEX16)
OMPI_F77_CHECK_TYPE(COMPLEX*32, OMPI_HAVE_FORTRAN_COMPLEX32)
OMPI_F77_GET_SIZEOF(LOGICAL, OMPI_SIZEOF_FORTRAN_LOGICAL)
OMPI_F77_GET_SIZEOF(INTEGER, OMPI_SIZEOF_FORTRAN_INT)
OMPI_F77_GET_SIZEOF(REAL, OMPI_SIZEOF_FORTRAN_REAL)
OMPI_F77_GET_SIZEOF(DOUBLE PRECISION, OMPI_SIZEOF_FORTRAN_DBLPREC)
OMPI_F77_GET_SIZEOF(COMPLEX, OMPI_SIZEOF_FORTRAN_COMPLEX)
OMPI_F77_GET_SIZEOF(DOUBLE COMPLEX, OMPI_SIZEOF_FORTRAN_DBLCOMPLEX)
OMPI_F77_GET_ALIGNMENT(LOGICAL, OMPI_ALIGNMENT_FORTRAN_LOGICAL)
OMPI_F77_GET_ALIGNMENT(INTEGER, OMPI_ALIGNMENT_FORTRAN_INT)
OMPI_F77_GET_ALIGNMENT(REAL, OMPI_ALIGNMENT_FORTRAN_REAL)
OMPI_F77_GET_ALIGNMENT(DOUBLE PRECISION, OMPI_ALIGNMENT_FORTRAN_DBLPREC)
OMPI_F77_GET_ALIGNMENT(COMPLEX, OMPI_ALIGNMENT_FORTRAN_COMPLEX)
OMPI_F77_GET_ALIGNMENT(DOUBLE COMPLEX, OMPI_ALIGNMENT_FORTRAN_DBLCOMPLEX)
fi
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_INTEGER1, $OMPI_HAVE_FORTRAN_INTEGER1,
[Whether we have FORTRAN INTEGER1 or not])
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_INTEGER2, $OMPI_HAVE_FORTRAN_INTEGER2,
[Whether we have FORTRAN INTEGER2 or not])
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_INTEGER4, $OMPI_HAVE_FORTRAN_INTEGER4,
[Whether we have FORTRAN INTEGER4 or not])
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_INTEGER8, $OMPI_HAVE_FORTRAN_INTEGER8,
[Whether we have FORTRAN INTEGER8 or not])
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_INTEGER16, $OMPI_HAVE_FORTRAN_INTEGER16,
[Whether we have FORTRAN INTEGER16 or not])
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_REAL4, $OMPI_HAVE_FORTRAN_REAL4,
[Whether we have FORTRAN REAL4 or not])
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_REAL8, $OMPI_HAVE_FORTRAN_REAL8,
[Whether we have FORTRAN REAL8 or not])
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_REAL16, $OMPI_HAVE_FORTRAN_REAL16,
[Whether we have FORTRAN REAL16 or not])
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_COMPLEX8, $OMPI_HAVE_FORTRAN_COMPLEX8,
[Whether we have FORTRAN COMPLEX8 or not])
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_COMPLEX16, $OMPI_HAVE_FORTRAN_COMPLEX16,
[Whether we have FORTRAN COMPLEX16 or not])
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_COMPLEX32, $OMPI_HAVE_FORTRAN_COMPLEX32,
[Whether we have FORTRAN COMPLEX32 or not])
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_FORTRAN_LOGICAL, $OMPI_SIZEOF_FORTRAN_LOGICAL,
[Size of fortran logical])
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_FORTRAN_INT, $OMPI_SIZEOF_FORTRAN_INT,
[Size of fortran integer])
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_FORTRAN_REAL, $OMPI_SIZEOF_FORTRAN_REAL,
[Size of fortran real])
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_FORTRAN_DBLPREC, $OMPI_SIZEOF_FORTRAN_DBLPREC,
[Size of fortran double precision])
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_FORTRAN_COMPLEX, $OMPI_SIZEOF_FORTRAN_COMPLEX,
[Size of fortran complex])
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_FORTRAN_DBLCOMPLEX,
$OMPI_SIZEOF_FORTRAN_DBLCOMPLEX,
[Size of fortran double complex])
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_FORTRAN_LOGICAL,
$OMPI_ALIGNMENT_FORTRAN_LOGICAL,
[Alignment of fortran logical])
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_FORTRAN_INT, $OMPI_ALIGNMENT_FORTRAN_INT,
[Alignment of fortran integer])
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_FORTRAN_REAL, $OMPI_ALIGNMENT_FORTRAN_REAL,
[alignment of fortran real])
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_FORTRAN_DBLPREC,
$OMPI_ALIGNMENT_FORTRAN_DBLPREC,
[Alignment of fortran double precision])
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_FORTRAN_COMPLEX,
$OMPI_ALIGNMENT_FORTRAN_COMPLEX,
[Alignment of fortran complex])
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_FORTRAN_DBLCOMPLEX,
$OMPI_ALIGNMENT_FORTRAN_DBLCOMPLEX,
[Alignment of fortran double complex])
#
# There are 2 layers to the MPI f77 layer. The only extra thing that
# determine f77 bindings is that fortran can be disabled by user. In
# such cases, we need to not build the target at all. One layer
# generates MPI_f77* bindings. The other layer generates PMPI_f77*
# bindings. The following conditions determine whether each (or both)
# these layers are built.
#
# Superceeding clause:
# - fortran77 bindings should be enabled, else everything is
# disabled
# 1. MPI_f77* bindings are needed if:
# - Profiling is not required
# - Profiling is required but weak symbols are not
# supported
# 2. PMPI_* bindings are needed if profiling is required. Hence we
# define 2 conditionals which tell us whether each of these layers
# need to be built or NOT
#
AM_CONDITIONAL(WANT_MPI_F77_BINDINGS_LAYER,
test \( "$WANT_MPI_PROFILING" = 0 -o "$OMPI_PROFILING_COMPILE_SEPARATELY" = 1 \) -a "$OMPI_WANT_F77_BINDINGS" = 1)
AM_CONDITIONAL(WANT_PMPI_F77_BINDINGS_LAYER,
test "$OMPI_WANT_F77_BINDINGS" = 1 -a "$WANT_MPI_PROFILING" = 1)
#
# Fortran 90 setup
#
##################################
# Header files
##################################
ompi_show_title "Header file tests"
AC_CHECK_HEADERS([alloca.h aio.h arpa/inet.h dirent.h dlfcn.h \
inttypes.h libgen.h net/if.h netdb.h netinet/in.h netinet/tcp.h \
poll.h pthread.h pwd.h sched.h stdint.h strings.h stropts.h \
sys/ipc.h sys/mman.h sys/resource.h sys/select.h sys/socket.h \
sys/statvfs.h sys/time.h sys/uio.h sys/utsname.h sys/wait.h \
syslog.h termios.h ulimit.h unistd.h])
# snprintf declaration
# gethostname declaration
# headers:
# stropts.h grh.h netinet/tcp.h sys/select.h sys/resource.h pty.h util.h
# rpc/types.h rpc/xdr.h sched.h strings.h
# SA_RESTART in signal.h
# sa_len in struct sockaddr
# union semun in sys/sem.h
# Note that sometimes we have <stdbool.h>, but it doesn't work (e.g.,
# have both Portland and GNU installed; using pgcc will find GNU's
# <stdbool.h>, which all it does -- by standard -- is define "bool" to
# "_Bool" [see
# http://www.opengroup.org/onlinepubs/009695399/basedefs/stdbool.h.html],
# and Portland has no idea what to do with _Bool).
# So first figure out if we have <stdbool.h> (i.e., check the value of
# the macro HAVE_STDBOOL_H from the result of AC_CHECK_HEADERS,
# above). If we do have it, then check to see if it actually works.
# Define OMPI_USE_STDBOOL_H as approrpaite.
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
#if HAVE_STDBOOL_H
#include <stdbool.h>
#endif]],
[[bool bar, foo = true; bar = foo;]]),
[OMPI_USE_STDBOOL_H=1 MSG=yes],[OMPI_USE_STDBOOL_H=0 MSG=no])
else
OMPI_USE_STDBOOL_H=0
MSG="no (don't have <stdbool.h>)"
fi
AC_DEFINE_UNQUOTED(OMPI_USE_STDBOOL_H, $OMPI_USE_STDBOOL_H,
[Whether to use <stdbool.h> or not])
AC_MSG_RESULT([$MSG])
##################################
# Libraries
##################################
ompi_show_title "Library and Function tests"
# -lsocket
# -lnsl
# -lutil (openpty)
# openpty
# atexit
# getcwd
# snprintf
# atoll
# strtoll
# yield
# sched_yield
# vscanf
AC_CHECK_FUNCS([asprintf snprintf vasprintf vsnprintf])
#
# Make sure we can copy va_lists (need check declared, not linkable)
#
AC_CHECK_DECL(va_copy, OMPI_HAVE_VA_COPY=1, OMPI_HAVE_VA_COPY=0,
[#include <stdarg.h>])
AC_DEFINE_UNQUOTED(OMPI_HAVE_VA_COPY, $OMPI_HAVE_VA_COPY,
[Whether we have va_copy or not])
AC_CHECK_DECL(__va_copy, OMPI_HAVE_UNDERSCORE_VA_COPY=1,
OMPI_HAVE_UNDERSCORE_VA_COPY=0, [#include <stdarg.h>])
AC_DEFINE_UNQUOTED(OMPI_HAVE_UNDERSCORE_VA_COPY, $OMPI_HAVE_UNDERSCORE_VA_COPY,
[Whether we have __va_copy or not])
##################################
# System-specific tests
##################################
ompi_show_title "System-specific tests"
#
# Determine corresponding C types for Fortran: LOGICAL, INTEGER, REAL,
# DOUBLE PRECISION. If we don't have a fortran compiler, assume some
# sensible defaults (although the values don't really matter). We
# need these types for the back-end MPI_Op reduction functions,
# regardless of whether we have a fortran compiler or not.
#
if test "$OMPI_F77" != "none"; then
OMPI_FIND_TYPE(Fortran LOGICAL, FORTRAN_LOGICAL,
char int int32_t)
OMPI_FIND_TYPE(Fortran INTEGER, FORTRAN_INT,
int32_t int intr64_t long:long long)
OMPI_FIND_TYPE(Fortran REAL, FORTRAN_REAL,
float double long:double)
OMPI_FIND_TYPE(Fortran DOUBLE PRECISION, FORTRAN_DBLPREC,
float double long:double)
else
MPI_FORTRAN_LOGICAL_TYPE=char
MPI_FORTRAN_INT_TYPE=int
MPI_FORTRAN_REAL_TYPE=float
MPI_FORTRAN_DBLPREC_TYPE=double
AC_MSG_WARN([*** WARNING: Did not detect a f77 compiler. Assuming default corresponding types])
AC_MSG_WARN([*** Fortran LOGICAL = C $MPI_FORTRAN_LOGICAL_TYPE])
AC_MSG_WARN([*** Fortran INTEGER = C $MPI_FORTRAN_INT_TYPE])
AC_MSG_WARN([*** Fortran REAL = C $MPI_FORTRAN_REAL_TYPE])
AC_MSG_WARN([*** Fortran DOUBLE PRECISION = C $MPI_FORTRAN_DBLPREC_TYPE])
fi
AC_DEFINE_UNQUOTED(MPI_Fint, $MPI_FORTRAN_INT_TYPE,
[C type corresponding to Fortran INTEGER])
AC_DEFINE_UNQUOTED(ompi_fortran_logical_t, $MPI_FORTRAN_LOGICAL_TYPE,
[C type corresponding to Fortran LOGICAL])
AC_DEFINE_UNQUOTED(ompi_fortran_integer_t, $MPI_FORTRAN_INT_TYPE,
[C type corresponding to Fortran LOGICAL])
AC_DEFINE_UNQUOTED(ompi_fortran_real_t, $MPI_FORTRAN_REAL_TYPE,
[C type corresponding to Fortran REAL])
AC_DEFINE_UNQUOTED(ompi_fortran_dblprec_t, $MPI_FORTRAN_DBLPREC_TYPE,
[C type corresponding to Fortran DOUBLE PRECISION])
#
# Test to determine type of MPI_Offset. This is searched in the following order
# int64_t, long long, long, int. If none of these are 8 bytes, then we should
# search for int32_t, long long, long, int.
#
MPI_OFFSET_TYPE="not found"
AC_MSG_CHECKING([checking for type of MPI_Offset])
if test "$ac_cv_type_int64_t" == "yes"; then
MPI_OFFSET_TYPE=int64_t
elif test "$ac_cv_type_long_long_t" == "yes" -a "$ac_cv_sizeof_long_long" == 8; then
MPI_OFFSET_TYPE="long long"
elif test "$ac_cv_type_long_t" == "yes" -a "$ac_cv_sizeof_long" == 8; then
MPI_OFFSET_TYPE="long"
elif test "ac_cv_sizeof_int" == 8; then
MPI_OFFSET_TYPE=int
elif test "$ac_cv_type_int32_t" == "yes"; then
MPI_OFFSET_TYPE=int32_t
elif test "$ac_cv_type_long_long_t" == "yes" -a "$ac_cv_sizeof_long_long" == 4; then
MPI_OFFSET_TYPE="long long"
elif test "$ac_cv_type_long_t" == "yes" -a "$ac_cv_sizeof_long" == 4; then
MPI_OFFSET_TYPE="long"
elif test "ac_cv_sizeof_int" == 4; then
MPI_OFFSET_TYPE=int
fi
AC_MSG_RESULT([$MPI_OFFSET_TYPE])
if test "$MPI_FINT_TYPE" = "not found"; then
AC_MSG_WARN([*** WARNING: Unable to find the right definition for MPI_Offset])
AC_MSG_ERROR([Cannot continue])
fi
AC_DEFINE_UNQUOTED(MPI_Offset, $MPI_OFFSET_TYPE, [Type of MPI_Offset])
# all: endian
# all: SYSV semaphores
# all: SYSV shared memory
# all: thread flavor
# all: size of FD_SET
# all: FD passing (or not!!)
# all: BSD vs. SYSV ptys
# all: sizeof struct stat members
# all: type of getsockopt optlen
# all: type of recvfrom optlen
#
# Check out what thread support we have
#
OMPI_CONFIG_THREADS
CFLAGS="$CFLAGS $THREAD_CFLAGS"
CXXFLAGS="$CXXFLAGS $THREAD_CXXFLAGS"
CPPFLAGS="$CPPFLAGS $THREAD_CPPFLAGS"
CXXCPPFLAGS="$CXXCPPFLAGS $THREAD_CXXCPPFLAGS"
LDFLAGS="$LDFLAGS $THREAD_LDFLAGS"
LIBS="$LIBS $THREAD_LIBS"
WRAPPER_EXTRA_CFLAGS="$WRAPPER_EXTRA_CFLAGS $THREAD_CFLAGS"
WRAPPER_EXTRA_CXXFLAGS="$WRAPPER_EXTRA_CXXFLAGS $THREAD_CXXFLAGS"
WRAPPER_EXTRA_FFLAGS="$WRAPPER_EXTRA_FFLAGS $THREAD_FFLAGS"
WRAPPER_EXTRA_FCFLAGS="$WRAPPER_EXTRA_FCFLAGS $THREAD_FFLAGS"
WRAPPER_EXTRA_LDFLAGS="$WRAPPER_EXTRA_LDFLAGS $THREAD_LDFLAGS"
WRAPPER_EXTRA_LIBS="$WRAPPER_EXTRA_LIBS $THREAD_LIBS"
#
# What is the local equivalent of "ln -s"
#
AC_PROG_LN_S
#
# We need as and lex
#
AM_PROG_AS
AM_PROG_LEX
# If we don't have GNU Flex and we don't have a generated .c file
# (distribution tarballs will have the .c file included, but SVN
# checkouts will not), then error. Must have GNU Flex -- other
# versions of Lex are not workable (all things being equal, since this
# is *only* required for developers, we decided that it really was not
# worth it to be portable between different versions of lex ;-).
if test -z "$LEX" -o -n "`echo $LEX | grep missing`" -o \
"`basename $LEX`" != "flex"; then
if test ! -f "$srcdir/src/util/show_help_lex.c"; then
AC_MSG_WARN([*** Could not find GNU Flex on your system.])
AC_MSG_WARN([*** GNU Flex required for developer builds of Open MPI.])
AC_MSG_WARN([*** Other versions of Lex are not supported.])
AC_MSG_WARN([*** YOU DO NOT NEED FLEX FOR DISTRIBUTION TARBALLS!])
AC_MSG_WARN([*** If you absolutely cannot install GNU Flex on this system])
AC_MSG_WARN([*** consider using a distribution tarball, or generate the])
AC_MSG_WARN([*** following files on another system (using Flex) and])
AC_MSG_WARN([*** copy them here:])
for lfile in `find . -name \*.l -print`; do
cfile="`echo $lfile | cut -d. -f-2`"
AC_MSG_WARN([*** $cfile.c])
done
AC_MSG_ERROR([Cannot continue])
fi
fi
#
# File system case sensitivity
#
OMPI_CASE_SENSITIVE_FS_SETUP
# AIX: FIONBIO in sys/ioctl.h
# glibc: memcpy
##################################
# MCA
##################################
ompi_show_title "MPI Component Architecture (MCA) setup -- not required now "
############################################################################
# Final top-level OMPI configuration
############################################################################
ompi_show_title "Final top-level OMPI configuration"
############################################################################
# Libevent setup
############################################################################
ompi_show_subtitle "Libevent 3rd party event handler"
CFLAGS_save="$CFLAGS"
CFLAGS="$OMPI_CFLAGS_BEFORE_PICKY"
OMPI_SETUP_LIBEVENT
CFLAGS="$CFLAGS_save"
############################################################################
# Libtool: part two
# (after C compiler setup)
############################################################################
ompi_show_subtitle "Libtool configuration skipped"
WANT_LIBLTDL = 0;
AC_DEFINE_UNQUOTED(OMPI_WANT_LIBLTDL, $WANT_LIBLTDL,
[Whether to include support for libltdl or not])
############################################################################
# final wrapper compiler config
############################################################################
ompi_show_subtitle "Wrapper compiler flags"
#
# This is needed for VPATH builds, so that it will -I the appropriate
# include directory (don't know why automake doesn't do this
# automatically). We delayed doing it until now just so that
# '-I$(top_srcdir)' doesn't show up in any of the configure output --
# purely aesthetic.
#
CPPFLAGS='-I$(top_srcdir)/src -I$(top_srcdir)/include -I$(top_builddir)/src'" $CPPFLAGS"
CXXCPPFLAGS='-I$(top_srcdir)/src -I$(top_srcdir)/include -I$(top_builddir)/src'" $CXXCPPFLAGS"
#
# Adding WRAPPER_* flags so that extra flags needed for wrappper compilers
#
# WRAPPER_EXTRA_CFLAGS
#
AC_MSG_CHECKING([for mpicc CFLAGS])
OMPI_UNIQ(WRAPPER_EXTRA_CFLAGS)
AC_SUBST(WRAPPER_EXTRA_CFLAGS)
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_CFLAGS, "$WRAPPER_EXTRA_CFLAGS",
[Additional CFLAGS to pass through the wrapper compilers])
AC_MSG_RESULT([$WRAPPER_EXTRA_CFLAGS])
#
# WRAPPER_EXTRA_CXXFLAGS
#
AC_MSG_CHECKING([for mpiCC CXXFLAGS])
OMPI_UNIQ(WRAPPER_EXTRA_CXXFLAGS)
AC_SUBST(WRAPPER_EXTRA_CXXFLAGS)
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_CXXFLAGS, "$WRAPPER_EXTRA_CXXFLAGS",
[Additional CXXFLAGS to pass through the wrapper compilers])
AC_MSG_RESULT([$WRAPPER_EXTRA_CXXFLAGS])
#
# WRAPPER_EXTRA_FFLAGS
#
AC_MSG_CHECKING([for mpif77/mpif90 FFLAGS])
OMPI_UNIQ(WRAPPER_EXTRA_FFLAGS)
AC_SUBST(WRAPPER_EXTRA_FFLAGS)
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_FFLAGS, "$WRAPPER_EXTRA_FFLAGS",
[Additional FFLAGS to pass through the wrapper compilers])
AC_MSG_RESULT([$WRAPPER_EXTRA_FFLAGS])
#
# WRAPPER_EXTRA_FCFLAGS
#
AC_MSG_CHECKING([for mpif77/mpif90 FCFLAGS])
OMPI_UNIQ(WRAPPER_EXTRA_FCFLAGS)
AC_SUBST(WRAPPER_EXTRA_FCFLAGS)
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_FCFLAGS, "$WRAPPER_EXTRA_FCFLAGS",
[Additional FCFLAGS to pass through the wrapper compilers])
AC_MSG_RESULT([$WRAPPER_EXTRA_FCFLAGS])
#
# WRAPPER_EXTRA_LDFLAGS
#
AC_MSG_CHECKING([for wrapper compiler LDFLAGS])
OMPI_UNIQ(WRAPPER_EXTRA_LDFLAGS)
AC_SUBST(WRAPPER_EXTRA_LDFLAGS)
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_LDFLAGS, "$WRAPPER_EXTRA_LDFLAGS",
[Additional LDFLAGS to pass through the wrapper compilers])
AC_MSG_RESULT([$WRAPPER_EXTRA_LDFLAGS])
#
# WRAPPER_EXTRA_LIBS
#
AC_MSG_CHECKING([for wrapper compiler LIBS])
AC_SUBST(WRAPPER_EXTRA_LIBS)
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_LIBS, "$WRAPPER_EXTRA_LIBS",
[Additional LIBS to pass through the wrapper compilers])
AC_MSG_RESULT([$WRAPPER_EXTRA_LIBS])
#
# Delayed the substitution of CFLAGS and CXXFLAGS until now because
# they may have been modified throughout the course of this script.
#
AC_SUBST(CFLAGS)
AC_SUBST(CPPFLAGS)
AC_SUBST(CXXFLAGS)
AC_SUBST(CXXCPPFLAGS)
AC_SUBST(FFLAGS)
AC_SUBST(FCFLAGS)
############################################################################
# Party on
############################################################################
ompi_show_subtitle "Final output"
AM_CONFIG_HEADER([include/ompi_config.h])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

28
contrib/find_occurence.pl Исполняемый файл
Просмотреть файл

@ -0,0 +1,28 @@
#!/usr/bin/perl
if (scalar(@ARGV) != 2) {
print "Usage: #find_occurence <string> <source-path>\n";
exit(3);
}
$search_string = @ARGV[0];
$source_path = @ARGV[1];
open (SOURCE_FILES, "find $source_path -name *.c |") || print "could not open the pipe\n";
while (<SOURCE_FILES>) {
#open the file and delete the occurence
$file_name = $_;
open (FILE, "$file_name") || print "Could not open $file_name for reading\n";
while (<FILE>) {
if (/$search_string/) {
print $file_name;
}
}
close(FILE);
}
close(SOURCE_FILES);

41
contrib/fix_indent.pl Исполняемый файл
Просмотреть файл

@ -0,0 +1,41 @@
#!/usr/bin/perl
#To keep brian happy
if (scalar(@ARGV) != 1) {
print "We need a source tree path\n";
exit(3);
}
$source_path = @ARGV[0];
open(HEADERS, "find $source_path -name *.h |");
while(<HEADERS>) {
open(TEMP, ">temp.txt");
$file_name = $_;
print $file_name;
open(FILE, "$file_name");
while(<FILE>) {
s/^(#)([\s|\t]*)(\w)/$1$3/;
print TEMP;
}
close(TEMP);
close(FILE);
system("mv temp.txt $file_name");
}
close(HEADERS);
open(SOURCES, "find $source_path -name *.c |");
while(<SOURCES>) {
open(TEMP, ">temp.txt");
$file_name = $_;
print $file_name;
open(FILE, "$file_name");
while(<FILE>) {
s/^(#)([\s|\t]*)(\w)/$1$3/;
print TEMP;
}
close(TEMP);
close(FILE);
system("mv temp.txt $file_name");
}
close(SOURCES);

19
contrib/generate_file_list.pl Исполняемый файл
Просмотреть файл

@ -0,0 +1,19 @@
#!/usr/bin/perl
if (scalar(@ARGV) != 1) {
print "Usage: generate_file_list <diff file>\n";
exit(3);
}
$file_name = @ARGV[0];
open(FILE,"$file_name") || print "File count not be opened\n";
open(TEMP,"> file_list") || print "Could not open file for writing\n";
while (<FILE>) {
if (/Index/) {
s/^Index:\s*//g;
print TEMP;
}
}
close(TEMP);
close($file_name);

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

@ -1,10 +0,0 @@
#include <datatype.h>
#include <datatype.h>
#include <datatype_internal.h>
#include <err.h>
#include <event.h>
#include <mpi.h>
#include <mpi.h>
#include <ompi_config.h>
#include <strings.h>
#include <syslog.h>

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

@ -1,488 +0,0 @@
#include <alloca.h> --> ./src/datatype/dt_pack.c
#include <alloca.h> --> ./src/datatype/dt_unpack.c
#include <alloca.h> --> ./src/datatype/dt_optimize.c
#include <alloca.h> --> ./src/datatype/fake_stack.c
#include <arpa/inet.h> --> ./src/mca/oob/tcp/oob_tcp_addr.c
#include <arpa/inet.h> --> ./src/mca/oob/tcp/oob_tcp_peer.c
#include <arpa/inet.h> --> ./src/mca/oob/tcp/oob_tcp.c
#include <arpa/inet.h> --> ./src/mca/svc/stdio.old/snipe_lite/snipe_lite.c
#include <arpa/inet.h> --> ./src/mca/svc/stdio.old/cioapp.c
#include <arpa/inet.h> --> ./src/mca/ptl/elan/src/ptl_elan_component.c
#include <arpa/inet.h> --> ./src/mca/ptl/gm/src/ptl_gm_priv.c
#include <arpa/inet.h> --> ./src/mca/ptl/gm/src/ptl_gm_component.c
#include <arpa/inet.h> --> ./src/mca/ptl/gm/src/ptl_gm_peer.c
#include <arpa/inet.h> --> ./src/mca/ptl/prof/ptl_prof_component.c
#include <arpa/inet.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_peer.c
#include <arpa/inet.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_component.c
#include <arpa/inet.h> --> ./src/mca/ptl/self/ptl_self_component.c
#include <arpa/inet.h> --> ./src/mca/ptl/self/ptl_self.c
#include <arpa/inet.h> --> ./src/util/if.c
#include <arpa/inet.h> --> ./src/mca/svc/stdio.old/snipe_lite/syslog.h
#include <arpa/inet.h> --> ./src/mca/ptl/elan/src/ptl_elan_priv.h
#include <datatype.h> --> ./src/datatype/dt_args.c
#include <datatype_internal.h> --> ./src/datatype/dt_args.c
#include <dirent.h> --> ./src/mca/oob/cofs/src/oob_cofs.c
#include <dirent.h> --> ./src/util/session_dir.c
#include <dirent.h> --> ./src/util/session_dir.c
#include <elan/capability.h> --> ./src/mca/ptl/elan/tests/init_elan.c
#include <elan/elan.h> --> ./src/mca/ptl/elan/tests/init_elan.c
#include <elan/elan.h> --> ./src/mca/ptl/elan/src/ptl_elan_priv.h
#include <elan4/library.h> --> ./src/mca/ptl/elan/tests/init_elan.c
#include <err.h> --> ./src/event/kqueue.c
#include <err.h> --> ./src/event/poll.c
#include <err.h> --> ./src/event/epoll.c
#include <err.h> --> ./src/event/signal.c
#include <err.h> --> ./src/event/select.c
#include <err.h> --> ./src/event/event.c
#include <err.h> --> ./src/event/WIN32-Code/win32.c
#include <etc_misc.h> --> ./src/util/session_dir.c
#include <event.h> --> ./src/event/test/test-init.c
#include <event.h> --> ./src/event/test/bench.c
#include <event.h> --> ./src/event/test/test-eof.c
#include <event.h> --> ./src/event/test/regress.c
#include <event.h> --> ./src/event/test/test-time.c
#include <event.h> --> ./src/event/test/test-weof.c
#include <event.h> --> ./src/event/sample/signal-test.c
#include <event.h> --> ./src/event/sample/event-test.c
#include <event.h> --> ./src/event/sample/time-test.c
#include <fortran.h> --> ./src/mca/io/romio/romio-dist/mpi-io/fortran/deletef.c
#include <fortran.h> --> ./src/mca/io/romio/romio-dist/mpi-io/fortran/get_viewf.c
#include <fortran.h> --> ./src/mca/io/romio/romio-dist/mpi-io/fortran/set_viewf.c
#include <fortran.h> --> ./src/mca/io/romio/romio-dist/mpi-io/fortran/openf.c
#include <getopt.h> --> ./test/include/atomic.c
#include <getopt.h> --> ./src/mca/ptl/gm/tests/mpi-ping.c
#include <grp.h> --> ./src/util/pty.c
#include <inttypes.h> --> ./src/event/kqueue.c
#include <inttypes.h> --> ./include/ompi_stdint.h
#include <libgen.h> --> ./test/rte/ompi_session_dir.c
#include <libgen.h> --> ./test/util/ompi_session_dir.c
#include <libgen.h> --> ./src/mca/gpr/replica/gpr_replica.c
#include <libgen.h> --> ./src/mca/gpr/replica/gpr_replica_internals.c
#include <libgen.h> --> ./src/mca/svc/stdio.old/cioapp.c
#include <libgen.h> --> ./src/util/os_create_dirpath.c
#include <libgen.h> --> ./src/util/session_dir.c
#include <libgen.h> --> ./src/util/sys_info.c
#include <libgen.h> --> ./src/util/os_path.c
#include <linux/nfs_fs.h> --> ./src/mca/io/romio/romio-dist/adio/common/ad_fstype.c
#include <linux/nfs_fs.h> --> ./src/mca/io/romio/romio-dist/adio/common/mca_io_romio_dist_ad_fstype.c
#include <mpi.h> --> ./test/mpi/environment/chello.c
#include <mpi.h> --> ./src/datatype/dt_args.c
#include <mpi.h> --> ./src/mpi/cxx/mpicxx.h
#include <net/if.h> --> ./src/mca/svc/stdio.old/snipe_lite/snipe_lite.c
#include <net/if.h> --> ./src/util/if.c
#include <netdb.h> --> ./src/mca/svc/stdio.old/snipe_lite/snipe_lite.c
#include <netdb.h> --> ./src/mca/svc/stdio.old/cioapp.c
#include <netdb.h> --> ./src/tools/ompid/ompid.c
#include <netdb.h> --> ./src/util/if.c
#include <netdb.h> --> ./src/util/session_dir.c
#include <netdb.h> --> ./src/runtime/runtime_types.h
#include <netinet/gm.h> --> ./src/mca/ptl/gm/src/ptl_gm_priv.c
#include <netinet/gm.h> --> ./src/mca/ptl/gm/src/ptl_gm_peer.c
#include <netinet/in.h> --> ./test/util/ompi_pack.c
#include <netinet/in.h> --> ./src/mpi/c/comm_join.c
#include <netinet/in.h> --> ./src/mpi/c/profile/pcomm_join.c
#include <netinet/in.h> --> ./src/mca/oob/tcp/oob_tcp_addr.c
#include <netinet/in.h> --> ./src/mca/oob/tcp/oob_tcp_peer.c
#include <netinet/in.h> --> ./src/mca/oob/tcp/oob_tcp.c
#include <netinet/in.h> --> ./src/mca/oob/base/oob_base_send_nb.c
#include <netinet/in.h> --> ./src/mca/oob/base/oob_base_send.c
#include <netinet/in.h> --> ./src/mca/oob/base/oob_base_ping.c
#include <netinet/in.h> --> ./src/mca/oob/base/oob_base_recv_nb.c
#include <netinet/in.h> --> ./src/mca/oob/base/oob_base_recv.c
#include <netinet/in.h> --> ./src/mca/svc/stdio.old/snipe_lite/msg.c
#include <netinet/in.h> --> ./src/mca/svc/stdio.old/snipe_lite/snipe_lite.c
#include <netinet/in.h> --> ./src/mca/ptl/elan/src/ptl_elan_component.c
#include <netinet/in.h> --> ./src/mca/ptl/gm/src/ptl_gm_priv.c
#include <netinet/in.h> --> ./src/mca/ptl/gm/src/ptl_gm_component.c
#include <netinet/in.h> --> ./src/mca/ptl/gm/src/ptl_gm_peer.c
#include <netinet/in.h> --> ./src/mca/ptl/prof/ptl_prof_component.c
#include <netinet/in.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_peer.c
#include <netinet/in.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_component.c
#include <netinet/in.h> --> ./src/mca/ptl/self/ptl_self_component.c
#include <netinet/in.h> --> ./src/mca/ptl/self/ptl_self.c
#include <netinet/in.h> --> ./src/util/if.c
#include <netinet/in.h> --> ./src/util/bufpack.c
#include <netinet/in.h> --> ./src/mca/oob/tcp/oob_tcp_addr.h
#include <netinet/in.h> --> ./src/mca/oob/tcp/oob_tcp_peer.h
#include <netinet/in.h> --> ./src/mca/svc/stdio.old/snipe_lite/syslog.h
#include <netinet/in.h> --> ./src/mca/ptl/elan/src/ptl_elan_peer.h
#include <netinet/in.h> --> ./src/mca/ptl/elan/src/ptl_elan_frag.h
#include <netinet/in.h> --> ./src/mca/ptl/elan/src/ptl_elan_priv.h
#include <netinet/in.h> --> ./src/mca/ptl/elan/src/ptl_elan.h
#include <netinet/in.h> --> ./src/mca/ptl/elan/src/ptl_elan_proc.h
#include <netinet/in.h> --> ./src/mca/ptl/sm/src/ptl_sm.h
#include <netinet/in.h> --> ./src/mca/ptl/gm/src/ptl_gm_addr.h
#include <netinet/in.h> --> ./src/mca/ptl/gm/src/ptl_gm_req.h
#include <netinet/in.h> --> ./src/mca/ptl/gm/src/ptl_gm_sendfrag.h
#include <netinet/in.h> --> ./src/mca/ptl/gm/src/ptl_gm_peer.h
#include <netinet/in.h> --> ./src/mca/ptl/gm/src/ptl_gm_priv.h
#include <netinet/in.h> --> ./src/mca/ptl/gm/src/ptl_gm.h
#include <netinet/in.h> --> ./src/mca/ptl/gm/src/ptl_gm_proc.h
#include <netinet/in.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_sendfrag.h
#include <netinet/in.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_addr.h
#include <netinet/in.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_peer.h
#include <netinet/in.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_recvfrag.h
#include <netinet/in.h> --> ./src/mca/ptl/tcp/src/ptl_tcp.h
#include <netinet/in.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_sendreq.h
#include <netinet/in.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_proc.h
#include <netinet/tcp.h> --> ./src/mca/oob/tcp/oob_tcp_peer.c
#include <netinet/tcp.h> --> ./src/mca/svc/stdio.old/snipe_lite/snipe_lite.c
#include <netinet/tcp.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_peer.c
#include <nx.h> --> ./src/mca/io/romio/romio-dist/adio/common/ad_fstype.c
#include <nx.h> --> ./src/mca/io/romio/romio-dist/adio/common/mca_io_romio_dist_ad_fstype.c
#include <nx.h> --> ./src/mca/io/romio/romio-dist/adio/ad_pfs/ad_pfs.h
#include <ompi_config.h> --> ./src/datatype/dt_args.c
#include <ompi_config.h> --> ./src/util/strncpy.c
#include <ompi_debug.h> --> ./src/util/session_dir.c
#include <ompi_internal.h> --> ./src/util/session_dir.c
#include <pfs/pfs.h> --> ./src/mca/io/romio/romio-dist/adio/common/ad_fstype.c
#include <pfs/pfs.h> --> ./src/mca/io/romio/romio-dist/adio/common/mca_io_romio_dist_ad_fstype.c
#include <poll.h> --> ./src/event/poll.c
#include <poll.h> --> ./src/mca/svc/stdio.old/libsio.h
#include <poll.h> --> ./src/mca/svc/stdio.old/libcio.h
#include <pthread.h> --> ./test/include/atomic.c
#include <pthread.h> --> ./src/threads/condition_pthread.h
#include <pthread.h> --> ./src/threads/mutex_unix.h
#include <pthread.h> --> ./src/threads/thread.h
#include <pwd.h> --> ./src/mca/pcm/base/pcm_base_ioexecvp.c
#include <pwd.h> --> ./src/mca/pcm/rsh/pcm_rsh_spawn.c
#include <pwd.h> --> ./src/util/session_dir.c
#include <pwd.h> --> ./src/util/sys_info.c
#include <qsnet/fence.h> --> ./src/mca/ptl/elan/tests/init_elan.c
#include <resolv.h> --> ./src/mca/svc/stdio.old/cioapp.c
#include <rms/rmsapi.h> --> ./src/mca/pcm/rms/src/pcm_rms_component.c
#include <stdint.h> --> ./test/class/ompi_hash_table.c
#include <stdint.h> --> ./test/class/ompi_rb_tree.c
#include <stdint.h> --> ./src/event/epoll.c
#include <stdint.h> --> ./src/event/epoll_sub.c
#include <stdint.h> --> ./include/ompi_config_bottom.h
#include <stdint.h> --> ./include/ompi_stdint.h
#include <stdint.h> --> ./src/mca/ptl/ib/src/ptl_ib_priv.h
#include <strings.h> --> ./src/mca/pcm/base/pcm_base_ioexecvp.c
#include <strings.h> --> ./src/mca/svc/stdio.old/snipe_lite/snipe_lite.c
#include <sys/_time.h> --> ./src/event/kqueue.c
#include <sys/_time.h> --> ./src/event/poll.c
#include <sys/_time.h> --> ./src/event/epoll.c
#include <sys/_time.h> --> ./src/event/signal.c
#include <sys/_time.h> --> ./src/event/select.c
#include <sys/_time.h> --> ./src/event/event.c
#include <sys/_time.h> --> ./src/event/rtsig.c
#include <sys/epoll.h> --> ./src/event/epoll.c
#include <sys/epoll.h> --> ./src/event/epoll_sub.c
#include <sys/errno.h> --> ./src/mca/oob/tcp/oob_tcp_peer.c
#include <sys/errno.h> --> ./src/mca/common/sm/common_sm_mmap.c
#include <sys/errno.h> --> ./src/mca/ptl/elan/src/ptl_elan_priv.c
#include <sys/errno.h> --> ./src/mca/ptl/elan/src/ptl_elan_frag.c
#include <sys/errno.h> --> ./src/mca/ptl/sm/src/ptl_sm_sendreq.c
#include <sys/errno.h> --> ./src/mca/ptl/sm/src/ptl_sm_sendfrag.c
#include <sys/errno.h> --> ./src/mca/ptl/sm/src/ptl_sm_recvfrag.c
#include <sys/errno.h> --> ./src/mca/ptl/sm/src/ptl_sm_frag.c
#include <sys/errno.h> --> ./src/mca/ptl/gm/src/ptl_gm_priv.c
#include <sys/errno.h> --> ./src/mca/ptl/gm/src/ptl_gm_req.c
#include <sys/errno.h> --> ./src/mca/ptl/gm/src/ptl_gm_sendfrag.c
#include <sys/errno.h> --> ./src/mca/ptl/gm/src/ptl_gm_peer.c
#include <sys/errno.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_sendfrag.c
#include <sys/errno.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_peer.c
#include <sys/errno.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_recvfrag.c
#include <sys/errno.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_sendreq.c
#include <sys/errno.h> --> ./src/mca/pcmclient/singleton/pcmclient_singleton.c
#include <sys/event.h> --> ./src/event/kqueue.c
#include <sys/fcntl.h> --> ./src/mca/ptl/elan/tests/init_elan.c
#include <sys/fcntl.h> --> ./src/mca/ptl/gm/src/ptl_gm_priv.c
#include <sys/fcntl.h> --> ./src/mca/ptl/gm/src/ptl_gm_peer.c
#include <sys/fcntl.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_peer.c
#include <sys/ioctl.h> --> ./src/mca/svc/stdio.old/snipe_lite/snipe_lite.c
#include <sys/ioctl.h> --> ./src/util/if.c
#include <sys/ioctl.h> --> ./src/util/pty.c
#include <sys/mman.h> --> ./src/mca/common/sm/common_sm_mmap.c
#include <sys/mman.h> --> ./src/mca/ptl/sm/src/ptl_sm_component.c
#include <sys/mount.h> --> ./src/mca/io/romio/romio-dist/adio/common/ad_fstype.c
#include <sys/mount.h> --> ./src/mca/io/romio/romio-dist/adio/common/ad_fstype.c
#include <sys/mount.h> --> ./src/mca/io/romio/romio-dist/adio/common/ad_fstype.c
#include <sys/mount.h> --> ./src/mca/io/romio/romio-dist/adio/common/mca_io_romio_dist_ad_fstype.c
#include <sys/mount.h> --> ./src/mca/io/romio/romio-dist/adio/common/mca_io_romio_dist_ad_fstype.c
#include <sys/mount.h> --> ./src/mca/io/romio/romio-dist/adio/common/mca_io_romio_dist_ad_fstype.c
#include <sys/param.h> --> ./test/rte/ompi_session_dir.c
#include <sys/param.h> --> ./test/util/ompi_session_dir.c
#include <sys/param.h> --> ./test/util/ompi_os_path.c
#include <sys/param.h> --> ./test/util/ompi_pack.c
#include <sys/param.h> --> ./test/util/ompi_os_create_dirpath.c
#include <sys/param.h> --> ./test/util/ompi_sys_info.c
#include <sys/param.h> --> ./src/event/epoll_sub.c
#include <sys/param.h> --> ./src/mca/pcm/base/pcm_base_ioexecvp.c
#include <sys/param.h> --> ./src/mca/svc/stdio.old/snipe_lite/snipe_lite.c
#include <sys/param.h> --> ./src/mca/ptl/elan/tests/init_elan.c
#include <sys/param.h> --> ./src/mca/io/romio/romio-dist/adio/common/ad_fstype.c
#include <sys/param.h> --> ./src/mca/io/romio/romio-dist/adio/common/ad_fstype.c
#include <sys/param.h> --> ./src/mca/io/romio/romio-dist/adio/common/mca_io_romio_dist_ad_fstype.c
#include <sys/param.h> --> ./src/mca/io/romio/romio-dist/adio/common/mca_io_romio_dist_ad_fstype.c
#include <sys/param.h> --> ./src/tools/openmpi/openmpi.c
#include <sys/param.h> --> ./src/tools/ompid/ompid.c
#include <sys/param.h> --> ./src/tools/mpirun/mpirun.c
#include <sys/param.h> --> ./src/util/output.c
#include <sys/param.h> --> ./src/util/session_dir.c
#include <sys/param.h> --> ./src/util/os_path.c
#include <sys/param.h> --> ./src/runtime/runtime_types.h
#include <sys/param.h> --> ./src/tools/openmpi/openmpi.h
#include <sys/poll.h> --> ./src/event/rtsig.c
#include <sys/poll.h> --> ./src/mca/svc/stdio.old/snipe_lite/snipe_lite.c
#include <sys/queue.h> --> ./src/event/sample/signal-test.c
#include <sys/queue.h> --> ./src/event/sample/event-test.c
#include <sys/queue.h> --> ./src/event/sample/time-test.c
#include <sys/queue.h> --> ./src/event/kqueue.c
#include <sys/queue.h> --> ./src/event/poll.c
#include <sys/queue.h> --> ./src/event/epoll.c
#include <sys/queue.h> --> ./src/event/signal.c
#include <sys/queue.h> --> ./src/event/select.c
#include <sys/queue.h> --> ./src/event/event.c
#include <sys/queue.h> --> ./src/event/WIN32-Code/win32.c
#include <sys/queue.h> --> ./src/event/rtsig.c
#include <sys/resource.h> --> ./src/event/test/bench.c
#include <sys/resource.h> --> ./src/event/epoll.c
#include <sys/select.h> --> ./src/mca/pcm/base/pcm_base_ioexecvp.c
#include <sys/select.h> --> ./src/mca/pcm/rsh/pcm_rsh_spawn.c
#include <sys/select.h> --> ./src/mca/ptl/gm/tests/mpi-ping.c
#include <sys/select.h> --> ./src/include/types.h
#include <sys/select.h> --> ./src/mca/svc/stdio.old/libsio.h
#include <sys/select.h> --> ./src/mca/svc/stdio.old/libcio.h
#include <sys/signal.h> --> ./src/event/test/bench.c
#include <sys/signal.h> --> ./src/event/test/regress.c
#include <sys/socket.h> --> ./src/event/test/test-init.c
#include <sys/socket.h> --> ./src/event/test/bench.c
#include <sys/socket.h> --> ./src/event/test/test-eof.c
#include <sys/socket.h> --> ./src/event/test/regress.c
#include <sys/socket.h> --> ./src/event/test/test-weof.c
#include <sys/socket.h> --> ./src/mpi/c/comm_join.c
#include <sys/socket.h> --> ./src/mpi/c/profile/pcomm_join.c
#include <sys/socket.h> --> ./src/mca/oob/tcp/oob_tcp_addr.c
#include <sys/socket.h> --> ./src/mca/svc/stdio.old/snipe_lite/snipe_lite.c
#include <sys/socket.h> --> ./src/mca/svc/stdio.old/cioapp.c
#include <sys/socket.h> --> ./src/mca/ptl/elan/src/ptl_elan_component.c
#include <sys/socket.h> --> ./src/mca/ptl/gm/src/ptl_gm_component.c
#include <sys/socket.h> --> ./src/mca/ptl/prof/ptl_prof_component.c
#include <sys/socket.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_component.c
#include <sys/socket.h> --> ./src/mca/ptl/self/ptl_self_component.c
#include <sys/socket.h> --> ./src/mca/ptl/self/ptl_self.c
#include <sys/socket.h> --> ./src/util/if.c
#include <sys/socket.h> --> ./src/util/session_dir.c
#include <sys/socket.h> --> ./src/include/types.h
#include <sys/socket.h> --> ./src/include/ompi.h
#include <sys/socket.h> --> ./src/mca/svc/stdio.old/snipe_lite/snipe_lite.h
#include <sys/socket.h> --> ./src/mca/svc/stdio.old/snipe_lite/syslog.h
#include <sys/socket.h> --> ./src/mca/ptl/elan/src/ptl_elan_peer.h
#include <sys/socket.h> --> ./src/mca/ptl/elan/src/ptl_elan_frag.h
#include <sys/socket.h> --> ./src/mca/ptl/elan/src/ptl_elan_priv.h
#include <sys/socket.h> --> ./src/mca/ptl/elan/src/ptl_elan.h
#include <sys/socket.h> --> ./src/mca/ptl/elan/src/ptl_elan_proc.h
#include <sys/socket.h> --> ./src/mca/ptl/sm/src/ptl_sm.h
#include <sys/socket.h> --> ./src/mca/ptl/gm/src/ptl_gm_addr.h
#include <sys/socket.h> --> ./src/mca/ptl/gm/src/ptl_gm_req.h
#include <sys/socket.h> --> ./src/mca/ptl/gm/src/ptl_gm_sendfrag.h
#include <sys/socket.h> --> ./src/mca/ptl/gm/src/ptl_gm_peer.h
#include <sys/socket.h> --> ./src/mca/ptl/gm/src/ptl_gm_priv.h
#include <sys/socket.h> --> ./src/mca/ptl/gm/src/ptl_gm.h
#include <sys/socket.h> --> ./src/mca/ptl/gm/src/ptl_gm_proc.h
#include <sys/socket.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_sendfrag.h
#include <sys/socket.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_addr.h
#include <sys/socket.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_peer.h
#include <sys/socket.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_recvfrag.h
#include <sys/socket.h> --> ./src/mca/ptl/tcp/src/ptl_tcp.h
#include <sys/socket.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_sendreq.h
#include <sys/socket.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_proc.h
#include <sys/socket.h> --> ./src/util/if.h
#include <sys/sockio.h> --> ./src/mca/svc/stdio.old/snipe_lite/snipe_lite.c
#include <sys/statvfs.h> --> ./src/mca/io/romio/romio-dist/adio/common/ad_fstype.c
#include <sys/statvfs.h> --> ./src/mca/io/romio/romio-dist/adio/common/mca_io_romio_dist_ad_fstype.c
#include <sys/syscall.h> --> ./src/event/epoll_sub.c
#include <sys/time.h> --> ./src/event/test/test-init.c
#include <sys/time.h> --> ./src/event/test/bench.c
#include <sys/time.h> --> ./src/event/test/test-eof.c
#include <sys/time.h> --> ./src/event/test/regress.c
#include <sys/time.h> --> ./src/event/test/test-time.c
#include <sys/time.h> --> ./src/event/test/test-weof.c
#include <sys/time.h> --> ./src/event/sample/signal-test.c
#include <sys/time.h> --> ./src/event/sample/event-test.c
#include <sys/time.h> --> ./src/event/sample/time-test.c
#include <sys/time.h> --> ./src/event/kqueue.c
#include <sys/time.h> --> ./src/event/poll.c
#include <sys/time.h> --> ./src/event/epoll.c
#include <sys/time.h> --> ./src/event/signal.c
#include <sys/time.h> --> ./src/event/select.c
#include <sys/time.h> --> ./src/event/event.c
#include <sys/time.h> --> ./src/event/rtsig.c
#include <sys/time.h> --> ./src/runtime/universe_exists.c
#include <sys/time.h> --> ./src/runtime/ompi_rte_wait.c
#include <sys/time.h> --> ./src/mpi/c/wtime.c
#include <sys/time.h> --> ./src/mca/pcm/base/pcm_base_ioexecvp.c
#include <sys/time.h> --> ./src/mca/pcm/rsh/pcm_rsh_spawn.c
#include <sys/time.h> --> ./src/mca/svc/stdio.old/snipe_lite/snipe_lite.c
#include <sys/time.h> --> ./src/mca/svc/stdio.old/cioapp.c
#include <sys/time.h> --> ./src/mca/ptl/elan/tests/lat.c
#include <sys/time.h> --> ./src/mca/ptl/elan/tests/init_elan.c
#include <sys/time.h> --> ./src/mca/ptl/elan/tests/check_bw.c
#include <sys/time.h> --> ./src/mca/ptl/elan/tests/bw.c
#include <sys/time.h> --> ./src/mca/ptl/elan/tests/check.c
#include <sys/time.h> --> ./src/mca/ptl/gm/tests/lat.c
#include <sys/time.h> --> ./src/mca/ptl/ib/src/ptl_ib_peer.c
#include <sys/time.h> --> ./src/datatype/ddt_test.c
#include <sys/time.h> --> ./src/event/event.h
#include <sys/time.h> --> ./src/threads/condition_spinlock.h
#include <sys/time.h> --> ./src/mca/svc/stdio.old/libsio.h
#include <sys/time.h> --> ./src/mca/svc/stdio.old/libcio.h
#include <sys/tree.h> --> ./src/event/event.c
#include <sys/uio.h> --> ./test/mca/oob/oob_test_self.c
#include <sys/uio.h> --> ./test/mca/oob/oob_test.c
#include <sys/uio.h> --> ./test/mca/oob/oob_test_packed.c
#include <sys/uio.h> --> ./src/mca/oob/tcp/oob_tcp_peer.c
#include <sys/uio.h> --> ./src/communicator/comm_dyn.c
#include <sys/uio.h> --> ./src/util/bufpack.c
#include <sys/uio.h> --> ./src/mca/oob/base/base.h
#include <sys/uio.h> --> ./src/mca/io/romio/romio-dist/adio/ad_pvfs/ad_pvfs.h
#include <sys/uio.h> --> ./src/mca/io/romio/romio-dist/adio/ad_piofs/ad_piofs.h
#include <sys/uio.h> --> ./src/mca/io/romio/romio-dist/adio/ad_testfs/ad_testfs.h
#include <sys/uio.h> --> ./src/mca/io/romio/romio-dist/adio/ad_pfs/ad_pfs.h
#include <sys/uio.h> --> ./src/datatype/datatype.h
#include <sys/vfs.h> --> ./src/mca/io/romio/romio-dist/adio/common/ad_fstype.c
#include <sys/vfs.h> --> ./src/mca/io/romio/romio-dist/adio/common/mca_io_romio_dist_ad_fstype.c
#include <sys/wait.h> --> ./test/mca/ns/test_ns_proxy.c
#include <sys/wait.h> --> ./test/mca/gpr/test_gpr_proxy.c
#include <sys/wait.h> --> ./src/runtime/ompi_rte_wait.c
#include <sys/wait.h> --> ./src/mca/pcm/base/pcm_base_ioexecvp.c
#include <sys/wait.h> --> ./src/mca/pcm/rsh/pcm_rsh_spawn.c
#include <sys/wait.h> --> ./src/tools/bootproxy/bootproxy.c
#include <sys/wait.h> --> ./src/util/few.c
#include <syslog.h> --> ./src/mca/base/mca_base_open.c
#include <syslog.h> --> ./src/util/output.c
#include <terror.h> --> ./src/util/session_dir.c
#include <typical.h> --> ./src/util/session_dir.c
#include <unistd.h> --> ./test/mca/oob/oob_test_self.c
#include <unistd.h> --> ./test/mca/oob/oob_test.c
#include <unistd.h> --> ./test/mca/oob/oob_test_packed.c
#include <unistd.h> --> ./test/rte/ompi_session_dir.c
#include <unistd.h> --> ./test/rte/sigchld.c
#include <unistd.h> --> ./test/util/ompi_session_dir.c
#include <unistd.h> --> ./test/util/ompi_os_create_dirpath.c
#include <unistd.h> --> ./src/event/test/test-init.c
#include <unistd.h> --> ./src/event/test/bench.c
#include <unistd.h> --> ./src/event/test/test-eof.c
#include <unistd.h> --> ./src/event/test/regress.c
#include <unistd.h> --> ./src/event/test/test-time.c
#include <unistd.h> --> ./src/event/test/test-weof.c
#include <unistd.h> --> ./src/event/sample/signal-test.c
#include <unistd.h> --> ./src/event/sample/event-test.c
#include <unistd.h> --> ./src/event/sample/time-test.c
#include <unistd.h> --> ./src/event/kqueue.c
#include <unistd.h> --> ./src/event/poll.c
#include <unistd.h> --> ./src/event/epoll.c
#include <unistd.h> --> ./src/event/epoll_sub.c
#include <unistd.h> --> ./src/event/signal.c
#include <unistd.h> --> ./src/event/select.c
#include <unistd.h> --> ./src/event/event.c
#include <unistd.h> --> ./src/event/rtsig.c
#include <unistd.h> --> ./src/mpi/c/comm_join.c
#include <unistd.h> --> ./src/mpi/c/profile/pcomm_join.c
#include <unistd.h> --> ./src/mpi/c/profile/pget_processor_name.c
#include <unistd.h> --> ./src/mpi/c/get_processor_name.c
#include <unistd.h> --> ./src/mca/oob/tcp/oob_tcp_peer.c
#include <unistd.h> --> ./src/mca/oob/tcp/oob_tcp.c
#include <unistd.h> --> ./src/mca/oob/cofs/src/oob_cofs.c
#include <unistd.h> --> ./src/mca/oob/cofs/src/oob_cofs_component.c
#include <unistd.h> --> ./src/mca/pcm/rms/src/pcm_rms.c
#include <unistd.h> --> ./src/mca/pcm/rms/src/pcm_rms_component.c
#include <unistd.h> --> ./src/mca/pcm/bproc/src/pcm_bproc_component.c
#include <unistd.h> --> ./src/mca/pcm/ompid/pcm_ompid.c
#include <unistd.h> --> ./src/mca/pcm/ompid/pcm_ompid_component.c
#include <unistd.h> --> ./src/mca/pcm/base/pcm_base_ioexecvp.c
#include <unistd.h> --> ./src/mca/pcm/wmi/src/pcm_wmi_component.c
#include <unistd.h> --> ./src/mca/pcm/rsh/pcm_rsh_spawn.c
#include <unistd.h> --> ./src/mca/pcm/rsh/pcm_rsh_component.c
#include <unistd.h> --> ./src/mca/ns/base/ns_base_select.c
#include <unistd.h> --> ./src/mca/llm/base/llm_base_parse_hostfile.c
#include <unistd.h> --> ./src/mca/llm/base/llm_base_parse_hostfile_lex.c
#include <unistd.h> --> ./src/mca/llm/base/llm_base_parse_hostfile_lex.c
#include <unistd.h> --> ./src/mca/common/sm/common_sm_mmap.c
#include <unistd.h> --> ./src/mca/gpr/replica/gpr_replica.c
#include <unistd.h> --> ./src/mca/gpr/replica/gpr_replica_internals.c
#include <unistd.h> --> ./src/mca/gpr/base/gpr_base_select.c
#include <unistd.h> --> ./src/mca/svc/stdio.old/snipe_lite/snipe_lite.c
#include <unistd.h> --> ./src/mca/svc/stdio.old/cioapp.c
#include <unistd.h> --> ./src/mca/ptl/elan/tests/lat.c
#include <unistd.h> --> ./src/mca/ptl/elan/tests/init_elan.c
#include <unistd.h> --> ./src/mca/ptl/elan/tests/check_bw.c
#include <unistd.h> --> ./src/mca/ptl/elan/tests/bw.c
#include <unistd.h> --> ./src/mca/ptl/elan/tests/check.c
#include <unistd.h> --> ./src/mca/ptl/elan/src/ptl_elan_component.c
#include <unistd.h> --> ./src/mca/ptl/elan/src/ptl_elan_priv.c
#include <unistd.h> --> ./src/mca/ptl/elan/src/ptl_elan_comm_init.c
#include <unistd.h> --> ./src/mca/ptl/elan/src/ptl_elan_init.c
#include <unistd.h> --> ./src/mca/ptl/elan/src/ptl_elan_peer.c
#include <unistd.h> --> ./src/mca/ptl/elan/src/ptl_elan_frag.c
#include <unistd.h> --> ./src/mca/ptl/sm/src/ptl_sm_component.c
#include <unistd.h> --> ./src/mca/ptl/sm/src/ptl_sm_sendreq.c
#include <unistd.h> --> ./src/mca/ptl/sm/src/ptl_sm_sendfrag.c
#include <unistd.h> --> ./src/mca/ptl/sm/src/ptl_sm_recvfrag.c
#include <unistd.h> --> ./src/mca/ptl/sm/src/ptl_sm_frag.c
#include <unistd.h> --> ./src/mca/ptl/gm/tests/mpi-ping.c
#include <unistd.h> --> ./src/mca/ptl/gm/src/ptl_gm_priv.c
#include <unistd.h> --> ./src/mca/ptl/gm/src/ptl_gm_component.c
#include <unistd.h> --> ./src/mca/ptl/gm/src/ptl_gm_req.c
#include <unistd.h> --> ./src/mca/ptl/gm/src/ptl_gm_sendfrag.c
#include <unistd.h> --> ./src/mca/ptl/gm/src/ptl_gm_peer.c
#include <unistd.h> --> ./src/mca/ptl/prof/ptl_prof_component.c
#include <unistd.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_sendfrag.c
#include <unistd.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_peer.c
#include <unistd.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_recvfrag.c
#include <unistd.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_sendreq.c
#include <unistd.h> --> ./src/mca/ptl/tcp/src/ptl_tcp_component.c
#include <unistd.h> --> ./src/mca/ptl/self/ptl_self_component.c
#include <unistd.h> --> ./src/mca/ptl/self/ptl_self.c
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/common/ad_fstype.c
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/common/ad_seek.c
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/common/ad_delete.c
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/common/ad_flush.c
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/common/mca_io_romio_dist_ad_delete.c
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/common/mca_io_romio_dist_ad_flush.c
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/common/mca_io_romio_dist_ad_fstype.c
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/common/mca_io_romio_dist_ad_seek.c
#include <unistd.h> --> ./src/mca/base/mca_base_parse_paramfile_lex.c
#include <unistd.h> --> ./src/mca/base/mca_base_parse_paramfile_lex.c
#include <unistd.h> --> ./src/mca/pcmclient/seed/pcmclient_seed.c
#include <unistd.h> --> ./src/mca/pcmclient/seed/pcmclient_seed_component.c
#include <unistd.h> --> ./src/mca/pcmclient/rms/pcmclient_rms.c
#include <unistd.h> --> ./src/mca/pcmclient/rms/pcmclient_rms_component.c
#include <unistd.h> --> ./src/mca/pcmclient/singleton/pcmclient_singleton.c
#include <unistd.h> --> ./src/mca/pcmclient/singleton/pcmclient_singleton_component.c
#include <unistd.h> --> ./src/mca/pcmclient/env/pcmclient_env.c
#include <unistd.h> --> ./src/mca/pcmclient/env/pcmclient_env_component.c
#include <unistd.h> --> ./src/tools/bootproxy/bootproxy.c
#include <unistd.h> --> ./src/tools/openmpi/openmpi.c
#include <unistd.h> --> ./src/tools/ompid/ompid.c
#include <unistd.h> --> ./src/tools/mpirun/mpirun.c
#include <unistd.h> --> ./src/util/if.c
#include <unistd.h> --> ./src/util/output.c
#include <unistd.h> --> ./src/util/proc_info.c
#include <unistd.h> --> ./src/util/os_create_dirpath.c
#include <unistd.h> --> ./src/util/session_dir.c
#include <unistd.h> --> ./src/util/session_dir.c
#include <unistd.h> --> ./src/util/daemon_init.c
#include <unistd.h> --> ./src/util/sys_info.c
#include <unistd.h> --> ./src/util/os_path.c
#include <unistd.h> --> ./src/util/universe_setup_file_io.c
#include <unistd.h> --> ./src/util/bufpack.c
#include <unistd.h> --> ./src/util/few.c
#include <unistd.h> --> ./src/util/path.c
#include <unistd.h> --> ./src/util/show_help_lex.c
#include <unistd.h> --> ./src/util/show_help_lex.c
#include <unistd.h> --> ./src/mca/svc/stdio.old/libsio.h
#include <unistd.h> --> ./src/mca/svc/stdio.old/libcio.h
#include <unistd.h> --> ./src/mca/ptl/elan/src/ptl_elan_priv.h
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/ad_sfs/ad_sfs.h
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/ad_ufs/ad_ufs.h
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/ad_pvfs/ad_pvfs.h
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/ad_xfs/ad_xfs.h
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/ad_hfs/ad_hfs.h
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/ad_piofs/ad_piofs.h
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/ad_nfs/ad_nfs.h
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/ad_testfs/ad_testfs.h
#include <unistd.h> --> ./src/mca/io/romio/romio-dist/adio/ad_pfs/ad_pfs.h
#include <unistd.h> --> ./src/datatype/datatype.h

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

@ -1,63 +0,0 @@
alloca.h
arpa/inet.h
datatype.h
datatype_internal.h
dirent.h
elan/capability.h
elan/elan.h
elan4/library.h
err.h
etc_misc.h
event.h
fortran.h
getopt.h
grp.h
inttypes.h
libgen.h
linux/nfs_fs.h
mpi.h
net/if.h
netdb.h
netinet/gm.h
netinet/in.h
netinet/tcp.h
nx.h
ompi_config.h
ompi_debug.h
ompi_internal.h
pfs/pfs.h
poll.h
pthread.h
pwd.h
qsnet/fence.h
resolv.h
rms/rmsapi.h
stdint.h
strings.h
sys/_time.h
sys/epoll.h
sys/errno.h
sys/event.h
sys/fcntl.h
sys/ioctl.h
sys/mman.h
sys/mount.h
sys/param.h
sys/poll.h
sys/queue.h
sys/resource.h
sys/select.h
sys/signal.h
sys/socket.h
sys/sockio.h
sys/statvfs.h
sys/syscall.h
sys/time.h
sys/tree.h
sys/uio.h
sys/vfs.h
sys/wait.h
syslog.h
terror.h
typical.h
unistd.h

Разница между файлами не показана из-за своего большого размера Загрузить разницу

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

@ -10,11 +10,30 @@
* need to #ifndef/#endif protection here. * need to #ifndef/#endif protection here.
*/ */
/* #ifndef OMPI_CONFIG_BOTTOM_H
#define OMPI_CONFIG_BOTTOM_H
#if defined(WIN32)
#include "win32/win_compat.h"
#endif
#ifndef OMPI_DECLSPEC
#define OMPI_DECLSPEC
#endif
#ifndef OMPI_COMP_EXPORT
#define OMPI_COMP_EXPORT
#endif
/*
* If we're in C, bring in the bool type and true/false constants. * If we're in C, bring in the bool type and true/false constants.
*/ */
#ifndef __cplusplus #if !defined(__cplusplus)
#if OMPI_USE_STDBOOL_H #ifdef WIN32
#define bool BOOL
#define false FALSE
#define true TRUE
#elif OMPI_USE_STDBOOL_H
/* If we're using <stdbool.h>, there is an implicit assumption that /* If we're using <stdbool.h>, there is an implicit assumption that
the C++ bool is the same size and has the same alignment. */ the C++ bool is the same size and has the same alignment. */
#include <stdbool.h> #include <stdbool.h>
@ -166,25 +185,9 @@ extern "C" {
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }
#endif #endif
/* For windoze weirdness. A symbol is not considered part of a DLL /* this is needed for windows ONLY. It is defined in src/win32/win_compat.h
interface unless it is exported. Hence these macros. It needs to if we are running on windwos, else it is defined to nothing here */
be prepended to the declaration of every symbol which needs to be
exported from a DLL. For us, this would be all MPI_ functions and
also all function from within Open MPI which are used by other
execuatables such as ompi_info, mpicc, etc. Visual studio defines
WIN32 and is the standard way of knowing whether we are compiling
using its native compiler (random note: the compiler itself does
not define this macro -- it's passed as -DWIN32 automatically).
Also, they simply define the macro as opposed to defining it to
something. I guess they dont program defensively :-) */
#if defined (WIN32) #endif /* OMPI_CONFIG_BOTTOM_H */
#define OMPI_EXPORT __declspec(dllexport)
#define OMPI_IMPORT __declspec(dllimport)
#else
#define OMPI_EXPORT
#define OMPI_IMPORT
#endif

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

@ -27,8 +27,6 @@
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
extern "C" { extern "C" {
#endif #endif
extern ompi_class_t ompi_bitmap_t_class;
struct ompi_bitmap_t { struct ompi_bitmap_t {
ompi_object_t super; /**< Subclass of ompi_object_t */ ompi_object_t super; /**< Subclass of ompi_object_t */
unsigned char *bitmap; /**< The actual bitmap array of characters */ unsigned char *bitmap; /**< The actual bitmap array of characters */
@ -41,8 +39,7 @@ struct ompi_bitmap_t {
typedef struct ompi_bitmap_t ompi_bitmap_t; typedef struct ompi_bitmap_t ompi_bitmap_t;
OBJ_CLASS_DECLARATION(ompi_bitmap_t); OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_bitmap_t);
/** /**
* Initializes the bitmap and sets its size. This must be called * Initializes the bitmap and sets its size. This must be called
@ -53,7 +50,7 @@ OBJ_CLASS_DECLARATION(ompi_bitmap_t);
* @return OMPI error code or success * @return OMPI error code or success
* *
*/ */
int ompi_bitmap_init (ompi_bitmap_t *bm, size_t size); OMPI_DECLSPEC int ompi_bitmap_init (ompi_bitmap_t *bm, size_t size);
/** /**
@ -66,7 +63,7 @@ int ompi_bitmap_init (ompi_bitmap_t *bm, size_t size);
* @return OMPI error code or success * @return OMPI error code or success
* *
*/ */
int ompi_bitmap_set_bit(ompi_bitmap_t *bm, size_t bit); OMPI_DECLSPEC int ompi_bitmap_set_bit(ompi_bitmap_t *bm, size_t bit);
/** /**
@ -78,7 +75,7 @@ int ompi_bitmap_set_bit(ompi_bitmap_t *bm, size_t bit);
* @return OMPI error code if the bit is out of range, else success * @return OMPI error code if the bit is out of range, else success
* *
*/ */
int ompi_bitmap_clear_bit(ompi_bitmap_t *bm, size_t bit); OMPI_DECLSPEC int ompi_bitmap_clear_bit(ompi_bitmap_t *bm, size_t bit);
/** /**
@ -91,7 +88,7 @@ int ompi_bitmap_clear_bit(ompi_bitmap_t *bm, size_t bit);
* 0 if the bit is not set * 0 if the bit is not set
* *
*/ */
int ompi_bitmap_is_set_bit(ompi_bitmap_t *bm, size_t bit); OMPI_DECLSPEC int ompi_bitmap_is_set_bit(ompi_bitmap_t *bm, size_t bit);
/** /**
@ -102,7 +99,7 @@ int ompi_bitmap_is_set_bit(ompi_bitmap_t *bm, size_t bit);
* @return err OMPI_SUCCESS on success * @return err OMPI_SUCCESS on success
*/ */
int ompi_bitmap_find_and_set_first_unset_bit(ompi_bitmap_t *bm, OMPI_DECLSPEC int ompi_bitmap_find_and_set_first_unset_bit(ompi_bitmap_t *bm,
size_t *position); size_t *position);
@ -113,7 +110,7 @@ int ompi_bitmap_find_and_set_first_unset_bit(ompi_bitmap_t *bm,
* @return OMPI error code if bm is NULL * @return OMPI error code if bm is NULL
* *
*/ */
int ompi_bitmap_clear_all_bits(ompi_bitmap_t *bm); OMPI_DECLSPEC int ompi_bitmap_clear_all_bits(ompi_bitmap_t *bm);
/** /**
@ -122,7 +119,7 @@ int ompi_bitmap_clear_all_bits(ompi_bitmap_t *bm);
* @return OMPI error code if bm is NULL * @return OMPI error code if bm is NULL
* *
*/ */
int ompi_bitmap_set_all_bits(ompi_bitmap_t *bm); OMPI_DECLSPEC int ompi_bitmap_set_all_bits(ompi_bitmap_t *bm);
/** /**

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

@ -15,7 +15,7 @@
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
extern "C" { extern "C" {
#endif #endif
extern ompi_class_t ompi_free_list_t_class; OMPI_DECLSPEC extern ompi_class_t ompi_free_list_t_class;
struct mca_mem_pool_t; struct mca_mem_pool_t;

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

@ -22,7 +22,7 @@
extern "C" { extern "C" {
#endif #endif
extern ompi_class_t ompi_hash_table_t_class; OMPI_DECLSPEC extern ompi_class_t ompi_hash_table_t_class;
struct ompi_hash_table_t struct ompi_hash_table_t
@ -50,7 +50,7 @@ typedef struct ompi_hash_table_t ompi_hash_table_t;
* *
*/ */
int ompi_hash_table_init(ompi_hash_table_t* ht, size_t table_size); OMPI_DECLSPEC int ompi_hash_table_init(ompi_hash_table_t* ht, size_t table_size);
/** /**
@ -74,7 +74,7 @@ static inline size_t ompi_hash_table_get_size(ompi_hash_table_t *ht)
* *
*/ */
int ompi_hash_table_remove_all(ompi_hash_table_t *ht); OMPI_DECLSPEC int ompi_hash_table_remove_all(ompi_hash_table_t *ht);
/** /**
* Retrieve value via uint32_t key. * Retrieve value via uint32_t key.
@ -85,7 +85,7 @@ int ompi_hash_table_remove_all(ompi_hash_table_t *ht);
* *
*/ */
void *ompi_hash_table_get_value_uint32(ompi_hash_table_t* table, uint32_t key); OMPI_DECLSPEC void *ompi_hash_table_get_value_uint32(ompi_hash_table_t* table, uint32_t key);
/** /**
* Set value based on uint32_t key. * Set value based on uint32_t key.
@ -97,7 +97,7 @@ void *ompi_hash_table_get_value_uint32(ompi_hash_table_t* table, uint32_t key);
* *
*/ */
int ompi_hash_table_set_value_uint32(ompi_hash_table_t* table, uint32_t key, void* value); OMPI_DECLSPEC int ompi_hash_table_set_value_uint32(ompi_hash_table_t* table, uint32_t key, void* value);
/** /**
* Remove value based on uint32_t key. * Remove value based on uint32_t key.
@ -108,7 +108,7 @@ int ompi_hash_table_set_value_uint32(ompi_hash_table_t* table, uint32_t key, voi
* *
*/ */
int ompi_hash_table_remove_value_uint32(ompi_hash_table_t* table, uint32_t key); OMPI_DECLSPEC int ompi_hash_table_remove_value_uint32(ompi_hash_table_t* table, uint32_t key);
/** /**
* Retrieve value via uint64_t key. * Retrieve value via uint64_t key.
@ -119,7 +119,7 @@ int ompi_hash_table_remove_value_uint32(ompi_hash_table_t* table, uint32_t key);
* *
*/ */
void *ompi_hash_table_get_value_uint64(ompi_hash_table_t *table, uint64_t key); OMPI_DECLSPEC void *ompi_hash_table_get_value_uint64(ompi_hash_table_t *table, uint64_t key);
/** /**
* Set value based on uint64_t key. * Set value based on uint64_t key.
@ -131,7 +131,7 @@ void *ompi_hash_table_get_value_uint64(ompi_hash_table_t *table, uint64_t key);
* *
*/ */
int ompi_hash_table_set_value_uint64(ompi_hash_table_t *table, uint64_t key, void* value); OMPI_DECLSPEC int ompi_hash_table_set_value_uint64(ompi_hash_table_t *table, uint64_t key, void* value);
/** /**
* Remove value based on uint64_t key. * Remove value based on uint64_t key.
@ -142,7 +142,7 @@ int ompi_hash_table_set_value_uint64(ompi_hash_table_t *table, uint64_t key, voi
* *
*/ */
int ompi_hash_table_remove_value_uint64(ompi_hash_table_t *table, uint64_t key); OMPI_DECLSPEC int ompi_hash_table_remove_value_uint64(ompi_hash_table_t *table, uint64_t key);
/** /**
* Retrieve value via arbitrary length binary key. * Retrieve value via arbitrary length binary key.
@ -153,7 +153,7 @@ int ompi_hash_table_remove_value_uint64(ompi_hash_table_t *table, uint64_t key);
* *
*/ */
void *ompi_hash_table_get_value_ptr(ompi_hash_table_t *table, const void* key, size_t keylen); OMPI_DECLSPEC void *ompi_hash_table_get_value_ptr(ompi_hash_table_t *table, const void* key, size_t keylen);
/** /**
* Set value based on arbitrary length binary key. * Set value based on arbitrary length binary key.
@ -165,7 +165,7 @@ void *ompi_hash_table_get_value_ptr(ompi_hash_table_t *table, const void* key, s
* *
*/ */
int ompi_hash_table_set_value_ptr(ompi_hash_table_t *table, const void* key, size_t keylen, void* value); OMPI_DECLSPEC int ompi_hash_table_set_value_ptr(ompi_hash_table_t *table, const void* key, size_t keylen, void* value);
/** /**
* Remove value based on arbitrary length binary key. * Remove value based on arbitrary length binary key.
@ -176,7 +176,7 @@ int ompi_hash_table_set_value_ptr(ompi_hash_table_t *table, const void* key, siz
* *
*/ */
int ompi_hash_table_remove_value_ptr(ompi_hash_table_t *table, const void* key, size_t keylen); OMPI_DECLSPEC int ompi_hash_table_remove_value_ptr(ompi_hash_table_t *table, const void* key, size_t keylen);
/** The following functions are only for allowing iterating through /** The following functions are only for allowing iterating through
@ -201,7 +201,7 @@ int ompi_hash_table_remove_value_ptr(ompi_hash_table_t *table, const void* key,
* *
*/ */
int ompi_hash_table_get_first_key_uint32(ompi_hash_table_t *table, uint32_t *key, OMPI_DECLSPEC int ompi_hash_table_get_first_key_uint32(ompi_hash_table_t *table, uint32_t *key,
void **value, void **node); void **value, void **node);
@ -219,7 +219,7 @@ int ompi_hash_table_get_first_key_uint32(ompi_hash_table_t *table, uint32_t *key
* *
*/ */
int ompi_hash_table_get_next_key_uint32(ompi_hash_table_t *table, uint32_t *key, OMPI_DECLSPEC int ompi_hash_table_get_next_key_uint32(ompi_hash_table_t *table, uint32_t *key,
void **value, void *in_node, void **value, void *in_node,
void **out_node); void **out_node);
@ -237,7 +237,7 @@ int ompi_hash_table_get_next_key_uint32(ompi_hash_table_t *table, uint32_t *key,
* *
*/ */
int ompi_hash_table_get_first_key_uint64(ompi_hash_table_t *table, uint64_t *key, OMPI_DECLSPEC int ompi_hash_table_get_first_key_uint64(ompi_hash_table_t *table, uint64_t *key,
void **value, void **node); void **value, void **node);
@ -255,7 +255,7 @@ int ompi_hash_table_get_first_key_uint64(ompi_hash_table_t *table, uint64_t *key
* *
*/ */
int ompi_hash_table_get_next_key_uint64(ompi_hash_table_t *table, uint64_t *key, OMPI_DECLSPEC int ompi_hash_table_get_next_key_uint64(ompi_hash_table_t *table, uint64_t *key,
void **value, void *in_node, void **value, void *in_node,
void **out_node); void **out_node);

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

@ -39,13 +39,13 @@ extern "C" {
* *
* The class for the list container. * The class for the list container.
*/ */
OBJ_CLASS_DECLARATION(ompi_list_t); OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_list_t);
/** /**
* \internal * \internal
* *
* Base class for items that are put in list (ompi_list_t) containers. * Base class for items that are put in list (ompi_list_t) containers.
*/ */
OBJ_CLASS_DECLARATION(ompi_list_item_t); OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_list_item_t);
/** /**

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

@ -103,7 +103,7 @@
#include <assert.h> #include <assert.h>
#include <stdlib.h> #include <stdlib.h>
#ifdef __WINDOWS__ #ifdef WIN32
#include <windows.h> #include <windows.h>
#else #else
#include "include/sys/atomic.h" #include "include/sys/atomic.h"
@ -120,8 +120,8 @@
# define BEGIN_C_DECLS extern "C" { # define BEGIN_C_DECLS extern "C" {
# define END_C_DECLS } # define END_C_DECLS }
#else #else
# define BEGIN_C_DECLS /* empty */ #define BEGIN_C_DECLS /* empty */
# define END_C_DECLS /* empty */ #define END_C_DECLS /* empty */
#endif #endif
@ -293,12 +293,12 @@ struct ompi_object_t {
volatile int obj_reference_count; /**< reference count */ volatile int obj_reference_count; /**< reference count */
}; };
OBJ_CLASS_DECLARATION(ompi_object_t); BEGIN_C_DECLS
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_object_t);
/* declarations *******************************************************/ /* declarations *******************************************************/
BEGIN_C_DECLS
/** /**
* Lazy initialization of class descriptor. * Lazy initialization of class descriptor.
* *
@ -307,7 +307,7 @@ BEGIN_C_DECLS
* *
* @param class Pointer to class descriptor * @param class Pointer to class descriptor
*/ */
void ompi_class_initialize(ompi_class_t *); OMPI_DECLSPEC void ompi_class_initialize(ompi_class_t *);
END_C_DECLS END_C_DECLS
/** /**
@ -405,7 +405,7 @@ static inline ompi_object_t *ompi_obj_new(size_t size, ompi_class_t * cls)
*/ */
static inline int ompi_obj_update(ompi_object_t *object, int inc) static inline int ompi_obj_update(ompi_object_t *object, int inc)
{ {
#ifdef __WINDOWS__ #ifdef WIN32
int newval; int newval;
LONG volatile *addr; LONG volatile *addr;

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

@ -15,7 +15,7 @@ extern "C" {
* typedefs * typedefs
*/ */
typedef struct ompi_pointer_array_t ompi_pointer_array_t; typedef struct ompi_pointer_array_t ompi_pointer_array_t;
extern ompi_class_t ompi_pointer_array_t_class; OMPI_DECLSPEC extern ompi_class_t ompi_pointer_array_t_class;
/* /*
* dynamic pointer array * dynamic pointer array

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

@ -65,9 +65,9 @@ struct ompi_rb_tree_t {
typedef struct ompi_rb_tree_t ompi_rb_tree_t; typedef struct ompi_rb_tree_t ompi_rb_tree_t;
/** declare the tree node as a class */ /** declare the tree node as a class */
OBJ_CLASS_DECLARATION(ompi_rb_tree_node_t); OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_rb_tree_node_t);
/** declare the tree as a class */ /** declare the tree as a class */
OBJ_CLASS_DECLARATION(ompi_rb_tree_t); OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_rb_tree_t);
/* Function pointers for map traversal function */ /* Function pointers for map traversal function */
/** /**

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

@ -14,14 +14,14 @@
#include "util/output.h" #include "util/output.h"
#endif #endif
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/* /*
* @file Array of elements maintained by value. * @file Array of elements maintained by value.
*/ */
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
extern ompi_class_t ompi_value_array_t_class; OMPI_DECLSPEC extern ompi_class_t ompi_value_array_t_class;
struct ompi_value_array_t struct ompi_value_array_t

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

@ -80,7 +80,7 @@ struct ompi_comm_reg_t{
uint32_t cid; uint32_t cid;
}; };
typedef struct ompi_comm_reg_t ompi_comm_reg_t; typedef struct ompi_comm_reg_t ompi_comm_reg_t;
OBJ_CLASS_DECLARATION(ompi_comm_reg_t); OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_comm_reg_t);
static void ompi_comm_reg_constructor(ompi_comm_reg_t *regcom); static void ompi_comm_reg_constructor(ompi_comm_reg_t *regcom);
static void ompi_comm_reg_destructor(ompi_comm_reg_t *regcom); static void ompi_comm_reg_destructor(ompi_comm_reg_t *regcom);

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

@ -27,7 +27,7 @@
#include "mca/oob/base/base.h" #include "mca/oob/base/base.h"
#include "runtime/runtime.h" #include "runtime/runtime.h"
#include "util/printf.h"
extern char **environ; extern char **environ;
int ompi_comm_connect_accept ( ompi_communicator_t *comm, int root, int ompi_comm_connect_accept ( ompi_communicator_t *comm, int root,

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

@ -21,7 +21,7 @@
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
extern "C" { extern "C" {
#endif #endif
extern ompi_class_t ompi_communicator_t_class; OMPI_DECLSPEC extern ompi_class_t ompi_communicator_t_class;
#define OMPI_COMM_INTER 0x00000001 #define OMPI_COMM_INTER 0x00000001
#define OMPI_COMM_CART 0x00000002 #define OMPI_COMM_CART 0x00000002
@ -58,7 +58,7 @@ extern ompi_class_t ompi_communicator_t_class;
#define OMPI_COMM_CID_INTRA_BRIDGE 0x00000080 #define OMPI_COMM_CID_INTRA_BRIDGE 0x00000080
#define OMPI_COMM_CID_INTRA_OOB 0x00000100 #define OMPI_COMM_CID_INTRA_OOB 0x00000100
extern ompi_pointer_array_t ompi_mpi_communicators; OMPI_DECLSPEC extern ompi_pointer_array_t ompi_mpi_communicators;
struct ompi_communicator_t { struct ompi_communicator_t {
ompi_object_t c_base; ompi_object_t c_base;
@ -129,7 +129,7 @@ struct ompi_communicator_t {
/**< Allow the basic module to cache data on the communicator */ /**< Allow the basic module to cache data on the communicator */
}; };
typedef struct ompi_communicator_t ompi_communicator_t; typedef struct ompi_communicator_t ompi_communicator_t;
extern ompi_communicator_t *ompi_mpi_comm_parent; OMPI_DECLSPEC extern ompi_communicator_t *ompi_mpi_comm_parent;
/** /**
@ -175,7 +175,7 @@ static inline int ompi_comm_remote_size(ompi_communicator_t* comm)
static inline ompi_communicator_t *ompi_comm_lookup(uint32_t cid) static inline ompi_communicator_t *ompi_comm_lookup(uint32_t cid)
{ {
/* array of pointers to communicators, indexed by context ID */ /* array of pointers to communicators, indexed by context ID */
extern ompi_pointer_array_t ompi_mpi_communicators; OMPI_DECLSPEC extern ompi_pointer_array_t ompi_mpi_communicators;
return (ompi_communicator_t*)ompi_pointer_array_get_item(&ompi_mpi_communicators, cid); return (ompi_communicator_t*)ompi_pointer_array_get_item(&ompi_mpi_communicators, cid);
} }

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

@ -26,8 +26,8 @@ struct ompi_errclass_t {
}; };
typedef struct ompi_errclass_t ompi_errclass_t; typedef struct ompi_errclass_t ompi_errclass_t;
extern ompi_pointer_array_t ompi_errclasses; OMPI_DECLSPEC extern ompi_pointer_array_t ompi_errclasses;
extern int ompi_errclass_lastused; OMPI_DECLSPEC extern int ompi_errclass_lastused;
/** /**
* Check for a valid error class * Check for a valid error class
*/ */

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

@ -29,8 +29,8 @@ struct ompi_errcode_intern_t {
}; };
typedef struct ompi_errcode_intern_t ompi_errcode_intern_t; typedef struct ompi_errcode_intern_t ompi_errcode_intern_t;
extern ompi_pointer_array_t ompi_errcodes_intern; OMPI_DECLSPEC extern ompi_pointer_array_t ompi_errcodes_intern;
extern int ompi_errcode_intern_lastused; OMPI_DECLSPEC extern int ompi_errcode_intern_lastused;
/** /**
* Return the MPI errcode for a given internal error code * Return the MPI errcode for a given internal error code

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

@ -27,8 +27,8 @@ struct ompi_mpi_errcode_t {
}; };
typedef struct ompi_mpi_errcode_t ompi_mpi_errcode_t; typedef struct ompi_mpi_errcode_t ompi_mpi_errcode_t;
extern ompi_pointer_array_t ompi_mpi_errcodes; OMPI_DECLSPEC extern ompi_pointer_array_t ompi_mpi_errcodes;
extern int ompi_mpi_errcode_lastused; OMPI_DECLSPEC extern int ompi_mpi_errcode_lastused;
/** /**
* Check for a valid error code * Check for a valid error code

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

@ -80,22 +80,22 @@ typedef struct ompi_errhandler_t ompi_errhandler_t;
/** /**
* Global variable for MPI_ERRHANDLER_NULL * Global variable for MPI_ERRHANDLER_NULL
*/ */
extern ompi_errhandler_t ompi_mpi_errhandler_null; OMPI_DECLSPEC extern ompi_errhandler_t ompi_mpi_errhandler_null;
/** /**
* Global variable for MPI_ERRORS_ARE_FATAL * Global variable for MPI_ERRORS_ARE_FATAL
*/ */
extern ompi_errhandler_t ompi_mpi_errors_are_fatal; OMPI_DECLSPEC extern ompi_errhandler_t ompi_mpi_errors_are_fatal;
/** /**
* Global variable for MPI_ERRORS_RETURN * Global variable for MPI_ERRORS_RETURN
*/ */
extern ompi_errhandler_t ompi_mpi_errors_return; OMPI_DECLSPEC extern ompi_errhandler_t ompi_mpi_errors_return;
/** /**
* Table for Fortran <-> C errhandler handle conversion * Table for Fortran <-> C errhandler handle conversion
*/ */
extern ompi_pointer_array_t *ompi_errhandler_f_to_c_table; OMPI_DECLSPEC extern ompi_pointer_array_t *ompi_errhandler_f_to_c_table;
/** /**

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

@ -14,7 +14,7 @@
#include "file/file.h" #include "file/file.h"
#include "win/win.h" #include "win/win.h"
#include "runtime/runtime.h" #include "runtime/runtime.h"
#include "util/printf.h"
/* /*
* Local functions * Local functions

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

@ -86,7 +86,6 @@
#define HAVE_SYS_EVENT_H 1 #define HAVE_SYS_EVENT_H 1
/* Define to 1 if you have the <sys/queue.h> header file. */ /* Define to 1 if you have the <sys/queue.h> header file. */
#define HAVE_SYS_QUEUE_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */ /* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1 #define HAVE_SYS_STAT_H 1

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

@ -1,3 +1,4 @@
#include "ompi_config.h"
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <windows.h> #include <windows.h>

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

@ -25,6 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#include "ompi_config.h"
#include "config.h" #include "config.h"
#include <windows.h> #include <windows.h>
@ -50,12 +51,14 @@
#define log_error(x) perror(x) #define log_error(x) perror(x)
#endif #endif
#include "event.h" #include "event/event.h"
#include "event/compat/sys/queue.h"
#include "event/compat/err.h"
extern struct event_list timequeue; extern struct ompi_event_list ompi_timequeue;
extern struct event_list eventqueue; extern struct ompi_event_list ompi_eventqueue;
extern struct event_list addqueue; extern struct ompi_event_list ompi_addqueue;
extern struct event_list signalqueue; extern struct ompi_event_list ompi_signalqueue;
#define NEVENT 64 #define NEVENT 64
@ -69,12 +72,12 @@ void signal_process(void);
int signal_recalc(void); int signal_recalc(void);
void *win32_init (void); void *win32_init (void);
int win32_insert (void *, struct event *); int win32_insert (void *, struct ompi_event *);
int win32_del (void *, struct event *); int win32_del (void *, struct ompi_event *);
int win32_recalc (void *, int); int win32_recalc (void *, int);
int win32_dispatch (void *, struct timeval *); int win32_dispatch (void *, struct timeval *);
struct eventop win32ops = { struct ompi_eventop ompi_win32ops = {
"win32", "win32",
win32_init, win32_init,
win32_insert, win32_insert,
@ -91,7 +94,7 @@ static int timeval_to_ms(struct timeval *tv)
void * void *
win32_init(void) win32_init(void)
{ {
return (&win32ops); return (&ompi_win32ops);
} }
int int
@ -101,13 +104,13 @@ win32_recalc(void *arg, int max)
} }
int int
win32_insert(struct win32op *wop, struct event *ev) win32_insert(struct win32op *wop, struct ompi_event *ev)
{ {
if (ev->ev_events & EV_SIGNAL) { if (ev->ev_events & OMPI_EV_SIGNAL) {
if (ev->ev_events & (EV_READ|EV_WRITE)) if (ev->ev_events & (OMPI_EV_READ|OMPI_EV_WRITE))
errx(1, "%s: EV_SIGNAL incompatible use", errx(1, "%s: OMPI_EV_SIGNAL incompatible use",
__func__); __FUNCTION__);
if((int)signal(EVENT_SIGNAL(ev), signal_handler) == -1) if((int)signal(OMPI_EVENT_SIGNAL(ev), signal_handler) == -1)
return (-1); return (-1);
return (0); return (0);
@ -121,10 +124,10 @@ win32_dispatch(void *arg, struct timeval *tv)
{ {
int res = 0; int res = 0;
struct win32op *wop = arg; struct win32op *wop = arg;
struct event *ev; struct ompi_event *ev;
int evres; int evres;
TAILQ_FOREACH(ev, &eventqueue, ev_next) { TAILQ_FOREACH(ev, &ompi_eventqueue, ev_next) {
res = WaitForSingleObject(ev->ev_fd, timeval_to_ms(tv)); res = WaitForSingleObject(ev->ev_fd, timeval_to_ms(tv));
if(res == WAIT_TIMEOUT || res == WAIT_FAILED) { if(res == WAIT_TIMEOUT || res == WAIT_FAILED) {
@ -134,15 +137,15 @@ win32_dispatch(void *arg, struct timeval *tv)
signal_process(); signal_process();
evres = 0; evres = 0;
if(ev->ev_events & EV_READ) if(ev->ev_events & OMPI_EV_READ)
evres |= EV_READ; evres |= OMPI_EV_READ;
if(ev->ev_events & EV_WRITE) if(ev->ev_events & OMPI_EV_WRITE)
evres |= EV_WRITE; evres |= OMPI_EV_WRITE;
if(evres) { if(evres) {
if(!(ev->ev_events & EV_PERSIST)) if(!(ev->ev_events & OMPI_EV_PERSIST))
event_del(ev); ompi_event_del(ev);
event_active(ev, evres, 1); ompi_event_active(ev, evres, 1);
} }
} }
@ -153,9 +156,9 @@ win32_dispatch(void *arg, struct timeval *tv)
} }
int int
win32_del(struct win32op *arg, struct event *ev) win32_del(struct win32op *arg, struct ompi_event *ev)
{ {
return ((int)signal(EVENT_SIGNAL(ev), SIG_IGN)); return ((int)signal(OMPI_EVENT_SIGNAL(ev), SIG_IGN));
} }
static int signal_handler(int sig) static int signal_handler(int sig)
@ -169,11 +172,11 @@ static int signal_handler(int sig)
int int
signal_recalc(void) signal_recalc(void)
{ {
struct event *ev; struct ompi_event *ev;
/* Reinstall our signal handler. */ /* Reinstall our signal handler. */
TAILQ_FOREACH(ev, &signalqueue, ev_signal_next) { TAILQ_FOREACH(ev, &ompi_signalqueue, ev_signal_next) {
if((int)signal(EVENT_SIGNAL(ev), signal_handler) == -1) if((int)signal(OMPI_EVENT_SIGNAL(ev), signal_handler) == -1)
return (-1); return (-1);
} }
return (0); return (0);
@ -182,15 +185,15 @@ signal_recalc(void)
void void
signal_process(void) signal_process(void)
{ {
struct event *ev; struct ompi_event *ev;
short ncalls; short ncalls;
TAILQ_FOREACH(ev, &signalqueue, ev_signal_next) { TAILQ_FOREACH(ev, &ompi_signalqueue, ev_signal_next) {
ncalls = evsigcaught[EVENT_SIGNAL(ev)]; ncalls = evsigcaught[OMPI_EVENT_SIGNAL(ev)];
if (ncalls) { if (ncalls) {
if (!(ev->ev_events & EV_PERSIST)) if (!(ev->ev_events & OMPI_EV_PERSIST))
event_del(ev); ompi_event_del(ev);
event_active(ev, EV_SIGNAL, ncalls); ompi_event_active(ev, OMPI_EV_SIGNAL, ncalls);
} }
} }

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

@ -32,6 +32,7 @@
* @(#)time.h 8.2 (Berkeley) 7/10/94 * @(#)time.h 8.2 (Berkeley) 7/10/94
*/ */
#ifndef OMPI_TIME_H
#ifndef _SYS_TIME_H_ #ifndef _SYS_TIME_H_
#define _SYS_TIME_H_ #define _SYS_TIME_H_
@ -163,3 +164,4 @@ struct clockinfo {
/* --- stuff got cut here - niels --- */ /* --- stuff got cut here - niels --- */
#endif /* !_SYS_TIME_H_ */ #endif /* !_SYS_TIME_H_ */
#endif /* !OMPI_TIME_H */

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

@ -35,6 +35,7 @@
* SUCH DAMAGE. * SUCH DAMAGE.
*/ */
#include "ompi_config.h"
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdarg.h> #include <stdarg.h>

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

@ -78,13 +78,13 @@ typedef struct ompi_file_t ompi_file_t;
/** /**
* Back-end instances for MPI_FILE_NULL * Back-end instances for MPI_FILE_NULL
*/ */
extern ompi_file_t ompi_mpi_file_null; OMPI_DECLSPEC extern ompi_file_t ompi_mpi_file_null;
/** /**
* Fortran to C conversion table * Fortran to C conversion table
*/ */
extern ompi_pointer_array_t ompi_file_f_to_c_table; OMPI_DECLSPEC extern ompi_pointer_array_t ompi_file_f_to_c_table;

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

@ -32,7 +32,7 @@ struct ompi_group_t {
for each process in the group */ for each process in the group */
}; };
typedef struct ompi_group_t ompi_group_t; typedef struct ompi_group_t ompi_group_t;
OBJ_CLASS_DECLARATION(ompi_group_t); OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_group_t);
/* Some definitions for the flags */ /* Some definitions for the flags */
@ -44,7 +44,7 @@ OBJ_CLASS_DECLARATION(ompi_group_t);
/** /**
* Table for Fortran <-> C group handle conversion * Table for Fortran <-> C group handle conversion
*/ */
extern ompi_pointer_array_t *ompi_group_f_to_c_table; OMPI_DECLSPEC extern ompi_pointer_array_t *ompi_group_f_to_c_table;
/* /*

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

@ -118,8 +118,8 @@ extern "C" {
*/ */
void ompi_free(void *addr, char *file, int line); void ompi_free(void *addr, char *file, int line);
extern int ompi_malloc_debug_level; OMPI_DECLSPEC extern int ompi_malloc_debug_level;
extern int ompi_malloc_output; OMPI_DECLSPEC extern int ompi_malloc_output;
static inline void ompi_malloc_debug(int level); static inline void ompi_malloc_debug(int level);

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

@ -20,7 +20,7 @@
#include "ompi_config.h" #include "ompi_config.h"
#ifdef __GNUC__ #if defined(__GNUC__) || defined (WIN32)
#define STATIC_INLINE static inline #define STATIC_INLINE static inline
#else #else
#define STATIC_INLINE #define STATIC_INLINE
@ -310,6 +310,13 @@ static inline void ompi_atomic_unlock(ompi_lock_t *lock);
* the definitions are in system specific .s files in src/util. * the definitions are in system specific .s files in src/util.
*/ */
/* Include win32/atomic.h if we are in windows platform. Else, we
can go through other compilers and options. */
#ifdef WIN32
#define OMPI_HAVE_ATOMIC_WIN32 1
#include "include/sys/win32/atomic.h"
#else /* only now go through this stuff */
#if defined(__alpha__) #if defined(__alpha__)
# define OMPI_HAVE_ATOMIC 1 # define OMPI_HAVE_ATOMIC 1
# ifdef __GNUC__ # ifdef __GNUC__
@ -410,7 +417,7 @@ static inline int ompi_atomic_cmpset_rel_int(volatile int *addr,
(uint64_t) newval); (uint64_t) newval);
} }
#else #else
#error #error
@ -522,6 +529,11 @@ static inline int ompi_atomic_fetch_and_set_int(volatile int *addr, int newval)
return (oldval); return (oldval);
} }
#endif /* OMPI_HAVE_ATOMIC */
#endif /* ifdef WIN32 */
#if OMPI_HAVE_ATOMIC || OMPI_HAVE_ATOMIC_WIN32
/* /*
* Atomic locks * Atomic locks
@ -565,7 +577,6 @@ static inline void ompi_atomic_unlock(ompi_lock_t *lock)
lock->u.lock = OMPI_ATOMIC_UNLOCKED; lock->u.lock = OMPI_ATOMIC_UNLOCKED;
} }
} }
#endif /* OMPI_HAVE_ATOMIC || OMPI_HAVE_ATOMIC_WIN32 */
#endif /* OMPI_HAVE_ATOMIC */
#endif /* OMPI_SYS_ATOMIC_H */ #endif /* OMPI_SYS_ATOMIC_H */

278
src/include/sys/win32/atomic.h Обычный файл
Просмотреть файл

@ -0,0 +1,278 @@
/*
* $HEADER$
*/
#ifndef OMPI_SYS_ARCH_ATOMIC_H
#define OMPI_SYS_ARCH_ATOMIC_H 1
#if 1
/*
* On ia64, we use cmpxchg, which supports acquire/release semantics natively.
*/
static inline void ompi_atomic_mb(void) {
#if 0
return KeMemoryBarrier();
#endif
}
static inline void ompi_atomic_rmb(void) {
#if 0
return KeMemoryBarrier();
#endif
}
static inline void ompi_atomic_wmb(void) {
#if 0
return KeMemoryBarrier();
#endif
}
static inline int ompi_atomic_cmpset_acq_32(volatile uint32_t *addr,
uint32_t oldval,
uint32_t newval) {
#if 0
LONG ret = InterlockedCompareExchangeAcquire ((LONG volatile*) addr,
(LONG) newval,
(LONG) oldval);
return (oldval == ret) ? 1: 0;
#else
return 0;
#endif
}
static inline int ompi_atomic_cmpset_rel_32(volatile uint32_t *addr,
uint32_t oldval,
uint32_t newval) {
#if 0
LONG ret = InterlockedCompareExchangeRelease ((LONG volatile*) addr,
(LONG) newval,
(LONG) oldval);
return (oldval == ret) ? 1: 0;
#else
return 0;
#endif
}
static inline int ompi_atomic_cmpset_32(volatile uint32_t *addr,
uint32_t oldval,
uint32_t newval) {
#if 0
LONG ret = InterlockedCompareExchange ((LONG volatile*) addr,
(LONG) newval,
(LONG) oldval);
return (oldval == ret) ? 1: 0;
#else
return 0;
#endif
}
static inline int ompi_atomic_cmpset_acq_64(volatile uint64_t *addr,
uint64_t oldval,
uint64_t newval) {
#if 0
LONGLONG ret = InterlockedCompareExchangeAcquire64 ((LONGLONG volatile*) addr,
(LONGLONG) newval,
(LONGLONG) oldval);
return (oldval == ret) ? 1: 0;
#else
return 0;
#endif
}
static inline int ompi_atomic_cmpset_rel_64(volatile uint64_t *addr,
uint64_t oldval,
uint64_t newval) {
#if 0
LONGLONG ret = InterlockedCompareExchangeRelease64 ((LONGLONG volatile*) addr,
(LONGLONG) newval,
(LONGLONG) oldval);
return (oldval == ret) ? 1: 0;
#else
return 0;
#endif
}
static inline int ompi_atomic_cmpset_64(volatile uint64_t *addr,
uint64_t oldval,
uint64_t newval) {
#if 0
LONGLONG ret = InterlockedCompareExchange64 ((LONGLONG volatile*) addr,
(LONGLONG) newval,
(LONGLONG) oldval);
return (oldval == ret) ? 1: 0;
#else
return 0;
#endif
}
static inline uint32_t ompi_atomic_add_32(volatile uint32_t *addr, int delta) {
return InterlockedExchangeAdd ((LONG volatile *) addr,
(LONG) delta);
}
static inline uint64_t ompi_atomic_add_64(volatile uint64_t *addr, int delta) {
#if 0
return InterlockedExchangeAdd64 ((LONGLONG volatile *) addr,
(LONGLONG) delta);
#else
return 0;
#endif
}
static inline int ompi_atomic_add_int (volatile int *addr, int delta) {
#if 0
#if SIZEOF_INT == 4
return InterlockedExchangeAdd ((LONG volatile *) addr,
(LONG) delta);
#elif SIZEOF_INT == 8
return InterlockedExchangeAdd64 ((LONG volatile *) addr,
(LONG) delta);
#else
#error
#endif
#else
return 0;
#endif
}
static inline int ompi_atomic_fetch_and_set_int(volatile int *addr, int newval) {
#if 0
#if SIZEOF_INT == 4
return InterlockedExchangeAdd ((LONG volatile *) addr,
(LONG) newval);
#elif SIZEOF_INT == 8
return InterlockedExchangeAdd64 ((LONG volatile *) addr,
(LONG) newval);
#else
#error
#endif
#else
return 0;
#endif
}
static inline int ompi_atomic_cmpset_int(volatile int *addr,
int oldval,
int newval) {
#if 0
#if SIZEOF_INT == 4
return ompi_atomic_cmpset_32 (addr, oldval, newval);
#elif SIZEOF_INT == 8
return ompi_atomic_cmpset_64 (addr, oldval, newval);
#else
#error
#endif
#else
return 0;
#endif
}
static inline int ompi_atomic_cmpset_acq_int(volatile int *addr,
int oldval,
int newval) {
#if 0
#if SIZEOF_INT == 4
return ompi_atomic_cmpset_acq_32 (addr, oldval, newval);
#elif SIZEOF_INT == 8
return ompi_atomic_cmpset_acq_64 (addr, oldval, newval);
#else
#error
#endif
#else
return 0;
#endif
}
static inline int ompi_atomic_cmpset_rel_int(volatile int *addr,
int oldval,
int newval) {
#if 0
#if SIZEOF_INT == 4
return ompi_atomic_cmpset_rel_32 (addr, oldval, newval);
#elif SIZEOF_INT == 8
return ompi_atomic_cmpset_rel_64 (addr, oldval, newval);
#else
#error
#endif
#else
return 0;
#endif
}
static inline int ompi_atomic_cmpset_ptr(volatile void *addr,
void *oldval,
void *newval) {
PVOID ret = InterlockedCompareExchangePointer ((PVOID volatile *) addr,
(PVOID) newval,
(PVOID) oldval);
return (ret == oldval)? 1: 0;
}
static inline int ompi_atomic_cmpset_acq_ptr(volatile void *addr,
void *oldval,
void *newval) {
#if 0
#if SIZEOF_INT == 4
return ompi_atomic_cmpset_acq_32((volatile uint32_t *) addr,
(uint32_t) oldval,
(uint32_t) newval);
#elif SIZEOF_INT == 8
return ompi_atomic_cmpset_acq_64((volatile uint32_t *) addr,
(uint64_t) oldval,
(uint64_t) newval);
#else
#error
#endif
#else
return 0;
#endif
}
static inline int ompi_atomic_cmpset_rel_ptr(volatile void *addr,
void *oldval,
void *newval) {
#if 0
#if SIZEOF_INT == 4
return ompi_atomic_cmpset_rel_ecq_32((volatile uint32_t *) addr,
(uint32_t) oldval,
(uint32_t) newval);
#elif SIZEOF_INT == 8
return ompi_atomic_cmpset_rel__64((volatile uint32_t *) addr,
(uint64_t) oldval,
(uint64_t) newval);
#else
#error
#endif
#else
return 0;
#endif
}
#endif
#endif /* ! OMPI_SYS_ARCH_ATOMIC_H */

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

@ -5,7 +5,7 @@
#ifndef OMPI_TOTALVIEW_H #ifndef OMPI_TOTALVIEW_H
#define OMPI_TOTALVIEW_H #define OMPI_TOTALVIEW_H
extern int ompi_tv_comm_sequence_number; OMPI_DECLSPEC extern int ompi_tv_comm_sequence_number;
#endif /* OMPI_TOTALVIEW_H */ #endif /* OMPI_TOTALVIEW_H */

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

@ -5,6 +5,8 @@
#ifndef OMPI_TYPES_H #ifndef OMPI_TYPES_H
#define OMPI_TYPES_H #define OMPI_TYPES_H
#include "ompi_config.h"
#ifdef HAVE_SYS_TYPES_H #ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif #endif
@ -14,8 +16,8 @@
#ifdef HAVE_SYS_SELECT_H #ifdef HAVE_SYS_SELECT_H
#include <sys/select.h> #include <sys/select.h>
#endif #endif
#include "ompi_config.h"
#ifndef WIN32
/* /*
* Increase FD_SETSIZE * Increase FD_SETSIZE
*/ */
@ -42,6 +44,17 @@ typedef struct ompi_fd_set_t ompi_fd_set_t;
#define OMPI_FD_CLR(fd,fds) FD_CLR((fd),(fd_set*)(fds)) #define OMPI_FD_CLR(fd,fds) FD_CLR((fd),(fd_set*)(fds))
#define OMPI_FD_ISSET(fd,fds) FD_ISSET((fd),(fd_set*)(fds)) #define OMPI_FD_ISSET(fd,fds) FD_ISSET((fd),(fd_set*)(fds))
#else /* if we are on windows */
typedef fd_set ompi_fd_set_t;
#define OMPI_FD_ZERO(fds) FD_ZERO((fds))
#define OMPI_FD_SET(fd,fds) FD_SET((fd),(fds))
#define OMPI_FD_CLR(fd,fds) FD_CLR((fd),(fds))
#define OMPI_FD_ISSET(fd,fds) FD_ISSET((fd),(fds))
#endif /* wIN32 */
/* /*
* handle to describe a parallel job * handle to describe a parallel job
*/ */

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

@ -59,24 +59,24 @@ typedef struct ompi_info_entry_t ompi_info_entry_t;
/** /**
* Table for Fortran <-> C translation table * Table for Fortran <-> C translation table
*/ */
extern ompi_pointer_array_t ompi_info_f_to_c_table; OMPI_DECLSPEC extern ompi_pointer_array_t ompi_info_f_to_c_table;
/** /**
* Global instance for MPI_INFO_NULL * Global instance for MPI_INFO_NULL
*/ */
extern ompi_info_t ompi_mpi_info_null; OMPI_DECLSPEC extern ompi_info_t ompi_mpi_info_null;
/** /**
* \internal * \internal
* Some declarations needed to use OBJ_NEW and OBJ_DESTRUCT macros * Some declarations needed to use OBJ_NEW and OBJ_DESTRUCT macros
*/ */
OBJ_CLASS_DECLARATION(ompi_info_t); OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_info_t);
/** /**
* \internal * \internal
* Some declarations needed to use OBJ_NEW and OBJ_DESTRUCT macros * Some declarations needed to use OBJ_NEW and OBJ_DESTRUCT macros
*/ */
OBJ_CLASS_DECLARATION(ompi_info_entry_t); OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_info_entry_t);
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)

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

@ -123,7 +123,7 @@ typedef struct mca_allocator_base_component_1_0_0_t mca_allocator_base_component
/** /**
* The output integer used for the mca base * The output integer used for the mca base
*/ */
extern int mca_allocator_base_output; OMPI_DECLSPEC extern int mca_allocator_base_output;
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }
#endif #endif

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

@ -2,8 +2,8 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include <stdio.h> #include <stdio.h>
#include "mca/mca.h" #include "mca/mca.h"
@ -18,8 +18,11 @@
* component's public mca_base_component_t struct. * component's public mca_base_component_t struct.
*/ */
#ifdef WIN32
const mca_base_component_t *mca_allocator_base_static_components[] = {NULL};
#else
#include "mca/allocator/base/static-components.h" #include "mca/allocator/base/static-components.h"
#endif
/* /*
* Global variables * Global variables

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

@ -42,9 +42,9 @@ OBJ_CLASS_DECLARATION(mca_mpool_base_selected_module_t);
* Global functions for MCA: overall allocator open and close * Global functions for MCA: overall allocator open and close
*/ */
int mca_allocator_base_open(void); OMPI_DECLSPEC int mca_allocator_base_open(void);
int mca_allocator_base_close(void); OMPI_DECLSPEC int mca_allocator_base_close(void);
mca_allocator_base_component_t* mca_allocator_component_lookup(const char* name); OMPI_DECLSPEC mca_allocator_base_component_t* mca_allocator_component_lookup(const char* name);
/* /*
@ -53,7 +53,7 @@ OBJ_CLASS_DECLARATION(mca_mpool_base_selected_module_t);
/** /**
* The list of all the selected components. * The list of all the selected components.
*/ */
extern ompi_list_t mca_allocator_base_components; OMPI_DECLSPEC extern ompi_list_t mca_allocator_base_components;
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }
#endif #endif

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

@ -51,7 +51,7 @@ OBJ_CLASS_DECLARATION(mca_base_component_priority_list_item_t);
/* /*
* Public variables * Public variables
*/ */
extern int mca_base_param_component_path; OMPI_DECLSPEC extern int mca_base_param_component_path;
/* /*
@ -72,7 +72,7 @@ extern int mca_base_param_component_path;
* invoked during ompi_mpi_init() and specifically invoked in the * invoked during ompi_mpi_init() and specifically invoked in the
* special case of the laminfo command. * special case of the laminfo command.
*/ */
int mca_base_open(void); OMPI_DECLSPEC int mca_base_open(void);
/** /**
* Last function called in the MCA * Last function called in the MCA
@ -87,56 +87,56 @@ extern int mca_base_param_component_path;
* during ompi_mpi_finalize() and specifically invoked during the * during ompi_mpi_finalize() and specifically invoked during the
* special case of the laminfo command. * special case of the laminfo command.
*/ */
int mca_base_close(void); OMPI_DECLSPEC int mca_base_close(void);
/* mca_base_cmd_line.c */ /* mca_base_cmd_line.c */
int mca_base_cmd_line_setup(ompi_cmd_line_t *cmd); OMPI_DECLSPEC int mca_base_cmd_line_setup(ompi_cmd_line_t *cmd);
int mca_base_cmd_line_process_args(ompi_cmd_line_t *cmd); OMPI_DECLSPEC int mca_base_cmd_line_process_args(ompi_cmd_line_t *cmd);
int mca_base_cmd_line_process_arg(const char *param, const char *value); OMPI_DECLSPEC int mca_base_cmd_line_process_arg(const char *param, const char *value);
/* mca_base_component_compare.c */ /* mca_base_component_compare.c */
int mca_base_component_compare_priority(mca_base_component_priority_list_item_t *a, OMPI_DECLSPEC int mca_base_component_compare_priority(mca_base_component_priority_list_item_t *a,
mca_base_component_priority_list_item_t *b); mca_base_component_priority_list_item_t *b);
int mca_base_component_compare(const mca_base_component_t *a, OMPI_DECLSPEC int mca_base_component_compare(const mca_base_component_t *a,
const mca_base_component_t *b); const mca_base_component_t *b);
int mca_base_component_compatible(const mca_base_component_t *a, int mca_base_component_compatible(const mca_base_component_t *a,
const mca_base_component_t *b); const mca_base_component_t *b);
/* mca_base_component_find.c */ /* mca_base_component_find.c */
int mca_base_component_find(const char *directory, const char *type, OMPI_DECLSPEC int mca_base_component_find(const char *directory, const char *type,
const mca_base_component_t *static_components[], const mca_base_component_t *static_components[],
ompi_list_t *found_components); ompi_list_t *found_components);
/* mca_base_component_register.c */ /* mca_base_component_register.c */
int mca_base_component_repository_initialize(void); OMPI_DECLSPEC int mca_base_component_repository_initialize(void);
int mca_base_component_repository_retain(char *type, OMPI_DECLSPEC int mca_base_component_repository_retain(char *type,
lt_dlhandle component_handle, lt_dlhandle component_handle,
const mca_base_component_t *component_struct); const mca_base_component_t *component_struct);
int mca_base_component_repository_link(const char *src_type, OMPI_DECLSPEC int mca_base_component_repository_link(const char *src_type,
const char *src_name, const char *src_name,
const char *depend_type, const char *depend_type,
const char *depend_name); const char *depend_name);
void mca_base_component_repository_release(const mca_base_component_t *component); OMPI_DECLSPEC void mca_base_component_repository_release(const mca_base_component_t *component);
void mca_base_component_repository_finalize(void); OMPI_DECLSPEC void mca_base_component_repository_finalize(void);
/* mca_base_components_open.c */ /* mca_base_components_open.c */
int mca_base_components_open(const char *type_name, int output_id, OMPI_DECLSPEC int mca_base_components_open(const char *type_name, int output_id,
const mca_base_component_t **static_components, const mca_base_component_t **static_components,
ompi_list_t *components_available); ompi_list_t *components_available);
/* mca_base_components_close.c */ /* mca_base_components_close.c */
int mca_base_components_close(int output_id, ompi_list_t *components_available, OMPI_DECLSPEC int mca_base_components_close(int output_id, ompi_list_t *components_available,
const mca_base_component_t *skip); const mca_base_component_t *skip);
/* mca_base_init_select_components.c */ /* mca_base_init_select_components.c */
int mca_base_init_select_components(int requested, OMPI_DECLSPEC int mca_base_init_select_components(int requested,
bool allow_multi_user_threads, bool allow_multi_user_threads,
bool have_hidden_threads, int *provided); bool have_hidden_threads, int *provided);

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

@ -2,9 +2,11 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>

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

@ -9,7 +9,9 @@
#include "ompi_config.h" #include "ompi_config.h"
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif
#include "proc/proc.h" #include "proc/proc.h"
#include "mca/mca.h" #include "mca/mca.h"
@ -72,7 +74,7 @@ extern "C" {
* in some format that peer processes will be able to read it, * in some format that peer processes will be able to read it,
* regardless of pointer sizes or endian bias. * regardless of pointer sizes or endian bias.
*/ */
int mca_base_modex_send(mca_base_component_t *source_component, OMPI_DECLSPEC int mca_base_modex_send(mca_base_component_t *source_component,
const void *buffer, size_t size); const void *buffer, size_t size);
/** /**
@ -108,24 +110,24 @@ extern "C" {
* count). See the explanation in mca_base_modex_send() for why the * count). See the explanation in mca_base_modex_send() for why the
* number of bytes is split into two parts. * number of bytes is split into two parts.
*/ */
int mca_base_modex_recv(mca_base_component_t *dest_component, OMPI_DECLSPEC int mca_base_modex_recv(mca_base_component_t *dest_component,
ompi_proc_t *source_proc, ompi_proc_t *source_proc,
void **buffer, size_t *size); void **buffer, size_t *size);
/* /*
* Called to subscribe to registry. * Called to subscribe to registry.
*/ */
int mca_base_modex_exchange(void); OMPI_DECLSPEC int mca_base_modex_exchange(void);
/** /**
* *
*/ */
int mca_base_modex_init(void); OMPI_DECLSPEC int mca_base_modex_init(void);
/** /**
* *
*/ */
int mca_base_modex_finalize(void); OMPI_DECLSPEC int mca_base_modex_finalize(void);
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }

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

@ -61,7 +61,7 @@ typedef struct mca_base_msgbuffer_s* mca_base_msgbuf_t;
* unlimited buffer. * unlimited buffer.
* *
* Giving a req size just makes it more memory efficient. */ * Giving a req size just makes it more memory efficient. */
mca_base_msgbuf_t mca_base_msgbuf_new (size_t reqsize); OMPI_DECLSPEC mca_base_msgbuf_t mca_base_msgbuf_new (size_t reqsize);
/* make a copy of an existing buffer /* make a copy of an existing buffer
* *
@ -72,7 +72,7 @@ mca_base_msgbuf_t mca_base_msgbuf_new (size_t reqsize);
* *
* this is usefull for the registry and is needed as unpack is * this is usefull for the registry and is needed as unpack is
* destructive */ * destructive */
int mca_base_msgbuf_copy (mca_base_msgbuf_t* copybufid, mca_base_msgbuf_t orgbufid); OMPI_DECLSPEC int mca_base_msgbuf_copy (mca_base_msgbuf_t* copybufid, mca_base_msgbuf_t orgbufid);
/* set a buffer to a block of memory so that you do not pack/memory copy /* set a buffer to a block of memory so that you do not pack/memory copy
* *
@ -85,7 +85,7 @@ int mca_base_msgbuf_copy (mca_base_msgbuf_t* copybufid, mca_base_msgbuf_t orgbu
* to pack a buffer but do a send from memory directly * to pack a buffer but do a send from memory directly
* a free on this special buffer just frees its structure not the memory * a free on this special buffer just frees its structure not the memory
*/ */
mca_base_msgbuf_t mca_base_msgbuf_construct (void* ptr, size_t datasize); OMPI_DECLSPEC mca_base_msgbuf_t mca_base_msgbuf_construct (void* ptr, size_t datasize);
/* explicit free of a buffer when not auto freeing them /* explicit free of a buffer when not auto freeing them
* *
@ -96,7 +96,7 @@ mca_base_msgbuf_t mca_base_msgbuf_construct (void* ptr, size_t datasize);
* This routine resets the handle the user passing inso that they can only * This routine resets the handle the user passing inso that they can only
* free it once * free it once
*/ */
int mca_base_msgbuf_free (mca_base_msgbuf_t* bufid); OMPI_DECLSPEC int mca_base_msgbuf_free (mca_base_msgbuf_t* bufid);
/* pack and non-string typed data /* pack and non-string typed data
* *
@ -110,7 +110,7 @@ int mca_base_msgbuf_free (mca_base_msgbuf_t* bufid);
* If the buffer fills up, it will automatically resize unless allocated * If the buffer fills up, it will automatically resize unless allocated
* with fixed buffer size. * with fixed buffer size.
*/ */
int mca_base_msgbuf_pack (mca_base_msgbuf_t bufid, void* ptr, size_t num_items, mca_base_msgbuf_data_t datatype); OMPI_DECLSPEC int mca_base_msgbuf_pack (mca_base_msgbuf_t bufid, void* ptr, size_t num_items, mca_base_msgbuf_data_t datatype);
/* unpack non-string typed data /* unpack non-string typed data
@ -127,7 +127,7 @@ int mca_base_msgbuf_pack (mca_base_msgbuf_t bufid, void* ptr, size_t num_items,
* request, the routine will unpack what it can and then return an error. * request, the routine will unpack what it can and then return an error.
* The user is responsible for unpacking a message correctly. * The user is responsible for unpacking a message correctly.
*/ */
int mca_base_msgbuf_unpack (mca_base_msgbuf_t bufid, void* ptr, size_t num_items, mca_base_msgbuf_data_t datatype); OMPI_DECLSPEC int mca_base_msgbuf_unpack (mca_base_msgbuf_t bufid, void* ptr, size_t num_items, mca_base_msgbuf_data_t datatype);
/* pack a NULL terminated string /* pack a NULL terminated string
* *
@ -139,7 +139,7 @@ int mca_base_msgbuf_unpack (mca_base_msgbuf_t bufid, void* ptr, size_t num_item
* If the buffer fills up, it will automatically resize unless allocated * If the buffer fills up, it will automatically resize unless allocated
* with a fixed buffer size. * with a fixed buffer size.
*/ */
int mca_base_msgbuf_pack_string (mca_base_msgbuf_t bufid, char* strptr); OMPI_DECLSPEC int mca_base_msgbuf_pack_string (mca_base_msgbuf_t bufid, char* strptr);
/* unpack a NULL terminated string /* unpack a NULL terminated string
* *
@ -153,7 +153,7 @@ int mca_base_msgbuf_pack_string (mca_base_msgbuf_t bufid, char* strptr);
* then the routine truncates the string but always NULL terminates it. * then the routine truncates the string but always NULL terminates it.
* *
*/ */
int mca_base_msgbuf_unpack_string (mca_base_msgbuf_t bufid, char* strptr, size_t maxlen); OMPI_DECLSPEC int mca_base_msgbuf_unpack_string (mca_base_msgbuf_t bufid, char* strptr, size_t maxlen);
/* constants */ /* constants */

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

@ -2,12 +2,14 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <syslog.h>
#if HAVE_SYSLOG_H
#include <syslog.h>
#endif
#include "util/output.h" #include "util/output.h"
#include "util/printf.h" #include "util/printf.h"
#include "mca/mca.h" #include "mca/mca.h"
@ -88,7 +90,9 @@ static void set_defaults(ompi_output_stream_t *lds)
lds->lds_is_debugging = false; lds->lds_is_debugging = false;
lds->lds_verbose_level = 0; lds->lds_verbose_level = 0;
lds->lds_want_syslog = false; lds->lds_want_syslog = false;
#ifndef WIN32
lds->lds_syslog_priority = LOG_INFO; lds->lds_syslog_priority = LOG_INFO;
#endif
lds->lds_syslog_ident = "ompi"; lds->lds_syslog_ident = "ompi";
lds->lds_want_stdout = false; lds->lds_want_stdout = false;
lds->lds_want_stderr = true; lds->lds_want_stderr = true;
@ -121,8 +125,10 @@ static void parse_verbose(char *e, ompi_output_stream_t *lds)
if (NULL != next) if (NULL != next)
*next = '\0'; *next = '\0';
if (0 == strcasecmp(ptr, "syslog")) { if (0 == strcasecmp(ptr, "syslog")) {
lds->lds_want_syslog = true; #ifndef WIN32 /* there is no syslog */
lds->lds_want_syslog = true;
have_output = true; have_output = true;
} }
else if (strncasecmp(ptr, "syslogpri:", 10) == 0) { else if (strncasecmp(ptr, "syslogpri:", 10) == 0) {
@ -137,7 +143,8 @@ static void parse_verbose(char *e, ompi_output_stream_t *lds)
} else if (strncasecmp(ptr, "syslogid:", 9) == 0) { } else if (strncasecmp(ptr, "syslogid:", 9) == 0) {
lds->lds_want_syslog = true; lds->lds_want_syslog = true;
lds->lds_syslog_ident = ptr + 9; lds->lds_syslog_ident = ptr + 9;
} #endif
}
else if (strcasecmp(ptr, "stdout") == 0) { else if (strcasecmp(ptr, "stdout") == 0) {
lds->lds_want_stdout = true; lds->lds_want_stdout = true;

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

@ -64,7 +64,7 @@ extern "C" {
* invoked internally (by mca_base_open()) and is only documented * invoked internally (by mca_base_open()) and is only documented
* here for completeness. * here for completeness.
*/ */
int mca_base_param_init(void); OMPI_DECLSPEC int mca_base_param_init(void);
/** /**
* Register an integer MCA parameter. * Register an integer MCA parameter.
@ -108,7 +108,7 @@ extern "C" {
* returned, but the default value will be changed to reflect the * returned, but the default value will be changed to reflect the
* last registration. * last registration.
*/ */
int mca_base_param_register_int(const char *type_name, OMPI_DECLSPEC int mca_base_param_register_int(const char *type_name,
const char *component_name, const char *component_name,
const char *param_name, const char *param_name,
const char *mca_param_name, const char *mca_param_name,
@ -136,7 +136,7 @@ extern "C" {
* associated string default value (which is allowed to be NULL). * associated string default value (which is allowed to be NULL).
* See mca_base_param_register_int() for all other details. * See mca_base_param_register_int() for all other details.
*/ */
int mca_base_param_register_string(const char *type_name, OMPI_DECLSPEC int mca_base_param_register_string(const char *type_name,
const char *component_name, const char *component_name,
const char *param_name, const char *param_name,
const char *mca_param_name, const char *mca_param_name,
@ -165,7 +165,7 @@ extern "C" {
* versions will cross reference and attempt to find parameter * versions will cross reference and attempt to find parameter
* values on attributes. * values on attributes.
*/ */
int mca_base_param_kv_associate(size_t index, int keyval); OMPI_DECLSPEC int mca_base_param_kv_associate(size_t index, int keyval);
/** /**
* Look up an integer MCA parameter. * Look up an integer MCA parameter.
@ -183,7 +183,7 @@ extern "C" {
* The value of a specific MCA parameter can be looked up using the * The value of a specific MCA parameter can be looked up using the
* return value from mca_base_param_register_int(). * return value from mca_base_param_register_int().
*/ */
int mca_base_param_lookup_int(int index, int *value); OMPI_DECLSPEC int mca_base_param_lookup_int(int index, int *value);
/** /**
* Look up an integer MCA parameter, to include looking in * Look up an integer MCA parameter, to include looking in
@ -205,7 +205,7 @@ extern "C" {
* value. The function mca_base_param_kv_associate() must have been * value. The function mca_base_param_kv_associate() must have been
* called first to associate a keyval with the index. * called first to associate a keyval with the index.
*/ */
int mca_base_param_kv_lookup_int(int index, OMPI_DECLSPEC int mca_base_param_kv_lookup_int(int index,
struct ompi_hash_table_t *attrs, struct ompi_hash_table_t *attrs,
int *value); int *value);
@ -225,7 +225,7 @@ extern "C" {
* The value of a specific MCA parameter can be looked up using the * The value of a specific MCA parameter can be looked up using the
* return value from mca_base_param_register_string(). * return value from mca_base_param_register_string().
*/ */
int mca_base_param_lookup_string(int index, char **value); OMPI_DECLSPEC int mca_base_param_lookup_string(int index, char **value);
/** /**
* Look up a string MCA parameter, to include looking in attributes. * Look up a string MCA parameter, to include looking in attributes.
@ -246,7 +246,7 @@ extern "C" {
* parameter value. The function mca_base_param_kv_associate() must * parameter value. The function mca_base_param_kv_associate() must
* have been called first to associate a keyval with the index. * have been called first to associate a keyval with the index.
*/ */
int mca_base_param_kv_lookup_string(int index, OMPI_DECLSPEC int mca_base_param_kv_lookup_string(int index,
struct ompi_hash_table_t *attrs, struct ompi_hash_table_t *attrs,
char **value); char **value);
@ -269,7 +269,7 @@ extern "C" {
* can be used with mca_base_param_lookup_int() and * can be used with mca_base_param_lookup_int() and
* mca_base_param_lookup_string(). * mca_base_param_lookup_string().
*/ */
int mca_base_param_find(const char *type, const char *component, OMPI_DECLSPEC int mca_base_param_find(const char *type, const char *component,
const char *param); const char *param);
/** /**
@ -286,7 +286,7 @@ extern "C" {
* when the process is shutting down (e.g., during MPI_FINALIZE). It * when the process is shutting down (e.g., during MPI_FINALIZE). It
* is only documented here for completeness. * is only documented here for completeness.
*/ */
int mca_base_param_finalize(void); OMPI_DECLSPEC int mca_base_param_finalize(void);
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }

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

@ -140,7 +140,7 @@ OBJ_CLASS_DECLARATION(mca_base_param_file_value_t);
* *
* Global list of params and values read in from MCA parameter files * Global list of params and values read in from MCA parameter files
*/ */
extern ompi_list_t mca_base_param_file_values; OMPI_DECLSPEC extern ompi_list_t mca_base_param_file_values;
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)

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

@ -51,7 +51,7 @@ extern "C" {
* public interface member -- and is only mentioned here for * public interface member -- and is only mentioned here for
* completeness. * completeness.
*/ */
int mca_coll_base_open(void); OMPI_DECLSPEC int mca_coll_base_open(void);
/** /**
* Create list of available coll components. * Create list of available coll components.
@ -78,7 +78,7 @@ extern "C" {
* functions -- it is not considered a public interface member -- * functions -- it is not considered a public interface member --
* and is only mentioned here for completeness. * and is only mentioned here for completeness.
*/ */
int mca_coll_base_find_available(bool *allow_multi_user_threads, OMPI_DECLSPEC int mca_coll_base_find_available(bool *allow_multi_user_threads,
bool *have_hidden_threads); bool *have_hidden_threads);
/** /**
@ -137,7 +137,7 @@ extern "C" {
* communicator creation functions may be re-entered (albiet with * communicator creation functions may be re-entered (albiet with
* different arguments). * different arguments).
*/ */
int mca_coll_base_comm_select(struct ompi_communicator_t *comm, OMPI_DECLSPEC int mca_coll_base_comm_select(struct ompi_communicator_t *comm,
struct mca_base_component_t *preferred); struct mca_base_component_t *preferred);
/** /**
@ -161,7 +161,7 @@ extern "C" {
* mca_coll_base_select(), as result of this function, other * mca_coll_base_select(), as result of this function, other
* communicators may also be destroyed. * communicators may also be destroyed.
*/ */
int mca_coll_base_comm_unselect(struct ompi_communicator_t *comm); OMPI_DECLSPEC int mca_coll_base_comm_unselect(struct ompi_communicator_t *comm);
/** /**
* Finalize the coll usage on a communicator. * Finalize the coll usage on a communicator.
@ -170,7 +170,7 @@ extern "C" {
* *
* @retval OMPI_SUCCESS Always. * @retval OMPI_SUCCESS Always.
*/ */
int mca_coll_base_comm_finalize(struct ompi_communicator_t *comm); OMPI_DECLSPEC int mca_coll_base_comm_finalize(struct ompi_communicator_t *comm);
/** /**
* Shut down the coll MCA framework. * Shut down the coll MCA framework.
@ -183,7 +183,7 @@ extern "C" {
* *
* It must be the last function invoked on the coll MCA framework. * It must be the last function invoked on the coll MCA framework.
*/ */
int mca_coll_base_close(void); OMPI_DECLSPEC int mca_coll_base_close(void);
/* /*
@ -194,56 +194,56 @@ extern "C" {
* Index number from the "coll" MCA parameter, created when the coll * Index number from the "coll" MCA parameter, created when the coll
* framework is initialized and used during scope selection. * framework is initialized and used during scope selection.
*/ */
extern int mca_coll_base_param; OMPI_DECLSPEC extern int mca_coll_base_param;
/** /**
* Coll framework debugging stream ID used with ompi_output() and * Coll framework debugging stream ID used with ompi_output() and
* ompi_output_verbose(). * ompi_output_verbose().
*/ */
extern int mca_coll_base_output; OMPI_DECLSPEC extern int mca_coll_base_output;
/** /**
* JMS should this move to the basic component? * JMS should this move to the basic component?
*/ */
extern int mca_coll_base_crossover; OMPI_DECLSPEC extern int mca_coll_base_crossover;
/** /**
* JMS should this move to the basic component? * JMS should this move to the basic component?
*/ */
extern int mca_coll_base_associative; OMPI_DECLSPEC extern int mca_coll_base_associative;
/** /**
* JMS should this move to the basic component? * JMS should this move to the basic component?
*/ */
extern int mca_coll_base_reduce_crossover; OMPI_DECLSPEC extern int mca_coll_base_reduce_crossover;
/** /**
* JMS should this move to the basic component? * JMS should this move to the basic component?
*/ */
extern int mca_coll_base_bcast_collmaxlin; OMPI_DECLSPEC extern int mca_coll_base_bcast_collmaxlin;
/** /**
* JMS should this move to the basic component? * JMS should this move to the basic component?
*/ */
extern int mca_coll_base_bcast_collmaxdim; OMPI_DECLSPEC extern int mca_coll_base_bcast_collmaxdim;
/** /**
* Indicator as to whether the list of opened coll components is valid or * Indicator as to whether the list of opened coll components is valid or
* not. * not.
*/ */
extern bool mca_coll_base_components_opened_valid; OMPI_DECLSPEC extern bool mca_coll_base_components_opened_valid;
/** /**
* List of all opened components; created when the coll framework is * List of all opened components; created when the coll framework is
* initialized and destroyed when we reduce the list to all available * initialized and destroyed when we reduce the list to all available
* coll components. * coll components.
*/ */
extern ompi_list_t mca_coll_base_components_opened; OMPI_DECLSPEC extern ompi_list_t mca_coll_base_components_opened;
/** /**
* Indicator as to whether the list of available coll components is valid * Indicator as to whether the list of available coll components is valid
* or not. * or not.
*/ */
extern bool mca_coll_base_components_available_valid; OMPI_DECLSPEC extern bool mca_coll_base_components_available_valid;
/** /**
* List of all available components; created by reducing the list of open * List of all available components; created by reducing the list of open
* components to all those who indicate that they may run during this * components to all those who indicate that they may run during this
* process. * process.
*/ */
extern ompi_list_t mca_coll_base_components_available; OMPI_DECLSPEC extern ompi_list_t mca_coll_base_components_available;
/** /**
* Pointer to the "basic" component so that it can be found easily * Pointer to the "basic" component so that it can be found easily
@ -251,7 +251,7 @@ extern ompi_list_t mca_coll_base_components_available;
* common denominator between all coll components and may be used * common denominator between all coll components and may be used
* interchangably). * interchangably).
*/ */
extern const mca_coll_base_component_1_0_0_t *mca_coll_base_basic_component; OMPI_DECLSPEC extern const mca_coll_base_component_1_0_0_t *mca_coll_base_basic_component;
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }

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

@ -2,8 +2,8 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include <stdio.h> #include <stdio.h>
#include "util/output.h" #include "util/output.h"
@ -19,8 +19,12 @@
* statements and the definition of an array of pointers to each * statements and the definition of an array of pointers to each
* component's public mca_base_component_t struct. * component's public mca_base_component_t struct.
*/ */
#ifdef WIN32
const mca_base_component_t *mca_coll_base_static_components[] = {NULL};
#else
#include "mca/coll/base/static-components.h" #include "mca/coll/base/static-components.h"
#endif
/* /*

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

@ -21,8 +21,8 @@ extern "C" {
* Globally exported variable * Globally exported variable
*/ */
extern const mca_coll_base_component_1_0_0_t mca_coll_basic_component; OMPI_COMP_EXPORT extern const mca_coll_base_component_1_0_0_t mca_coll_basic_component;
extern int mca_coll_basic_priority_param; OMPI_COMP_EXPORT extern int mca_coll_basic_priority_param;
/* /*

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

@ -0,0 +1,19 @@
/*
* This file is automatically created by autogen.sh; it should not
* be edited by hand!!
*
* List of version number for this component
*/
#ifndef MCA_COLL_DEMO_VERSION_H
#define MCA_COLL_DEMO_VERSION_H
#define MCA_COLL_DEMO_MAJOR_VERSION @MCA_COLL_DEMO_MAJOR_VERSION@
#define MCA_COLL_DEMO_MINOR_VERSION @MCA_COLL_DEMO_MINOR_VERSION@
#define MCA_COLL_DEMO_RELEASE_VERSION @MCA_COLL_DEMO_RELEASE_VERSION@
#define MCA_COLL_DEMO_ALPHA_VERSION @MCA_COLL_DEMO_ALPHA_VERSION@
#define MCA_COLL_DEMO_BETA_VERSION @MCA_COLL_DEMO_BETA_VERSION@
#define MCA_COLL_DEMO_SVN_VERSION "@MCA_COLL_DEMO_SVN_VERSION@"
#define MCA_COLL_DEMO_FULL_VERSION "@MCA_COLL_DEMO_VERSION@"
#endif /* MCA_COLL_DEMO_VERSION_H */

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

@ -36,7 +36,7 @@ typedef struct mca_coll_base_module_comm_t {
* Globally exported variables * Globally exported variables
*/ */
extern const mca_coll_base_component_1_0_0_t mca_coll_sm_component; OMPI_DECLSPEC extern const mca_coll_base_component_1_0_0_t mca_coll_sm_component;
/* /*

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

@ -1,13 +1,19 @@
#include "ompi_config.h" #include "ompi_config.h"
#include <errno.h> #include <errno.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif
#include <string.h> #include <string.h>
#include <fcntl.h> #include <fcntl.h>
#include <time.h> #include <time.h>
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/errno.h> #include <sys/errno.h>
#ifdef HAVE_SYS_MMAN_H
#include <sys/mman.h> #include <sys/mman.h>
#endif
#include "include/constants.h" #include "include/constants.h"
#include "util/output.h" #include "util/output.h"

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

@ -67,7 +67,7 @@ void mca_common_sm_mmap_free(void* addr);
* Instance that is shared between components that use shared memory * Instance that is shared between components that use shared memory
*/ */
extern mca_common_sm_mmap_t *mca_common_sm_mmap; OMPI_DECLSPEC extern mca_common_sm_mmap_t *mca_common_sm_mmap;
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }

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

@ -45,7 +45,7 @@ extern "C" {
* public interface member -- and is only mentioned here for * public interface member -- and is only mentioned here for
* completeness. * completeness.
*/ */
int mca_io_base_open(void); OMPI_DECLSPEC int mca_io_base_open(void);
/** /**
* Create list of available io components. * Create list of available io components.
@ -72,7 +72,7 @@ extern "C" {
* functions -- it is not considered a public interface member -- * functions -- it is not considered a public interface member --
* and is only mentioned here for completeness. * and is only mentioned here for completeness.
*/ */
int mca_io_base_find_available(bool *allow_multi_user_threads, OMPI_DECLSPEC int mca_io_base_find_available(bool *allow_multi_user_threads,
bool *have_hidden_threads); bool *have_hidden_threads);
/** /**
@ -125,7 +125,7 @@ extern "C" {
* file handle, or no component was selected and an error is * file handle, or no component was selected and an error is
* returned up the stack. * returned up the stack.
*/ */
int mca_io_base_file_select(struct ompi_file_t *file, OMPI_DECLSPEC int mca_io_base_file_select(struct ompi_file_t *file,
struct mca_base_component_t *preferred); struct mca_base_component_t *preferred);
/** /**
@ -148,7 +148,7 @@ extern "C" {
* mca_io_base_select(), as result of this function, other * mca_io_base_select(), as result of this function, other
* file handles may also be destroyed. * file handles may also be destroyed.
*/ */
int mca_io_base_file_unselect(struct ompi_file_t *file); OMPI_DECLSPEC int mca_io_base_file_unselect(struct ompi_file_t *file);
/** /**
* Invoke a back-end component to delete a file. * Invoke a back-end component to delete a file.
@ -162,7 +162,7 @@ extern "C" {
* the available components (rather than some pre-selected * the available components (rather than some pre-selected
* module). See io.h for details. * module). See io.h for details.
*/ */
int mca_io_base_delete(char *filename, struct ompi_info_t *info); OMPI_DECLSPEC int mca_io_base_delete(char *filename, struct ompi_info_t *info);
/** /**
* Shut down the io MCA framework. * Shut down the io MCA framework.
@ -175,7 +175,7 @@ extern "C" {
* *
* It must be the last function invoked on the io MCA framework. * It must be the last function invoked on the io MCA framework.
*/ */
int mca_io_base_close(void); OMPI_DECLSPEC int mca_io_base_close(void);
/* /*
@ -186,35 +186,35 @@ extern "C" {
* Index number from the "io" MCA parameter, created when the io * Index number from the "io" MCA parameter, created when the io
* framework is initialized and used during scope selection. * framework is initialized and used during scope selection.
*/ */
extern int mca_io_base_param; OMPI_DECLSPEC extern int mca_io_base_param;
/** /**
* io framework debugging stream ID used with ompi_output() and * io framework debugging stream ID used with ompi_output() and
* ompi_output_verbose(). * ompi_output_verbose().
*/ */
extern int mca_io_base_output; OMPI_DECLSPEC extern int mca_io_base_output;
/** /**
* Indicator as to whether the list of opened io components is valid or * Indicator as to whether the list of opened io components is valid or
* not. * not.
*/ */
extern bool mca_io_base_components_opened_valid; OMPI_DECLSPEC extern bool mca_io_base_components_opened_valid;
/** /**
* List of all opened components; created when the io framework is * List of all opened components; created when the io framework is
* initialized and destroyed when we reduce the list to all available * initialized and destroyed when we reduce the list to all available
* io components. * io components.
*/ */
extern ompi_list_t mca_io_base_components_opened; OMPI_DECLSPEC extern ompi_list_t mca_io_base_components_opened;
/** /**
* Indicator as to whether the list of available io components is valid * Indicator as to whether the list of available io components is valid
* or not. * or not.
*/ */
extern bool mca_io_base_components_available_valid; OMPI_DECLSPEC extern bool mca_io_base_components_available_valid;
/** /**
* List of all available components; created by reducing the list of open * List of all available components; created by reducing the list of open
* components to all those who indicate that they may run during this * components to all those who indicate that they may run during this
* process. * process.
*/ */
extern ompi_list_t mca_io_base_components_available; OMPI_DECLSPEC extern ompi_list_t mca_io_base_components_available;
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }

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

@ -2,8 +2,8 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include <stdio.h> #include <stdio.h>
#include "util/output.h" #include "util/output.h"
@ -19,9 +19,11 @@
* statements and the definition of an array of pointers to each * statements and the definition of an array of pointers to each
* component's public mca_base_component_t struct. * component's public mca_base_component_t struct.
*/ */
#ifdef WIN32
const mca_base_component_t *mca_io_base_static_components[] = {NULL};
#else
#include "mca/io/base/static-components.h" #include "mca/io/base/static-components.h"
#endif
/* /*
* Global variables; most of which are loaded by back-ends of MCA * Global variables; most of which are loaded by back-ends of MCA

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

@ -23,17 +23,17 @@
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
extern "C" { extern "C" {
#endif #endif
int mca_llm_base_open(void); OMPI_DECLSPEC int mca_llm_base_open(void);
int mca_llm_base_select(const char *active_pcm, OMPI_DECLSPEC int mca_llm_base_select(const char *active_pcm,
mca_llm_base_module_t **selected, mca_llm_base_module_t **selected,
bool have_threads); bool have_threads);
int mca_llm_base_close(void); OMPI_DECLSPEC int mca_llm_base_close(void);
/* /*
* Globals * Globals
*/ */
extern int mca_llm_base_output; OMPI_DECLSPEC extern int mca_llm_base_output;
extern ompi_list_t mca_llm_base_components_available; OMPI_DECLSPEC extern ompi_list_t mca_llm_base_components_available;
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }
#endif #endif

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

@ -53,7 +53,7 @@ struct mca_llm_base_hostfile_data_t {
/** shorten ompi_rte_base_hostfile_data_t declarations */ /** shorten ompi_rte_base_hostfile_data_t declarations */
typedef struct mca_llm_base_hostfile_data_t mca_llm_base_hostfile_data_t; typedef struct mca_llm_base_hostfile_data_t mca_llm_base_hostfile_data_t;
/** create the required instance information */ /** create the required instance information */
OBJ_CLASS_DECLARATION(mca_llm_base_hostfile_data_t); OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_llm_base_hostfile_data_t);
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
@ -64,7 +64,7 @@ extern "C" {
* unit tests or mca_llm_base_open. In other words, you probably * unit tests or mca_llm_base_open. In other words, you probably
* don't want to call this function. * don't want to call this function.
*/ */
void mca_llm_base_setup(void); OMPI_DECLSPEC void mca_llm_base_setup(void);
/** /**
@ -73,7 +73,7 @@ extern "C" {
* \return ompi_list_t containing a list of * \return ompi_list_t containing a list of
* mca_llm_base_hostfile_node_t information. * mca_llm_base_hostfile_node_t information.
*/ */
ompi_list_t *mca_llm_base_parse_hostfile(const char* filename); OMPI_DECLSPEC ompi_list_t *mca_llm_base_parse_hostfile(const char* filename);
/** /**
@ -86,7 +86,7 @@ extern "C" {
* \note If the same key is used with different values, the hosts * \note If the same key is used with different values, the hosts
* are considered different. * are considered different.
*/ */
int mca_llm_base_collapse_resources(ompi_list_t *hostlist); OMPI_DECLSPEC int mca_llm_base_collapse_resources(ompi_list_t *hostlist);
/** /**
@ -96,7 +96,7 @@ extern "C" {
* \param hostlist An ompi_list_t containing * \param hostlist An ompi_list_t containing
* mca_llm_base_hostfile_node_t instances. * mca_llm_base_hostfile_node_t instances.
*/ */
int mca_llm_base_map_resources(int nodes, OMPI_DECLSPEC int mca_llm_base_map_resources(int nodes,
int procs, int procs,
ompi_list_t *hostlist); ompi_list_t *hostlist);
@ -106,12 +106,12 @@ extern "C" {
* mca_llm_base_hostfile_node_t instances and wrap it in an * mca_llm_base_hostfile_node_t instances and wrap it in an
* ompi_node_allocation_t list. * ompi_node_allocation_t list.
*/ */
ompi_list_t *mca_llm_base_create_node_allocation(ompi_list_t *hostlist); OMPI_DECLSPEC ompi_list_t *mca_llm_base_create_node_allocation(ompi_list_t *hostlist);
/** /**
* free a list of mca_llm_base_hostfile_node_t instances * free a list of mca_llm_base_hostfile_node_t instances
*/ */
void mca_llm_base_deallocate(ompi_list_t *hostlist); OMPI_DECLSPEC void mca_llm_base_deallocate(ompi_list_t *hostlist);
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }
@ -120,6 +120,6 @@ extern "C" {
/** /**
* Mutex wrapping the \code mca_llm_base_parse_hostfile function. * Mutex wrapping the \code mca_llm_base_parse_hostfile function.
*/ */
extern ompi_mutex_t mca_llm_base_parse_mutex; OMPI_DECLSPEC extern ompi_mutex_t mca_llm_base_parse_mutex;
#endif #endif

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

@ -2,8 +2,8 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include "mca/mca.h" #include "mca/mca.h"
#include "mca/base/base.h" #include "mca/base/base.h"
#include "mca/llm/llm.h" #include "mca/llm/llm.h"
@ -18,7 +18,11 @@
* module's public mca_base_module_t struct. * module's public mca_base_module_t struct.
*/ */
#ifdef WIN32
const mca_base_component_t *mca_llm_base_static_components[] = {NULL};
#else
#include "mca/llm/base/static-components.h" #include "mca/llm/base/static-components.h"
#endif
/* /*
* Global variables * Global variables

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

@ -2,9 +2,11 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif
#include "class/ompi_list.h" #include "class/ompi_list.h"
#include "runtime/runtime.h" #include "runtime/runtime.h"

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

@ -18,7 +18,7 @@ extern "C" {
/* /*
* Globally exported variable * Globally exported variable
*/ */
extern const mca_llm_base_component_1_0_0_t mca_llm_hostfile_component; OMPI_COMP_EXPORT extern const mca_llm_base_component_1_0_0_t mca_llm_hostfile_component;
/* /*
* llm API functions * llm API functions

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

@ -30,19 +30,19 @@ OBJ_CLASS_DECLARATION(mca_mpool_base_selected_module_t);
* Global functions for MCA: overall mpool open and close * Global functions for MCA: overall mpool open and close
*/ */
int mca_mpool_base_open(void); OMPI_DECLSPEC int mca_mpool_base_open(void);
int mca_mpool_base_init(bool *allow_multi_user_threads); OMPI_DECLSPEC int mca_mpool_base_init(bool *allow_multi_user_threads);
int mca_mpool_base_close(void); OMPI_DECLSPEC int mca_mpool_base_close(void);
mca_mpool_base_component_t* mca_mpool_component_lookup(const char* name); OMPI_DECLSPEC mca_mpool_base_component_t* mca_mpool_component_lookup(const char* name);
mca_mpool_base_module_t* mca_mpool_module_lookup(const char* name); OMPI_DECLSPEC mca_mpool_base_module_t* mca_mpool_module_lookup(const char* name);
/* /*
* Globals * Globals
*/ */
extern int mca_mpool_base_output; OMPI_DECLSPEC extern int mca_mpool_base_output;
extern ompi_list_t mca_mpool_base_components; OMPI_DECLSPEC extern ompi_list_t mca_mpool_base_components;
extern ompi_list_t mca_mpool_base_modules; OMPI_DECLSPEC extern ompi_list_t mca_mpool_base_modules;
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }

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

@ -2,8 +2,8 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include <stdio.h> #include <stdio.h>
#include "mca/mca.h" #include "mca/mca.h"
@ -18,7 +18,11 @@
* component's public mca_base_component_t struct. * component's public mca_base_component_t struct.
*/ */
#ifdef WIN32
const mca_base_component_t *mca_mpool_base_static_components[] = {NULL};
#else
#include "mca/mpool/base/static-components.h" #include "mca/mpool/base/static-components.h"
#endif
/* /*

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

@ -25,8 +25,8 @@ struct mca_mpool_sm_component_t {
}; };
typedef struct mca_mpool_sm_component_t mca_mpool_sm_component_t; typedef struct mca_mpool_sm_component_t mca_mpool_sm_component_t;
extern mca_mpool_sm_component_t mca_mpool_sm_component; OMPI_COMP_EXPORT extern mca_mpool_sm_component_t mca_mpool_sm_component;
extern mca_mpool_base_module_t mca_mpool_sm_module; OMPI_COMP_EXPORT extern mca_mpool_base_module_t mca_mpool_sm_module;
/* /*
* Returns base address of shared memory mapping. * Returns base address of shared memory mapping.

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

@ -33,54 +33,54 @@ extern "C" {
}; };
typedef struct ompi_name_server_namelist_t ompi_name_server_namelist_t; typedef struct ompi_name_server_namelist_t ompi_name_server_namelist_t;
OBJ_CLASS_DECLARATION(ompi_name_server_namelist_t); OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_name_server_namelist_t);
int mca_ns_base_open(void); OMPI_DECLSPEC int mca_ns_base_open(void);
int mca_ns_base_select(bool *allow_multi_user_threads, OMPI_DECLSPEC int mca_ns_base_select(bool *allow_multi_user_threads,
bool *have_hidden_threads); bool *have_hidden_threads);
int mca_ns_base_close(void); OMPI_DECLSPEC int mca_ns_base_close(void);
/* /*
* Base functions that are common to all implementations - can be overridden * Base functions that are common to all implementations - can be overridden
*/ */
int ns_base_assign_cellid_to_process(ompi_process_name_t* name); OMPI_DECLSPEC int ns_base_assign_cellid_to_process(ompi_process_name_t* name);
ompi_process_name_t* ns_base_create_process_name(mca_ns_base_cellid_t cell, OMPI_DECLSPEC ompi_process_name_t* ns_base_create_process_name(mca_ns_base_cellid_t cell,
mca_ns_base_jobid_t job, mca_ns_base_jobid_t job,
mca_ns_base_vpid_t vpid); mca_ns_base_vpid_t vpid);
ompi_process_name_t* ns_base_copy_process_name(ompi_process_name_t* name); OMPI_DECLSPEC ompi_process_name_t* ns_base_copy_process_name(ompi_process_name_t* name);
ompi_process_name_t* ns_base_convert_string_to_process_name(const char* name); OMPI_DECLSPEC ompi_process_name_t* ns_base_convert_string_to_process_name(const char* name);
char* ns_base_get_proc_name_string(const ompi_process_name_t* name); OMPI_DECLSPEC char* ns_base_get_proc_name_string(const ompi_process_name_t* name);
char* ns_base_get_vpid_string(const ompi_process_name_t* name); OMPI_DECLSPEC char* ns_base_get_vpid_string(const ompi_process_name_t* name);
char* ns_base_get_jobid_string(const ompi_process_name_t* name); OMPI_DECLSPEC char* ns_base_get_jobid_string(const ompi_process_name_t* name);
char* ns_base_convert_jobid_to_string(const mca_ns_base_jobid_t jobid); OMPI_DECLSPEC char* ns_base_convert_jobid_to_string(const mca_ns_base_jobid_t jobid);
char* ns_base_get_cellid_string(const ompi_process_name_t* name); OMPI_DECLSPEC char* ns_base_get_cellid_string(const ompi_process_name_t* name);
mca_ns_base_vpid_t ns_base_get_vpid(const ompi_process_name_t* name); OMPI_DECLSPEC mca_ns_base_vpid_t ns_base_get_vpid(const ompi_process_name_t* name);
mca_ns_base_jobid_t ns_base_get_jobid(const ompi_process_name_t* name); OMPI_DECLSPEC mca_ns_base_jobid_t ns_base_get_jobid(const ompi_process_name_t* name);
mca_ns_base_cellid_t ns_base_get_cellid(const ompi_process_name_t* name); OMPI_DECLSPEC mca_ns_base_cellid_t ns_base_get_cellid(const ompi_process_name_t* name);
int ns_base_compare(ompi_ns_cmp_bitmask_t fields, OMPI_DECLSPEC int ns_base_compare(ompi_ns_cmp_bitmask_t fields,
const ompi_process_name_t* name1, const ompi_process_name_t* name1,
const ompi_process_name_t* name2); const ompi_process_name_t* name2);
mca_ns_base_cellid_t ns_base_create_cellid(void); OMPI_DECLSPEC mca_ns_base_cellid_t ns_base_create_cellid(void);
mca_ns_base_jobid_t ns_base_create_jobid(void); OMPI_DECLSPEC mca_ns_base_jobid_t ns_base_create_jobid(void);
mca_ns_base_vpid_t ns_base_reserve_range(mca_ns_base_jobid_t job, mca_ns_base_vpid_t range); OMPI_DECLSPEC mca_ns_base_vpid_t ns_base_reserve_range(mca_ns_base_jobid_t job, mca_ns_base_vpid_t range);
int ns_base_free_name(ompi_process_name_t* name); OMPI_DECLSPEC int ns_base_free_name(ompi_process_name_t* name);
@ -88,11 +88,11 @@ extern "C" {
* globals that might be needed * globals that might be needed
*/ */
extern int mca_ns_base_output; OMPI_DECLSPEC extern int mca_ns_base_output;
extern mca_ns_base_module_t ompi_name_server; /* holds selected module's function pointers */ OMPI_DECLSPEC extern mca_ns_base_module_t ompi_name_server; /* holds selected module's function pointers */
extern bool mca_ns_base_selected; OMPI_DECLSPEC extern bool mca_ns_base_selected;
extern ompi_list_t mca_ns_base_components_available; OMPI_DECLSPEC extern ompi_list_t mca_ns_base_components_available;
extern mca_ns_base_component_t mca_ns_base_selected_component; OMPI_DECLSPEC extern mca_ns_base_component_t mca_ns_base_selected_component;
/* /*
* external API functions will be documented in the mca/ns/ns.h file * external API functions will be documented in the mca/ns/ns.h file

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

@ -2,8 +2,8 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include "mca/mca.h" #include "mca/mca.h"
#include "mca/base/base.h" #include "mca/base/base.h"
#include "mca/base/mca_base_param.h" #include "mca/base/mca_base_param.h"
@ -19,7 +19,11 @@
* component's public mca_base_component_t struct. * component's public mca_base_component_t struct.
*/ */
#ifdef WIN32
const mca_base_component_t *mca_ns_base_static_components[] = {NULL};
#else
#include "mca/ns/base/static-components.h" #include "mca/ns/base/static-components.h"
#endif
/* /*
* globals * globals

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

@ -2,14 +2,17 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif
#include "runtime/runtime.h" #include "runtime/runtime.h"
#include "util/output.h" #include "util/output.h"
#include "util/proc_info.h" #include "util/proc_info.h"

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

@ -20,7 +20,9 @@
#include "ompi_config.h" #include "ompi_config.h"
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif
#include <limits.h> #include <limits.h>
#include "include/types.h" #include "include/types.h"
@ -33,6 +35,7 @@
/* /*
* useful defines for bit-masks * useful defines for bit-masks
*/ */
#define OMPI_NS_CMP_CELLID 0x01 #define OMPI_NS_CMP_CELLID 0x01
#define OMPI_NS_CMP_JOBID 0x02 #define OMPI_NS_CMP_JOBID 0x02
#define OMPI_NS_CMP_VPID 0x04 #define OMPI_NS_CMP_VPID 0x04

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

@ -38,16 +38,16 @@ mca_ns_base_cellid_t ns_replica_create_cellid(void)
mca_ns_base_jobid_t ns_replica_create_jobid(void) mca_ns_base_jobid_t ns_replica_create_jobid(void)
{ {
mca_ns_replica_name_tracker_t *new; mca_ns_replica_name_tracker_t *new_nt;
OMPI_THREAD_LOCK(&mca_ns_replica_mutex); OMPI_THREAD_LOCK(&mca_ns_replica_mutex);
if ((MCA_NS_BASE_JOBID_MAX-2) >= mca_ns_replica_last_used_jobid) { if ((MCA_NS_BASE_JOBID_MAX-2) >= mca_ns_replica_last_used_jobid) {
mca_ns_replica_last_used_jobid = mca_ns_replica_last_used_jobid + 1; mca_ns_replica_last_used_jobid = mca_ns_replica_last_used_jobid + 1;
new = OBJ_NEW(mca_ns_replica_name_tracker_t); new_nt = OBJ_NEW(mca_ns_replica_name_tracker_t);
new->job = mca_ns_replica_last_used_jobid; new_nt->job = mca_ns_replica_last_used_jobid;
new->last_used_vpid = 0; new_nt->last_used_vpid = 0;
ompi_list_append(&mca_ns_replica_name_tracker, &new->item); ompi_list_append(&mca_ns_replica_name_tracker, &new_nt->item);
OMPI_THREAD_UNLOCK(&mca_ns_replica_mutex); OMPI_THREAD_UNLOCK(&mca_ns_replica_mutex);
return(mca_ns_replica_last_used_jobid); return(mca_ns_replica_last_used_jobid);
} else { } else {

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

@ -10,7 +10,9 @@
#define _MCA_OOB_BASE_H_ #define _MCA_OOB_BASE_H_
#include "mca/mca.h" #include "mca/mca.h"
#include "mca/ns/ns.h" #include "mca/ns/ns.h"
#include <sys/uio.h> #ifdef HAVE_SYS_UIO_H
#include <sys/uio.h>
#endif
#include "util/bufpack.h" #include "util/bufpack.h"
@ -18,9 +20,9 @@
* Well known address * Well known address
*/ */
extern ompi_process_name_t mca_oob_name_any; OMPI_DECLSPEC extern ompi_process_name_t mca_oob_name_any;
extern ompi_process_name_t mca_oob_name_seed; OMPI_DECLSPEC extern ompi_process_name_t mca_oob_name_seed;
extern ompi_process_name_t mca_oob_name_self; OMPI_DECLSPEC extern ompi_process_name_t mca_oob_name_self;
/** /**
* The wildcard for recieves from any peer. * The wildcard for recieves from any peer.
@ -92,7 +94,7 @@ extern "C" {
* an OOB module prior to calling this routine. * an OOB module prior to calling this routine.
*/ */
char* mca_oob_get_contact_info(void); OMPI_DECLSPEC char* mca_oob_get_contact_info(void);
/** /**
* Pre-populate the cache of contact information required by the OOB * Pre-populate the cache of contact information required by the OOB
@ -104,7 +106,7 @@ char* mca_oob_get_contact_info(void);
* *
*/ */
int mca_oob_set_contact_info(const char*); OMPI_DECLSPEC int mca_oob_set_contact_info(const char*);
/** /**
* A routine to ping a given process name to determine if it is reachable. * A routine to ping a given process name to determine if it is reachable.
@ -117,13 +119,13 @@ int mca_oob_set_contact_info(const char*);
* an error status is returned. * an error status is returned.
*/ */
int mca_oob_ping(ompi_process_name_t* name, struct timeval* tv); OMPI_DECLSPEC int mca_oob_ping(ompi_process_name_t* name, struct timeval* tv);
/** /**
* A barrier across all processes w/in the same job. * A barrier across all processes w/in the same job.
*/ */
int mca_oob_barrier(void); OMPI_DECLSPEC int mca_oob_barrier(void);
/** /**
* Extract from the contact info the peer process identifier. * Extract from the contact info the peer process identifier.
@ -137,7 +139,7 @@ int mca_oob_barrier(void);
* the process name. * the process name.
*/ */
int mca_oob_parse_contact_info(const char* uri, ompi_process_name_t* peer, char*** uris); OMPI_DECLSPEC int mca_oob_parse_contact_info(const char* uri, ompi_process_name_t* peer, char*** uris);
/** /**
@ -148,7 +150,7 @@ int mca_oob_parse_contact_info(const char* uri, ompi_process_name_t* peer, char*
* must currently be set before calling mca_oob_base_init(). * must currently be set before calling mca_oob_base_init().
*/ */
int mca_oob_set_contact_info(const char*); OMPI_DECLSPEC int mca_oob_set_contact_info(const char*);
/** /**
* Similiar to unix writev(2). * Similiar to unix writev(2).
@ -170,7 +172,7 @@ int mca_oob_set_contact_info(const char*);
* address. * address.
*/ */
int mca_oob_send( OMPI_DECLSPEC int mca_oob_send(
ompi_process_name_t* peer, ompi_process_name_t* peer,
struct iovec *msg, struct iovec *msg,
int count, int count,
@ -186,7 +188,7 @@ int mca_oob_send(
* @return OMPI error code (<0) on error or number of bytes actually sent. * @return OMPI error code (<0) on error or number of bytes actually sent.
*/ */
int mca_oob_send_packed( OMPI_DECLSPEC int mca_oob_send_packed(
ompi_process_name_t* peer, ompi_process_name_t* peer,
ompi_buffer_t buffer, ompi_buffer_t buffer,
int tag, int tag,
@ -222,7 +224,7 @@ int mca_oob_send_packed(
* *
*/ */
int mca_oob_recv( OMPI_DECLSPEC int mca_oob_recv(
ompi_process_name_t* peer, ompi_process_name_t* peer,
struct iovec *msg, struct iovec *msg,
int count, int count,
@ -246,7 +248,7 @@ int mca_oob_recv(
* *
*/ */
int mca_oob_recv_packed ( OMPI_DECLSPEC int mca_oob_recv_packed (
ompi_process_name_t* peer, ompi_process_name_t* peer,
ompi_buffer_t *buf, ompi_buffer_t *buf,
int* tag); int* tag);
@ -312,7 +314,7 @@ typedef void (*mca_oob_callback_packed_fn_t)(
* *
*/ */
int mca_oob_send_nb( OMPI_DECLSPEC int mca_oob_send_nb(
ompi_process_name_t* peer, ompi_process_name_t* peer,
struct iovec* msg, struct iovec* msg,
int count, int count,
@ -338,7 +340,7 @@ int mca_oob_send_nb(
* *
*/ */
int mca_oob_send_packed_nb( OMPI_DECLSPEC int mca_oob_send_packed_nb(
ompi_process_name_t* peer, ompi_process_name_t* peer,
ompi_buffer_t buffer, ompi_buffer_t buffer,
int tag, int tag,
@ -362,7 +364,7 @@ int mca_oob_send_packed_nb(
* that matches the call parameters. * that matches the call parameters.
*/ */
int mca_oob_recv_nb( OMPI_DECLSPEC int mca_oob_recv_nb(
ompi_process_name_t* peer, ompi_process_name_t* peer,
struct iovec* msg, struct iovec* msg,
int count, int count,
@ -379,7 +381,7 @@ int mca_oob_recv_nb(
* @return OMPI error code (<0) on error or number of bytes actually received. * @return OMPI error code (<0) on error or number of bytes actually received.
*/ */
int mca_oob_recv_cancel( OMPI_DECLSPEC int mca_oob_recv_cancel(
ompi_process_name_t* peer, ompi_process_name_t* peer,
int tag); int tag);
@ -399,7 +401,7 @@ int mca_oob_recv_cancel(
* that matches the call parameters. * that matches the call parameters.
*/ */
int mca_oob_recv_packed_nb( OMPI_DECLSPEC int mca_oob_recv_packed_nb(
ompi_process_name_t* peer, ompi_process_name_t* peer,
int tag, int tag,
int flags, int flags,

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

@ -2,8 +2,8 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include "mca/mca.h" #include "mca/mca.h"
#include "mca/base/base.h" #include "mca/base/base.h"
#include "mca/base/mca_base_param.h" #include "mca/base/mca_base_param.h"
@ -16,7 +16,11 @@
* component's public mca_base_component_t struct. * component's public mca_base_component_t struct.
*/ */
#ifdef WIN32
const mca_base_component_t *mca_oob_base_static_components[] = {NULL};
#else
#include "mca/oob/base/static-components.h" #include "mca/oob/base/static-components.h"
#endif
/* /*

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

@ -4,9 +4,13 @@
#include "ompi_config.h" #include "ompi_config.h"
#include <string.h> #include <string.h>
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif
#include "include/constants.h" #include "include/constants.h"
#include "mca/oob/oob.h" #include "mca/oob/oob.h"
#include "mca/oob/base/base.h" #include "mca/oob/base/base.h"

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

@ -2,12 +2,14 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include "include/constants.h" #include "include/constants.h"
#include "mca/oob/oob.h" #include "mca/oob/oob.h"
#include "mca/oob/base/base.h" #include "mca/oob/base/base.h"
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif
#include <string.h> #include <string.h>
#include "util/bufpack.h" #include "util/bufpack.h"

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

@ -2,14 +2,15 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include "include/constants.h" #include "include/constants.h"
#include "mca/oob/oob.h" #include "mca/oob/oob.h"
#include "mca/oob/base/base.h" #include "mca/oob/base/base.h"
#include <string.h> #include <string.h>
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif
/* /*
* Internal type to handle non-blocking packed receive. * Internal type to handle non-blocking packed receive.

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

@ -4,8 +4,14 @@
#include "ompi_config.h" #include "ompi_config.h"
#include <string.h> #include <string.h>
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif
#include "include/constants.h" #include "include/constants.h"
#include "mca/oob/oob.h" #include "mca/oob/oob.h"

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

@ -2,13 +2,16 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include "include/constants.h" #include "include/constants.h"
#include "mca/oob/oob.h" #include "mca/oob/oob.h"
#include "mca/oob/base/base.h" #include "mca/oob/base/base.h"
#include <string.h> #include <string.h>
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif
/* /*

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

@ -226,7 +226,8 @@ typedef mca_oob_base_component_1_0_0_t mca_oob_base_component_t;
* This is the first module on the list. This is here temporarily * This is the first module on the list. This is here temporarily
* to make things work * to make things work
*/ */
extern mca_oob_t mca_oob;
OMPI_DECLSPEC extern mca_oob_t mca_oob;
/** /**
* associate a component and a module that belongs to it * associate a component and a module that belongs to it
@ -259,11 +260,11 @@ OBJ_CLASS_DECLARATION(mca_oob_base_info_t);
/* /*
* Global struct holding the selected module's function pointers * Global struct holding the selected module's function pointers
*/ */
extern int mca_oob_base_output; OMPI_DECLSPEC extern int mca_oob_base_output;
extern char* mca_oob_base_include; OMPI_DECLSPEC extern char* mca_oob_base_include;
extern char* mca_oob_base_exclude; OMPI_DECLSPEC extern char* mca_oob_base_exclude;
extern ompi_list_t mca_oob_base_components; OMPI_DECLSPEC extern ompi_list_t mca_oob_base_components;
extern ompi_list_t mca_oob_base_modules; OMPI_DECLSPEC extern ompi_list_t mca_oob_base_modules;
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }

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

@ -3,11 +3,19 @@
*/ */
#include "ompi_config.h" #include "ompi_config.h"
#ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif
#include <fcntl.h> #include <fcntl.h>
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif
#ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h> #include <arpa/inet.h>
#endif
#include "util/output.h" #include "util/output.h"
#include "util/if.h" #include "util/if.h"
#include "mca/oob/tcp/oob_tcp.h" #include "mca/oob/tcp/oob_tcp.h"

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

@ -252,7 +252,7 @@ struct mca_oob_tcp_component_t {
*/ */
typedef struct mca_oob_tcp_component_t mca_oob_tcp_component_t; typedef struct mca_oob_tcp_component_t mca_oob_tcp_component_t;
extern mca_oob_tcp_component_t mca_oob_tcp_component; OMPI_COMP_EXPORT extern mca_oob_tcp_component_t mca_oob_tcp_component;
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)

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

@ -1,8 +1,16 @@
#include "ompi_config.h" #include "ompi_config.h"
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h> #include <sys/socket.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif
#ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h> #include <arpa/inet.h>
#endif
#include <string.h> #include <string.h>
#include "include/constants.h" #include "include/constants.h"
#include "util/if.h" #include "util/if.h"

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

@ -10,8 +10,12 @@
#define _MCA_OOB_TCP_ADDR_H_ #define _MCA_OOB_TCP_ADDR_H_
#include "ompi_config.h" #include "ompi_config.h"
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif
#include "class/ompi_object.h" #include "class/ompi_object.h"
#include "util/bufpack.h" #include "util/bufpack.h"
#include "mca/ns/ns.h" #include "mca/ns/ns.h"

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

@ -2,14 +2,26 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h" #include "ompi_config.h"
#ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif
#include <fcntl.h> #include <fcntl.h>
#ifdef HAVE_SYS_UIO_H
#include <sys/uio.h> #include <sys/uio.h>
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#include <sys/errno.h> #endif
#include <errno.h>
#ifdef HAVE_NETINET_TCP_H
#include <netinet/tcp.h> #include <netinet/tcp.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif
#ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h> #include <arpa/inet.h>
#endif
#include "util/output.h" #include "util/output.h"
#include "mca/gpr/base/base.h" #include "mca/gpr/base/base.h"
#include "mca/gpr/gpr.h" #include "mca/gpr/gpr.h"

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

@ -10,7 +10,9 @@
#define _MCA_OOB_TCP_PEER_H_ #define _MCA_OOB_TCP_PEER_H_
#include "ompi_config.h" #include "ompi_config.h"
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif
#include <string.h> #include <string.h>
#include "class/ompi_list.h" #include "class/ompi_list.h"

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

@ -19,22 +19,22 @@
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
extern "C" { extern "C" {
#endif #endif
int mca_pcm_base_open(void); OMPI_DECLSPEC int mca_pcm_base_open(void);
/* modules is a pointer to an array of pointers to mca_pcm_base_module_t structs */ /* modules is a pointer to an array of pointers to mca_pcm_base_module_t structs */
int mca_pcm_base_select(bool have_threads, OMPI_DECLSPEC int mca_pcm_base_select(bool have_threads,
int constraint, int constraint,
mca_pcm_base_module_t ***modules, mca_pcm_base_module_t ***modules,
size_t *modules_len); size_t *modules_len);
int mca_pcm_base_close(void); OMPI_DECLSPEC int mca_pcm_base_close(void);
/* communicate the important parts of our structs around */ /* communicate the important parts of our structs around */
int mca_pcm_base_send_schedule(FILE *fd, OMPI_DECLSPEC int mca_pcm_base_send_schedule(FILE *fd,
mca_ns_base_jobid_t jobid, mca_ns_base_jobid_t jobid,
ompi_rte_node_schedule_t *sched, ompi_rte_node_schedule_t *sched,
int num_procs); int num_procs);
int mca_pcm_base_recv_schedule(FILE *fd, OMPI_DECLSPEC int mca_pcm_base_recv_schedule(FILE *fd,
mca_ns_base_jobid_t *jobid, mca_ns_base_jobid_t *jobid,
ompi_rte_node_schedule_t *sched, ompi_rte_node_schedule_t *sched,
int *num_procs); int *num_procs);
@ -46,9 +46,9 @@ extern "C" {
* nodes when spawning processes into \c out_envp. All variables * nodes when spawning processes into \c out_envp. All variables
* starting with OMPI_ are copied. * starting with OMPI_ are copied.
*/ */
int mca_pcm_base_build_base_env(char **in_env, int *envc, char ***out_envp); OMPI_DECLSPEC int mca_pcm_base_build_base_env(char **in_env, int *envc, char ***out_envp);
char* mca_pcm_base_get_username(mca_llm_base_hostfile_node_t *node); OMPI_DECLSPEC char* mca_pcm_base_get_username(mca_llm_base_hostfile_node_t *node);
/** /**
* Get unique id string available from PCM components * Get unique id string available from PCM components
@ -58,15 +58,15 @@ extern "C" {
* for example). This function provides an interface for * for example). This function provides an interface for
* retriving that information from the components. * retriving that information from the components.
*/ */
char *mca_pcm_base_get_unique_id(void); OMPI_DECLSPEC char *mca_pcm_base_get_unique_id(void);
/* /*
* Globals * Globals
*/ */
extern int mca_pcm_base_output; OMPI_DECLSPEC extern int mca_pcm_base_output;
extern ompi_list_t mca_pcm_base_components_available; OMPI_DECLSPEC extern ompi_list_t mca_pcm_base_components_available;
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }

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

@ -8,7 +8,9 @@
#include "ompi_config.h" #include "ompi_config.h"
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif
#include "mca/ns/ns.h" #include "mca/ns/ns.h"
#include "runtime/runtime_types.h" #include "runtime/runtime_types.h"

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

@ -2,8 +2,8 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include "mca/mca.h" #include "mca/mca.h"
#include "mca/base/base.h" #include "mca/base/base.h"
#include "mca/pcm/pcm.h" #include "mca/pcm/pcm.h"
@ -18,8 +18,11 @@
* component's public mca_base_component_t struct. * component's public mca_base_component_t struct.
*/ */
#ifdef WIN32
const mca_base_component_t *mca_pcm_base_static_components[] = {NULL};
#else
#include "mca/pcm/base/static-components.h" #include "mca/pcm/base/static-components.h"
#endif
/* /*
* Global variables * Global variables

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

@ -15,7 +15,9 @@
#include "include/types.h" #include "include/types.h"
#include "class/ompi_list.h" #include "class/ompi_list.h"
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif
#ifndef MCA_PCM_WMI_H_ #ifndef MCA_PCM_WMI_H_
#define MCA_PCM_WMI_H_ #define MCA_PCM_WMI_H_

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

@ -4,8 +4,8 @@
* *
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include "pcm_wmi.h" #include "pcm_wmi.h"
#include "include/constants.h" #include "include/constants.h"
#include "include/types.h" #include "include/types.h"
@ -19,7 +19,9 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif
/* /*
* Struct of function pointers and all that to let us be initialized * Struct of function pointers and all that to let us be initialized

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

@ -19,19 +19,19 @@
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
extern "C" { extern "C" {
#endif #endif
int mca_pcmclient_base_open(void); OMPI_DECLSPEC int mca_pcmclient_base_open(void);
int mca_pcmclient_base_select(bool *allow_multi_user_threads, OMPI_DECLSPEC int mca_pcmclient_base_select(bool *allow_multi_user_threads,
bool *have_hidden_threads); bool *have_hidden_threads);
int mca_pcmclient_base_close(void); OMPI_DECLSPEC int mca_pcmclient_base_close(void);
/* /*
* Globals * Globals
*/ */
extern int mca_pcmclient_base_output; OMPI_DECLSPEC extern int mca_pcmclient_base_output;
extern ompi_list_t mca_pcmclient_base_components_available; OMPI_DECLSPEC extern ompi_list_t mca_pcmclient_base_components_available;
extern mca_pcmclient_base_component_t mca_pcmclient_base_selected_component; OMPI_DECLSPEC extern mca_pcmclient_base_component_t mca_pcmclient_base_selected_component;
extern mca_pcmclient_base_module_t mca_pcmclient; OMPI_DECLSPEC extern mca_pcmclient_base_module_t mca_pcmclient;
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }

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

@ -2,8 +2,8 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include "mca/mca.h" #include "mca/mca.h"
#include "mca/base/base.h" #include "mca/base/base.h"
#include "mca/pcmclient/pcmclient.h" #include "mca/pcmclient/pcmclient.h"
@ -15,7 +15,11 @@
* component's public mca_base_component_t struct. * component's public mca_base_component_t struct.
*/ */
#ifdef WIN32
const mca_base_component_t *mca_pcmclient_base_static_components[] = {NULL};
#else
#include "mca/pcmclient/base/static-components.h" #include "mca/pcmclient/base/static-components.h"
#endif
/* /*

12
src/mca/pcmclient/env/pcmclient_env.c поставляемый
Просмотреть файл

@ -2,21 +2,25 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include "mca/pcmclient/pcmclient.h" #include "mca/pcmclient/pcmclient.h"
#include "mca/pcmclient/env/pcmclient_env.h" #include "mca/pcmclient/env/pcmclient_env.h"
#include "include/types.h" #include "include/types.h"
#include "include/constants.h" #include "include/constants.h"
#include <stdio.h> #include <stdio.h>
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif
#include <string.h> #include <string.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif
extern int mca_pcmclient_env_num_procs; OMPI_COMP_EXPORT extern int mca_pcmclient_env_num_procs;
extern int mca_pcmclient_env_procid; OMPI_COMP_EXPORT extern int mca_pcmclient_env_procid;
extern ompi_process_name_t *mca_pcmclient_env_procs; OMPI_COMP_EXPORT extern ompi_process_name_t *mca_pcmclient_env_procs;
int int

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

@ -17,12 +17,14 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif
/* /*
* Struct of function pointers and all that to let us be initialized * Struct of function pointers and all that to let us be initialized
*/ */
mca_pcmclient_base_component_1_0_0_t mca_pcmclient_env_component = { OMPI_COMP_EXPORT mca_pcmclient_base_component_1_0_0_t mca_pcmclient_env_component = {
{ {
MCA_PCMCLIENT_BASE_VERSION_1_0_0, MCA_PCMCLIENT_BASE_VERSION_1_0_0,

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

@ -2,17 +2,21 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include "mca/pcmclient/pcmclient.h" #include "mca/pcmclient/pcmclient.h"
#include "mca/pcmclient/rms/pcmclient_rms.h" #include "mca/pcmclient/rms/pcmclient_rms.h"
#include "include/types.h" #include "include/types.h"
#include "include/constants.h" #include "include/constants.h"
#include <stdio.h> #include <stdio.h>
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif
#include <string.h> #include <string.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif
extern int mca_pcmclient_rms_num_procs; extern int mca_pcmclient_rms_num_procs;
extern int mca_pcmclient_rms_procid; extern int mca_pcmclient_rms_procid;

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

@ -17,7 +17,9 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif
/* /*
* Struct of function pointers and all that to let us be initialized * Struct of function pointers and all that to let us be initialized

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

@ -2,17 +2,21 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include "mca/pcmclient/pcmclient.h" #include "mca/pcmclient/pcmclient.h"
#include "mca/pcmclient/seed/pcmclient_seed.h" #include "mca/pcmclient/seed/pcmclient_seed.h"
#include "include/types.h" #include "include/types.h"
#include "include/constants.h" #include "include/constants.h"
#include <stdio.h> #include <stdio.h>
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif
#include <string.h> #include <string.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif
static ompi_process_name_t peers[] = { static ompi_process_name_t peers[] = {

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

@ -26,4 +26,4 @@ int mca_pcmclient_seed_finalize(void);
*/ */
int mca_pcmclient_seed_get_peers(ompi_process_name_t **peers, size_t *npeers); int mca_pcmclient_seed_get_peers(ompi_process_name_t **peers, size_t *npeers);
ompi_process_name_t* mca_pcmclient_seed_get_self(void); ompi_process_name_t* mca_pcmclient_seed_get_self(void);
OMPI_COMP_EXPORT mca_pcmclient_base_component_1_0_0_t mca_pcmclient_seed_component;

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

@ -17,7 +17,9 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif
/* /*
* Struct of function pointers and all that to let us be initialized * Struct of function pointers and all that to let us be initialized

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

@ -2,8 +2,8 @@
* $HEADER$ * $HEADER$
*/ */
#include "ompi_config.h"
#include "ompi_config.h"
#include "mca/pcmclient/pcmclient.h" #include "mca/pcmclient/pcmclient.h"
#include "mca/pcmclient/singleton/pcmclient_singleton.h" #include "mca/pcmclient/singleton/pcmclient_singleton.h"
#include "mca/oob/base/base.h" #include "mca/oob/base/base.h"
@ -12,12 +12,16 @@
#include "mca/ns/ns.h" #include "mca/ns/ns.h"
#include <stdio.h> #include <stdio.h>
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#include <sys/errno.h> #endif
#include <errno.h>
#include <string.h> #include <string.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif
extern ompi_process_name_t *mca_pcmclient_singleton_procs; OMPI_COMP_EXPORT extern ompi_process_name_t *mca_pcmclient_singleton_procs;
static static
int int

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

@ -17,12 +17,14 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif
/* /*
* Struct of function pointers and all that to let us be initialized * Struct of function pointers and all that to let us be initialized
*/ */
mca_pcmclient_base_component_1_0_0_t mca_pcmclient_singleton_component = { OMPI_COMP_EXPORT mca_pcmclient_base_component_1_0_0_t mca_pcmclient_singleton_component = {
{ {
MCA_PCMCLIENT_BASE_VERSION_1_0_0, MCA_PCMCLIENT_BASE_VERSION_1_0_0,
@ -41,7 +43,7 @@ mca_pcmclient_base_component_1_0_0_t mca_pcmclient_singleton_component = {
}; };
struct mca_pcmclient_base_module_1_0_0_t mca_pcmclient_singleton_1_0_0 = { OMPI_COMP_EXPORT struct mca_pcmclient_base_module_1_0_0_t mca_pcmclient_singleton_1_0_0 = {
mca_pcmclient_singleton_get_self, mca_pcmclient_singleton_get_self,
mca_pcmclient_singleton_get_peers, mca_pcmclient_singleton_get_peers,
}; };

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше