[openib-general] Re: [PATCH] uDAPL/uDAT autotools - Package for udat, udaplcma, udaplscm

James Lentini jlentini at netapp.com
Thu Mar 16 08:57:41 PST 2006


Arlin,

I like this approach better than the one Moni took. I'd rather keep 
the original makefiles clean and add a new "package" build system.

A coulpe of questions:

On Wed, 15 Mar 2006, Arlin Davis wrote:

> Index: dapl/udapl/dapl_init.c
> ===================================================================
> --- dapl/udapl/dapl_init.c	(revision 5854)
> +++ dapl/udapl/dapl_init.c	(working copy)
> @@ -66,8 +66,7 @@
>   *
>   * Return Values:
>   */
> -void 
> -dapl_init ( void )
> +static void __attribute__((constructor)) dapl_init ( void )
>  {
>      DAT_RETURN		dat_status;
>  
> @@ -118,7 +117,6 @@ dapl_init ( void )
>  
>  bail:
>      dapl_dbg_log (DAPL_DBG_TYPE_ERR, "ERROR: dapl_init failed\n");
> -    dapl_fini ();

Why is this call being removed?

>      return;
>  }
>  
> @@ -140,8 +138,7 @@ bail:
>   *
>   * Return Values:
>   */
> -void 
> -dapl_fini ( void )
> +static void __attribute__((destructor)) dapl_fini ( void )
>  {
>      DAT_RETURN		dat_status;
>  
> Index: dapl/udapl/libdaplscm.map
> ===================================================================
> --- dapl/udapl/libdaplscm.map	(revision 0)
> +++ dapl/udapl/libdaplscm.map	(revision 0)
> @@ -0,0 +1,257 @@
> +DAPL_CMA_1.2 {

Should this be "DAPL_SCM_1.2"?

> +        global:

Do any of these need to be global?

> +		dapl_cno_alloc;
> +		dapl_cno_create;
> +		dapl_cno_dealloc;
> +		dapl_cno_free;
> +		dapl_cno_modify_agent;
> +		dapl_cno_query;
> +		dapl_cno_trigger;
> +		dapl_cno_wait;
> +		dapl_cr_accept;
> +		dapl_cr_handoff;
> +		dapl_cr_query;
> +		dapl_cr_reject;
> +		dapl_ep_alloc;
> +		dapl_ep_check_recv_completion_flags;
> +		dapl_ep_check_request_completion_flags;
> +		dapl_ep_connect;
> +		dapl_ep_create;
> +		dapl_ep_create_with_srq;
> +		dapl_ep_dealloc;
> +		dapl_ep_disconnect;
> +		dapl_ep_dup_connect;
> +		dapl_ep_free;
> +		dapl_ep_get_status;
> +		dapl_ep_modify;
> +		dapl_ep_post_rdma_read;
> +		dapl_ep_post_rdma_write;
> +		dapl_ep_post_recv;
> +		dapl_ep_post_send;
> +		dapl_ep_post_send_req;
> +		dapl_ep_query;
> +		dapl_ep_recv_query;
> +		dapl_ep_reset;
> +		dapl_ep_set_watermark;
> +		dapl_evd_clear_unwaitable;
> +		dapl_evd_connection_callback;
> +		dapl_evd_cq_async_error_callback;
> +		dapl_evd_create;
> +		dapl_evd_dequeue;
> +		dapl_evd_disable;
> +		dapl_evd_dto_callback;
> +		dapl_evd_enable;
> +		dapl_evd_free;
> +		dapl_evd_modify_cno;
> +		dapl_evd_post_se;
> +		dapl_evd_qp_async_error_callback;
> +		dapl_evd_query;
> +		dapl_evd_resize;
> +		dapl_evd_set_unwaitable;
> +		dapl_evd_un_async_error_callback;
> +		dapl_evd_wait;
> +		dapl_fini;
> +		dapl_get_consumer_context;
> +		dapl_get_handle_type;
> +		dapl_hca_alloc;
> +		dapl_hca_free;
> +		dapl_hca_link_ia;
> +		dapl_hca_unlink_ia;
> +		dapl_ia_abrupt_close;
> +		dapl_ia_alloc;
> +		dapl_ia_close;
> +		dapl_ia_graceful_close;
> +		dapl_ia_link_cno;
> +		dapl_ia_link_ep;
> +		dapl_ia_link_evd;
> +		dapl_ia_link_lmr;
> +		dapl_ia_link_psp;
> +		dapl_ia_link_pz;
> +		dapl_ia_link_rmr;
> +		dapl_ia_link_rsp;
> +		dapl_ia_link_srq;
> +		dapl_ia_open;
> +		dapl_ia_query;
> +		dapli_async_event_cb;
> +		dapl_ia_unlink_cno;
> +		dapl_ia_unlink_ep;
> +		dapl_ia_unlink_evd;
> +		dapl_ia_unlink_lmr;
> +		dapl_ia_unlink_pz;
> +		dapl_ia_unlink_rmr;
> +		dapl_ia_unlink_srq;
> +		dapli_cma_event_cb;
> +		dapli_connection_request;
> +		dapli_cq_event_cb;
> +		dapli_destroy_conn;
> +		dapli_ep_default_attrs;
> +		dapli_evd_event_alloc;
> +		dapli_get_sp_ep;
> +		dapli_hca_cleanup;
> +		dapli_ia_release_hca;
> +		dapli_ib_thread_destroy;
> +		dapli_ib_thread_init;
> +		dapl_init;
> +		dapl_internal_dbg_log;
> +		dapli_thread;
> +		dapli_thread_init;
> +		dapl_llist_add_entry;
> +		dapl_llist_add_head;
> +		dapl_llist_add_tail;
> +		dapl_llist_debug_print_list;
> +		dapl_llist_init_entry;
> +		dapl_llist_init_head;
> +		dapl_llist_is_empty;
> +		dapl_llist_next_entry;
> +		dapl_llist_peek_head;
> +		dapl_llist_remove_entry;
> +		dapl_llist_remove_head;
> +		dapl_llist_remove_tail;
> +		dapl_lmr_alloc;
> +		dapl_lmr_create;
> +		dapl_lmr_dealloc;
> +		dapl_lmr_free;
> +		dapl_lmr_query;
> +		dapl_lmr_sync_rdma_read;
> +		dapl_lmr_sync_rdma_write;
> +		dapl_mr_get_address;
> +		dapl_os_get_env_bool;
> +		dapl_os_get_env_val;
> +		dapl_os_get_time;
> +		dapl_os_init;
> +		dapl_os_thread_create;
> +		dapl_os_wait_object_destroy;
> +		dapl_os_wait_object_init;
> +		dapl_os_wait_object_wait;
> +		dapl_os_wait_object_wakeup;
> +		dapl_provider_list_create;
> +		dapl_provider_list_destroy;
> +		dapl_provider_list_insert;
> +		dapl_provider_list_remove;
> +		dapl_provider_list_search;
> +		dapl_provider_list_size;
> +		dapl_psp_create;
> +		dapl_psp_create_any;
> +		dapl_psp_free;
> +		dapl_psp_query;
> +		dapl_pz_alloc;
> +		dapl_pz_create;
> +		dapl_pz_dealloc;
> +		dapl_pz_free;
> +		dapl_pz_query;
> +		dapl_rmr_alloc;
> +		dapl_rmr_bind;
> +		dapl_rmr_create;
> +		dapl_rmr_dealloc;
> +		dapl_rmr_free;
> +		dapl_rmr_query;
> +		dapl_rsp_create;
> +		dapl_rsp_free;
> +		dapl_rsp_query;
> +		dapls_cb_create;
> +		dapls_cb_free;
> +		dapls_cb_get;
> +		dapls_cb_put;
> +		dapls_cookie_dealloc;
> +		dapls_cr_alloc;
> +		dapls_cr_callback;
> +		dapls_cr_free;
> +		dapls_dto_cookie_alloc;
> +		dapls_ep_state_subtype;
> +		dapls_ep_timeout;
> +		dapl_set_consumer_context;
> +		dapls_evd_alloc;
> +		dapls_evd_copy_cq;
> +		dapls_evd_cq_poll_to_event;
> +		dapls_evd_dealloc;
> +		dapls_evd_event_realloc;
> +		dapls_evd_internal_create;
> +		dapls_evd_post_async_error_event;
> +		dapls_evd_post_connection_event;
> +		dapls_evd_post_cr_arrival_event;
> +		dapls_evd_post_generic_event;
> +		dapls_evd_post_software_event;
> +		dapls_hash_create;
> +		dapls_hash_free;
> +		dapls_hash_insert;
> +		dapls_hash_remove;
> +		dapls_hash_search;
> +		dapls_hash_size;
> +		dapls_ia_free;
> +		dapls_ia_setup_callbacks;
> +		dapls_ia_sp_search;
> +		dapls_ia_teardown_callbacks;
> +		dapls_ia_unlink_sp;
> +		dapls_ib_accept_connection;
> +		dapls_ib_close_hca;
> +		dapls_ib_cm_remote_addr;
> +		dapls_ib_completion_notify;
> +		dapls_ib_completion_poll;
> +		dapls_ib_connect;
> +		dapls_ib_cq_alloc;
> +		dapls_ib_cq_free;
> +		dapls_ib_cq_resize;
> +		dapls_ib_disconnect;
> +		dapls_ib_disconnect_clean;
> +		dapls_ib_get_async_event;
> +		dapls_ib_get_cm_event;
> +		dapls_ib_get_dat_event;
> +		dapls_ib_get_dto_status;
> +		dapls_ib_init;
> +		dapls_ib_mr_deregister;
> +		dapls_ib_mr_register;
> +		dapls_ib_mr_register_shared;
> +		dapls_ib_mw_alloc;
> +		dapls_ib_mw_bind;
> +		dapls_ib_mw_free;
> +		dapls_ib_mw_unbind;
> +		dapls_ib_open_hca;
> +		dapls_ib_pd_alloc;
> +		dapls_ib_pd_free;
> +		dapls_ib_private_data_size;
> +		dapls_ib_qp_alloc;
> +		dapls_ib_qp_free;
> +		dapls_ib_qp_modify;
> +		dapls_ib_query_hca;
> +		dapls_ib_reinit_ep;
> +		dapls_ib_reject_connection;
> +		dapls_ib_release;
> +		dapls_ib_remove_conn_listener;
> +		dapls_ib_setup_async_callback;
> +		dapls_ib_setup_conn_listener;
> +		dapls_ib_wait_object_create;
> +		dapls_ib_wait_object_destroy;
> +		dapls_ib_wait_object_wait;
> +		dapls_ib_wait_object_wakeup;
> +		dapls_ns_init;
> +		dapl_sp_link_cr;
> +		dapl_sp_remove_cr;
> +		dapl_sp_remove_ep;
> +		dapl_sp_search_cr;
> +		dapls_rbuf_add;
> +		dapls_rbuf_adjust;
> +		dapls_rbuf_alloc;
> +		dapls_rbuf_count;
> +		dapls_rbuf_destroy;
> +		dapls_rbuf_realloc;
> +		dapls_rbuf_remove;
> +		dapls_rmr_cookie_alloc;
> +		dapl_srq_alloc;
> +		dapl_srq_create;
> +		dapl_srq_dealloc;
> +		dapl_srq_free;
> +		dapl_srq_post_recv;
> +		dapl_srq_query;
> +		dapl_srq_resize;
> +		dapl_srq_set_lw;
> +		dapls_set_cq_notify;
> +		dapls_sp_alloc;
> +		dapls_sp_free_sp;
> +		dapls_timer_cancel;
> +		dapls_timer_init;
> +		dapls_timer_set;
> +		dapls_timer_thread;
> +		dat_provider_fini;
> +		dat_provider_init		;
> +	local: *;
> +};
> Index: dapl/udapl/libdaplcma.map
> ===================================================================
> --- dapl/udapl/libdaplcma.map	(revision 0)
> +++ dapl/udapl/libdaplcma.map	(revision 0)
> @@ -0,0 +1,257 @@
> +DAPL_CMA_1.2 {
> +        global:

As with the SCM map, do any of these need to be global?

> +		dapl_cno_alloc;
> +		dapl_cno_create;
> +		dapl_cno_dealloc;
> +		dapl_cno_free;
> +		dapl_cno_modify_agent;
> +		dapl_cno_query;
> +		dapl_cno_trigger;
> +		dapl_cno_wait;
> +		dapl_cr_accept;
> +		dapl_cr_handoff;
> +		dapl_cr_query;
> +		dapl_cr_reject;
> +		dapl_ep_alloc;
> +		dapl_ep_check_recv_completion_flags;
> +		dapl_ep_check_request_completion_flags;
> +		dapl_ep_connect;
> +		dapl_ep_create;
> +		dapl_ep_create_with_srq;
> +		dapl_ep_dealloc;
> +		dapl_ep_disconnect;
> +		dapl_ep_dup_connect;
> +		dapl_ep_free;
> +		dapl_ep_get_status;
> +		dapl_ep_modify;
> +		dapl_ep_post_rdma_read;
> +		dapl_ep_post_rdma_write;
> +		dapl_ep_post_recv;
> +		dapl_ep_post_send;
> +		dapl_ep_post_send_req;
> +		dapl_ep_query;
> +		dapl_ep_recv_query;
> +		dapl_ep_reset;
> +		dapl_ep_set_watermark;
> +		dapl_evd_clear_unwaitable;
> +		dapl_evd_connection_callback;
> +		dapl_evd_cq_async_error_callback;
> +		dapl_evd_create;
> +		dapl_evd_dequeue;
> +		dapl_evd_disable;
> +		dapl_evd_dto_callback;
> +		dapl_evd_enable;
> +		dapl_evd_free;
> +		dapl_evd_modify_cno;
> +		dapl_evd_post_se;
> +		dapl_evd_qp_async_error_callback;
> +		dapl_evd_query;
> +		dapl_evd_resize;
> +		dapl_evd_set_unwaitable;
> +		dapl_evd_un_async_error_callback;
> +		dapl_evd_wait;
> +		dapl_fini;
> +		dapl_get_consumer_context;
> +		dapl_get_handle_type;
> +		dapl_hca_alloc;
> +		dapl_hca_free;
> +		dapl_hca_link_ia;
> +		dapl_hca_unlink_ia;
> +		dapl_ia_abrupt_close;
> +		dapl_ia_alloc;
> +		dapl_ia_close;
> +		dapl_ia_graceful_close;
> +		dapl_ia_link_cno;
> +		dapl_ia_link_ep;
> +		dapl_ia_link_evd;
> +		dapl_ia_link_lmr;
> +		dapl_ia_link_psp;
> +		dapl_ia_link_pz;
> +		dapl_ia_link_rmr;
> +		dapl_ia_link_rsp;
> +		dapl_ia_link_srq;
> +		dapl_ia_open;
> +		dapl_ia_query;
> +		dapli_async_event_cb;
> +		dapl_ia_unlink_cno;
> +		dapl_ia_unlink_ep;
> +		dapl_ia_unlink_evd;
> +		dapl_ia_unlink_lmr;
> +		dapl_ia_unlink_pz;
> +		dapl_ia_unlink_rmr;
> +		dapl_ia_unlink_srq;
> +		dapli_cma_event_cb;
> +		dapli_connection_request;
> +		dapli_cq_event_cb;
> +		dapli_destroy_conn;
> +		dapli_ep_default_attrs;
> +		dapli_evd_event_alloc;
> +		dapli_get_sp_ep;
> +		dapli_hca_cleanup;
> +		dapli_ia_release_hca;
> +		dapli_ib_thread_destroy;
> +		dapli_ib_thread_init;
> +		dapl_init;
> +		dapl_internal_dbg_log;
> +		dapli_thread;
> +		dapli_thread_init;
> +		dapl_llist_add_entry;
> +		dapl_llist_add_head;
> +		dapl_llist_add_tail;
> +		dapl_llist_debug_print_list;
> +		dapl_llist_init_entry;
> +		dapl_llist_init_head;
> +		dapl_llist_is_empty;
> +		dapl_llist_next_entry;
> +		dapl_llist_peek_head;
> +		dapl_llist_remove_entry;
> +		dapl_llist_remove_head;
> +		dapl_llist_remove_tail;
> +		dapl_lmr_alloc;
> +		dapl_lmr_create;
> +		dapl_lmr_dealloc;
> +		dapl_lmr_free;
> +		dapl_lmr_query;
> +		dapl_lmr_sync_rdma_read;
> +		dapl_lmr_sync_rdma_write;
> +		dapl_mr_get_address;
> +		dapl_os_get_env_bool;
> +		dapl_os_get_env_val;
> +		dapl_os_get_time;
> +		dapl_os_init;
> +		dapl_os_thread_create;
> +		dapl_os_wait_object_destroy;
> +		dapl_os_wait_object_init;
> +		dapl_os_wait_object_wait;
> +		dapl_os_wait_object_wakeup;
> +		dapl_provider_list_create;
> +		dapl_provider_list_destroy;
> +		dapl_provider_list_insert;
> +		dapl_provider_list_remove;
> +		dapl_provider_list_search;
> +		dapl_provider_list_size;
> +		dapl_psp_create;
> +		dapl_psp_create_any;
> +		dapl_psp_free;
> +		dapl_psp_query;
> +		dapl_pz_alloc;
> +		dapl_pz_create;
> +		dapl_pz_dealloc;
> +		dapl_pz_free;
> +		dapl_pz_query;
> +		dapl_rmr_alloc;
> +		dapl_rmr_bind;
> +		dapl_rmr_create;
> +		dapl_rmr_dealloc;
> +		dapl_rmr_free;
> +		dapl_rmr_query;
> +		dapl_rsp_create;
> +		dapl_rsp_free;
> +		dapl_rsp_query;
> +		dapls_cb_create;
> +		dapls_cb_free;
> +		dapls_cb_get;
> +		dapls_cb_put;
> +		dapls_cookie_dealloc;
> +		dapls_cr_alloc;
> +		dapls_cr_callback;
> +		dapls_cr_free;
> +		dapls_dto_cookie_alloc;
> +		dapls_ep_state_subtype;
> +		dapls_ep_timeout;
> +		dapl_set_consumer_context;
> +		dapls_evd_alloc;
> +		dapls_evd_copy_cq;
> +		dapls_evd_cq_poll_to_event;
> +		dapls_evd_dealloc;
> +		dapls_evd_event_realloc;
> +		dapls_evd_internal_create;
> +		dapls_evd_post_async_error_event;
> +		dapls_evd_post_connection_event;
> +		dapls_evd_post_cr_arrival_event;
> +		dapls_evd_post_generic_event;
> +		dapls_evd_post_software_event;
> +		dapls_hash_create;
> +		dapls_hash_free;
> +		dapls_hash_insert;
> +		dapls_hash_remove;
> +		dapls_hash_search;
> +		dapls_hash_size;
> +		dapls_ia_free;
> +		dapls_ia_setup_callbacks;
> +		dapls_ia_sp_search;
> +		dapls_ia_teardown_callbacks;
> +		dapls_ia_unlink_sp;
> +		dapls_ib_accept_connection;
> +		dapls_ib_close_hca;
> +		dapls_ib_cm_remote_addr;
> +		dapls_ib_completion_notify;
> +		dapls_ib_completion_poll;
> +		dapls_ib_connect;
> +		dapls_ib_cq_alloc;
> +		dapls_ib_cq_free;
> +		dapls_ib_cq_resize;
> +		dapls_ib_disconnect;
> +		dapls_ib_disconnect_clean;
> +		dapls_ib_get_async_event;
> +		dapls_ib_get_cm_event;
> +		dapls_ib_get_dat_event;
> +		dapls_ib_get_dto_status;
> +		dapls_ib_init;
> +		dapls_ib_mr_deregister;
> +		dapls_ib_mr_register;
> +		dapls_ib_mr_register_shared;
> +		dapls_ib_mw_alloc;
> +		dapls_ib_mw_bind;
> +		dapls_ib_mw_free;
> +		dapls_ib_mw_unbind;
> +		dapls_ib_open_hca;
> +		dapls_ib_pd_alloc;
> +		dapls_ib_pd_free;
> +		dapls_ib_private_data_size;
> +		dapls_ib_qp_alloc;
> +		dapls_ib_qp_free;
> +		dapls_ib_qp_modify;
> +		dapls_ib_query_hca;
> +		dapls_ib_reinit_ep;
> +		dapls_ib_reject_connection;
> +		dapls_ib_release;
> +		dapls_ib_remove_conn_listener;
> +		dapls_ib_setup_async_callback;
> +		dapls_ib_setup_conn_listener;
> +		dapls_ib_wait_object_create;
> +		dapls_ib_wait_object_destroy;
> +		dapls_ib_wait_object_wait;
> +		dapls_ib_wait_object_wakeup;
> +		dapls_ns_init;
> +		dapl_sp_link_cr;
> +		dapl_sp_remove_cr;
> +		dapl_sp_remove_ep;
> +		dapl_sp_search_cr;
> +		dapls_rbuf_add;
> +		dapls_rbuf_adjust;
> +		dapls_rbuf_alloc;
> +		dapls_rbuf_count;
> +		dapls_rbuf_destroy;
> +		dapls_rbuf_realloc;
> +		dapls_rbuf_remove;
> +		dapls_rmr_cookie_alloc;
> +		dapl_srq_alloc;
> +		dapl_srq_create;
> +		dapl_srq_dealloc;
> +		dapl_srq_free;
> +		dapl_srq_post_recv;
> +		dapl_srq_query;
> +		dapl_srq_resize;
> +		dapl_srq_set_lw;
> +		dapls_set_cq_notify;
> +		dapls_sp_alloc;
> +		dapls_sp_free_sp;
> +		dapls_timer_cancel;
> +		dapls_timer_init;
> +		dapls_timer_set;
> +		dapls_timer_thread;
> +		dat_provider_fini;
> +		dat_provider_init		;
> +	local: *;
> +};
> Index: dapl/common/dapl_init.h
> ===================================================================
> --- dapl/common/dapl_init.h	(revision 5854)
> +++ dapl/common/dapl_init.h	(working copy)
> @@ -48,10 +48,4 @@ extern void 
>  DAT_PROVIDER_FINI_FUNC_NAME (
>      IN const DAT_PROVIDER_INFO * );
>  
> -extern void
> -dapl_init ( void ) ;
> -
> -extern void
> -dapl_fini ( void ) ;
> -
>  #endif
> Index: dapl/openib_cma/dapl_ib_util.h
> ===================================================================
> --- dapl/openib_cma/dapl_ib_util.h	(revision 5854)
> +++ dapl/openib_cma/dapl_ib_util.h	(working copy)
> @@ -49,7 +49,7 @@
>  #ifndef _DAPL_IB_UTIL_H_
>  #define _DAPL_IB_UTIL_H_
>  
> -#include "verbs.h"
> +#include <infiniband/verbs.h>
>  #include <byteswap.h>
>  #include <rdma/rdma_cma.h>
>  
> Index: dapl/openib_scm/dapl_ib_util.h
> ===================================================================
> --- dapl/openib_scm/dapl_ib_util.h	(revision 5854)
> +++ dapl/openib_scm/dapl_ib_util.h	(working copy)
> @@ -49,7 +49,7 @@
>  #ifndef _DAPL_IB_UTIL_H_
>  #define _DAPL_IB_UTIL_H_
>  
> -#include "verbs.h"
> +#include <infiniband/verbs.h>
>  #include <byteswap.h>
>  
>  #ifndef __cplusplus
> Index: configure.in
> ===================================================================
> --- configure.in	(revision 0)
> +++ configure.in	(revision 0)
> @@ -0,0 +1,50 @@
> +dnl Process this file with autoconf to produce a configure script.
> +
> +AC_PREREQ(2.57)
> +AC_INIT(dapl, 1.2.0, dapl-devel at lists.sourceforge.net)
> +AC_CONFIG_SRCDIR([dat/udat/udat.c])
> +AC_CONFIG_AUX_DIR(config)
> +AM_CONFIG_HEADER(config.h)
> +AM_INIT_AUTOMAKE(dapl, 1.2.0)
> +AC_DISABLE_STATIC
> +AM_PROG_LIBTOOL
> +
> +AC_ARG_ENABLE(libcheck, [  --disable-libcheck      do not test for presence of ib libraries],
> +[       if test x$enableval = xno ; then
> +                disable_libcheck=yes
> +        fi
> +])
> +
> +dnl Checks for programs
> +AC_PROG_CC
> +
> +dnl Checks for typedefs, structures, and compiler characteristics.
> +AC_C_CONST
> +AC_CHECK_SIZEOF(long)
> +
> +dnl Checks for libraries
> +if test "$disable_libcheck" != "yes"
> +then
> +AC_CHECK_LIB(ibverbs, ibv_get_device_list, [],
> +    AC_MSG_ERROR([ibv_get_device_list() not found.  libdapl requires libibverbs.]))
> +fi
> +
> +dnl Checks for header files.
> +if test "$disable_libcheck" != "yes"
> +then
> +AC_CHECK_HEADER(infiniband/verbs.h, [],
> +    AC_MSG_ERROR([<infiniband/verbs.h> not found.  Is libibverbs installed?]))
> +fi
> +AC_HEADER_STDC
> +
> +AC_CACHE_CHECK(whether ld accepts --version-script, ac_cv_version_script,
> +    if test -n "`$LD --help < /dev/null 2>/dev/null | grep version-script`"; then
> +        ac_cv_version_script=yes
> +    else
> +        ac_cv_version_script=no
> +    fi)
> +
> +AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$ac_cv_version_script" = "yes")
> +
> +AC_CONFIG_FILES([Makefile libdat.spec])
> +AC_OUTPUT
> Index: dat/udat/libdat.map
> ===================================================================
> --- dat/udat/libdat.map	(revision 0)
> +++ dat/udat/libdat.map	(revision 0)
> @@ -0,0 +1,141 @@
> +DAT_1.2 {
> +        global:

Only the API functions should need to be global. We should be able to 
make

> +		dat_cno_create;
> +		dat_cno_free;
> +		dat_cno_modify_agent;
> +		dat_cno_query;
> +		dat_cno_wait;
> +		dat_cr_accept;
> +		dat_cr_handoff;
> +		dat_cr_query;
> +		dat_cr_reject;

from here to

> +		dat_dictionary_create;
> +		dat_dictionary_destroy;
> +		dat_dictionary_entry_create;
> +		dat_dictionary_entry_destroy;
> +		dat_dictionary_enumerate;
> +		dat_dictionary_insert;
> +		dat_dictionary_key_dup;
> +		dat_dictionary_key_is_equal;
> +		dat_dictionary_remove;
> +		dat_dictionary_search;
> +		dat_dictionary_size;
> +		dat_dr_fini;
> +		dat_dr_init;
> +		dat_dr_insert;
> +		dat_dr_list;
> +		dat_dr_provider_close;
> +		dat_dr_provider_open;
> +		dat_dr_remove;
> +		dat_dr_size;

here local

> +		dat_ep_connect;
> +		dat_ep_create;
> +		dat_ep_create_with_srq;
> +		dat_ep_disconnect;
> +		dat_ep_dup_connect;
> +		dat_ep_free;
> +		dat_ep_get_status;
> +		dat_ep_modify;
> +		dat_ep_post_rdma_read;
> +		dat_ep_post_rdma_write;
> +		dat_ep_post_recv;
> +		dat_ep_post_send;
> +		dat_ep_query;
> +		dat_ep_recv_query;
> +		dat_ep_reset;
> +		dat_ep_set_watermark;
> +		dat_evd_clear_unwaitable;
> +		dat_evd_create;
> +		dat_evd_dequeue;
> +		dat_evd_disable;
> +		dat_evd_enable;
> +		dat_evd_free;
> +		dat_evd_modify_cno;
> +		dat_evd_post_se;
> +		dat_evd_query;
> +		dat_evd_resize;
> +		dat_evd_set_unwaitable;
> +		dat_evd_wait;

this local

> +		dat_fini;

> +		dat_get_consumer_context;
> +		dat_get_handle_type;
> +		dat_ia_close;
> +		dat_ia_openv;
> +		dat_ia_query;

this local

> +		dat_init;

> +		dat_lmr_create;
> +		dat_lmr_free;
> +		dat_lmr_query;
> +		dat_lmr_sync_rdma_read;
> +		dat_lmr_sync_rdma_write;

from here 

> +		dat_module_get_state;
> +		dat_os_dbg_init;
> +		dat_os_dbg_print;
> +		dat_os_library_load;
> +		dat_os_library_unload;

to here local

> +		dat_psp_create;
> +		dat_psp_create_any;
> +		dat_psp_free;
> +		dat_psp_query;
> +		dat_pz_create;
> +		dat_pz_free;
> +		dat_pz_query;
> +		dat_registry_add_provider;
> +		dat_registry_list_providers;
> +		dat_registry_remove_provider;
> +		dat_rmr_bind;
> +		dat_rmr_create;
> +		dat_rmr_free;
> +		dat_rmr_query;
> +		dat_rsp_create;
> +		dat_rsp_free;
> +		dat_rsp_query;
> +		dat_set_consumer_context;

from here

> +		dats_free_ia_handle;
> +		dats_get_ia_handle;
> +		dats_handle_vector_init;
> +		dats_is_ia_handle;
> +		dat_sr_convert_api;
> +		dat_sr_convert_default;
> +		dat_sr_convert_provider_version;
> +		dat_sr_convert_thread_safety;
> +		dat_sr_fini;
> +		dat_sr_get_token;
> +		dat_sr_init;
> +		dat_sr_insert;
> +		dat_sr_is_valid_entry;
> +		dat_sr_list;
> +		dat_sr_load;
> +		dat_sr_load_entry;
> +		dat_sr_parse_api;
> +		dat_sr_parse_default;
> +		dat_sr_parse_entry;
> +		dat_sr_parse_eoe;
> +		dat_sr_parse_eof;
> +		dat_sr_parse_ia_name;
> +		dat_sr_parse_ia_params;
> +		dat_sr_parse_lib_path;
> +		dat_sr_parse_platform_params;
> +		dat_sr_parse_provider_version;
> +		dat_sr_parse_thread_safety;
> +		dat_sr_provider_close;
> +		dat_sr_provider_open;
> +		dat_sr_put_token;

to here local

> +		dat_srq_create;
> +		dat_srq_free;
> +		dat_srq_post_recv;
> +		dat_srq_query;
> +		dat_srq_resize;
> +		dat_srq_set_lw;

from here

> +		dat_sr_read_comment;
> +		dat_sr_read_quoted_str;
> +		dat_sr_read_str;
> +		dat_sr_read_token;
> +		dat_sr_size;
> +		dat_sr_type_to_str;
> +		dats_set_ia_handle;

to here local

> +		dat_strerror;

and these 2 local

> +		dat_strerror_major;
> +		dat_strerror_minor;


> +	local: *;
> +};
> Index: Makefile.am
> ===================================================================
> --- Makefile.am	(revision 0)
> +++ Makefile.am	(revision 0)
> @@ -0,0 +1,342 @@
> +# $Id: $
> +
> +# TODO...Need check to set properly
> +OSVENDOR="REDHAT_EL4"

Does this help? A system's Red Hat release can be found in 
/etc/redhat-release. 

I'm not sure how to figure out the equivalent info for a SuSE system.

> +
> +sysconf_DATA = doc/dat.conf
> +
> +datlibdir = $(libdir)
> +dapllibcmadir = $(libdir)
> +dapllibscmdir = $(libdir)
> +
> +datlib_LTLIBRARIES = dat/udat/libdat.la
> +dapllibcma_LTLIBRARIES = dapl/udapl/libdaplcma.la
> +dapllibscm_LTLIBRARIES = dapl/udapl/libdaplscm.la
> +
> +dat_udat_libdat_la_CFLAGS = -g -Wall -D_GNU_SOURCE -D$(OSVENDOR) \
> +				-I$(srcdir)/dat/include/ -I$(srcdir)/dat/udat/ \
> +				-I$(srcdir)/dat/udat/linux -I$(srcdir)/dat/common/ 
> +
> +dapl_udapl_libdaplcma_la_CFLAGS = -g -Wall -D_GNU_SOURCE -D$(OSVENDOR) \
> +				-DOPENIB -DCQ_WAIT_OBJECT -DDAPL_DBG \
> +				-I$(srcdir)/dat/include/ -I$(srcdir)/dapl/include/ \
> +				-I$(srcdir)/dapl/common -I$(srcdir)/dapl/udapl/linux \
> +				-I$(srcdir)/dapl/openib_cma 
> +		
> +dapl_udapl_libdaplscm_la_CFLAGS = -g -Wall -D_GNU_SOURCE -D$(OSVENDOR) \
> +				-DOPENIB -DCQ_WAIT_OBJECT -DDAPL_DBG \
> +				-I$(srcdir)/dat/include/ -I$(srcdir)/dapl/include/ \
> +				-I$(srcdir)/dapl/common -I$(srcdir)/dapl/udapl/linux \
> +				-I$(srcdir)/dapl/openib_scm 
> +
> +if HAVE_LD_VERSION_SCRIPT
> +    dat_version_script = -Wl,--version-script=$(srcdir)/dat/udat/libdat.map
> +    daplcma_version_script = -Wl,--version-script=$(srcdir)/dapl/udapl/libdaplcma.map
> +    daplscm_version_script = -Wl,--version-script=$(srcdir)/dapl/udapl/libdaplscm.map
> +			
> +else
> +    dat_version_script = 
> +    daplcma_version_script = 
> +    daplscm_version_script = 
> +    
> +endif
> +
> +#
> +# uDAT: libdat.so
> +#
> +dat_udat_libdat_la_SOURCES = dat/udat/udat.c \
> +			dat/udat/udat_api.c \
> +			dat/udat/udat_sr_parser.c \
> +			dat/udat/linux/dat_osd.c \
> +			dat/common/dat_api.c \
> +			dat/common/dat_dictionary.c \
> +			dat/common/dat_strerror.c \
> +			dat/common/dat_init.c \
> +			dat/common/dat_dr.c \
> +			dat/common/dat_sr.c
> +
> +dat_udat_libdat_la_LDFLAGS = -avoid-version $(dat_version_script) -ldl 
> +
> +#
> +# uDAPL OpenIB uCMA version: libdaplcma.so
> +#
> +dapl_udapl_libdaplcma_la_SOURCES = dapl/udapl/dapl_init.c \
> +        dapl/udapl/dapl_evd_create.c               \
> +        dapl/udapl/dapl_evd_query.c                \
> +        dapl/udapl/dapl_cno_create.c               \
> +        dapl/udapl/dapl_cno_modify_agent.c         \
> +        dapl/udapl/dapl_cno_free.c                 \
> +        dapl/udapl/dapl_cno_wait.c                 \
> +        dapl/udapl/dapl_cno_query.c                \
> +        dapl/udapl/dapl_lmr_create.c               \
> +        dapl/udapl/dapl_evd_wait.c                 \
> +        dapl/udapl/dapl_evd_disable.c              \
> +        dapl/udapl/dapl_evd_enable.c               \
> +        dapl/udapl/dapl_evd_modify_cno.c           \
> +        dapl/udapl/dapl_evd_set_unwaitable.c       \
> +        dapl/udapl/dapl_evd_clear_unwaitable.c     \
> +        dapl/udapl/linux/dapl_osd.c                \
> +        dapl/common/dapl_cookie.c                   \
> +        dapl/common/dapl_cr_accept.c                \
> +        dapl/common/dapl_cr_query.c                 \
> +        dapl/common/dapl_cr_reject.c                \
> +        dapl/common/dapl_cr_util.c                  \
> +        dapl/common/dapl_cr_callback.c              \
> +        dapl/common/dapl_cr_handoff.c               \
> +        dapl/common/dapl_ep_connect.c               \
> +        dapl/common/dapl_ep_create.c                \
> +        dapl/common/dapl_ep_disconnect.c            \
> +        dapl/common/dapl_ep_dup_connect.c           \
> +        dapl/common/dapl_ep_free.c                  \
> +        dapl/common/dapl_ep_reset.c                 \
> +        dapl/common/dapl_ep_get_status.c            \
> +        dapl/common/dapl_ep_modify.c                \
> +        dapl/common/dapl_ep_post_rdma_read.c        \
> +        dapl/common/dapl_ep_post_rdma_write.c       \
> +        dapl/common/dapl_ep_post_recv.c             \
> +        dapl/common/dapl_ep_post_send.c             \
> +        dapl/common/dapl_ep_query.c                 \
> +        dapl/common/dapl_ep_util.c                  \
> +        dapl/common/dapl_evd_dequeue.c              \
> +        dapl/common/dapl_evd_free.c                 \
> +        dapl/common/dapl_evd_post_se.c              \
> +        dapl/common/dapl_evd_resize.c               \
> +        dapl/common/dapl_evd_util.c                 \
> +        dapl/common/dapl_evd_cq_async_error_callb.c \
> +        dapl/common/dapl_evd_qp_async_error_callb.c \
> +        dapl/common/dapl_evd_un_async_error_callb.c \
> +        dapl/common/dapl_evd_connection_callb.c     \
> +        dapl/common/dapl_evd_dto_callb.c            \
> +        dapl/common/dapl_get_consumer_context.c     \
> +        dapl/common/dapl_get_handle_type.c          \
> +        dapl/common/dapl_hash.c                     \
> +        dapl/common/dapl_hca_util.c                 \
> +        dapl/common/dapl_ia_close.c                 \
> +        dapl/common/dapl_ia_open.c                  \
> +        dapl/common/dapl_ia_query.c                 \
> +        dapl/common/dapl_ia_util.c                  \
> +        dapl/common/dapl_llist.c                    \
> +        dapl/common/dapl_lmr_free.c                 \
> +        dapl/common/dapl_lmr_query.c                \
> +        dapl/common/dapl_lmr_util.c                 \
> +        dapl/common/dapl_lmr_sync_rdma_read.c       \
> +        dapl/common/dapl_lmr_sync_rdma_write.c      \
> +        dapl/common/dapl_mr_util.c                  \
> +        dapl/common/dapl_provider.c                 \
> +        dapl/common/dapl_sp_util.c                  \
> +        dapl/common/dapl_psp_create.c               \
> +        dapl/common/dapl_psp_create_any.c           \
> +        dapl/common/dapl_psp_free.c                 \
> +        dapl/common/dapl_psp_query.c                \
> +        dapl/common/dapl_pz_create.c                \
> +        dapl/common/dapl_pz_free.c                  \
> +        dapl/common/dapl_pz_query.c                 \
> +        dapl/common/dapl_pz_util.c                  \
> +        dapl/common/dapl_rmr_create.c               \
> +        dapl/common/dapl_rmr_free.c                 \
> +        dapl/common/dapl_rmr_bind.c                 \
> +        dapl/common/dapl_rmr_query.c                \
> +        dapl/common/dapl_rmr_util.c                 \
> +        dapl/common/dapl_rsp_create.c               \
> +        dapl/common/dapl_rsp_free.c                 \
> +        dapl/common/dapl_rsp_query.c                \
> +        dapl/common/dapl_cno_util.c                 \
> +        dapl/common/dapl_set_consumer_context.c     \
> +        dapl/common/dapl_ring_buffer_util.c         \
> +        dapl/common/dapl_name_service.c             \
> +        dapl/common/dapl_timer_util.c               \
> +        dapl/common/dapl_ep_create_with_srq.c       \
> +        dapl/common/dapl_ep_recv_query.c            \
> +        dapl/common/dapl_ep_set_watermark.c         \
> +        dapl/common/dapl_srq_create.c               \
> +        dapl/common/dapl_srq_free.c                 \
> +        dapl/common/dapl_srq_query.c                \
> +        dapl/common/dapl_srq_resize.c               \
> +        dapl/common/dapl_srq_post_recv.c            \
> +        dapl/common/dapl_srq_set_lw.c               \
> +        dapl/common/dapl_srq_util.c                 \
> +        dapl/common/dapl_debug.c                    \
> +	dapl/openib_cma/dapl_ib_util.c              \
> +	dapl/openib_cma/dapl_ib_cq.c                \
> +	dapl/openib_cma/dapl_ib_qp.c                \
> +	dapl/openib_cma/dapl_ib_cm.c                \
> +        dapl/openib_cma/dapl_ib_mem.c               
> +
> +dapl_udapl_libdaplcma_la_LDFLAGS = -avoid-version $(daplcma_version_script) \
> +				   -lpthread -libverbs -lrdmacm   
> +				
> +
> +#        
> +# uDAPL OpenIB Socket CM version: libdaplscm.so
> +#
> +dapl_udapl_libdaplscm_la_SOURCES = dapl/udapl/dapl_init.c \
> +        dapl/udapl/dapl_evd_create.c               \
> +        dapl/udapl/dapl_evd_query.c                \
> +        dapl/udapl/dapl_cno_create.c               \
> +        dapl/udapl/dapl_cno_modify_agent.c         \
> +        dapl/udapl/dapl_cno_free.c                 \
> +        dapl/udapl/dapl_cno_wait.c                 \
> +        dapl/udapl/dapl_cno_query.c                \
> +        dapl/udapl/dapl_lmr_create.c               \
> +        dapl/udapl/dapl_evd_wait.c                 \
> +        dapl/udapl/dapl_evd_disable.c              \
> +        dapl/udapl/dapl_evd_enable.c               \
> +        dapl/udapl/dapl_evd_modify_cno.c           \
> +        dapl/udapl/dapl_evd_set_unwaitable.c       \
> +        dapl/udapl/dapl_evd_clear_unwaitable.c     \
> +        dapl/udapl/linux/dapl_osd.c                \
> +        dapl/common/dapl_cookie.c                   \
> +        dapl/common/dapl_cr_accept.c                \
> +        dapl/common/dapl_cr_query.c                 \
> +        dapl/common/dapl_cr_reject.c                \
> +        dapl/common/dapl_cr_util.c                  \
> +        dapl/common/dapl_cr_callback.c              \
> +        dapl/common/dapl_cr_handoff.c               \
> +        dapl/common/dapl_ep_connect.c               \
> +        dapl/common/dapl_ep_create.c                \
> +        dapl/common/dapl_ep_disconnect.c            \
> +        dapl/common/dapl_ep_dup_connect.c           \
> +        dapl/common/dapl_ep_free.c                  \
> +        dapl/common/dapl_ep_reset.c                 \
> +        dapl/common/dapl_ep_get_status.c            \
> +        dapl/common/dapl_ep_modify.c                \
> +        dapl/common/dapl_ep_post_rdma_read.c        \
> +        dapl/common/dapl_ep_post_rdma_write.c       \
> +        dapl/common/dapl_ep_post_recv.c             \
> +        dapl/common/dapl_ep_post_send.c             \
> +        dapl/common/dapl_ep_query.c                 \
> +        dapl/common/dapl_ep_util.c                  \
> +        dapl/common/dapl_evd_dequeue.c              \
> +        dapl/common/dapl_evd_free.c                 \
> +        dapl/common/dapl_evd_post_se.c              \
> +        dapl/common/dapl_evd_resize.c               \
> +        dapl/common/dapl_evd_util.c                 \
> +        dapl/common/dapl_evd_cq_async_error_callb.c \
> +        dapl/common/dapl_evd_qp_async_error_callb.c \
> +        dapl/common/dapl_evd_un_async_error_callb.c \
> +        dapl/common/dapl_evd_connection_callb.c     \
> +        dapl/common/dapl_evd_dto_callb.c            \
> +        dapl/common/dapl_get_consumer_context.c     \
> +        dapl/common/dapl_get_handle_type.c          \
> +        dapl/common/dapl_hash.c                     \
> +        dapl/common/dapl_hca_util.c                 \
> +        dapl/common/dapl_ia_close.c                 \
> +        dapl/common/dapl_ia_open.c                  \
> +        dapl/common/dapl_ia_query.c                 \
> +        dapl/common/dapl_ia_util.c                  \
> +        dapl/common/dapl_llist.c                    \
> +        dapl/common/dapl_lmr_free.c                 \
> +        dapl/common/dapl_lmr_query.c                \
> +        dapl/common/dapl_lmr_util.c                 \
> +        dapl/common/dapl_lmr_sync_rdma_read.c       \
> +        dapl/common/dapl_lmr_sync_rdma_write.c      \
> +        dapl/common/dapl_mr_util.c                  \
> +        dapl/common/dapl_provider.c                 \
> +        dapl/common/dapl_sp_util.c                  \
> +        dapl/common/dapl_psp_create.c               \
> +        dapl/common/dapl_psp_create_any.c           \
> +        dapl/common/dapl_psp_free.c                 \
> +        dapl/common/dapl_psp_query.c                \
> +        dapl/common/dapl_pz_create.c                \
> +        dapl/common/dapl_pz_free.c                  \
> +        dapl/common/dapl_pz_query.c                 \
> +        dapl/common/dapl_pz_util.c                  \
> +        dapl/common/dapl_rmr_create.c               \
> +        dapl/common/dapl_rmr_free.c                 \
> +        dapl/common/dapl_rmr_bind.c                 \
> +        dapl/common/dapl_rmr_query.c                \
> +        dapl/common/dapl_rmr_util.c                 \
> +        dapl/common/dapl_rsp_create.c               \
> +        dapl/common/dapl_rsp_free.c                 \
> +        dapl/common/dapl_rsp_query.c                \
> +        dapl/common/dapl_cno_util.c                 \
> +        dapl/common/dapl_set_consumer_context.c     \
> +        dapl/common/dapl_ring_buffer_util.c         \
> +        dapl/common/dapl_name_service.c             \
> +        dapl/common/dapl_timer_util.c               \
> +        dapl/common/dapl_ep_create_with_srq.c       \
> +        dapl/common/dapl_ep_recv_query.c            \
> +        dapl/common/dapl_ep_set_watermark.c         \
> +        dapl/common/dapl_srq_create.c               \
> +        dapl/common/dapl_srq_free.c                 \
> +        dapl/common/dapl_srq_query.c                \
> +        dapl/common/dapl_srq_resize.c               \
> +        dapl/common/dapl_srq_post_recv.c            \
> +        dapl/common/dapl_srq_set_lw.c               \
> +        dapl/common/dapl_srq_util.c                 \
> +        dapl/common/dapl_debug.c                    \
> +	dapl/openib_scm/dapl_ib_util.c              \
> +	dapl/openib_scm/dapl_ib_cq.c                \
> +	dapl/openib_scm/dapl_ib_qp.c                \
> +	dapl/openib_scm/dapl_ib_cm.c                \
> +        dapl/openib_scm/dapl_ib_mem.c               
> +
> +dapl_udapl_libdaplscm_la_LDFLAGS = -avoid-version $(daplscm_version_script) \
> +				   -lpthread -libverbs
> +				    
> +libdatincludedir = $(includedir)/dat
> +
> +libdatinclude_HEADERS = dat/include/dat/dat.h \
> +			dat/include/dat/dat_error.h \
> +			dat/include/dat/dat_platform_specific.h \
> +			dat/include/dat/dat_redirection.h \
> +			dat/include/dat/dat_registry.h \
> +			dat/include/dat/dat_vendor_specific.h \
> +			dat/include/dat/udat_config.h \
> +			dat/include/dat/udat.h \
> +			dat/include/dat/udat_redirection.h \
> +			dat/include/dat/udat_vendor_specific.h 
> +			
> +EXTRA_DIST = dat/common/dat_dictionary.h \
> +	     dat/common/dat_dr.h \
> +	     dat/common/dat_init.h \
> +	     dat/common/dat_sr.h \
> +	     dat/udat/udat_sr_parser.h \
> +	     dat/udat/linux/dat_osd.h \
> +	     dat/include/dat/dat.h \
> +	     dat/include/dat/dat_error.h \
> +	     dat/include/dat/dat_platform_specific.h \
> +	     dat/include/dat/dat_redirection.h \
> +	     dat/include/dat/dat_registry.h \
> +	     dat/include/dat/dat_vendor_specific.h \
> +	     dat/include/dat/udat_config.h \
> +	     dat/include/dat/udat.h \
> +	     dat/include/dat/udat_redirection.h \
> +	     dat/include/dat/udat_vendor_specific.h \
> +	     dapl/common/dapl_adapter_util.h \
> +	     dapl/common/dapl_cno_util.h \
> +	     dapl/common/dapl_cookie.h \
> +	     dapl/common/dapl_cr_util.h \
> +	     dapl/common/dapl_ep_util.h \
> +	     dapl/common/dapl_evd_util.h \
> +	     dapl/common/dapl_hash.h \
> +	     dapl/common/dapl_hca_util.h \
> +	     dapl/common/dapl_ia_util.h \
> +	     dapl/common/dapl_init.h \
> +	     dapl/common/dapl_lmr_util.h \
> +	     dapl/common/dapl_mr_util.h \
> +	     dapl/common/dapl_name_service.h \
> +	     dapl/common/dapl_provider.h \
> +	     dapl/common/dapl_pz_util.h \
> +	     dapl/common/dapl_ring_buffer_util.h \
> +	     dapl/common/dapl_rmr_util.h \
> +	     dapl/common/dapl_sp_util.h \
> +	     dapl/common/dapl_srq_util.h \
> +	     dapl/common/dapl_timer_util.h \
> +	     dapl/udapl/linux/dapl_osd.h \
> +	     dapl/include/dapl.h \
> +	     dapl/include/dapl_debug.h \
> +	     dapl/include/dapl_ipoib_names.h \
> +	     dapl/include/dapl_vendor.h \
> +	     dapl/openib_cma/dapl_ib_dto.h \
> +	     dapl/openib_cma/dapl_ib_util.h \
> +	     dapl/openib_scm/dapl_ib_dto.h \
> +	     dapl/openib_scm/dapl_ib_util.h \
> +	     dat/udat/libdat.map \
> +	     doc/dat.conf \
> +	     dapl/udapl/libdaplcma.map \
> +	     dapl/udapl/libdaplscm.map \
> +	     libdat.spec.in 
> +	     
> +dist-hook: libdat.spec 
> +	cp libdat.spec $(distdir)
> Index: autogen.sh
> ===================================================================
> --- autogen.sh	(revision 0)
> +++ autogen.sh	(revision 0)
> @@ -0,0 +1,8 @@
> +#! /bin/sh
> +
> +set -x
> +aclocal -I config
> +libtoolize --force --copy
> +autoheader
> +automake --foreign --add-missing --copy
> +autoconf
> 
> Property changes on: autogen.sh
> ___________________________________________________________________
> Name: svn:executable
>    + *
> 
> Index: libdat.spec.in
> ===================================================================
> --- libdat.spec.in	(revision 0)
> +++ libdat.spec.in	(revision 0)
> @@ -0,0 +1,83 @@
> +# Copyright (c) 2002-2005, Network Appliance, Inc. All rights reserved.
> +#
> +# This Software is licensed under one of the following licenses:
> +#
> +# 1) under the terms of the "Common Public License 1.0" a copy of which is
> +#    in the file LICENSE.txt in the root directory. The license is also
> +#    available from the Open Source Initiative, see
> +#    http://www.opensource.org/licenses/cpl.php.
> +#
> +# 2) under the terms of the "The BSD License" a copy of which is in the file
> +#    LICENSE2.txt in the root directory. The license is also available from
> +#    the Open Source Initiative, see
> +#    http://www.opensource.org/licenses/bsd-license.php.
> +#
> +# 3) under the terms of the "GNU General Public License (GPL) Version 2" a 
> +#    copy of which is in the file LICENSE3.txt in the root directory. The 
> +#    license is also available from the Open Source Initiative, see
> +#    http://www.opensource.org/licenses/gpl-license.php.
> +#
> +# Licensee has the right to choose one of the above licenses.
> +#
> +# Redistributions of source code must retain the above copyright
> +# notice and one of the license notices.
> +#
> +# Redistributions in binary form must reproduce both the above copyright
> +# notice, one of the license notices in the documentation
> +# and/or other materials provided with the distribution.
> +#
> +#
> +# uDAT and uDAPL 1.2 Registry RPM SPEC file
> +#
> +
> +# $Id: $
> +
> +%define prefix /usr
> +%define ver      @VERSION@
> +%define  RELEASE 1
> +%define  rel     %{?CUSTOM_RELEASE} %{!?CUSTOM_RELEASE:%RELEASE}
> +
> +Summary: Userspace DAT and DAPL API.
> +Name: dapl
> +Version: %ver
> +Release: %rel
> +Copyright: Dual GPL/BSD/CPL
> +Group: System Environment/Libraries
> +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
> +Source: http://openib.org/downloads/%{name}-%{version}.tar.gz
> +Url: http://openib.org/
> +
> +%description
> +Along with the OpenIB kernel drivers, libdat and libdapl provides a userspace
> +RDMA API that supports DAT 2.0 specification

This should read "1.2 specification", right?

> +
> +%prep
> +%setup -q -n %{name}-%{ver}
> +
> +%build
> +%configure
> +make
> +
> +%install
> +make DESTDIR=${RPM_BUILD_ROOT} install
> +# remove unpackaged files from the buildroot
> +rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
> +
> +%clean
> +rm -rf $RPM_BUILD_ROOT
> +
> +%files
> +%defattr(-,root,root)
> +%{_libdir}/libda*.so
> +%{_includedir}/dat/dat.h
> +%{_includedir}/dat/dat_error.h
> +%{_includedir}/dat/dat_platform_specific.h
> +%{_includedir}/dat/dat_redirection.h
> +%{_includedir}/dat/dat_registry.h
> +%{_includedir}/dat/dat_vendor_specific.h
> +%{_includedir}/dat/udat_config.h
> +%{_includedir}/dat/udat.h
> +%{_includedir}/dat/udat_redirection.h
> +%{_includedir}/dat/udat_vendor_specific.h
> +%{_sysconfdir}/dat.conf
> +%doc AUTHORS COPYING ChangeLog NEWS README
> 
> 
> 
> 
> 



More information about the general mailing list