4c791e21d2
This includes suppressing picky-mode warnings about __VA_ARGS__, which we know are supported by any compilers we care about. Reviewed-by: Jeff Squyres <jsquyres@cisco.com> Reviewed-by: Reese Faucette <rfaucett@cisco.com> This commit was SVN r29590.
78 строки
2.8 KiB
C
78 строки
2.8 KiB
C
/*
|
|
* Copyright (c) 2013 Cisco Systems, Inc. All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
|
|
/* This header contains macros to help minimize usnic BTL differences between
|
|
* v1.6, v1.7, and trunk. Note that we are stomping on other namespaces,
|
|
* especially to make stock trunk code play nicely with v1.6 OMPI. */
|
|
|
|
#ifndef BTL_USNIC_COMPAT_H
|
|
#define BTL_USNIC_COMPAT_H
|
|
|
|
#if OMPI_MAJOR_VERSION == 1 && OMPI_MINOR_VERSION == 6
|
|
/* The usnic BTL will never be in the upstream v1.6 branch. The only v1.6
|
|
* variant will be a Cisco-supplied version. */
|
|
|
|
/* for per-file #ifdefs, esp. #includes */
|
|
# define OMPI_BTL_USNIC_CISCO_V1_6 1
|
|
|
|
#define opal_event_set(event_base_,A,B,C,D,E) \
|
|
opal_event_set(A,B,C,D,E)
|
|
# define opal_show_help orte_show_help
|
|
# define mca_base_var_check_exclusive(S,A,B,C,D,E,F) \
|
|
mca_base_param_check_exclusive_string(A,B,C,D,E,F)
|
|
# define ompi_process_info orte_process_info
|
|
# define ompi_rte_hash_name orte_util_hash_name
|
|
# define OMPI_PROC_MY_NAME ORTE_PROC_MY_NAME
|
|
# define OMPI_ERROR_LOG ORTE_ERROR_LOG
|
|
# define OMPI_NAME_PRINT ORTE_NAME_PRINT
|
|
|
|
# define USNIC_OUT mca_btl_base_output
|
|
# define proc_bound() ompi_btl_usnic_proc_bound_v1_6_helper()
|
|
|
|
/* the opal_if code lives inside the BTL dir in v1.6-cisco */
|
|
# define opal_ifbegin btl_usnic_opal_ifbegin
|
|
# define opal_ifnext btl_usnic_opal_ifnext
|
|
# define opal_ifindextoaddr btl_usnic_opal_ifindextoaddr
|
|
# define opal_ifindextomac btl_usnic_opal_ifindextomac
|
|
# define opal_ifindextomask btl_usnic_opal_ifindextomask
|
|
# define opal_ifindextomtu btl_usnic_opal_ifindextomtu
|
|
# define opal_ifindextoname btl_usnic_opal_ifindextoname
|
|
|
|
/* this _FOREACH macro is not present in v1.6 */
|
|
#define OPAL_LIST_FOREACH(item, list, type) \
|
|
for (item = (type *) (list)->opal_list_sentinel.opal_list_next ; \
|
|
item != (type *) &(list)->opal_list_sentinel ; \
|
|
item = (type *) ((opal_list_item_t *) (item))->opal_list_next)
|
|
|
|
#elif (OMPI_MAJOR_VERSION == 1 && OMPI_MINOR_VERSION >= 7) || \
|
|
(OMPI_MAJOR_VERSION >= 2)
|
|
/* v1.7, v1.8 (to be released), trunk (v1.9), or later */
|
|
/* TODO validate that all of these things actually work with v1.7 */
|
|
# define USNIC_OUT ompi_btl_base_framework.framework_output
|
|
# define proc_bound() (ompi_rte_proc_is_bound)
|
|
|
|
#else
|
|
# error OMPI version too old (< 1.6)
|
|
#endif
|
|
|
|
/* The FREE_LIST_*_MT stuff was introduced on the SVN trunk in r28722
|
|
(2013-07-04), but so far, has not been merged into the v1.7 branch
|
|
yet (2013-09-06). */
|
|
#ifndef OMPI_FREE_LIST_GET_MT
|
|
# define OMPI_FREE_LIST_GET_MT(list_, item_) \
|
|
do { \
|
|
int rc_ __opal_attribute_unused__; \
|
|
OMPI_FREE_LIST_GET(list_, item_, rc_); \
|
|
} while (0)
|
|
# define OMPI_FREE_LIST_RETURN_MT(list_, item_) \
|
|
OMPI_FREE_LIST_RETURN(list_, item_)
|
|
#endif
|
|
|
|
#endif /* BTL_USNIC_COMPAT_H */
|