--- gforth/INSTALL 1995/06/07 10:05:01 1.9 +++ gforth/INSTALL 1995/12/15 01:54:07 1.17 @@ -28,33 +28,117 @@ configure has the following useful param 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 -hirarchy, say +hierarchy, say ./configure --prefix=/gnu -After, configuration, type +Moreover, if your GCC is not called gcc (but, e.g., gcc-2.7.1), you +should say so during configuration. E.g.: -make +env CC=gcc-2.7.1 ./configure -If your make has trouble with the Makefile, "make gforth" might work. +You can also pass additional options to gcc in this way, e.g., if you +want to generate an a.out executable under Linux with gcc-2.7.0: -If your installed gcc isn't called "gcc" (e.g., called "gcc-2.6.1"), type +env "CC=gcc -b i486-linuxaout -V 2.7.0" ./configure -make GCC= +After, configuration, type -instead. +make Now you can check whether your shiny new Forth system works. Say make test -To make the documentation, type +You can run some benchmarks with -make -k gforth.info gforth.ps html +make bench -If everything is allright, you may want to install gforth. Type +and compare them with the results in Benchres and in the manual. + +If everything is all right, you may want to install gforth. Type make install -You have to make an entry in the info directory file manually. Also, -you have to install gforth.ps and html yourself. +You have to make an entry in the info directory file manually. + +For paper documentation, print gforth.ps (a Postscript file (300dpi +fonts, i.e., it works, but does not produce best quality on better +printers)), or say + +make gforth.dvi + +and print the resulting file gforth.dvi. You can also get the +documentation in HTML format by typing + +make html + + + Preloading installation-specific code + +If you want to have some installation-specific files loaded when +Gforth starts (e.g., an assembler for your processor), put commands +for loading them into /usr/local/share/gforth/site-forth/site-init.fs +(if the commands work for all architectures) or +/usr/local/lib/gforth/site-forth/site-init.fs (for +architecture-specific commands); +/usr/local/lib/gforth/site-forth/site-init.fs takes precedence if both +files are present (unless you change the search path). The file names +given above are the defaults; if you have changed the prefix, you have +to replace "/usr/local" in these names with your prefix. + +By default, the installation procedure creates an empty +/usr/local/share/gforth/site-forth/site-init.fs if there is no such +file. + +If you change the site-init.fs file, you should run "make install" +again for the changes to take effect (Actually, the part of "make +install" starting with "rm gforth.fi" is sufficient). + + + Multiple Versions and Deinstallation + +Several versions of Gforth can be installed and used at the same +time. Version `foo' can be invoked with `gforth-foo'. We recommend to +keep the old version for some time after a new one has been installed. + +You can deinstall this version of Gforth with 'make uninstall' and +version foo with 'make uninstall VERSION=foo'. 'make uninstall' also +tells you how to uninstall Gforth completely. + + + 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 both 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. + +Therefore, 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 (which would occur 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 message above. + +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 +