-
Notifications
You must be signed in to change notification settings - Fork 36
/
README.source
66 lines (58 loc) · 3.62 KB
/
README.source
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
This is the source distribution of Lispbox. This is only useful for
people who want to build a Lispbox distribution. To build a distro you
will need GNU make, and a Bourne shell (such as bash).
Additionally you need the various components that make up Lispbox, in
either source or binary form. The basic idea behind building a Lispbox
distribution is that we start from the source or binary distributions
of the various components and install them (building if necessary)
into a staging directory to which we then add various bits of
Lispbox-specific glue code and then package the whole thing up in an
appropriate manner for a given operating system--as a tar.gz on
GNU/Linux, as a .dmg on OS X, and as double-clickable installer on
Windows.
The GNUmakefile included here is used to build each component and then
assemble the components into a Lispbox distribution with the Lispbox
specific glue code. To speed the build process the main makefile looks
first for a pre-built version in the directory binary-archives. For
some components, which are available only in binary form, this
pre-built version may be the actual binary archive provided by the
component's "vendor". For others, it may be a tar.gz built from the
source of the compenent by the Lispbox GNUmakefile. For each component
that can be built from source and included in Lispbox there is an
auxilliary GNUmakefile (e.g. GNUmakefile.emacs, GNUmakefile.sbcl,
etc.) that knows how to unpack and build that component and eventually
produce a tar.gz in binary-archives that can be unpacked in the
Lispbox staging directory. (This dramatically speeds up the time it
takes to build a Lispbox distro by avoiding repeatedly building
components whose source has not changed.)
Allegro: Allegro is only available in binary form. To build an
Allegro Lispbox you need to download the appropriate distribution
from Franz and put it in the binary-archives directory. The Lispbox
GNUmakefile knows how to unpack it into the right place. Users of an
Allegro-based Lispbox will need to obtain a license from Franz. When
an Allegro-based Lispbox starts up it checks whether there is a
licenes file installed in the right place and, if there isn't, asks
the user where they saved the license file and installs it in the
right place.
Clozure: Clozure is tricky to build from source. Thus I prefer to use
the binary distributions provided by the Clozure developers. Thus the
main Lispbox GNUmakefile treats Clozure like Allegro, as a component
that it knows how to unpack into the right place. Download the binary
distribution you want to use and put it in the binary-archives
directory. Make sure to also set the correct values for your platform
in the GNUmakefile.
SBCL: To build SBCL you need a version of SBCL already installed and
in your path. (SBCL can, in fact, be cross compiled with other Common
Lisp implementations but the Lispbox makefiles don't know how to take
advantage of that fact.) So you may need to download a binary SBCL
distribution and install it in the normal way and then download a
source distribution and put it in the source-achives directory.
To build SBCL 1.0.38 on OS X 10.6 you'll need to apply this patch:
https://bugs.launchpad.net/sbcl/+bug/421779
CLISP: Since CLISP can be built from scratch using just a C compiler
all you need to build a CLISP Lispbox is a source distribution of
CLISP which you should save in the source-archives directory. The
main GNUmakefile knows how to take it from there.
SLIME: You'll need the CVS version of SLIME for it to work with
recent versions of emacs. You can download a CVS snapshot from
http://common-lisp.net/project/slime/snapshots/slime-current.tgz