ViewVC logotype

Diff of /src/BUILDING

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by rtoy, Wed May 25 12:21:18 2005 UTC revision 1.14 by rtoy, Tue Jan 24 19:51:45 2006 UTC
# Line 613  again.  Just follow the directions for a Line 613  again.  Just follow the directions for a
613  xtarget/lisp/lisp as your compiler.  Be sure to use create-target.sh  xtarget/lisp/lisp as your compiler.  Be sure to use create-target.sh
614  to create a new directory where the result can go.  to create a new directory where the result can go.
616    Cross-Platform Cross-Compile
617    ----------------------------
619    A cross-platform cross-compile is very similar to a normal
620    cross-compile, and the basic steps are the same.  For the sake of
621    concreteness, assume we are on ppc/darwin and want to cross-compile
622    to x86/linux.
624    To simplify things, we assume that both platforms have access to the
625    same file system, via NFS or something else.
627    1. As above, we need to create directories for the cross-compiler and
628       compiled target.  We assume we are on ppc/darwin.  So, when running
629       create-target.sh we need to specify the target:
631            src/tools/create-target.sh x86-cross x86
632            src/tools/create-target.sh x86-target x86
634    2. Adjust the cross-compilation script.  An example for ppc/darwin to
635       x86/linux is in src/tools/cross-scripts/cross-ppc-x86.lisp.
637    3. Build the cross compiler and target, as above, using the specified
638       cross-compile script:
640            src/tools/cross-build-world.sh x86-target x86-cross cross.lisp [ppc binary]
642       where cross.lisp is the cross-compile script from 2) above.
644    4. Everything has now been compiled for the x86/linux target.  We need
645       to compile the C code for x86 and create a lisp.core from the
646       kernel.core.  This is where it's useful to have both platforms be
647       able to access the same file system.  If not, you will need to copy
648       all of the generated files from ppc/darwin to x86/linux.  Basically
649       everything in xtarget needs to be copied.
651       Note carefully that you may have to edit lisp/internals.h and/or
652       lisp/internals.inc to have the correct features.  This is a known
653       bug in the generation of these files during cross-compilation.
655       Compile the lisp code:
657            src/tools/rebuild-lisp.sh x86-target
659    5. Now run load-world.sh to create the desired lisp.core from lisp and
660       kernel.core.  As above, PCL has not been compiled, so select
661       restart 3 (return nil from pclload) to create lisp.core
663            src/tools/load-world.sh x86-target "new x86"
665    At this point, you will have a shiny new lisp on the new platform.
666    Since it's missing PCL, you will need to do at least one normal build
667    to get PCL included.  This is also a good check to see if everything
668    was compiled properly.  A full set of builds via build.sh might be
669    good at this point too.

Removed from v.1.3  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.5