- view: text
- select for diffs
Wed Oct 11 19:39:31 1995 UTC
(27 years, 3 months ago) by anton
CVS tags: HEAD
Now gforth.fi is a nonrelocatable image containing all of startup.fs etc.
savesystem now saves `included-files', too (so require does not start from
added/fixed stack effect and wordset documentation for many words in kernal.fs
some reformatting in kernal.fs
fixed some wordset info in primitives
You need gcc version 2.0 or later to compile gforth.
configure has the following useful parameters:
--prefix=PREFIX install architecture-independent files in PREFIX
--exec-prefix=PREFIX install architecture-dependent files in PREFIX
[default: same as prefix]
--enable-force-reg Use explicit register declarations if they appear in
the machine.h file. This can cause a good speedup,
but also incorrect code with some gcc versions on
some processors (default disabled).
--enable-direct-threaded Force direct threading. This may not work on
some machines and may cause slowdown on others.
--enable-indirect-threaded Force indirect threading. This can cause a
slowdown on some machines.
--with-debug specifies option -g to compile with debug info (default)
--without-debug omits the -g switch and creates smaller images on
machines where strip has problems with gcc style
--help: tells you about other parameters.
If you don't like the defaults for the installation directories, you
should override them already during configure. E.g., if you want to
install in the /gnu hierarchy instead of in the default /usr/local
After, configuration, type
If your make has trouble with the Makefile, "make gforth" might work.
If your installed gcc isn't called "gcc" (e.g., called "gcc-2.6.1"), type
make GCC=<whatever you call your gcc>
Now you can check whether your shiny new Forth system works. Say
To make the documentation, type
make -k gforth.info gforth.ps html
If everything is allright, you may want to install gforth. Type
You have to make an entry in the info directory file manually. Also,
you have to install gforth.ps and html yourself.
A possible problem:
You need to read this only if you see a message like
"gforth: Cannot load nonrelocatable image (compiled for address 0x1234) at address 0x5678
The Gforth installer should look into the INSTALL file"
Gforth supports relocatable and fixed-address images. If you load
normal Forth code and save the image, you get a fixed-address
image. Producing a relocatable image is more difficult.
Consequently, Gforth has only a relocatable image of the kernel
(kernal.fi), which is powerful enough to load the rest of
Gforth. However, loading the rest takes a noticable amount of time. To
avoid this delay on every startup,the installation procedure produces
an image fixed at an address determined at the Gforth run that
produced the image. This fixed-address image is loaded by default. On
most OSs this works, because the first chunk of memory is always
allocated at the same address. If the address changes, you get the
An image address change can be caused by a change of the gforth
executable, or by a change (upgrade) of the OS; in these cases you
just have to rebuild and reinstall the fixed address image with
rm gforth.fi; make gforth.fi; make install
If you get such a message with a different address in place of the
0x5678 each time you try to start gforth, you cannot use fixed-address
images on your OS. In this case, send us a message so that we start
searching for a comfortable solution to this problem. In the
meantime, start gforth with
gforth -i kernal.fi startup.fs