Changes between Version 7 and Version 8 of WindowsNotes


Ignore:
Timestamp:
Nov 23, 2008, 12:06:37 AM (11 years ago)
Author:
gb
Comment:

add kernel compile notes.

Legend:

Unmodified
Added
Removed
Modified
  • WindowsNotes

    v7 v8  
    213213be less boring. 
    214214
     215== Building the lisp kernel on Windows ==
     216
     217The Windows kernel Makefiles (in ccl/lisp-kernel/win32 and ccl/lisp-kernel/win64)
     218assume that the Cygwin tools (http://www.cygwin.com) are installed.  (It's likely
     219that small changes to the Makefiles would allow the use of the MinGW (http://www.mingw.org)
     220tools instead.)
     221
     222A full discussion of Cygwin installation and configuration issues is ***way*** beyond
     223the scope of this document.  Fortunately, the net is full of helpful and accurate
     224documents that discuss these issues in great detail.  For the sake of argument, let's
     225assume that Cygwin is installed in C:\cygwin (which is the default) and that it's
     226configured to use Unix-style line-termination.
     227
     228For both the win32 and win64 platforms, it's necessary to install the following Cygwin
     229packages (if you notice any dependencies not listed here, please edit this page or let
     230me (gb) know.)
     231
     232  * make      (Unix "make" program)
     233  * m4        (m4 macro processor)
     234
     235You'll probably find life easier if you also install standard utilities ('coreutils',
     236'fileutils', 'tar', ...) but these things aren't used by the build process.
     237
     238To build the win32 kernel, you'd additionally need:
     239 
     240  * gcc-core  (32-bit C compiler)
     241  * gcc-mingw (mingw integration)
     242  * gcc-mingw-core
     243  * mingw-runtime (static C runtime library)
     244  * w32-api   (win32 headers)
     245  * binutils  (assembler/linker/object file utilities.)
     246
     24764-bit toolchains for the Cygwin/MinGW environments are available from the Mingw-w64
     248project (http://sourceforge.net/projects/mingw-w64/).  In the "Downloads" section of
     249that site, find a "complete toolchain snapshot" for Cygwin and download the compressed
     250tar archive (it's largish - probably > 70MB).  In a Cygwin shell, extract the the
     251tar archive into /usr :
     252
     253{{{
     254shell> tar xvf mingw-w64-bin-i686-cygwin-VERSION-YYYYMMDD.tar.bz2 -C /usr
     255}}}
     256
     257This archive contains everything that you need (64-bit toolchain, libraries, headers)
     258to build the lisp kernel for win64.  (You still need the 'make' and 'm4' packages.)
     259
     260=== Actually building a Windows kernel ===
     261
     262Ensure that no copies of the lisp are running.  (Windows doesn't like to overwrite
     263an executable file while it's in use.)
     264
     265From a Cygwin shell, cd to .../ccl/lisp-kernel/win32 (or win64) and do:
     266
     267{{{
     268shell> make
     269}}}
     270
     271If all of the tools/headers/libraries are installed, that should create a working
     272kernel executable in the ccl directory.  There are still (as of November 2008) some
     273warnings in the win32 build that are intended to serve as reminders that some cases
     274of thread interrupt/suspend/resume still aren't handled correctly; the win64 kernel
     275should generally build without warnings.