Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Dec 2017 01:53:27 +0100
From:      Hans Petter Selasky <hps@selasky.org>
To:        Bryan Drewery <bdrewery@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: 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/...
Message-ID:  <19abac3b-8407-abd8-4fe9-c23d6bd7121f@selasky.org>
In-Reply-To: <cec48299-e075-fe51-1297-4eb10a4f7619@FreeBSD.org>
References:  <201711241450.vAOEoSFW056744@repo.freebsd.org> <ea6c8eb5-f849-df2a-ab80-75d8ebc1edb8@FreeBSD.org> <0fec20d5-cb8f-4937-5dd0-54b8b7461772@selasky.org> <cec48299-e075-fe51-1297-4eb10a4f7619@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

> 
> The whole thing needlessly obfuscates these libraries.
> 
> It's fine, I'm going to rewrite it all now.

It would be nice if these utilities can be built standalone, outside the 
buildworld target aswell. I've suggested adding an "all-install" variant 
to make. Having to kick a buildworld to test-build contrib/ofed is quite 
overkill, and that is some of reasoning behind the current Makefile layout.

6: When a set of libraries should be built in order, it is more clean to 
have 4 dependencies, than a bunch of them in my opinion.

You can use the updated "tools/make_libdeps.sh" to figure this out.

The old approach with
_prebuild_libs+=

won't work :-(

--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19abac3b-8407-abd8-4fe9-c23d6bd7121f>