1
1

Some fixes to get the subset of mca directories compile under Windows.

Added a special case under the win_makefile for the gpr/replica directory
since it contains multiple dependant layers of directories.

Added a couple of OMPI_DECLSPECs. Change a conflicting variable name in
gpr_replica_dict_tl.c from 'new' to 'new_dict'.

This commit was SVN r5712.
Этот коммит содержится в:
Josh Hursey 2005-05-13 16:55:14 +00:00
родитель f176f85e55
Коммит 46810fd155
6 изменённых файлов: 43 добавлений и 13 удалений

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

@ -123,7 +123,7 @@ static inline size_t orte_value_array_get_size(orte_value_array_t* array)
* return the new size.
*/
int orte_value_array_set_size(orte_value_array_t* array, size_t size);
OMPI_DECLSPEC int orte_value_array_set_size(orte_value_array_t* array, size_t size);
/**

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

@ -28,6 +28,10 @@
#include "mca/gpr/replica/gpr_replica.h"
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/*
* The "fn" layer of the registry API functions - not accessible from outside
* the replica
@ -285,5 +289,8 @@ int orte_gpr_replica_purge_subscriptions(orte_process_name_t *proc);
int orte_gpr_replica_add_values(orte_gpr_notify_data_t **data,
orte_gpr_replica_subscribed_data_t *sptr);
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif

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

@ -36,7 +36,7 @@ int
orte_gpr_replica_create_itag(orte_gpr_replica_itag_t *itag,
orte_gpr_replica_segment_t *seg, char *name)
{
orte_gpr_replica_dict_t **ptr, *new;
orte_gpr_replica_dict_t **ptr, *new_dict;
size_t i;
size_t len, len2;
@ -64,19 +64,19 @@ orte_gpr_replica_create_itag(orte_gpr_replica_itag_t *itag,
}
/* okay, name is unique - create dictionary entry */
new = (orte_gpr_replica_dict_t*)malloc(sizeof(orte_gpr_replica_dict_t));
if (NULL == new) {
new_dict = (orte_gpr_replica_dict_t*)malloc(sizeof(orte_gpr_replica_dict_t));
if (NULL == new_dict) {
return ORTE_ERR_OUT_OF_RESOURCE;
}
new->entry = strdup(name);
if (0 > orte_pointer_array_add(&i, seg->dict, (void*)new)) {
new_dict->entry = strdup(name);
if (0 > orte_pointer_array_add(&i, seg->dict, (void*)new_dict)) {
*itag = ORTE_GPR_REPLICA_ITAG_MAX;
free(new);
free(new_dict);
return ORTE_ERR_OUT_OF_RESOURCE;
}
*itag = (orte_gpr_replica_itag_t)i;
new->itag = *itag;
new_dict->itag = *itag;
return ORTE_SUCCESS;
}

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

@ -26,6 +26,10 @@
#include "mca/gpr/replica/gpr_replica.h"
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/*
* DICTIONARY OPERATIONS
*/
@ -162,4 +166,8 @@ typedef int (*orte_gpr_replica_find_seg_fn_t)
(orte_gpr_replica_segment_t **seg,
bool create, char *segment);
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif

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

@ -17,6 +17,10 @@
#ifndef ORTE_RMGR_TYPES_H
#define ORTE_RMGR_TYPES_H
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/*
* REGISTRY KEY NAMES FOR COMMON DATA
*/
@ -64,7 +68,7 @@ typedef struct {
char *map_data;
} orte_app_context_map_t;
OBJ_CLASS_DECLARATION(orte_app_context_map_t);
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(orte_app_context_map_t);
/**
@ -96,6 +100,10 @@ typedef struct {
orte_app_context_map_t **map_data;
} orte_app_context_t;
OBJ_CLASS_DECLARATION(orte_app_context_t);
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(orte_app_context_t);
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif

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

@ -41,8 +41,7 @@ CPP_SUBDIRS = \
oob/tcp \
ns/replica/src \
ns/proxy/src \
gpr/proxy \
gpr/replica
gpr/proxy
#list of components that are not working as yet
CPP_EXCLUDE = pcm/wmi
@ -121,7 +120,8 @@ ADDLIBS = \
all: \
clibs \
cpplibs
cpplibs \
special
prebuild:
@cp '${gen_base}/coll-basic-version.h' '${copy_base}/coll/basic/'
@ -138,6 +138,13 @@ cpplibs: ${CPP_SUBDIRS} prebuild
(libname=`echo mca_$${dirs}.dll | sed 's/\/src[\/]*//g' | sed 's/\//_/g' | sed 's/_\./\./g'` ; cd $$dirs; echo ${CC} ${CPPFLAGS} ${INCL} *.c; ${CC} ${CPPFLAGS} ${INCL} *.c; echo ${LINK} ${LINKFLAGS} ${ADDLIBS} /OUT:$${libname} *.obj; ${LINK} ${LINKFLAGS} ${ADDLIBS} /OUT:$${libname} *.obj); \
done
special: prebuild
(cd gpr/replica/api_layer; echo ${CC} ${CPPFLAGS} ${INCL} *.c; ${CC} ${CPPFLAGS} ${INCL} *.c);
(cd gpr/replica/communications; echo ${CC} ${CPPFLAGS} ${INCL} *.c; ${CC} ${CPPFLAGS} ${INCL} *.c);
(cd gpr/replica/functional_layer; echo ${CC} ${CPPFLAGS} ${INCL} *.c; ${CC} ${CPPFLAGS} ${INCL} *.c);
(cd gpr/replica/transition_layer; echo ${CC} ${CPPFLAGS} ${INCL} *.c; ${CC} ${CPPFLAGS} ${INCL} *.c);
(cd gpr/replica; echo ${CC} ${CPPFLAGS} ${INCL} *.c; ${CC} ${CPPFLAGS} ${INCL} *.c; echo ${LINK} ${LINKFLAGS} ${ADDLIBS} /OUT:$${libname} *.obj; ${LINK} ${LINKFLAGS} ${ADDLIBS} /OUT:mca_gpr_replica *.obj transition_layer/*.obj functional_layer/*.obj communications/*.obj api_layer/*.obj);
install: win_makefile
@echo -n "Installing components ......................."
@for dirs in ${CPP_SUBDIRS}; do \