]> git.openfabrics.org - ~ardavis/dapl.git/commitdiff
build: add IB collective and FCA provider to dapl build package as an option
authorArlin Davis <arlin.r.davis@intel.com>
Mon, 8 Aug 2011 05:59:27 +0000 (22:59 -0700)
committerArlin Davis <arlin.r.davis@intel.com>
Wed, 17 Aug 2011 18:11:44 +0000 (11:11 -0700)
New collective support and the FCA provider will only be built with
configure option of "--enable-coll-type=fca". Dependencies include
fca devel package, fca library, and mverbs library. This will not
be included in default builds.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
Makefile.am
configure.in

index 141a68bec96dbbec65680679e7f130ad2dd261a2..55fe45b3502a79da958d7f82f3009450e22539e7 100755 (executable)
@@ -18,9 +18,15 @@ endif
 if EXT_TYPE_IB
 XFLAGS = -DDAT_EXTENSIONS
 XPROGRAMS = dapl/openib_common/ib_extensions.c
+if COLL_TYPE_FCA
+XFLAGS += -DDAT_IB_COLLECTIVES -DDAT_FCA_PROVIDER
+XPROGRAMS += dapl/openib_common/collectives/fca_provider.c
+XLIBS = -lfca
+endif
 else
 XFLAGS =
 XPROGRAMS =
+XLIBS =
 endif
 
 if DEFINE_ATTR_LINK_LAYER
@@ -210,7 +216,7 @@ dapl_udapl_libdaplofa_la_SOURCES = dapl/udapl/dapl_init.c \
 
 dapl_udapl_libdaplofa_la_LDFLAGS = -version-info 2:0:0 $(daplofa_version_script) \
                                   -Wl,-init,dapl_init -Wl,-fini,dapl_fini \
-                                  -lpthread -libverbs -lrdmacm 
+                                  -lpthread -libverbs -lrdmacm $(XLIBS)
                                
 #
 # uDAPL OpenFabrics Socket CM version for IB: libdaplscm.so
@@ -324,7 +330,7 @@ dapl_udapl_libdaploscm_la_SOURCES = dapl/udapl/dapl_init.c \
 
 dapl_udapl_libdaploscm_la_LDFLAGS = -version-info 2:0:0 $(daploscm_version_script) \
                                    -Wl,-init,dapl_init -Wl,-fini,dapl_fini \
-                                   -lpthread -libverbs -lrdmacm
+                                   -lpthread -libverbs -lrdmacm $(XLIBS)
                                    
 #
 # uDAPL OpenFabrics UD CM version for IB: libdaplucm.so
@@ -438,7 +444,7 @@ dapl_udapl_libdaploucm_la_SOURCES = dapl/udapl/dapl_init.c \
 
 dapl_udapl_libdaploucm_la_LDFLAGS = -version-info 2:0:0 $(daploscm_version_script) \
                                    -Wl,-init,dapl_init -Wl,-fini,dapl_fini \
-                                   -lpthread -libverbs -lrdmacm
+                                   -lpthread -libverbs -lrdmacm $(XLIBS)
 
 libdatincludedir = $(includedir)/dat2
 
@@ -498,7 +504,7 @@ EXTRA_DIST = dat/common/dat_dictionary.h \
             dapl/include/dapl_ipoib_names.h \
             dapl/include/dapl_vendor.h \
             dapl/openib_common/dapl_ib_dto.h \
-            dapl/openib_common/dapl_ib_common.h \
+            dapl/openib_common/dapl_ib_common.h 
             dapl/openib_cma/dapl_ib_util.h \
             dapl/openib_cma/linux/openib_osd.h \
             dapl/openib_scm/dapl_ib_util.h \
@@ -540,7 +546,7 @@ EXTRA_DIST = dat/common/dat_dictionary.h \
             test/dapltest/include/dapl_transaction_stats.h \
             test/dapltest/include/dapl_transaction_test.h \
             test/dapltest/include/dapl_version.h \
-            test/dapltest/mdep/linux/dapl_mdep_user.h
+            test/dapltest/mdep/linux/dapl_mdep_user.h $(XPROGRAMS)
         
 dist-hook: dapl.spec 
        cp dapl.spec $(distdir)
index c78942f5df2d90bb9eeea2d66140cefcc1ebc7ec..75c002c77f48ffb6652f85daea24bddc0390192e 100644 (file)
@@ -83,6 +83,28 @@ AC_ARG_ENABLE(ext-type,
  ],[ext_type=ib])
 AM_CONDITIONAL(EXT_TYPE_IB, test "$ext_type" = "ib")
 
+dnl Support IB MPI collective extension build - if enable-coll-type == vendor_name 
+AC_ARG_ENABLE(coll-type,
+[  --enable-coll-type Enable IB collective support: fca, none, default=fca],
+ [ if   test "x$enableval" = "xfca" ; then
+      coll_type=fca
+      AC_CHECK_HEADER(fca/fca_api.h, [],
+        AC_MSG_ERROR([<fca/fca_api.h> not found. Is libfca devel package installed?]))
+      AC_CHECK_LIB(mverbs, ibv_m_post_send, [],
+        AC_MSG_ERROR([ibv_m_post_send() not found. Is libmverbs installed?]))
+      AC_CHECK_LIB(fca, fca_init, [],
+        AC_MSG_ERROR([fca_init() not found. Is libfca library installed?]))
+   elif test "x$enableval" = "xnone" ; then
+      coll_type=none
+   else
+      echo
+      echo "Error!"
+      echo "Unknown IB collective type' type"
+      exit -1
+   fi
+ ],[coll_type=fca])
+AM_CONDITIONAL(COLL_TYPE_FCA, test "$coll_type" = "fca")
+
 dnl Check for Redhat EL release 4
 AC_CACHE_CHECK(Check for RHEL4 system, ac_cv_rhel4,
     if test -f /etc/redhat-release &&