BUILD.SO rules shouldn't change search paths, should be consistent
BUILD64.SO passes a library search path innately, which makes life hard for anyone using it who doesn't need that path -- especially native tools for whom it is wrong.
There is also a discrepency about whether and how CCNEEDED is used here in the equivalent BUILDCCC.SO rule.
Unfortunately, fixing BUILD64.SO exposed issues with the modules in cmd/perl which try to build both ISAs out of the same Makefile. We would end up needing to use LDLIBS64 explicitly here, except we can't do that in BUILD64.SO because the original intent of BUILD64.SO is it (and the things it references) will get swapped into place by Makefile.lib.64, so most library makefiles explict to be able to set LDLIBS (at this point, equivalent to LDLIBS64).
Rather than growing out an expanding series of target-specific assignments in usr/src/cmd/perl/Makefile.perl, it proved easier to just split the perl modules to produce each ISA in a separate directory and use the makefiles more normally.
Unfortunately, that means the bulk of this change is actually in usr/src/cmd/perl, and, further, is 90% CDDL header by volume.
Updated by Electric Monk 3 months ago
- Status changed from In Progress to Closed
- % Done changed from 0 to 100
commit a5619348a00282a0a129610076aefdb4dd7ab2ab Author: Richard Lowe <email@example.com> Date: 2022-05-09T21:16:22.000Z 14666 BUILD.SO rules shouldn't change search paths, should be consistent Reviewed by: Andy Fiddaman <firstname.lastname@example.org> Reviewed by: Toomas Soome <email@example.com> Approved by: Robert Mustacchi <firstname.lastname@example.org>