Raymond Toy pushed to branch master at cmucl / cmucl

Commits:

1 changed file:

Changes:

  • BUILDINGBUILDING.md
    1
    --*- Mode: text -*-
    
    2 1
     Building CMU CL
    
    3 2
     ===============
    
    4 3
     
    
    ... ... @@ -13,13 +12,13 @@ General Requirements
    13 12
     
    
    14 13
     In order to build CMU CL, you will need:
    
    15 14
     
    
    16
    -a) A working CMU CL binary.  There is no way around this requirement!
    
    15
    +a. A working CMU CL binary.  There is no way around this requirement!
    
    17 16
     
    
    18 17
        This binary can either be for the platform you want to target, in
    
    19 18
        that case you can either recompile or cross-compile, or for another
    
    20 19
        supported platform, in that case you must cross-compile, obviously.
    
    21 20
     
    
    22
    -b) A supported C compiler for the C runtime code.
    
    21
    +a. A supported C compiler for the C runtime code.
    
    23 22
     
    
    24 23
        Most of the time, this means GNU gcc, though for some ports it
    
    25 24
        means the vendor-supplied C compiler.  The compiler must be
    
    ... ... @@ -28,13 +27,13 @@ b) A supported C compiler for the C runtime code.
    28 27
        Note for FreeBSD 10 and above: The build requires gcc (Clang will
    
    29 28
        not work) and the lib32 compatiblity package.
    
    30 29
     
    
    31
    -c) GNU make
    
    30
    +a. GNU make
    
    32 31
     
    
    33 32
        This has to be available either as gmake or make in your PATH, or
    
    34 33
        the MAKE environment variable has to be set to point to the correct
    
    35 34
        binary.
    
    36 35
     
    
    37
    -d) The CMU CL source code
    
    36
    +a. The CMU CL source code
    
    38 37
     
    
    39 38
        Here you can either use one of the release source tarballs, or
    
    40 39
        check out the source code directly from the public CMUCL git
    
    ... ... @@ -48,7 +47,7 @@ though recompilation against 2.x Motif probably works as well.
    48 47
     Setting up a build environment
    
    49 48
     ------------------------------
    
    50 49
     
    
    51
    -1.) Create a base directory and change to it
    
    50
    +1. Create a base directory and change to it
    
    52 51
     
    
    53 52
         mkdir cmucl ; cd cmucl
    
    54 53
     
    
    ... ... @@ -77,7 +76,7 @@ want to do that and in case you know, somehow, that the version of
    77 76
     CMUCL you are building from will build the sources you have, here is a
    
    78 77
     quick guide.
    
    79 78
     
    
    80
    -a) Simple builds
    
    79
    +1. Simple builds
    
    81 80
     
    
    82 81
        Use this to build from a version of CMUCL that is very close to the
    
    83 82
        sources you are trying to build now:
    
    ... ... @@ -93,7 +92,7 @@ a) Simple builds
    93 92
        load-world.sh three times.  See below for descriptions of these
    
    94 93
        scripts.
    
    95 94
        
    
    96
    -b) Slightly more complicated builds
    
    95
    +1. Slightly more complicated builds
    
    97 96
     
    
    98 97
        For slightly more complicated builds, you may need to use some
    
    99 98
        bootstrap files.  See below for more information about these
    
    ... ... @@ -109,7 +108,7 @@ b) Slightly more complicated builds
    109 108
        As in a) above, three builds are done, and the result is in the
    
    110 109
        directory build-4.
    
    111 110
     
    
    112
    -c) More complicated builds
    
    111
    +1. More complicated builds
    
    113 112
     
    
    114 113
        If you have more complicated builds, this script probably will not
    
    115 114
        work, and definitely does not handle cross-compiles.  In this case,
    
    ... ... @@ -136,7 +135,7 @@ and cross-compilation. We'll first look at normal recompilation:
    136 135
     
    
    137 136
     The recompilation process basically consists of 4 phases/parts:
    
    138 137
     
    
    139
    -a) Compiling the lisp files that make up the standard kernel.
    
    138
    +1. Compiling the lisp files that make up the standard kernel.
    
    140 139
     
    
    141 140
        This happens in your current CMU CL process, using your current
    
    142 141
        CMU CL's normal file compiler.  This phase currently consists of 3
    
    ... ... @@ -148,7 +147,7 @@ a) Compiling the lisp files that make up the standard kernel.
    148 147
        or "compiling up a world", based on the name of the first
    
    149 148
        sub-phase.
    
    150 149
     
    
    151
    -b) Building a new kernel.core file out of the so created files
    
    150
    +1. Building a new kernel.core file out of the so created files
    
    152 151
     
    
    153 152
        This process, which is generally called genesis, and which is
    
    154 153
        controlled by src/tools/worldbuild.lisp, uses the newly compiled
    
    ... ... @@ -190,7 +189,7 @@ b) Building a new kernel.core file out of the so created files
    190 189
        If it doesn't inform you of this, you can skip directly to the last
    
    191 190
        phase d).
    
    192 191
     
    
    193
    -c) Recompiling the C runtime code, producing the "lisp" binary file
    
    192
    +1. Recompiling the C runtime code, producing the "lisp" binary file
    
    194 193
     
    
    195 194
        This step is only needed if you haven't yet got a suitable lisp
    
    196 195
        binary, or if the internals.h file has changed during genesis (of
    
    ... ... @@ -206,7 +205,7 @@ c) Recompiling the C runtime code, producing the "lisp" binary file
    206 205
        the C sources and recompile because of this, you can do that before
    
    207 206
        Phase b), so that you don't have to perform that phase twice.
    
    208 207
     
    
    209
    -d) Populating the kernel.core, and dumping a new lisp.core file.
    
    208
    +1. Populating the kernel.core, and dumping a new lisp.core file.
    
    210 209
     
    
    211 210
        In this phase, which is controlled by src/tools/worldload.lisp, and
    
    212 211
        hence often called world-load, the kernel.core file is started up
    
    ... ... @@ -218,11 +217,11 @@ We're not quite done yet. This produces just a basic lisp.core.
    218 217
     To complete the build so that you something similar to what the
    
    219 218
     releases of CMUCL do, there are a few more steps:
    
    220 219
     
    
    221
    -e) Build the utilities like Gray streams, simple streams, CLX, CLM,
    
    220
    +1. Build the utilities like Gray streams, simple streams, CLX, CLM,
    
    222 221
        and Hemlock.  Use the bin/build-utils.sh script for this, as
    
    223 222
        described below
    
    224 223
     
    
    225
    -f) Create tarfiles using the bin/make-dist.sh script, as
    
    224
    +1. Create tarfiles using the bin/make-dist.sh script, as
    
    226 225
        explained below.
    
    227 226
     
    
    228 227
     With these tarfiles, you can install them anywhere.  The contents of
    
    ... ... @@ -504,7 +503,7 @@ binaries built from earlier sources can compile the sources containing
    504 503
     that change.  There are two forms of boostrapping that can be
    
    505 504
     required:
    
    506 505
     
    
    507
    -a) Bootfiles
    
    506
    +1. Bootfiles
    
    508 507
     
    
    509 508
        The maintainers try to make bootfiles available, that allow going
    
    510 509
        from an old release to the next release.  These are located in the
    
    ... ... @@ -525,7 +524,7 @@ a) Bootfiles
    525 524
        Alternatively, the bootstrap file can just "load" the individual
    
    526 525
        bootfiles as needed.
    
    527 526
     
    
    528
    -b) Cross-compiling
    
    527
    +1. Cross-compiling
    
    529 528
     
    
    530 529
        Under some circumstances, bootstrap code will not be sufficient,
    
    531 530
        and a cross-compilation is needed.  In that case you will have to