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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
|
This file contains the instructions for building scm4e under Unix
systems. Scm conforms to Revised^4 Report on the Algorithmic Language
Scheme and the IEEE P1178 specification. Scm runs under VMS, MS-DOS,
OS2, MacOS, Amiga, Atari-ST, NOS/VE, Unix and similar systems.
The author of scm can be reached at <jaffer@ai.mit.edu> or
Aubrey Jaffer, 84 Pleasant St., Wakefield MA 01880.
The Unix installation support included in this scmconfig distribution
has been written by myself, Bryan O'Sullivan <bosullvn@maths.tcd.ie>,
and is maintained by me. Please direct any problems you have with
either scm itself or this configuration software to <bug-scm@scrg.cs.tcd.ie>.
NOTE: Before you get started, make sure that you have unpacked this
scmconfig distribution into the whatever directory you have
unpacked the same version of scm.
Several chunks of this file have been lifted more or less verbatim
from the standard INSTALL file which comes with most GNU utilities
these days.
MANIFEST
`README.unix' is this file. It contains a MANIFEST, INSTALLATION
INSTRUCTIONS, TROUBLESHOOTING, and various other information.
`COPYING' details the LACK OF WARRANTY for scmconfig and scm and the
conditions for distributing scm and scmconfig.
`acconfig-1.5.h' is a temporary fix for a bug in version 1.5 of GNU
autoconf. This file should not concern you unless you are
familiar with autoconf (you don't need to be).
`configure' is an executable shell script which generates
`scmconfig.h' and `Makefile'.
`configure.in' is a template file used by with autoconf (autoconf is
not needed to build scm), which produces the `configure'
script.
`scmconfig.h.in' is an automatically-generated template file used by
configure, which produces `scmconfig.h'.
`Makefile.in' is a template file used by configure, which produces
`Makefile'.
INSTALLATION INSTRUCTIONS
To compile this package:
1. In the directory that this file is in, type `./configure'. If
you're using `csh' on an old version of System V, you might need
to type `sh configure' instead to prevent `csh' from trying to
execute `configure' itself.
You may wish to edit the generated `Makefile' file in order to
customise scm to your own preferences. The comments in there
should be adequate to let you decide what you want to do.
`Makefile' has a reasonable set of defaults for most Unix systems,
so you may not have to edit it at all.
[You can skip the rest of this section (down to point 2 below) the
first time around.]
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation, and
creates the Makefile.
Running `configure' takes a minute or two. While it is running,
it prints some messages that tell what it is doing. If you don't
want to see the messages, run `configure' with its standard output
redirected to `/dev/null'; for example, `./configure >/dev/null'.
To compile the package in a different directory from the one
containing the source code, you must use a version of `make' that
supports the VPATH variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go
and run `configure'. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If for some reason `configure' is not in the source code directory
that you are configuring, then it will report that it can't find
the source code. In that case, run `configure' with the option
`--srcdir=DIR', where DIR is the directory that contains the
source code.
See the section titled `INSTALL' below on building scm with
different default search paths. By default, when you run `make',
scm looks in the source directory for `Init.scm'. The binary
which is built when you run `make install' looks in the correct
places for files.
Another `configure' option is useful mainly in `Makefile' rules
for updating `config.status' and `Makefile'. The `--no-create'
option figures out the configuration for your system and records
it in `config.status', without actually configuring the package
(creating `Makefile's and perhaps a configuration header file).
Later, you can run `./config.status' to actually configure the
package. You can also give `config.status' the `--recheck'
option, which makes it re-run `configure' with the same arguments
you used before. This option is useful if you change `configure'.
`configure' ignores any other arguments that you give it.
If your system requires unusual options for compilation or linking
that `configure' doesn't know about, you can give `configure'
initial values for some variables by setting them in the
environment. In Bourne-compatible shells, you can do that on the
command line like this:
CC='gcc -traditional' DEFS=-D_POSIX_SOURCE ./configure
2. Type `make' to compile the package. If you want, you can override
the `make' variables CFLAGS and LDFLAGS like this:
make CFLAGS=-O2 LDFLAGS=-s
3. Test scm. This is done in the following way (user input comes
after the `bash$' and `>' prompts):
bash$ scm
SCM version xxx, Copyright (C) 1990, 1991, 1992, 1993 Aubrey Jaffer.
SCM comes with ABSOLUTELY NO WARRANTY; for details type `(terms)'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `(terms)' for details.
;loading ".../Transcen.scm"
;done loading ".../Transcen.scm"
;Evaluation took 230 mSec (0 in gc) 8661 cons work
> (load "test.scm")
...
> (test-sc4)
...
> (test-cont)
...
> (test-inexact)
4. You can remove the program binaries and object files from the
source directory by typing `make clean'. To also remove the
Makefile(s), the header file containing system-dependent definitions
(if the package uses one), and `config.status' (all the files that
`configure' created), type `make distclean'.
[You can skip this next bit unless you are editing the `configure.in'
file, which you should not do unless you are familiar with autoconf.]
If you are using versions of autoconf before or including 1.5, you
should rename `acconfig-1.5.h' to `acconfig.h' before running
autoheader, since these distributions do not handle
`TIME_WITH_SYS_TIME' correctly.
INSTALL
Type `make install' to install programs, data files, and
documentation.
By default, `make install' will install the package's files in
/usr/local/bin, /usr/local/lib, /usr/local/man, etc. You can specify
an installation prefix other than /usr/local by giving `configure' the
option `--prefix=PATH'. Alternately, you can do so by consistently
giving a value for the `prefix' variable when you run `make', e.g.,
make prefix=/usr/gnu
make prefix=/usr/gnu install
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If
you give `configure' the option `--exec-prefix=PATH' or set the `make'
variable `exec_prefix' to PATH, the package will use PATH as the
prefix for installing programs and libraries. Data files and
documentation will still use the regular prefix. Normally, all files
are installed using the regular prefix.
TROUBLESHOOTING
If you encounter any problems while building scm, please send
electronic mail to <bug-scm@scrg.cs.tcd.ie> with a description of the
problem, and any solution to it you may have found. Some mention of
the version of Unix you are trying to build scm on, and the versions
of scm and scmconfig you are using, would be helpful in diagnosing the
problem.
If you encounter any problems with system include files not being
found, or attempts being made to read the wrong files, please contact
<bug-scm@scrg.cs.tcd.ie> with a description of the include files that
are not being handled correctly; the problem probably lies in the
autoconf support, and can usually be quickly fixed by manually editing
`scmconfig.h'.
If you find that scm does not link because it cannot find a
time-related function, please mail a description of the problem to
<bug-scm@scrg.cs.tcd.ie>, stating which function(s) can't be found.
In the mean time, editing the top of `time.c' should provide a fix for
the problem.
|