make(1) uses sysctlbyname() to find out if it is running on a PC98
machine. This check has been added on 1998/9/9. The MIB variable was
added on 1998/8/31. At that time __FreeBSD_version was 300003. So,
only perform the check *if* __FreeBSD_version is defined and if it's
greater than 300003.
For the record: sysctlbyname was added on 1997/5/30 so this change
automaticly handles that...
It appears that make fails to read the global symbol table of the archive file,
making it think that the library needs to be rebuilt.
fix supplied in PR:
PR: bin/14167
Submitted by: Sebastian Lederer <[email protected]>
Reviewed by: [email protected]
of VPATH to be a little sexier. I'd say it looks a bit like Claudia
Schiffer now, which I consider a definate improvement. We're also a little
more subtle about saying that VPATH is for backward(s) compatibility.
Submitted-by: chris, bde, and myself
[although none of their descriptions were as sexy
M(|is|r)s Schiffer, of course].
for BSD less than 4.4 where sys/cdefs.h DNE but can be simulated with
param.h. Unfortunately, the additional include did little to actually
improve portability since we've lost portability in several other chunks
of make code (err(), sysctlbyname(), probable more).
Partly submitted by: bde
"Make no longer properly parses archive files, so using archive members
as make targets, as described in PSD:12 section 4.2, does not work."
Really should be merged into 3.3 before we ship if we can..
it's a trivial fix.
PR: bin/13039, bin/10274
Submitted by: Mikko Tyolajarvi [email protected]
that -E only operates for a specified variable. Useful since the -e option
will often pull-in many unwanted variable overrides (esp. in a make world
situation). Uses include overriding BINOWN (which cannot be done by normal
methods or through abuses of MAKEFLAGS) or likely for ports to honour CFLAGS
(provided they're running on a system whose make(1) has this option).
support. I've been building world with these changes for months w/o
ill effect. I've also managed to build the cross tool chain for MIPS
with these patches.
Please note that the extent to which these patches work is largely
dictated by how well our tool chains support the cross compilation.
Building alpha binaries on i386 doesn't work. Supposedly building
i386 binaries on alpha does work, but I've not verified it with these
patches, however.
compiled in default in case it isn't defined. This is needed to make
cross compilation work in some edge cases. It also makes cross
compiling on FreeBSD other BSD's easier as well.
Obtained from: NetBSD, OpenBSD (predates the split)