[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