necessary target system headers (<fs/unicode.h> and <fs/cd9660/iso.h>)
because system headers for the host (like <sys/stat.h>) are also pulled
from there and it causes build errors if target src tree is different
from installed one on the host.
Instead, copy the necessary system headers for host's programs into
${.OBJDIR} first.
Problem reported from Geert Hendrickx, and there is no particular comment
on tech-toolchain.
on (some) OpenFirmware 2.x machines.
Current macppccd.iso image doesn't boot on Openfirmware 2.x
(and probably 1.0.5) machines because it uses pre-compiled binary
which is based on old (and customized) bootxx.
It causes version mismatch against newer ofwboot whose load address
has been changed from 0x600000 to 0xe00000, as mentioned in the
following post:
http://mail-index.netbsd.org/port-macppc/2004/12/14/0020.html
There was also an raw binary which was passed to mkisofs as -boot-hfs-file.
To fix these issue, prepare a simple mkhfsboot program which creates
a boothfs file with the Apple partition map info for mkisofs,
and modify macppc_installboot to search the secondary ofwboot from isofs
and to put and modify the primary bootxx accordingly.
See PR toolchain/30245 for more details.
There are still some machines which don't boot from an iso image created
by this method (G3 machines with OF 2.0f1 etc.), but it's still better
than to keep ugly and obsolete hacks.
Ok'ed by macallan, and there is no other particular comment about this PR.
instead, keep uuencoded versions in the repository.
(arguably /usr/sbin/installboot -m macppc should support -t cd9660,
at which point we'd nuke this macppc_installboot hack)
USETOOLS=yes friendly):
since the file only changes when a new bootxx.raw is committed into this
directory, commit a generated version of macppcboot.raw here as well.
clean up the framework that builds mkmacppcboot as well, and don't
remove macppcboot.raw on make clean.
rough at this point, and needs more fleshing out in several areas. Does not
yet do packages or check for the existence of support programs--to be fixed.