Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Dec 2017 17:02:12 -0800
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        Hans Petter Selasky <hps@selasky.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:  <20f66fc2-5812-1c0d-ceed-1171d918568d@FreeBSD.org>
In-Reply-To: <19abac3b-8407-abd8-4fe9-c23d6bd7121f@selasky.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> <19abac3b-8407-abd8-4fe9-c23d6bd7121f@selasky.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--K9pJ5rsLHisRd0EuJcCjTlC1eJ880vfAW
Content-Type: multipart/mixed; boundary="gOJRTx9qXMupFIAbiwuCcmosRDNbHAAj7";
 protected-headers="v1"
From: Bryan Drewery <bdrewery@FreeBSD.org>
To: Hans Petter Selasky <hps@selasky.org>, src-committers@freebsd.org,
 svn-src-all@freebsd.org, svn-src-head@freebsd.org
Message-ID: <20f66fc2-5812-1c0d-ceed-1171d918568d@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/...
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>
 <19abac3b-8407-abd8-4fe9-c23d6bd7121f@selasky.org>
In-Reply-To: <19abac3b-8407-abd8-4fe9-c23d6bd7121f@selasky.org>

--gOJRTx9qXMupFIAbiwuCcmosRDNbHAAj7
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

On 12/6/2017 4:53 PM, Hans Petter Selasky wrote:
> On 12/07/17 01:38, Bryan Drewery wrote:
>> 1. SUBDIR=3D../../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 no=
t
>> at is wrong.
>> 5. Depending on an include directory in the Makefile.inc1 library
>> dependencies is simply not needed - I told you that.
>=20
> Try building the COMPAT 32-bit libraries with OFED and you'll see that
> this is needed!
>=20

No. The proper fix is to add contrib/ofed/include to the
_LC_INCDIRS.${MK_OFED:tl} list in Makefile.libcompat. Just looking at
the lib32 build you can see 'includes' is only called on a subset of
directories via _LC_INCDIRS.

>> 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.=C2=A0 It cr=
eates
>> an indirection which adds more unneeded submake recursion.
>=20
> 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 argument is that it's how things are done. If you come up with a
brilliant solution to make Makefile.inc1 library dependencies simpler,
GREAT! But the one you have put in here is totally bogus.

>=20
>>
>> The whole thing needlessly obfuscates these libraries.
>>
>> It's fine, I'm going to rewrite it all now.
>=20
> It would be nice if these utilities can be built standalone, outside th=
e
> buildworld target aswell. I've suggested adding an "all-install" varian=
t

They mostly can, but building things directly with the current build
system simply won't create a SYSROOT or do cross-directory dependencies
properly.  That's what DIRDEPS_BUILD does.  Again, if you had invented
some great solution to make this simpler that would be good, but that's
not what you have here. You have simply made changes to simply build
ordering in contrib/ofed when not in buildworld, but that's not even
needed if you use the proper SUBDIR and SUBDIR_DEPEND.

> to make. Having to kick a buildworld to test-build contrib/ofed is quit=
e
> overkill, and that is some of reasoning behind the current Makefile lay=
out.
>=20
> 6: When a set of libraries should be built in order, it is more clean t=
o
> have 4 dependencies, than a bunch of them in my opinion.

Creating rats nest dependency lists is not proper or easier to maintain
or cleaner at all. It's wrong.

>=20
> You can use the updated "tools/make_libdeps.sh" to figure this out.
>=20
> The old approach with
> _prebuild_libs+=3D
>=20
> won't work :-(
>=20

I told you before how to make it work.


--=20
Regards,
Bryan Drewery


--gOJRTx9qXMupFIAbiwuCcmosRDNbHAAj7--

--K9pJ5rsLHisRd0EuJcCjTlC1eJ880vfAW
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJaKJMUAAoJEDXXcbtuRpfPCLUIAKyY8bgiZm+jESMZAQUPPLoM
rDSm5xUnr4gpn+v6NEUUQtiqvM4Xh2vTSe6tw1pb/1ZuEjW1Fww+x0OoCFmPBBuX
i4QX/U2etmMrwiCzsh7d36C0S59C3KCP+OVh9GTdkZme4czOxMPH6CY+MZRM7/3g
K0FpEqao+JlmBdTIlg1hxfz8EjtUo9WxN2I7Wqw+1yxq8b0lU7CLSzCz9gG/2LFg
2J6/Smr80G7p/rQ4e/qXTN+Tl9RsVIaw3rOaVbGGdwwiUVV+PZR1q/eNhg1WKYS7
WXoqAsg6IyheJlqXVL3t1wv3bGVZ9gjpsdglBNfXsTwkz35pHzoc7fGzWha0Lzg=
=fgRy
-----END PGP SIGNATURE-----

--K9pJ5rsLHisRd0EuJcCjTlC1eJ880vfAW--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20f66fc2-5812-1c0d-ceed-1171d918568d>