1
1

These are some changes which will enable dynamic builds to go through on Windows. Most of the changes are in adding/deleting windows symbol exporting things.

This commit was SVN r4377.
Этот коммит содержится в:
Prabhanjan Kambadur 2005-02-10 19:08:35 +00:00
родитель 1676187b3e
Коммит 2439244f0c
18 изменённых файлов: 69 добавлений и 36 удалений

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

@ -36,6 +36,10 @@
# define OMPI_DECLSPEC __declspec(dllimport) # define OMPI_DECLSPEC __declspec(dllimport)
# endif # endif
# endif # endif
# ifndef OMPI_DECLSPEC
/* this is for the applications. here WIN32 is defined, but no OMPI_BUILDING */
# define OMPI_DECLSPEC __declspec(dllimport)
# endif
#endif #endif
#ifndef OMPI_DECLSPEC #ifndef OMPI_DECLSPEC

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

@ -225,7 +225,7 @@ struct ompi_communicator_t {
* Initialise MPI_COMM_WORLD and MPI_COMM_SELF * Initialise MPI_COMM_WORLD and MPI_COMM_SELF
*/ */
int ompi_comm_init(void); int ompi_comm_init(void);
int ompi_comm_link_function(void); OMPI_DECLSPEC int ompi_comm_link_function(void);
/** /**
* extract the local group from a communicator * extract the local group from a communicator

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

@ -149,6 +149,8 @@ mca_allocator_base_module_t* mca_allocator_basic_component_init(
int mca_allocator_basic_finalize( int mca_allocator_basic_finalize(
mca_allocator_base_module_t * mem); mca_allocator_base_module_t * mem);
OMPI_COMP_EXPORT extern mca_allocator_base_component_t mca_allocator_basic_component;
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }
#endif #endif

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

@ -194,6 +194,8 @@ typedef struct mca_allocator_bucket_t mca_allocator_bucket_t;
*/ */
int mca_allocator_bucket_finalize(mca_allocator_base_module_t * mem); int mca_allocator_bucket_finalize(mca_allocator_base_module_t * mem);
OMPI_COMP_EXPORT extern mca_allocator_base_component_t mca_allocator_bucket_component;
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }
#endif #endif

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

@ -56,6 +56,7 @@
#include "mpi.h" #include "mpi.h"
#include "class/ompi_value_array.h"
#include "class/ompi_hash_table.h" #include "class/ompi_hash_table.h"
/* /*
@ -319,6 +320,9 @@ OMPI_DECLSPEC int mca_base_param_set_internal(size_t index, bool internal);
*/ */
OMPI_DECLSPEC int mca_base_param_finalize(void); OMPI_DECLSPEC int mca_base_param_finalize(void);
OMPI_DECLSPEC extern ompi_value_array_t mca_base_params;
OMPI_DECLSPEC extern ompi_list_t mca_base_param_file_values;
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }
#endif #endif

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

@ -21,6 +21,9 @@
#include "mca/gpr/base/base.h" #include "mca/gpr/base/base.h"
#if defined(c_plusplus) || defined (__cplusplus)
extern "C" {
#endif
/* /*
* Module open / close * Module open / close
*/ */
@ -71,6 +74,8 @@ extern ompi_condition_t mca_gpr_proxy_compound_cmd_condition;
extern int mca_gpr_proxy_compound_cmd_waiting; extern int mca_gpr_proxy_compound_cmd_waiting;
extern bool mca_gpr_proxy_silent_mode; extern bool mca_gpr_proxy_silent_mode;
OMPI_COMP_EXPORT extern mca_gpr_base_component_t mca_gpr_proxy_component;
/* /*
* Compound cmd functions * Compound cmd functions
*/ */
@ -203,4 +208,8 @@ mca_gpr_proxy_remove_notify_request(ompi_registry_notify_id_t local_idtag);
int mca_gpr_proxy_set_remote_idtag(ompi_registry_notify_id_t local_idtag, int mca_gpr_proxy_set_remote_idtag(ompi_registry_notify_id_t local_idtag,
ompi_registry_notify_id_t remote_idtag); ompi_registry_notify_id_t remote_idtag);
#if defined(c_plusplus) || defined (__cplusplus)
}
#endif
#endif #endif

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

@ -31,7 +31,7 @@
/* /*
* Struct of function pointers that need to be initialized * Struct of function pointers that need to be initialized
*/ */
OMPI_COMP_EXPORT mca_gpr_base_component_t mca_gpr_proxy_component = { mca_gpr_base_component_t mca_gpr_proxy_component = {
{ {
MCA_GPR_BASE_VERSION_1_0_0, MCA_GPR_BASE_VERSION_1_0_0,

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

@ -32,6 +32,9 @@
/* /*
* typedefs needed in replica component * typedefs needed in replica component
*/ */
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/* /*
* Define the registry "key" * Define the registry "key"
@ -259,7 +262,7 @@ extern ompi_mutex_t mca_gpr_replica_wait_for_compound_mutex; /**< Lock to p
extern ompi_condition_t mca_gpr_replica_compound_cmd_condition; /**< Condition variable to control thread access to build compound cmd */ extern ompi_condition_t mca_gpr_replica_compound_cmd_condition; /**< Condition variable to control thread access to build compound cmd */
extern int mca_gpr_replica_compound_cmd_waiting; /**< Count number of threads waiting to build compound cmd */ extern int mca_gpr_replica_compound_cmd_waiting; /**< Count number of threads waiting to build compound cmd */
extern bool mca_gpr_replica_silent_mode; /**< Indicates if local silent mode active */ extern bool mca_gpr_replica_silent_mode; /**< Indicates if local silent mode active */
OMPI_COMP_EXPORT extern mca_gpr_base_component_t mca_gpr_replica_component;
/* /*
* Module open / close * Module open / close
@ -431,4 +434,7 @@ void mca_gpr_replica_recv(int status, ompi_process_name_t* sender,
void mca_gpr_replica_remote_notify(ompi_process_name_t *recipient, int recipient_tag, void mca_gpr_replica_remote_notify(ompi_process_name_t *recipient, int recipient_tag,
ompi_registry_notify_message_t *message); ompi_registry_notify_message_t *message);
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif #endif

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

@ -30,7 +30,7 @@
/* /*
* Struct of function pointers that need to be initialized * Struct of function pointers that need to be initialized
*/ */
OMPI_COMP_EXPORT mca_gpr_base_component_t mca_gpr_replica_component = { mca_gpr_base_component_t mca_gpr_replica_component = {
{ {
MCA_GPR_BASE_VERSION_1_0_0, MCA_GPR_BASE_VERSION_1_0_0,

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

@ -42,6 +42,7 @@ int mca_ns_proxy_finalize(void);
* globals used within proxy component * globals used within proxy component
*/ */
OMPI_COMP_EXPORT extern mca_ns_base_component_t mca_ns_proxy_component;
extern ompi_process_name_t *mca_ns_my_replica; extern ompi_process_name_t *mca_ns_my_replica;
extern int mca_ns_proxy_debug; extern int mca_ns_proxy_debug;

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

@ -39,7 +39,7 @@
/* /*
* Struct of function pointers that need to be initialized * Struct of function pointers that need to be initialized
*/ */
OMPI_COMP_EXPORT mca_ns_base_component_t mca_ns_proxy_component = { mca_ns_base_component_t mca_ns_proxy_component = {
{ {
MCA_NS_BASE_VERSION_1_0_0, MCA_NS_BASE_VERSION_1_0_0,

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

@ -91,6 +91,8 @@ mca_ns_base_vpid_t mca_ns_replica_reserve_range(
*/ */
mca_ns_base_vpid_t mca_ns_replica_get_allocated_vpids(mca_ns_base_jobid_t jobid); mca_ns_base_vpid_t mca_ns_replica_get_allocated_vpids(mca_ns_base_jobid_t jobid);
OMPI_COMP_EXPORT extern mca_ns_base_component_t mca_ns_replica_component;
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }
#endif #endif

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

@ -41,7 +41,7 @@
/* /*
* Struct of function pointers that need to be initialized * Struct of function pointers that need to be initialized
*/ */
OMPI_COMP_EXPORT mca_ns_base_component_t mca_ns_replica_component = { mca_ns_base_component_t mca_ns_replica_component = {
{ {
MCA_NS_BASE_VERSION_1_0_0, MCA_NS_BASE_VERSION_1_0_0,

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

@ -290,10 +290,10 @@ OBJ_CLASS_DECLARATION(mca_oob_base_info_t);
/* /*
* Global functions for MCA overall collective open and close * Global functions for MCA overall collective open and close
*/ */
int mca_oob_base_open(void); OMPI_DECLSPEC int mca_oob_base_open(void);
int mca_oob_base_init(bool *allow_multi_user_threads, bool *have_hidden_threads); OMPI_DECLSPEC int mca_oob_base_init(bool *allow_multi_user_threads, bool *have_hidden_threads);
int mca_oob_base_module_init(void); OMPI_DECLSPEC int mca_oob_base_module_init(void);
int mca_oob_base_close(void); OMPI_DECLSPEC int mca_oob_base_close(void);
/* /*

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

@ -63,7 +63,7 @@ struct mca_pml_teg_t {
}; };
typedef struct mca_pml_teg_t mca_pml_teg_t; typedef struct mca_pml_teg_t mca_pml_teg_t;
OMPI_COMP_EXPORT extern mca_pml_teg_t mca_pml_teg; extern mca_pml_teg_t mca_pml_teg;
/* /*
@ -73,16 +73,16 @@ OMPI_COMP_EXPORT extern mca_pml_teg_t mca_pml_teg;
OMPI_COMP_EXPORT extern mca_pml_base_component_1_0_0_t mca_pml_teg_component; OMPI_COMP_EXPORT extern mca_pml_base_component_1_0_0_t mca_pml_teg_component;
OMPI_COMP_EXPORT extern int mca_pml_teg_component_open(void); extern int mca_pml_teg_component_open(void);
OMPI_COMP_EXPORT extern int mca_pml_teg_component_close(void); extern int mca_pml_teg_component_close(void);
OMPI_COMP_EXPORT extern mca_pml_base_module_t* mca_pml_teg_component_init( extern mca_pml_base_module_t* mca_pml_teg_component_init(
int *priority, int *priority,
bool *allow_multi_user_threads, bool *allow_multi_user_threads,
bool *have_hidden_threads bool *have_hidden_threads
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_component_fini(void); extern int mca_pml_teg_component_fini(void);
@ -90,37 +90,37 @@ OMPI_COMP_EXPORT extern int mca_pml_teg_component_fini(void);
* PML interface functions. * PML interface functions.
*/ */
OMPI_COMP_EXPORT extern int mca_pml_teg_add_comm( extern int mca_pml_teg_add_comm(
struct ompi_communicator_t* comm struct ompi_communicator_t* comm
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_del_comm( extern int mca_pml_teg_del_comm(
struct ompi_communicator_t* comm struct ompi_communicator_t* comm
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_add_procs( extern int mca_pml_teg_add_procs(
struct ompi_proc_t **procs, struct ompi_proc_t **procs,
size_t nprocs size_t nprocs
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_del_procs( extern int mca_pml_teg_del_procs(
struct ompi_proc_t **procs, struct ompi_proc_t **procs,
size_t nprocs size_t nprocs
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_add_ptls( extern int mca_pml_teg_add_ptls(
ompi_list_t *ptls ompi_list_t *ptls
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_control( extern int mca_pml_teg_control(
int param, int param,
void *size, void *size,
size_t value size_t value
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_progress(void); extern int mca_pml_teg_progress(void);
OMPI_COMP_EXPORT extern int mca_pml_teg_iprobe( extern int mca_pml_teg_iprobe(
int dst, int dst,
int tag, int tag,
struct ompi_communicator_t* comm, struct ompi_communicator_t* comm,
@ -128,24 +128,24 @@ OMPI_COMP_EXPORT extern int mca_pml_teg_iprobe(
ompi_status_public_t* status ompi_status_public_t* status
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_probe( extern int mca_pml_teg_probe(
int dst, int dst,
int tag, int tag,
struct ompi_communicator_t* comm, struct ompi_communicator_t* comm,
ompi_status_public_t* status ompi_status_public_t* status
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_cancel( extern int mca_pml_teg_cancel(
ompi_request_t* request ompi_request_t* request
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_cancelled( extern int mca_pml_teg_cancelled(
ompi_request_t* request, ompi_request_t* request,
int *flag int *flag
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_isend_init( extern int mca_pml_teg_isend_init(
void *buf, void *buf,
size_t count, size_t count,
ompi_datatype_t *datatype, ompi_datatype_t *datatype,
@ -156,7 +156,7 @@ OMPI_COMP_EXPORT extern int mca_pml_teg_isend_init(
struct ompi_request_t **request struct ompi_request_t **request
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_isend( extern int mca_pml_teg_isend(
void *buf, void *buf,
size_t count, size_t count,
ompi_datatype_t *datatype, ompi_datatype_t *datatype,
@ -167,7 +167,7 @@ OMPI_COMP_EXPORT extern int mca_pml_teg_isend(
struct ompi_request_t **request struct ompi_request_t **request
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_send( extern int mca_pml_teg_send(
void *buf, void *buf,
size_t count, size_t count,
ompi_datatype_t *datatype, ompi_datatype_t *datatype,
@ -177,7 +177,7 @@ OMPI_COMP_EXPORT extern int mca_pml_teg_send(
struct ompi_communicator_t* comm struct ompi_communicator_t* comm
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_irecv_init( extern int mca_pml_teg_irecv_init(
void *buf, void *buf,
size_t count, size_t count,
ompi_datatype_t *datatype, ompi_datatype_t *datatype,
@ -187,7 +187,7 @@ OMPI_COMP_EXPORT extern int mca_pml_teg_irecv_init(
struct ompi_request_t **request struct ompi_request_t **request
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_irecv( extern int mca_pml_teg_irecv(
void *buf, void *buf,
size_t count, size_t count,
ompi_datatype_t *datatype, ompi_datatype_t *datatype,
@ -197,7 +197,7 @@ OMPI_COMP_EXPORT extern int mca_pml_teg_irecv(
struct ompi_request_t **request struct ompi_request_t **request
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_recv( extern int mca_pml_teg_recv(
void *buf, void *buf,
size_t count, size_t count,
ompi_datatype_t *datatype, ompi_datatype_t *datatype,
@ -207,9 +207,9 @@ OMPI_COMP_EXPORT extern int mca_pml_teg_recv(
ompi_status_public_t* status ompi_status_public_t* status
); );
OMPI_COMP_EXPORT extern int mca_pml_teg_progress(void); extern int mca_pml_teg_progress(void);
OMPI_COMP_EXPORT extern int mca_pml_teg_start( extern int mca_pml_teg_start(
size_t count, size_t count,
ompi_request_t** requests ompi_request_t** requests
); );

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

@ -92,6 +92,7 @@ int mca_pml_teg_component_open(void)
mca_pml_teg_param_register_int("free_list_inc", 256); mca_pml_teg_param_register_int("free_list_inc", 256);
mca_pml_teg.teg_poll_iterations = mca_pml_teg.teg_poll_iterations =
mca_pml_teg_param_register_int("poll_iterations", 100000); mca_pml_teg_param_register_int("poll_iterations", 100000);
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }

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

@ -126,10 +126,12 @@ int ompi_mpi_init(int argc, char **argv, int requested, int *provided)
goto error; goto error;
} }
#ifndef WIN32
if (OMPI_SUCCESS != (ret = ompi_util_register_stackhandlers ())) { if (OMPI_SUCCESS != (ret = ompi_util_register_stackhandlers ())) {
error = "util_register_stackhandlers() failed"; error = "util_register_stackhandlers() failed";
goto error; goto error;
} }
#endif
/* initialize ompi procs */ /* initialize ompi procs */
if (OMPI_SUCCESS != (ret = ompi_proc_init())) { if (OMPI_SUCCESS != (ret = ompi_proc_init())) {

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

@ -70,7 +70,7 @@ OMPI_DECLSPEC extern bool ompi_debug_no_free_handles;
* Registers several MCA parameters and initializes corresponding * Registers several MCA parameters and initializes corresponding
* global variables to the values obtained from the MCA system. * global variables to the values obtained from the MCA system.
*/ */
int ompi_mpi_register_params(void); OMPI_DECLSPEC int ompi_mpi_register_params(void);
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }
#endif #endif