From 0952f625e464e7fa6b60eb9bd3d9a90d9a1b38a8 Mon Sep 17 00:00:00 2001 From: Josh Hursey Date: Tue, 21 Jun 2005 22:48:57 +0000 Subject: [PATCH] Windows build checkpoint. 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. --- src/mca/pls/fork/pls_fork_component.c | 4 +- src/mca/pls/fork/pls_fork_module.c | 60 ++++++++++++++++++- src/mca/pls/proxy/pls_proxy.c | 2 +- src/mca/pls/proxy/pls_proxy_component.c | 2 +- src/mca/pls/rsh/pls_rsh_component.c | 4 +- src/mca/pls/rsh/pls_rsh_module.c | 59 +++++++++++++++++- src/mca/ras/base/ras_base_node.c | 2 +- src/mca/ras/host/ras_host.c | 2 +- src/mca/ras/host/ras_host_component.c | 2 +- src/mca/rds/hostfile/rds_hostfile.c | 4 +- src/mca/rds/hostfile/rds_hostfile_component.c | 7 ++- src/mca/rds/resfile/rds_resfile.c | 2 +- src/mca/rds/resfile/rds_resfile_component.c | 2 +- .../resfile/rds_resfile_parse_attributes.c | 2 +- src/tools/win_makefile | 17 ++++-- src/util/.compile_files | 1 + src/win32/generated_include/ompi_config.h | 32 ++++++++++ .../generated_include/pls-fork-version.h | 19 ++++++ .../generated_include/pls-proxy-version.h | 19 ++++++ src/win32/generated_include/pls-rsh-version.h | 19 ++++++ .../generated_include/pls_static-components.h | 14 +++++ .../generated_include/ras_static-components.h | 10 ++++ .../generated_include/rds_static-components.h | 12 ++++ src/win32/win_compat.h | 2 + src/win_makefile | 22 ++++++- 25 files changed, 293 insertions(+), 28 deletions(-) create mode 100644 src/win32/generated_include/pls-fork-version.h create mode 100644 src/win32/generated_include/pls-proxy-version.h create mode 100644 src/win32/generated_include/pls-rsh-version.h create mode 100644 src/win32/generated_include/pls_static-components.h create mode 100644 src/win32/generated_include/ras_static-components.h create mode 100644 src/win32/generated_include/rds_static-components.h diff --git a/src/mca/pls/fork/pls_fork_component.c b/src/mca/pls/fork/pls_fork_component.c index 2dec50374f..f4277480b3 100644 --- a/src/mca/pls/fork/pls_fork_component.c +++ b/src/mca/pls/fork/pls_fork_component.c @@ -22,13 +22,15 @@ #include "ompi_config.h" #include +#ifdef HAVE_UNISTD_H #include +#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" diff --git a/src/mca/pls/fork/pls_fork_module.c b/src/mca/pls/fork/pls_fork_module.c index 7967961aed..2d92441518 100644 --- a/src/mca/pls/fork/pls_fork_module.c +++ b/src/mca/pls/fork/pls_fork_module.c @@ -23,10 +23,14 @@ #include "ompi_config.h" #include +#ifdef HAVE_UNISTD_H #include +#endif #include #include +#ifdef HAVE_SYS_WAIT_H #include +#endif #include #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 } diff --git a/src/mca/pls/proxy/pls_proxy.c b/src/mca/pls/proxy/pls_proxy.c index 3da35bdafb..0c7bcc7d80 100644 --- a/src/mca/pls/proxy/pls_proxy.c +++ b/src/mca/pls/proxy/pls_proxy.c @@ -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" /* diff --git a/src/mca/pls/proxy/pls_proxy_component.c b/src/mca/pls/proxy/pls_proxy_component.c index bc2f1f7efa..a675f450e2 100644 --- a/src/mca/pls/proxy/pls_proxy_component.c +++ b/src/mca/pls/proxy/pls_proxy_component.c @@ -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" diff --git a/src/mca/pls/rsh/pls_rsh_component.c b/src/mca/pls/rsh/pls_rsh_component.c index efc0095566..fedbe78e09 100644 --- a/src/mca/pls/rsh/pls_rsh_component.c +++ b/src/mca/pls/rsh/pls_rsh_component.c @@ -22,14 +22,16 @@ #include "ompi_config.h" #include +#ifdef HAVE_UNISTD_H #include +#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" diff --git a/src/mca/pls/rsh/pls_rsh_module.c b/src/mca/pls/rsh/pls_rsh_module.c index 2e294746f2..cbfa6181f6 100644 --- a/src/mca/pls/rsh/pls_rsh_module.c +++ b/src/mca/pls/rsh/pls_rsh_module.c @@ -22,12 +22,16 @@ #include "orte_config.h" #include +#ifdef HAVE_UNISTD_H #include +#endif #include #include #include #include +#ifdef HAVE_SYS_WAIT_H #include +#endif #include #include @@ -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 } diff --git a/src/mca/ras/base/ras_base_node.c b/src/mca/ras/base/ras_base_node.c index 138d169929..d542991a46 100644 --- a/src/mca/ras/base/ras_base_node.c +++ b/src/mca/ras/base/ras_base_node.c @@ -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) { diff --git a/src/mca/ras/host/ras_host.c b/src/mca/ras/host/ras_host.c index c25b98ba57..c8dc66128b 100644 --- a/src/mca/ras/host/ras_host.c +++ b/src/mca/ras/host/ras_host.c @@ -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 diff --git a/src/mca/ras/host/ras_host_component.c b/src/mca/ras/host/ras_host_component.c index 628d5b259c..cfb9d99b34 100644 --- a/src/mca/ras/host/ras_host_component.c +++ b/src/mca/ras/host/ras_host_component.c @@ -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 diff --git a/src/mca/rds/hostfile/rds_hostfile.c b/src/mca/rds/hostfile/rds_hostfile.c index 04fa37fb4f..b1276c8f1f 100644 --- a/src/mca/rds/hostfile/rds_hostfile.c +++ b/src/mca/rds/hostfile/rds_hostfile.c @@ -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" diff --git a/src/mca/rds/hostfile/rds_hostfile_component.c b/src/mca/rds/hostfile/rds_hostfile_component.c index 5b87bccfc9..ce6ddb0757 100644 --- a/src/mca/rds/hostfile/rds_hostfile_component.c +++ b/src/mca/rds/hostfile/rds_hostfile_component.c @@ -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 } diff --git a/src/mca/rds/resfile/rds_resfile.c b/src/mca/rds/resfile/rds_resfile.c index fd7a614b0f..ae1a84134c 100644 --- a/src/mca/rds/resfile/rds_resfile.c +++ b/src/mca/rds/resfile/rds_resfile.c @@ -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 diff --git a/src/mca/rds/resfile/rds_resfile_component.c b/src/mca/rds/resfile/rds_resfile_component.c index 1520bf703d..93a5e39fcd 100644 --- a/src/mca/rds/resfile/rds_resfile_component.c +++ b/src/mca/rds/resfile/rds_resfile_component.c @@ -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 diff --git a/src/mca/rds/resfile/rds_resfile_parse_attributes.c b/src/mca/rds/resfile/rds_resfile_parse_attributes.c index 9c96539280..e22d0a1023 100644 --- a/src/mca/rds/resfile/rds_resfile_parse_attributes.c +++ b/src/mca/rds/resfile/rds_resfile_parse_attributes.c @@ -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) { diff --git a/src/tools/win_makefile b/src/tools/win_makefile index e8ff643437..9e4e37ad0d 100644 --- a/src/tools/win_makefile +++ b/src/tools/win_makefile @@ -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 diff --git a/src/util/.compile_files b/src/util/.compile_files index c53160751a..61e0f5606f 100644 --- a/src/util/.compile_files +++ b/src/util/.compile_files @@ -1,4 +1,5 @@ argv.c +basename.c cmd_line.c daemon_init.c few.c diff --git a/src/win32/generated_include/ompi_config.h b/src/win32/generated_include/ompi_config.h index 5fbfcfe501..c814d6905a 100644 --- a/src/win32/generated_include/ompi_config.h +++ b/src/win32/generated_include/ompi_config.h @@ -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 */ diff --git a/src/win32/generated_include/pls-fork-version.h b/src/win32/generated_include/pls-fork-version.h new file mode 100644 index 0000000000..4c24fa0d30 --- /dev/null +++ b/src/win32/generated_include/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_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 */ diff --git a/src/win32/generated_include/pls-proxy-version.h b/src/win32/generated_include/pls-proxy-version.h new file mode 100644 index 0000000000..d7f7be9940 --- /dev/null +++ b/src/win32/generated_include/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_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 */ diff --git a/src/win32/generated_include/pls-rsh-version.h b/src/win32/generated_include/pls-rsh-version.h new file mode 100644 index 0000000000..b49ab43cba --- /dev/null +++ b/src/win32/generated_include/pls-rsh-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 */ diff --git a/src/win32/generated_include/pls_static-components.h b/src/win32/generated_include/pls_static-components.h new file mode 100644 index 0000000000..00db9cbca0 --- /dev/null +++ b/src/win32/generated_include/pls_static-components.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 +}; diff --git a/src/win32/generated_include/ras_static-components.h b/src/win32/generated_include/ras_static-components.h new file mode 100644 index 0000000000..cce0b58158 --- /dev/null +++ b/src/win32/generated_include/ras_static-components.h @@ -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 +}; diff --git a/src/win32/generated_include/rds_static-components.h b/src/win32/generated_include/rds_static-components.h new file mode 100644 index 0000000000..a976e44c2c --- /dev/null +++ b/src/win32/generated_include/rds_static-components.h @@ -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 +}; diff --git a/src/win32/win_compat.h b/src/win32/win_compat.h index 827319e183..9422dbbbcf 100644 --- a/src/win32/win_compat.h +++ b/src/win32/win_compat.h @@ -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 diff --git a/src/win_makefile b/src/win_makefile index 4c927267c2..46b4dbda13 100644 --- a/src/win_makefile +++ b/src/win_makefile @@ -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