[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