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.
Этот коммит содержится в:
родитель
f176f85e55
Коммит
46810fd155
@ -123,7 +123,7 @@ static inline size_t orte_value_array_get_size(orte_value_array_t* array)
|
|||||||
* return the new size.
|
* 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"
|
#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 "fn" layer of the registry API functions - not accessible from outside
|
||||||
* the replica
|
* 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,
|
int orte_gpr_replica_add_values(orte_gpr_notify_data_t **data,
|
||||||
orte_gpr_replica_subscribed_data_t *sptr);
|
orte_gpr_replica_subscribed_data_t *sptr);
|
||||||
|
|
||||||
|
#if defined(c_plusplus) || defined(__cplusplus)
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -36,7 +36,7 @@ int
|
|||||||
orte_gpr_replica_create_itag(orte_gpr_replica_itag_t *itag,
|
orte_gpr_replica_create_itag(orte_gpr_replica_itag_t *itag,
|
||||||
orte_gpr_replica_segment_t *seg, char *name)
|
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 i;
|
||||||
size_t len, len2;
|
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 */
|
/* okay, name is unique - create dictionary entry */
|
||||||
new = (orte_gpr_replica_dict_t*)malloc(sizeof(orte_gpr_replica_dict_t));
|
new_dict = (orte_gpr_replica_dict_t*)malloc(sizeof(orte_gpr_replica_dict_t));
|
||||||
if (NULL == new) {
|
if (NULL == new_dict) {
|
||||||
return ORTE_ERR_OUT_OF_RESOURCE;
|
return ORTE_ERR_OUT_OF_RESOURCE;
|
||||||
}
|
}
|
||||||
new->entry = strdup(name);
|
new_dict->entry = strdup(name);
|
||||||
if (0 > orte_pointer_array_add(&i, seg->dict, (void*)new)) {
|
if (0 > orte_pointer_array_add(&i, seg->dict, (void*)new_dict)) {
|
||||||
*itag = ORTE_GPR_REPLICA_ITAG_MAX;
|
*itag = ORTE_GPR_REPLICA_ITAG_MAX;
|
||||||
free(new);
|
free(new_dict);
|
||||||
return ORTE_ERR_OUT_OF_RESOURCE;
|
return ORTE_ERR_OUT_OF_RESOURCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
*itag = (orte_gpr_replica_itag_t)i;
|
*itag = (orte_gpr_replica_itag_t)i;
|
||||||
new->itag = *itag;
|
new_dict->itag = *itag;
|
||||||
return ORTE_SUCCESS;
|
return ORTE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,6 +26,10 @@
|
|||||||
|
|
||||||
#include "mca/gpr/replica/gpr_replica.h"
|
#include "mca/gpr/replica/gpr_replica.h"
|
||||||
|
|
||||||
|
#if defined(c_plusplus) || defined(__cplusplus)
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* DICTIONARY OPERATIONS
|
* DICTIONARY OPERATIONS
|
||||||
*/
|
*/
|
||||||
@ -162,4 +166,8 @@ typedef int (*orte_gpr_replica_find_seg_fn_t)
|
|||||||
(orte_gpr_replica_segment_t **seg,
|
(orte_gpr_replica_segment_t **seg,
|
||||||
bool create, char *segment);
|
bool create, char *segment);
|
||||||
|
|
||||||
|
#if defined(c_plusplus) || defined(__cplusplus)
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,6 +17,10 @@
|
|||||||
#ifndef ORTE_RMGR_TYPES_H
|
#ifndef ORTE_RMGR_TYPES_H
|
||||||
#define ORTE_RMGR_TYPES_H
|
#define ORTE_RMGR_TYPES_H
|
||||||
|
|
||||||
|
#if defined(c_plusplus) || defined(__cplusplus)
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* REGISTRY KEY NAMES FOR COMMON DATA
|
* REGISTRY KEY NAMES FOR COMMON DATA
|
||||||
*/
|
*/
|
||||||
@ -64,7 +68,7 @@ typedef struct {
|
|||||||
char *map_data;
|
char *map_data;
|
||||||
} orte_app_context_map_t;
|
} 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_map_t **map_data;
|
||||||
} orte_app_context_t;
|
} 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
|
#endif
|
||||||
|
@ -41,8 +41,7 @@ CPP_SUBDIRS = \
|
|||||||
oob/tcp \
|
oob/tcp \
|
||||||
ns/replica/src \
|
ns/replica/src \
|
||||||
ns/proxy/src \
|
ns/proxy/src \
|
||||||
gpr/proxy \
|
gpr/proxy
|
||||||
gpr/replica
|
|
||||||
|
|
||||||
#list of components that are not working as yet
|
#list of components that are not working as yet
|
||||||
CPP_EXCLUDE = pcm/wmi
|
CPP_EXCLUDE = pcm/wmi
|
||||||
@ -121,7 +120,8 @@ ADDLIBS = \
|
|||||||
|
|
||||||
all: \
|
all: \
|
||||||
clibs \
|
clibs \
|
||||||
cpplibs
|
cpplibs \
|
||||||
|
special
|
||||||
|
|
||||||
prebuild:
|
prebuild:
|
||||||
@cp '${gen_base}/coll-basic-version.h' '${copy_base}/coll/basic/'
|
@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); \
|
(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
|
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
|
install: win_makefile
|
||||||
@echo -n "Installing components ......................."
|
@echo -n "Installing components ......................."
|
||||||
@for dirs in ${CPP_SUBDIRS}; do \
|
@for dirs in ${CPP_SUBDIRS}; do \
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user