/[cmucl]/src/BUILDING
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.4 by rtoy, Tue Jan 24 04:40:48 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.
615    
616    Cross-Platform Cross-Compile
617    ----------------------------
618    
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.
623    
624    To simplify things, we assume that both platforms have access to the
625    same file system, via NFS or something else.
626    
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.
630    
631    2. Adjust the cross-compilation script.  An example for ppc/darwin to
632       x86/linux is in src/tools/cross-scripts/cross-ppc-x86.lisp.
633    
634    3. Build the cross compiler and target, as above, using the specified
635       cross-compile script.
636    
637    4. Everything has now been compiled for the x86/linux target.  We need
638       to compile the C code for x86 and create a lisp.core from the
639       kernel.core.  This is where it's useful to have both platforms be
640       able to access the same file system.  If not, you will need to copy
641       all of the generated files from ppc/darwin to x86/linux.  Basically
642       everything in xtarget needs to be copied.
643    
644       Note carefully that you may have to edit lisp/internals.h and/or
645       lisp/internals.inc to have the correct features.  This is a known
646       bug in the generation of these files during cross-compilation.
647    
648    
649    5. Now run load-world.sh to create the desired lisp.core from lisp and
650       kernel.core.  As above, PCL has not been compiled, so select
651       restart 3 (return nil from pclload) to create lisp.core
652    
653    At this point, you will have a shiny new lisp on the new platform.
654    Since it's missing PCL, you will need to do at least one normal build
655    to get PCL included.  This is also a good check to see if everything
656    was compiled properly.  A full set of builds via build.sh might be
657    good at this point too.
658    
659    
660    
661    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.5