Update the CMake scripts, solve a few export symbols for Windows.
This commit was SVN r23976.
Этот коммит содержится в:
родитель
9c15a30b75
Коммит
505efbaa27
@ -94,6 +94,8 @@ INCLUDE (find_flex)
|
|||||||
FIND_FLEX()
|
FIND_FLEX()
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(opal)
|
ADD_SUBDIRECTORY(opal)
|
||||||
|
# set up the libevent include dirs
|
||||||
|
INCLUDE_DIRECTORIES (${LIBEVENT_INCLUDE_DIRS})
|
||||||
ADD_SUBDIRECTORY(ompi)
|
ADD_SUBDIRECTORY(ompi)
|
||||||
ADD_SUBDIRECTORY(orte)
|
ADD_SUBDIRECTORY(orte)
|
||||||
|
|
||||||
|
@ -7,58 +7,85 @@
|
|||||||
# $HEADER$
|
# $HEADER$
|
||||||
#
|
#
|
||||||
|
|
||||||
MESSAGE(STATUS "configure libevent.")
|
# Only one libevent component should be used, selection is done by editing .windows in_use property.
|
||||||
|
|
||||||
# set up event include directories.
|
FILE(STRINGS ${CURRENT_PATH}/.windows IN_USE REGEX "^in_use=")
|
||||||
INCLUDE_DIRECTORIES ("${CURRENT_PATH}/libevent/compat"
|
|
||||||
"${CURRENT_PATH}/libevent/WIN32-Code/"
|
|
||||||
"${CURRENT_PATH}/libevent/include/"
|
|
||||||
"${CURRENT_PATH}/libevent"
|
|
||||||
"${PROJECT_BINARY_DIR}/mca/event/libevent207/libevent/include/")
|
|
||||||
|
|
||||||
IF(WIN32)
|
IF(IN_USE STREQUAL "0")
|
||||||
|
|
||||||
# generating config.h
|
SET(RESULT FALSE)
|
||||||
# windows doesn't need this file, just make an empty one
|
|
||||||
FILE(WRITE ${PROJECT_BINARY_DIR}/mca/event/libevent207/libevent/include/config.h
|
|
||||||
" /* config.h. Generated automatically by CMake. */ ")
|
|
||||||
|
|
||||||
SET(RESULT_SOURCE_FILES
|
ELSE(IN_USE STREQUAL "0")
|
||||||
${RESULT_SOURCE_FILES}
|
|
||||||
${CURRENT_PATH}/libevent207_component.c
|
|
||||||
${CURRENT_PATH}/libevent207_module.c
|
|
||||||
#system sources
|
|
||||||
${CURRENT_PATH}/libevent/win32select.c
|
|
||||||
${CURRENT_PATH}/libevent/evthread_win32.c
|
|
||||||
${CURRENT_PATH}/libevent/buffer_iocp.c
|
|
||||||
${CURRENT_PATH}/libevent/event_iocp.c
|
|
||||||
${CURRENT_PATH}/libevent/bufferevent_async.c
|
|
||||||
#core sources
|
|
||||||
${CURRENT_PATH}/libevent/event.c
|
|
||||||
${CURRENT_PATH}/libevent/evthread.c
|
|
||||||
${CURRENT_PATH}/libevent/buffer.c
|
|
||||||
${CURRENT_PATH}/libevent/bufferevent.c
|
|
||||||
${CURRENT_PATH}/libevent/bufferevent_sock.c
|
|
||||||
${CURRENT_PATH}/libevent/bufferevent_filter.c
|
|
||||||
${CURRENT_PATH}/libevent/bufferevent_pair.c
|
|
||||||
${CURRENT_PATH}/libevent/listener.c
|
|
||||||
${CURRENT_PATH}/libevent/bufferevent_ratelim.c
|
|
||||||
${CURRENT_PATH}/libevent/evmap.c
|
|
||||||
${CURRENT_PATH}/libevent/log.c
|
|
||||||
${CURRENT_PATH}/libevent/evutil.c
|
|
||||||
${CURRENT_PATH}/libevent/evutil_rand.c
|
|
||||||
${CURRENT_PATH}/libevent/strlcpy.c
|
|
||||||
${CURRENT_PATH}/libevent/signal.c
|
|
||||||
${CURRENT_PATH}/libevent/event_tagging.c
|
|
||||||
)
|
|
||||||
|
|
||||||
OMPI_DEF(OPAL_HAVE_WORKING_EVENTOPS 1
|
IF(LIBEVENT_CONFIG_DONE)
|
||||||
"Whether our event component has working event operations or not if not, then assumedly it only has working timers and signals)." 0 1)
|
MESSAGE(STATUS "multiple libevent selected, only one is configured.")
|
||||||
|
SET(RESULT FALSE)
|
||||||
|
|
||||||
ELSE(WIN32)
|
ELSE(LIBEVENT_CONFIG_DONE)
|
||||||
SET(RESULT_SOURCE_FILES
|
SET(LIBEVENT_FOUND TRUE CACHE INTERNAL "allow only one event mca.")
|
||||||
${RESULT_SOURCE_FILES}
|
|
||||||
)
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
SET(RESULT TRUE)
|
MESSAGE(STATUS "configure libevent.")
|
||||||
|
|
||||||
|
# set up event include directories.
|
||||||
|
INCLUDE_DIRECTORIES ("${CURRENT_PATH}/libevent/compat"
|
||||||
|
"${CURRENT_PATH}/libevent/WIN32-Code/"
|
||||||
|
"${CURRENT_PATH}/libevent/include/"
|
||||||
|
"${CURRENT_PATH}/libevent"
|
||||||
|
"${PROJECT_BINARY_DIR}/mca/event/libevent207/libevent/include/")
|
||||||
|
|
||||||
|
SET(LIBEVENT_INCLUDE_DIRS ${CURRENT_PATH}/libevent/compat;${CURRENT_PATH}/libevent/WIN32-Code/;${CURRENT_PATH}/libevent/include/;${CURRENT_PATH}/libevent;${PROJECT_BINARY_DIR}/mca/event/libevent207/libevent/include/
|
||||||
|
CACHE INTERNAL "the libevent dirs that have to be included on the top level.")
|
||||||
|
|
||||||
|
IF(WIN32)
|
||||||
|
|
||||||
|
# generating config.h
|
||||||
|
# windows doesn't need this file, just make an empty one
|
||||||
|
FILE(WRITE ${PROJECT_BINARY_DIR}/mca/event/libevent207/libevent/include/config.h
|
||||||
|
" /* config.h. Generated automatically by CMake. */ ")
|
||||||
|
|
||||||
|
SET(RESULT_SOURCE_FILES
|
||||||
|
${RESULT_SOURCE_FILES}
|
||||||
|
${CURRENT_PATH}/libevent207_component.c
|
||||||
|
${CURRENT_PATH}/libevent207_module.c
|
||||||
|
#system sources
|
||||||
|
${CURRENT_PATH}/libevent/win32select.c
|
||||||
|
${CURRENT_PATH}/libevent/evthread_win32.c
|
||||||
|
${CURRENT_PATH}/libevent/buffer_iocp.c
|
||||||
|
${CURRENT_PATH}/libevent/event_iocp.c
|
||||||
|
${CURRENT_PATH}/libevent/bufferevent_async.c
|
||||||
|
#core sources
|
||||||
|
${CURRENT_PATH}/libevent/event.c
|
||||||
|
${CURRENT_PATH}/libevent/evthread.c
|
||||||
|
${CURRENT_PATH}/libevent/buffer.c
|
||||||
|
${CURRENT_PATH}/libevent/bufferevent.c
|
||||||
|
${CURRENT_PATH}/libevent/bufferevent_sock.c
|
||||||
|
${CURRENT_PATH}/libevent/bufferevent_filter.c
|
||||||
|
${CURRENT_PATH}/libevent/bufferevent_pair.c
|
||||||
|
${CURRENT_PATH}/libevent/listener.c
|
||||||
|
${CURRENT_PATH}/libevent/bufferevent_ratelim.c
|
||||||
|
${CURRENT_PATH}/libevent/evmap.c
|
||||||
|
${CURRENT_PATH}/libevent/log.c
|
||||||
|
${CURRENT_PATH}/libevent/evutil.c
|
||||||
|
${CURRENT_PATH}/libevent/evutil_rand.c
|
||||||
|
${CURRENT_PATH}/libevent/strlcpy.c
|
||||||
|
${CURRENT_PATH}/libevent/signal.c
|
||||||
|
${CURRENT_PATH}/libevent/event_tagging.c
|
||||||
|
)
|
||||||
|
|
||||||
|
OMPI_DEF(OPAL_HAVE_WORKING_EVENTOPS 1
|
||||||
|
"Whether our event component has working event operations or not if not, then assumedly it only has working timers and signals)." 0 1)
|
||||||
|
|
||||||
|
OMPI_DEF(MCA_event_IMPLEMENTATION_HEADER "${CURRENT_PATH}/libevent207.h"
|
||||||
|
"Header to include for event implementation" 1 1)
|
||||||
|
|
||||||
|
ELSE(WIN32)
|
||||||
|
SET(RESULT_SOURCE_FILES
|
||||||
|
${RESULT_SOURCE_FILES}
|
||||||
|
)
|
||||||
|
ENDIF(WIN32)
|
||||||
|
|
||||||
|
SET(RESULT TRUE)
|
||||||
|
|
||||||
|
ENDIF(LIBEVENT_CONFIG_DONE)
|
||||||
|
|
||||||
|
ENDIF(IN_USE STREQUAL "0")
|
@ -9,5 +9,5 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
not_single_shared_lib=1
|
not_single_shared_lib=1
|
||||||
|
in_use=1
|
||||||
required_check=opal_event_config
|
required_check=opal_event_config
|
@ -321,7 +321,7 @@ int event_base_set(struct event_base *, struct event *);
|
|||||||
registered.
|
registered.
|
||||||
@see event_loopexit(), event_base_loop()
|
@see event_loopexit(), event_base_loop()
|
||||||
*/
|
*/
|
||||||
int event_base_loop(struct event_base *, int);
|
OPAL_DECLSPEC int event_base_loop(struct event_base *, int);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Exit the event loop after the specified time (threadsafe variant).
|
Exit the event loop after the specified time (threadsafe variant).
|
||||||
@ -469,7 +469,7 @@ typedef void (*event_callback_fn)(evutil_socket_t, short, void *);
|
|||||||
@see event_add(), event_del(), event_once()
|
@see event_add(), event_del(), event_once()
|
||||||
|
|
||||||
*/
|
*/
|
||||||
int event_assign(struct event *, struct event_base *, evutil_socket_t, short, event_callback_fn, void *);
|
OPAL_DECLSPEC int event_assign(struct event *, struct event_base *, evutil_socket_t, short, event_callback_fn, void *);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Create and allocate a new event structure, ready to be added.
|
Create and allocate a new event structure, ready to be added.
|
||||||
@ -523,7 +523,7 @@ int event_base_once(struct event_base *, evutil_socket_t, short, event_callback_
|
|||||||
@return 0 if successful, or -1 if an error occurred
|
@return 0 if successful, or -1 if an error occurred
|
||||||
@see event_del(), event_set()
|
@see event_del(), event_set()
|
||||||
*/
|
*/
|
||||||
int event_add(struct event *, const struct timeval *);
|
OPAL_DECLSPEC int event_add(struct event *, const struct timeval *);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Remove an event from the set of monitored events.
|
Remove an event from the set of monitored events.
|
||||||
@ -536,7 +536,7 @@ int event_add(struct event *, const struct timeval *);
|
|||||||
@return 0 if successful, or -1 if an error occurred
|
@return 0 if successful, or -1 if an error occurred
|
||||||
@see event_add()
|
@see event_add()
|
||||||
*/
|
*/
|
||||||
int event_del(struct event *);
|
OPAL_DECLSPEC int event_del(struct event *);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -42,7 +42,9 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
#ifndef WIN32
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "opal/class/opal_object.h"
|
#include "opal/class/opal_object.h"
|
||||||
#include "opal/threads/mutex.h"
|
#include "opal/threads/mutex.h"
|
||||||
|
@ -1121,7 +1121,7 @@ int orte_wait_event(opal_event_t **event, orte_trigger_event_t *trig,
|
|||||||
trig->name = strdup(trigger_name);
|
trig->name = strdup(trigger_name);
|
||||||
|
|
||||||
/* create the event */
|
/* create the event */
|
||||||
*event = OBJ_NEW(opal_event_t);
|
*event = (opal_event_t *) malloc(sizeof(opal_event_t));
|
||||||
|
|
||||||
/* setup the trigger and its associated lock */
|
/* setup the trigger and its associated lock */
|
||||||
OBJ_CONSTRUCT(trig, orte_trigger_event_t);
|
OBJ_CONSTRUCT(trig, orte_trigger_event_t);
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user