1
1
Many of the changes are include cleanups, and the
addition of pls, ras, and rds to libmpi for the tools
directory.

Some of the functionality is currently stubbed out.
Need to return to implement things properly so we
actually run under Windows. But I am focusing on just
building at the moment :)

This commit was SVN r6133.
Этот коммит содержится в:
Josh Hursey 2005-06-21 22:48:57 +00:00
родитель fdef4765cf
Коммит 0952f625e4
25 изменённых файлов: 293 добавлений и 28 удалений

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

@ -22,13 +22,15 @@
#include "ompi_config.h"
#include <stdlib.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include "include/orte_constants.h"
#include "util/argv.h"
#include "util/path.h"
#include "mca/pls/pls.h"
#include "pls_fork.h"
#include "mca/pls/fork/pls_fork.h"
#include "mca/pls/fork/pls-fork-version.h"
#include "mca/base/mca_base_param.h"

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

@ -23,10 +23,14 @@
#include "ompi_config.h"
#include <stdlib.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <errno.h>
#include <sys/types.h>
#ifdef HAVE_SYS_WAIT_H
#include <sys/wait.h>
#endif
#include <signal.h>
#include "include/orte_constants.h"
@ -52,7 +56,7 @@
#include "mca/rmaps/base/rmaps_base_map.h"
#include "mca/soh/soh.h"
#include "mca/soh/base/base.h"
#include "pls_fork.h"
#include "mca/pls/fork/pls_fork.h"
extern char **environ;
@ -93,11 +97,16 @@ static void orte_pls_fork_wait_proc(pid_t pid, int status, void* cbdata)
orte_iof.iof_flush();
/* set the state of this process */
#ifdef WIN32
printf("Unimplemented feature for windows\n");
rc = ORTE_ERROR;
#else
if(WIFEXITED(status)) {
rc = orte_soh.set_proc_soh(&proc->proc_name, ORTE_PROC_STATE_TERMINATED, status);
} else {
rc = orte_soh.set_proc_soh(&proc->proc_name, ORTE_PROC_STATE_ABORTED, status);
}
#endif
if(ORTE_SUCCESS != rc) {
ORTE_ERROR_LOG(rc);
}
@ -128,7 +137,11 @@ static int orte_pls_fork_proc(
/* should pull this information from MPIRUN instead of going with
default */
#if (! defined(HAVE_OPENPTY)) || (OMPI_ENABLE_PTY_SUPPORT == 0)
opts.usepty = 0;
#else
opts.usepty = OMPI_ENABLE_PTY_SUPPORT;
#endif
/* BWB - Fix post beta. Should setup stdin in orterun and
make part of the app_context */
@ -145,7 +158,43 @@ static int orte_pls_fork_proc(
return ORTE_ERR_OUT_OF_RESOURCE;
}
#ifdef WIN32
printf("Unimplemented feature for windows\n");
return ORTE_ERROR;
#if 0
{
/* Do fork the windows way: see ompi_few() for example */
HANDLE new_process;
STARTUPINFO si;
PROCESS_INFORMATION pi;
DWORD process_id;
ZeroMemory (&si, sizeof(si));
ZeroMemory (&pi, sizeof(pi));
GetStartupInfo (&si);
if (!CreateProcess (NULL,
"new process",
NULL,
NULL,
TRUE,
0,
NULL,
NULL,
&si,
&pi)){
/* actual error can be got by simply calling GetLastError() */
return OMPI_ERROR;
}
/* get child pid */
process_id = GetProcessId(&pi);
pid = (int) process_id;
}
#endif
#else
pid = fork();
#endif
if(pid < 0) {
ORTE_ERROR_LOG(ORTE_ERR_OUT_OF_RESOURCE);
return ORTE_ERR_OUT_OF_RESOURCE;
@ -245,17 +294,20 @@ static int orte_pls_fork_proc(
set_handler_default(SIGTERM);
set_handler_default(SIGINT);
#ifndef WIN32
set_handler_default(SIGHUP);
set_handler_default(SIGCHLD);
set_handler_default(SIGPIPE);
#endif
set_handler_default(SIGCHLD);
/* Unblock all signals, for many of the same reasons that we
set the default handlers, above. This is noticable on
Linux where the event library blocks SIGTERM, but we don't
want that blocked by the launched process. */
#ifndef WIN32
sigprocmask(0, 0, &sigs);
sigprocmask(SIG_UNBLOCK, &sigs, 0);
#endif
/* Exec the new executable */
@ -500,6 +552,7 @@ static int orte_pls_fork_launch_threaded(orte_jobid_t jobid)
static void set_handler_default(int sig)
{
#ifndef WIN32
struct sigaction act;
act.sa_handler = SIG_DFL;
@ -507,4 +560,5 @@ static void set_handler_default(int sig)
sigemptyset(&act.sa_mask);
sigaction(sig, &act, (struct sigaction *)0);
#endif
}

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

@ -24,7 +24,7 @@
#include "include/orte_constants.h"
#include "mca/pls/pls.h"
#include "pls_proxy.h"
#include "mca/pls/proxy/pls_proxy.h"
/*

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

@ -25,7 +25,7 @@
#include "include/orte_constants.h"
#include "mca/pls/pls.h"
#include "mca/pls/proxy/pls-proxy-version.h"
#include "pls_proxy.h"
#include "mca/pls/proxy/pls_proxy.h"
#include "mca/base/mca_base_param.h"

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

@ -22,14 +22,16 @@
#include "ompi_config.h"
#include <stdlib.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include "include/orte_constants.h"
#include "util/argv.h"
#include "util/path.h"
#include "util/basename.h"
#include "mca/pls/pls.h"
#include "pls_rsh.h"
#include "mca/pls/rsh/pls_rsh.h"
#include "mca/pls/rsh/pls-rsh-version.h"
#include "mca/base/mca_base_param.h"
#include "mca/rml/rml.h"

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

@ -22,12 +22,16 @@
#include "orte_config.h"
#include <stdlib.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#ifdef HAVE_SYS_WAIT_H
#include <sys/wait.h>
#endif
#include <fcntl.h>
#include <signal.h>
@ -56,7 +60,7 @@
#include "mca/rmgr/base/base.h"
#include "mca/soh/soh.h"
#include "mca/soh/base/base.h"
#include "pls_rsh.h"
#include "mca/pls/rsh/pls_rsh.h"
#define NUM_CONCURRENT 128
@ -111,6 +115,11 @@ static void orte_pls_rsh_wait_daemon(pid_t pid, int status, void* cbdata)
This should somehow be pushed up to the calling level, but we
don't really have a way to do that just yet.
*/
#ifdef WIN32
printf("This is not implemented yet for windows\n");
ORTE_ERROR_LOG(ORTE_ERROR);
return;
#else
if (! WIFEXITED(status) || ! WEXITSTATUS(status) == 0) {
/* get the mapping for our node so we can cancel the right things */
OBJ_CONSTRUCT(&map, ompi_list_t);
@ -154,6 +163,7 @@ static void orte_pls_rsh_wait_daemon(pid_t pid, int status, void* cbdata)
info->node->node_name);
ompi_output(0, "ERROR: There may be more information available from");
ompi_output(0, "ERROR: the remote shell (see above).");
if (WIFEXITED(status)) {
ompi_output(0, "ERROR: The daemon exited unexpectedly with status %d.",
WEXITSTATUS(status));
@ -172,6 +182,7 @@ static void orte_pls_rsh_wait_daemon(pid_t pid, int status, void* cbdata)
ompi_output(0, "No extra status information is available: %d.", status);
}
}
#endif /* WIN32 */
/* release any waiting threads */
OMPI_THREAD_LOCK(&mca_pls_rsh_component.lock);
@ -263,6 +274,7 @@ int orte_pls_rsh_launch(orte_jobid_t jobid)
* to launch on each node.
*/
OBJ_CONSTRUCT(&nodes, ompi_list_t);
rc = orte_ras_base_node_query_alloc(&nodes, jobid);
if(ORTE_SUCCESS != rc) {
goto cleanup;
@ -389,7 +401,43 @@ int orte_pls_rsh_launch(orte_jobid_t jobid)
}
/* rsh a child to exec the rsh/ssh session */
#ifdef WIN32
printf("Unimplemented feature for windows\n");
return;
#if 0
{
/* Do fork the windows way: see ompi_few() for example */
HANDLE new_process;
STARTUPINFO si;
PROCESS_INFORMATION pi;
DWORD process_id;
ZeroMemory (&si, sizeof(si));
ZeroMemory (&pi, sizeof(pi));
GetStartupInfo (&si);
if (!CreateProcess (NULL,
"new process",
NULL,
NULL,
TRUE,
0,
NULL,
NULL,
&si,
&pi)){
/* actual error can be got by simply calling GetLastError() */
return OMPI_ERROR;
}
/* get child pid */
process_id = GetProcessId(&pi);
pid = (int) process_id;
}
#endif
#else
pid = fork();
#endif
if(pid < 0) {
rc = ORTE_ERR_OUT_OF_RESOURCE;
goto cleanup;
@ -449,9 +497,11 @@ int orte_pls_rsh_launch(orte_jobid_t jobid)
set_handler_default(SIGTERM);
set_handler_default(SIGINT);
#ifndef WIN32
set_handler_default(SIGHUP);
set_handler_default(SIGCHLD);
set_handler_default(SIGPIPE);
#endif
set_handler_default(SIGCHLD);
/* Unblock all signals, for many of the same reasons that
we set the default handlers, above. This is noticable
@ -460,9 +510,10 @@ int orte_pls_rsh_launch(orte_jobid_t jobid)
specifically, we don't want it to be blocked by the
orted and then inherited by the ORTE processes that it
forks, making them unkillable by SIGTERM). */
#ifndef WIN32
sigprocmask(0, 0, &sigs);
sigprocmask(SIG_UNBLOCK, &sigs, 0);
#endif
/* setup environment */
env = ompi_argv_copy(environ);
@ -741,6 +792,7 @@ static int orte_pls_rsh_launch_threaded(orte_jobid_t jobid)
static void set_handler_default(int sig)
{
#ifndef WIN32
struct sigaction act;
act.sa_handler = SIG_DFL;
@ -748,4 +800,5 @@ static void set_handler_default(int sig)
sigemptyset(&act.sa_mask);
sigaction(sig, &act, (struct sigaction *)0);
#endif
}

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

@ -25,7 +25,7 @@
#include "mca/soh/soh_types.h"
#include "mca/gpr/gpr.h"
#include "mca/ns/ns.h"
#include "ras_base_node.h"
#include "mca/ras/base/ras_base_node.h"
static void orte_ras_base_node_construct(orte_ras_base_node_t* node)
{

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

@ -19,7 +19,7 @@
#include "mca/ras/base/base.h"
#include "mca/ras/base/ras_base_node.h"
#include "ras_host.h"
#include "mca/ras/host/ras_host.h"
#if HAVE_STRING_H
#include <string.h>

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

@ -20,7 +20,7 @@
#include "mca/base/mca_base_param.h"
#include "util/proc_info.h"
#include "util/output.h"
#include "ras_host.h"
#include "mca/ras/host/ras_host.h"
/*
* Local functions

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

@ -29,8 +29,8 @@
#include "mca/ns/ns.h"
#include "mca/ras/base/ras_base_node.h"
#include "mca/errmgr/errmgr.h"
#include "rds_hostfile.h"
#include "rds_hostfile_lex.h"
#include "mca/rds/hostfile/rds_hostfile.h"
#include "mca/rds/hostfile/rds_hostfile_lex.h"
#include "runtime/runtime_types.h"

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

@ -21,7 +21,7 @@
#include "util/proc_info.h"
#include "util/output.h"
#include "util/os_path.h"
#include "rds_hostfile.h"
#include "mca/rds/hostfile/rds_hostfile.h"
/*
* Local functions
@ -93,6 +93,10 @@ static char* orte_rds_hostfile_param_register_string(
*/
static int orte_rds_hostfile_open(void)
{
#ifdef WIN32
printf("Unimplemented feature for windows\n");
return ORTE_ERROR;
#else
char *path = orte_os_path(false, ORTE_SYSCONFDIR, "openmpi-default-hostfile", NULL);
OBJ_CONSTRUCT(&mca_rds_hostfile_component.lock, ompi_mutex_t);
mca_rds_hostfile_component.debug = orte_rds_hostfile_param_register_int("debug",1);
@ -100,6 +104,7 @@ static int orte_rds_hostfile_open(void)
mca_rds_hostfile_component.default_hostfile = (strcmp(mca_rds_hostfile_component.path,path) == 0);
free(path);
return ORTE_SUCCESS;
#endif
}

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

@ -22,7 +22,7 @@
#include "mca/errmgr/errmgr.h"
#include "mca/ns/ns.h"
#include "rds_resfile.h"
#include "mca/rds/resfile/rds_resfile.h"
#define ORTE_RDS_RESFILE_MAX_LINE_LENGTH 512

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

@ -20,7 +20,7 @@
#include "mca/base/mca_base_param.h"
#include "util/proc_info.h"
#include "util/output.h"
#include "rds_resfile.h"
#include "mca/rds/resfile/rds_resfile.h"
/*
* Local functions

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

@ -23,7 +23,7 @@
#include "util/output.h"
#include "mca/errmgr/errmgr.h"
#include "rds_resfile.h"
#include "mca/rds/resfile/rds_resfile.h"
int orte_rds_resfile_parse_fe(orte_rds_cell_desc_t *cell, FILE *fp)
{

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

@ -50,6 +50,7 @@ CFLAGS = \
/DWIN32 \
/DHAVE_CONFIG_H \
/DOMPI_SYSCONFDIR="\"${installdir}/share\"" \
/DOMPI_BUILDING_WIN_DSO=1 \
/EHsc \
/ML \
/W0 \
@ -65,6 +66,7 @@ CPPFLAGS = \
/TP \
/DHAVE_CONFIG_H \
/DOMPI_SYSCONFDIR="\"${installdir}/share\"" \
/DOMPI_BUILDING_WIN_DSO=1 \
/EHsc \
/ML \
/W0 \
@ -75,13 +77,14 @@ CPPFLAGS = \
/c
ADD_INCL = \
/DOMPI_WANT_F90_BINDINGS="\"not implemented\"" \
/DOMPI_WANT_F90_BINDINGS="\"not implemented\"" \
/DOMPI_BUILD_USER="\"not implemented\"" \
/DOMPI_BUILD_DATE="\"not implemented\"" \
/DOMPI_BUILD_HOST="\"not implemented\"" \
/DOMPI_WANT_SVN="\"not implemented\"" \
/DOMPI_SVN_R="\"not implemented\"" \
/DOMPI_CONFIGURE_USER="\"not implemented\"" \
/DOMPI_CONFIGURE_DATE="\"not implemented\"" \
/DOMPI_CONFIGURE_HOST="\"not implemented\"" \
/DOMPI_F90="\"not implemented\"" \
/DOMPI_WANT_F90_BINDINGS="\"not implemented\"" \
/DOMPI_BUILD_CFLAGS="\"not implemented\"" \
/DOMPI_BUILD_CXXFLAGS="\"not implemented\"" \
/DOMPI_BUILD_FFLAGS="\"not implemented\"" \
@ -134,12 +137,14 @@ all: \
cexes: ${C_SUBDIRS}
@for dirs in ${C_SUBDIRS}; do \
(echo "Entering $$dirs"; cd $$dirs; ${CC} ${CFLAGS} ${INCL} *.c; ${LINK} ${LINKFLAGS} ${ADDLIBS} *.obj;); \
(echo "Entering $$dirs"; cd $$dirs; \
${CC} ${CFLAGS} ${INCL} *.c; ${LINK} ${LINKFLAGS} ${ADDLIBS} *.obj;); \
done
cppexecs: ${CPP_SUBDIRS}
@for dirs in ${CPP_SUBDIRS}; do \
(echo "Entering $$dirs"; cd $$dirs; ${CC} ${CPPFLAGS} ${INCL} ${ADD_INCL} *.cc; ${LINK} ${LINKFLAGS} ${ADDLIBS} *.obj;); \
(echo "Entering $$dirs"; cd $$dirs; \
${CC} ${CPPFLAGS} ${INCL} ${ADD_INCL} *.cc; ${LINK} ${LINKFLAGS} ${ADDLIBS} *.obj;); \
done
install: win_makefile

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

@ -1,4 +1,5 @@
argv.c
basename.c
cmd_line.c
daemon_init.c
few.c

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

@ -264,6 +264,9 @@
/* Alignment of fortran complex */
#define OMPI_ALIGNMENT_FORTRAN_COMPLEX 0
#define OMPI_ALIGNMENT_FORTRAN_COMPLEX8 OMPI_ALIGNMENT_FORTRAN_COMPLEX
#define OMPI_ALIGNMENT_FORTRAN_COMPLEX16 OMPI_ALIGNMENT_FORTRAN_COMPLEX
#define OMPI_ALIGNMENT_FORTRAN_COMPLEX32 OMPI_ALIGNMENT_FORTRAN_COMPLEX
/* Alignment of fortran double complex */
#define OMPI_ALIGNMENT_FORTRAN_DBLCOMPLEX 0
@ -273,12 +276,21 @@
/* Alignment of fortran integer */
#define OMPI_ALIGNMENT_FORTRAN_INT 0
#define OMPI_ALIGNMENT_FORTRAN_INTEGER OMPI_ALIGNMENT_FORTRAN_INT
#define OMPI_ALIGNMENT_FORTRAN_INTEGER1 OMPI_ALIGNMENT_FORTRAN_INT
#define OMPI_ALIGNMENT_FORTRAN_INTEGER2 OMPI_ALIGNMENT_FORTRAN_INT
#define OMPI_ALIGNMENT_FORTRAN_INTEGER4 OMPI_ALIGNMENT_FORTRAN_INT
#define OMPI_ALIGNMENT_FORTRAN_INTEGER8 OMPI_ALIGNMENT_FORTRAN_INT
#define OMPI_ALIGNMENT_FORTRAN_INTEGER16 OMPI_ALIGNMENT_FORTRAN_INT
/* Alignment of fortran logical */
#define OMPI_ALIGNMENT_FORTRAN_LOGICAL
/* alignment of fortran real */
#define OMPI_ALIGNMENT_FORTRAN_REAL 0
#define OMPI_ALIGNMENT_FORTRAN_REAL4 OMPI_ALIGNMENT_FORTRAN_REAL
#define OMPI_ALIGNMENT_FORTRAN_REAL8 OMPI_ALIGNMENT_FORTRAN_REAL
#define OMPI_ALIGNMENT_FORTRAN_REAL16 OMPI_ALIGNMENT_FORTRAN_REAL
/* Alignment of type int */
#define OMPI_ALIGNMENT_INT 4
@ -306,9 +318,11 @@
/* OMPI underlying C compiler */
#define OMPI_CC "cl"
#define OMPI_CC_ABSOLUTE OMPI_CC
/* OMPI underlying C++ compiler */
#define OMPI_CXX "cl"
#define OMPI_CXX_ABSOLUTE OMPI_CXX
/* Whether we want developer-level debugging code or not */
#define OMPI_ENABLE_DEBUG 1
@ -325,8 +339,14 @@
/* Do we want to use the event library signal handlers */
#define OMPI_EVENT_USE_SIGNALS 1
/* OMPI underlying F90 compiler */
#define OMPI_WANT_F90_BINDINGS 0
#define OMPI_F90 0
#define OMPI_F90_ABSOLUTE OMPI_F90
/* OMPI underlying F77 compiler */
#define OMPI_F77 "g77"
#define OMPI_F77_ABSOLUTE OMPI_F77
/* Whether fortran symbols are all caps or not */
#define OMPI_F77_CAPS 0
@ -399,6 +419,9 @@
/* Size of fortran complex */
#define OMPI_SIZEOF_FORTRAN_COMPLEX 0
#define OMPI_SIZEOF_FORTRAN_COMPLEX8 OMPI_SIZEOF_FORTRAN_COMPLEX
#define OMPI_SIZEOF_FORTRAN_COMPLEX16 OMPI_SIZEOF_FORTRAN_COMPLEX
#define OMPI_SIZEOF_FORTRAN_COMPLEX32 OMPI_SIZEOF_FORTRAN_COMPLEX
/* Size of fortran double complex */
#define OMPI_SIZEOF_FORTRAN_DBLCOMPLEX 0
@ -408,12 +431,21 @@
/* Size of fortran integer */
#define OMPI_SIZEOF_FORTRAN_INT 4
#define OMPI_SIZEOF_FORTRAN_INTEGER OMPI_SIZEOF_FORTRAN_INT
#define OMPI_SIZEOF_FORTRAN_INTEGER1 OMPI_SIZEOF_FORTRAN_INT
#define OMPI_SIZEOF_FORTRAN_INTEGER2 OMPI_SIZEOF_FORTRAN_INT
#define OMPI_SIZEOF_FORTRAN_INTEGER4 OMPI_SIZEOF_FORTRAN_INT
#define OMPI_SIZEOF_FORTRAN_INTEGER8 OMPI_SIZEOF_FORTRAN_INT
#define OMPI_SIZEOF_FORTRAN_INTEGER16 OMPI_SIZEOF_FORTRAN_INT
/* Size of fortran logical */
#define OMPI_SIZEOF_FORTRAN_LOGICAL 4
/* Size of fortran real */
#define OMPI_SIZEOF_FORTRAN_REAL 4
#define OMPI_SIZEOF_FORTRAN_REAL4 OMPI_SIZEOF_FORTRAN_REAL
#define OMPI_SIZEOF_FORTRAN_REAL8 OMPI_SIZEOF_FORTRAN_REAL
#define OMPI_SIZEOF_FORTRAN_REAL16 OMPI_SIZEOF_FORTRAN_REAL
/* Do threads have different pids (pthreads on linux) */
/* #undef OMPI_THREADS_HAVE_DIFFERENT_PIDS */

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

@ -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_pls_fork_VERSION_H
#define MCA_pls_fork_VERSION_H
#define MCA_pls_fork_MAJOR_VERSION 1
#define MCA_pls_fork_MINOR_VERSION 0
#define MCA_pls_fork_RELEASE_VERSION 0
#define MCA_pls_fork_ALPHA_VERSION 0
#define MCA_pls_fork_BETA_VERSION 0
#define MCA_pls_fork_SVN_VERSION "r6108"
#define MCA_pls_fork_VERSION "1.0r6108"
#endif /* MCA_pls_fork_VERSION_H */

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

@ -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_pls_proxy_VERSION_H
#define MCA_pls_proxy_VERSION_H
#define MCA_pls_proxy_MAJOR_VERSION 1
#define MCA_pls_proxy_MINOR_VERSION 0
#define MCA_pls_proxy_RELEASE_VERSION 0
#define MCA_pls_proxy_ALPHA_VERSION 0
#define MCA_pls_proxy_BETA_VERSION 0
#define MCA_pls_proxy_SVN_VERSION "r6108"
#define MCA_pls_proxy_VERSION "1.0r6108"
#endif /* MCA_pls_proxy_VERSION_H */

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

@ -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_pls_rsh_VERSION_H
#define MCA_pls_rsh_VERSION_H
#define MCA_pls_rsh_MAJOR_VERSION 1
#define MCA_pls_rsh_MINOR_VERSION 0
#define MCA_pls_rsh_RELEASE_VERSION 0
#define MCA_pls_rsh_ALPHA_VERSION 0
#define MCA_pls_rsh_BETA_VERSION 0
#define MCA_pls_rsh_SVN_VERSION "r6108"
#define MCA_pls_rsh_VERSION "1.0r6108"
#endif /* MCA_pls_rsh_VERSION_H */

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

@ -0,0 +1,14 @@
/*
* $HEADER$
*/
extern const mca_base_component_t mca_pls_rsh_component;
extern const mca_base_component_t mca_pls_proxy_component;
extern const mca_base_component_t mca_pls_fork_component;
const mca_base_component_t *mca_pls_base_static_components[] = {
&mca_pls_rsh_component,
&mca_pls_proxy_component,
&mca_pls_fork_component,
NULL
};

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

@ -0,0 +1,10 @@
/*
* $HEADER$
*/
extern const mca_base_component_t mca_ras_host_component;
const mca_base_component_t *mca_ras_base_static_components[] = {
&mca_ras_host_component,
NULL
};

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

@ -0,0 +1,12 @@
/*
* $HEADER$
*/
extern const mca_base_component_t mca_rds_resfile_component;
extern const mca_base_component_t mca_rds_hostfile_component;
const mca_base_component_t *mca_rds_base_static_components[] = {
&mca_rds_resfile_component,
&mca_rds_hostfile_component,
NULL
};

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

@ -82,8 +82,10 @@ typedef unsigned int uint;
/* Ugly signal mapping since windows doesn't support the full spectrum
* just a very small subset... :/
* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_raise.asp
* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnucmg/html/UCMGch09.asp
*/
#define SIGCHLD SIGILL
#define SIGKILL WM_QUIT
/* Note:
* The two defines below are likely to break the orte_wait

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

@ -70,6 +70,15 @@ C_SUBDIRS = \
mca/oob/base \
mca/pml/base \
mca/ptl/base \
mca/pls/base \
mca/pls/fork \
mca/pls/proxy \
mca/pls/rsh \
mca/ras/base \
mca/ras/host \
mca/rds/base \
mca/rds/hostfile \
mca/rds/resfile \
mca/topo/base \
mca/schema/base \
win32/generated_source \
@ -145,6 +154,9 @@ STATIC_LIBS = \
ptl\
oob\
pml\
pls\
ras \
rds \
schema \
iof
@ -184,15 +196,19 @@ prebuild:
@echo "Creating mca_base_parse_paramfile_lex.c"
@/usr/bin/flex -t -Pmca_base_yy "${topdir}/src/mca/base/mca_base_parse_paramfile_lex.l" \
>"${topdir}/src/mca/base/mca_base_parse_paramfile_lex.c" 2>/dev/null
# @echo "Creating mca_llm_base_parse_hostfile_lex.c"
# @/usr/bin/flex -t -Pmca_llm_base_yy "${topdir}/src/mca/llm/base/llm_base_parse_hostfile_lex.l" \
# > "${topdir}/src/mca/llm/base/mca_llm_base_parse_hostfile_lex.c" 2>/dev/null
@echo "Creating mca_rds_hostfile_lex.c"
@/usr/bin/flex -t -Porte_rds_hostfile_ "${topdir}/src/mca/rds/hostfile/rds_hostfile_lex.l" \
> "${topdir}/src/mca/rds/hostfile/rds_hostfile_lex.c" 2>/dev/null
@echo "Creating show_help_lex.c"
@/usr/bin/flex -t -Pompi_show_help_yy "${topdir}/src/util/show_help_lex.l" \
> "${topdir}/src/util/show_help_lex.c" 2>/dev/null
@for dirs in ${STATIC_LIBS}; do \
(dir="mca/$${dirs}/base"; echo "Making Static components in $${dirs}"; comp_name="$${dirs}_static-components.h"; cp "${topdir}/src/win32/generated_include/$${comp_name}" "$${dir}/static-components.h";); \
done
@echo "Creating Version Headers"
@cp "${topdir}/src/win32/generated_include/pls-fork-version.h" "${topdir}/src/mca/pls/fork/pls-fork-version.h";
@cp "${topdir}/src/win32/generated_include/pls-proxy-version.h" "${topdir}/src/mca/pls/proxy/pls-proxy-version.h";
@cp "${topdir}/src/win32/generated_include/pls-rsh-version.h" "${topdir}/src/mca/pls/rsh/pls-rsh-version.h";
@for dirs in ${C_SUBDIRS}; do \
(echo "Entering $${dirs}"; cd $$dirs; if test -f .compile_files; then (more .compile_files| xargs -i'{}' ln -f '{}' ${topdir}/src/Debug/'{}'); else (ls *.c 2>/dev/null | xargs -i'{}' ln -f '{}' ${topdir}/src/Debug/'{}'); fi); \
done