Document the process of fighting a cross-compile into submission.

This commit is contained in:
jwalz
2003-07-05 23:20:22 +00:00
parent a3278098d4
commit 85c062ce47

View File

@@ -243,3 +243,26 @@ Notes:
on your console speaker in certain appropriate game situations. The only
modification to the main-line code needed to enable use of the driver
is defining UNIX386MUSIC or VPIX_MUSIC in unixconf.h.
15. If you are trying to cross-compile for another system, there is some
support in the src and util Makefiles, but there are still other
complications. It may well be best to make another copy of util,
util2, to compile target copies of makedefs, lev_comp, and recover
(duplicating the cross-compilation settings from the src Makefile)
without disturbing the main build.
You can use the host makedefs for everything but "makedefs -v", which
creates include/date.h, which provides various sanity-checking values
for making sure files read by NetHack at run-time are compatible.
These values depend on the endianness of your processor, its type
sizes, and its compiler's idea of struct packing. Your host and target
computers may disagree on these things, so you'll need to build a target
version of makedefs, run "makedefs -v" on your target, and bring the
resulting date.h back for the builds on the host. (Making sure the host
makedefs doesn't decide it needs to overwrite it for you. :-)
You also need a target version of lev_comp, and to provide it with all
the dat/*.des files, and copy all the resulting *.lev files back for
packaging on the host.
For recover, you just want the target binary to install on the target.