Page MenuHomeFreeBSD

Makefile.libcompat: Be consistent about not installing includes
ClosedPublic

Authored by jrtc27 on Jul 13 2023, 10:02 PM.
Tags
None
Referenced Files
Unknown Object (File)
May 23 2024, 8:50 AM
Unknown Object (File)
May 23 2024, 8:46 AM
Unknown Object (File)
May 23 2024, 8:45 AM
Unknown Object (File)
May 23 2024, 8:33 AM
Unknown Object (File)
May 9 2024, 9:30 AM
Unknown Object (File)
May 2 2024, 5:04 AM
Unknown Object (File)
Apr 9 2024, 7:22 AM
Unknown Object (File)
Mar 6 2024, 8:50 PM
Subscribers

Details

Summary

Currently we only pass MK_INCLUDES=no for distribute and install, since
it's only in LIB${_LIBCOMPAT}IMAKE, which means that we enable includes
during libraries and thus install includes into worldtmp, despite it
being shared these days across native and libcompats. This also means
we're at risk of having headers needed for building against a libcompat
that don't get installed to the system, but do end up being installed to
worldtmp. In particular, lib/msun has different fenv.h for aarch64 and
arm, so aarch64 will need arm's copy when it grows lib32 support, and
this would be installed to worldtmp, but not to the system, meaning any
programs that use fenv.h wouldn't be able to be built.

Instead, be consistent, and don't install includes at all during any of
the libcompat phases, so that we can detect these issues and ensure any
needed headers are installed for both worldtmp and the system.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable