Annotation of gforth/INSTALL, revision 1.16
1.7 anton 1: You need gcc version 2.0 or later to compile gforth.
1.1 anton 2:
1.5 anton 3: First, type
1.3 anton 4:
1.8 anton 5: ./configure
1.1 anton 6:
1.16 ! pazsan 7: or
! 8:
! 9: CC=<whatever you call your gcc> ./configure
! 10:
! 11: if your local gcc installation uses a different name (e.g. gcc-2.7.2),
! 12: or you want to generate for a different binary format (e.g. "gcc -b
! 13: i486-linuxaout -V 2.7.0" to generate an a.out executable under Linux
! 14: which you may give your friends who don't have ELF libraries).
! 15:
1.4 pazsan 16: configure has the following useful parameters:
1.9 anton 17: --prefix=PREFIX install architecture-independent files in PREFIX
18: [default: /usr/local]
19: --exec-prefix=PREFIX install architecture-dependent files in PREFIX
20: [default: same as prefix]
1.8 anton 21: --enable-force-reg Use explicit register declarations if they appear in
22: the machine.h file. This can cause a good speedup,
23: but also incorrect code with some gcc versions on
24: some processors (default disabled).
25: --enable-direct-threaded Force direct threading. This may not work on
26: some machines and may cause slowdown on others.
27: (default processor-dependent)
28: --enable-indirect-threaded Force indirect threading. This can cause a
29: slowdown on some machines.
30: (default processor-dependent)
31: --with-debug specifies option -g to compile with debug info (default)
32: --without-debug omits the -g switch and creates smaller images on
33: machines where strip has problems with gcc style
34: debugging informations.
35: --help: tells you about other parameters.
1.1 anton 36:
1.9 anton 37: If you don't like the defaults for the installation directories, you
38: should override them already during configure. E.g., if you want to
39: install in the /gnu hierarchy instead of in the default /usr/local
1.15 anton 40: hierarchy, say
1.5 anton 41:
1.9 anton 42: ./configure --prefix=/gnu
1.2 anton 43:
1.16 ! pazsan 44: After, configuration, type
! 45:
! 46: make
! 47:
! 48: If your make has trouble with the Makefile, "make gforth" might work.
1.15 anton 49:
1.16 ! pazsan 50: If your installed gcc isn't called "gcc" (e.g., called "gcc-2.7.2"), type
1.15 anton 51:
1.16 ! pazsan 52: make GCC=<whatever you call your gcc>
1.9 anton 53:
1.16 ! pazsan 54: instead. The more appropriate place to select your compiler is when
! 55: running configure.
1.6 anton 56:
1.7 anton 57: Now you can check whether your shiny new Forth system works. Say
58:
59: make test
60:
1.12 anton 61: You can run some benchmarks with
1.6 anton 62:
1.12 anton 63: make bench
64:
65: and compare them with the results in Benchres and in the manual.
1.7 anton 66:
1.16 ! pazsan 67: If everything is allright, you may want to install gforth. Type
1.7 anton 68:
69: make install
70:
1.12 anton 71: You have to make an entry in the info directory file manually.
72:
73: For paper documentation, print gforth.ps (a Postscript file (300dpi
74: fonts, i.e., it works, but does not produce best quality on better
75: printers)), or say
76:
77: make gforth.dvi
78:
79: and print the resulting file gforth.dvi. You can also get the
80: documentation in HTML format by typing
81:
82: make html
83:
84: Multiple Versions and Deinstallation
85:
86: Several versions of Gforth can be installed and used at the same
87: time. Version `foo' can be invoked with `gforth-foo'. We recommend to
88: keep the old version for some time after a new one has been installed.
1.10 anton 89:
1.12 anton 90: You can deinstall this version of Gforth with 'make uninstall' and
91: version foo with 'make uninstall VERSION=foo'. 'make uninstall' also
92: tells you how to uninstall Gforth completely.
1.10 anton 93:
1.12 anton 94: A Possible Problem
1.10 anton 95:
96: You need to read this only if you see a message like
97:
98: "gforth: Cannot load nonrelocatable image (compiled for address 0x1234) at address 0x5678
99: The Gforth installer should look into the INSTALL file"
100:
1.11 anton 101: Gforth supports both relocatable and fixed-address images. If you load
1.10 anton 102: normal Forth code and save the image, you get a fixed-address
103: image. Producing a relocatable image is more difficult.
104:
1.11 anton 105: Therefore, Gforth has only a relocatable image of the kernel
1.10 anton 106: (kernal.fi), which is powerful enough to load the rest of
107: Gforth. However, loading the rest takes a noticable amount of time. To
1.11 anton 108: avoid this delay (which would occur on every startup), the
109: installation procedure produces an image fixed at an address
110: determined at the Gforth run that produced the image. This
111: fixed-address image is loaded by default. On most OSs this works,
112: because the first chunk of memory is always allocated at the same
113: address. If the address changes, you get the message above.
1.10 anton 114:
115: An image address change can be caused by a change of the gforth
116: executable, or by a change (upgrade) of the OS; in these cases you
117: just have to rebuild and reinstall the fixed address image with
118:
119: rm gforth.fi; make gforth.fi; make install
120:
121: If you get such a message with a different address in place of the
122: 0x5678 each time you try to start gforth, you cannot use fixed-address
123: images on your OS. In this case, send us a message so that we start
124: searching for a comfortable solution to this problem. In the
125: meantime, start gforth with
126:
127: gforth -i kernal.fi startup.fs
128:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>