[openib-general] Re: [PATCH] Opensm - support arbitrary paths for driver installation

Hal Rosenstock halr at voltaire.com
Wed Dec 14 08:09:04 PST 2005


Hi Yael,

On Wed, 2005-12-14 at 05:41, Yael Kalka wrote:
> Hi Hal,
> 
> Currently, if the user level driver installation is not in /usr/local/
> dir - configure of opensm failes.
> The following patch enables support for arbitrary paths of user level
> driver installation. Path can be given using --with-uldrv flag.

Thanks. Applied.

A couple of comments below.

-- Hal

> 
> Thanks,
> Yael
> 
> Signed-off-by:  Yael Kalka <yael at mellanox.co.il>
> 
> Index: osmtest/Makefile.am
> ===================================================================
> --- osmtest/Makefile.am	(revision 4412)
> +++ osmtest/Makefile.am	(working copy)
> @@ -5,10 +5,7 @@ else
>  DBGFLAGS = -g -O2
>  endif
>  
> -INCLUDES = -I$(srcdir)/include \
> -	   -I$(srcdir)/../include \
> -	   -I$(srcdir)/../../libibcommon/include/infiniband \
> -	   -I$(srcdir)/../../libibumad/include/infiniband
> +INCLUDES = -I$(srcdir)/include $(OSMV_INCLUDES)
>  
>  bin_PROGRAMS = osmtest 
>  osmtest_SOURCES = main.c osmtest.c osmt_service.c osmt_slvl_vl_arb.c \
> Index: opensm/Makefile.am
> ===================================================================
> --- opensm/Makefile.am	(revision 4412)
> +++ opensm/Makefile.am	(working copy)
> @@ -1,7 +1,5 @@
>  
> -INCLUDES = -I$(srcdir)/../include \
> -	   -I$(srcdir)/../../libibcommon/include/infiniband \
> -	   -I$(srcdir)/../../libibumad/include/infiniband
> +INCLUDES = $(OSMV_INCLUDES)
>  
>  lib_LTLIBRARIES = libopensm.la

For some reason, the Makefile.am patches were rejected. I applied them
by hand.
 
> Index: config/osmvsel.m4
> ===================================================================
> --- config/osmvsel.m4	(revision 4412)
> +++ config/osmvsel.m4	(working copy)
> @@ -13,21 +13,39 @@ AC_DEFUN([OPENIB_APP_OSMV_SEL], [
>  
>  dnl Define a way for the user to provide the osm vendor type
>  AC_ARG_WITH(osmv,
> -[  --with-osmv=<dir> define the osm vendor type],
> +[  --with-osmv=<type> define the osm vendor type to build],
>  AC_MSG_NOTICE(Using OSM Vendor Type:$with_osmv),
>  with_osmv="openib")
>  
> +dnl Define a way for the user to provide the path to the driver installation
> +AC_ARG_WITH(uldrv,
> +[  --with-uldrv=<dir> define the dir where the user level driver is installed],
> +AC_MSG_NOTICE(Using user level installation prefix:$with_uldrv),
> +with_uldrv="")
> +
>  dnl Define a way for the user to provide the path to the simulator installation
>  AC_ARG_WITH(sim,
>  [  --with-sim=<dir> define the simulator prefix for building sim vendor (/usr)],
>  AC_MSG_NOTICE(Using Simulator from:$with_sim),
>  with_sim="/usr")
>  
> +dnl Should we use lib64 or lib
> +if test "$(uname -m)" = "x86_64"; then
> +   osmv_lib_type="lib64"
> +else
> +   osmv_lib_type="lib"	
> +fi
> +
>  dnl based on the with_osmv we can try the vendor flag
>  if test $with_osmv = "openib"; then
>     OSMV_CFLAGS="-DOSM_VENDOR_INTF_OPENIB"
>     OSMV_INCLUDES="-I\$(srcdir)/../include -I\$(srcdir)/../../libibcommon/include/infiniband -I\$(srcdir)/../../libibumad/include/infiniband"
> +   if test "x$with_uldrv" = "x"; then
>     OSMV_LDADD="-libumad"
> +   else
> +     OSMV_INCLUDES="-I$with_uldrv/include $OSMV_INCLUDES"
> +     OSMV_LDADD="-L$with_uldrv/$osmv_lib_type -libumad"
> +   fi
>  elif test $with_osmv = "sim" ; then
>     OSMV_CFLAGS="-DOSM_VENDOR_INTF_SIM"
>     OSMV_INCLUDES="-I$with_sim/include -I\$(srcdir)/../include"
> @@ -90,8 +108,11 @@ if test "$disable_libcheck" != "yes"; th
>  
>   dnl based on the with_osmv we can try the vendor flag
>   if test $with_osmv = "openib"; then
> +   osmv_save_ldflags=$LDFALGS
                         ^^^^^^^
                         LDFLAGS (in some other places too)
> +   LDFLAGS="$LDFLAGS $OSMV_LDADD"
>     AC_CHECK_LIB(ibumad, umad_init, [],
>  	 AC_MSG_ERROR([umad_init() not found. libosmvendor of type openib requires libibumad.]))
> +   LD_FLAGS=$osmv_save_ldflags
>   elif test $with_osmv = "sim" ; then
>     LDFLAGS="$LDFLAGS -L$with_sim/lib"
>     AC_CHECK_FILE([$with_sim/lib/libibmscli.a], [], 





More information about the general mailing list