summaryrefslogtreecommitdiffstats
path: root/README.unix
diff options
context:
space:
mode:
Diffstat (limited to 'README.unix')
-rw-r--r--README.unix182
1 files changed, 182 insertions, 0 deletions
diff --git a/README.unix b/README.unix
new file mode 100644
index 0000000..0f9094d
--- /dev/null
+++ b/README.unix
@@ -0,0 +1,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.