svn commit: r326169 - in head: . contrib/ofed lib/libc/locale share/mk sys/amd64/amd64 sys/amd64/conf sys/conf sys/contrib/rdma/krping sys/dev/cxgbe sys/dev/cxgbe/common sys/dev/cxgbe/iw_cxgbe sys/...

Bryan Drewery bdrewery at FreeBSD.org
Thu Dec 7 01:41:52 UTC 2017


On 12/6/2017 4:53 PM, Hans Petter Selasky wrote:
> On 12/07/17 01:38, Bryan Drewery wrote:
>> 1. SUBDIR=../../somewhere else is inherently wrong.
>> 2. Building a library from a directory named '2' is wrong.
>> 3. Not just using proper SUBDIR_DEPEND and making all these subdirs is
>> not needed and complicates things MORE by splitting them all up.
>> 4. Building a library from a directory where its real bsd.lib.mk is not
>> at is wrong.
>> 5. Depending on an include directory in the Makefile.inc1 library
>> dependencies is simply not needed - I told you that.
> 
> Try building the COMPAT 32-bit libraries with OFED and you'll see that
> this is needed!
> 
>> 6. Using these /0 /1 /2 /3 directories actually hurts the 'make
>> libraries' parallelism/dependency graph. It ends up building /1 rather
>> than building libibcm and libibumad directly in its graph.  It creates
>> an indirection which adds more unneeded submake recursion.
> 
> I think this is no argument over having to maintain and update
> Makefile.inc1 with all the dependencies every time there is a change or
> new driver library added to OFED.

Here's the proper change to contrib/ofed/usr.lib/Makefile, it is trivial.

> diff --git contrib/ofed/usr.lib/Makefile contrib/ofed/usr.lib/Makefile
> index 47b97591f5b7..9c22b889fa19 100644
> --- contrib/ofed/usr.lib/Makefile
> +++ contrib/ofed/usr.lib/Makefile
> @@ -1,13 +1,24 @@
> -SUBDIR=        libibcommon libibmad libibumad libibverbs libmlx4 libmthca \
> -       libopensm libosmcomp libosmvendor libibcm librdmacm libsdp libcxgb4
> +SUBDIR= \
> +       libibverbs \
> +       libibcm \
> +       libibumad \
> +       librdmacm \
> +       libibmad \
> +       libosmcomp \
> +       libosmvendor \
> +       libcxgb4 \
> +       libmlx4 \
> +       libmlx5 \
> +       libibnetdisc \
> +       libopensm
> 
>  SUBDIR_DEPEND_libcxgb4=        libibverbs
>  SUBDIR_DEPEND_libibcm= libibverbs
> -SUBDIR_DEPEND_libibmad= libibcommon libibumad
> -SUBDIR_DEPEND_libibumad= libibcommon
> +SUBDIR_DEPEND_libibmad=        libibumad
> +SUBDIR_DEPEND_libibnetdisc=    libosmcomp libibmad libibumad
>  SUBDIR_DEPEND_libmlx4= libibverbs
> -SUBDIR_DEPEND_libmthca=        libibverbs
> -SUBDIR_DEPEND_libosmvendor=    libibumad libopensm libosmcomp
> +SUBDIR_DEPEND_libmlx5= libibverbs
> +SUBDIR_DEPEND_libosmvendor=    libibumad
>  SUBDIR_DEPEND_librdmacm=       libibverbs
>  SUBDIR_PARALLEL=
> 

And Makefile.inc1 which is even more simple.

> @@ -2365,14 +2414,12 @@ _lib_libradius= lib/libradius
>  .if ${MK_OFED} != "no"
>  _ofed_lib=             contrib/ofed/usr.lib
>  _prebuild_libs+=       contrib/ofed/usr.lib/libosmcomp
> -_prebuild_libs+=       contrib/ofed/usr.lib/libopensm
> -_prebuild_libs+=       contrib/ofed/usr.lib/libibcommon
>  _prebuild_libs+=       contrib/ofed/usr.lib/libibverbs
> +_prebuild_libs+=       contrib/ofed/usr.lib/libibmad
>  _prebuild_libs+=       contrib/ofed/usr.lib/libibumad
> 
> -contrib/ofed/usr.lib/libopensm__L: lib/libthr__L
>  contrib/ofed/usr.lib/libosmcomp__L: lib/libthr__L
> -contrib/ofed/usr.lib/libibumad__L: contrib/ofed/usr.lib/libibcommon__L
> +contrib/ofed/usr.lib/libibmad__L: contrib/ofed/usr.lib/libibumad__L
>  .endif


-- 
Regards,
Bryan Drewery

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20171206/55accbad/attachment.sig>


More information about the svn-src-head mailing list