diff options
Diffstat (limited to 'README.unix')
-rw-r--r-- | README.unix | 182 |
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. |