--- gforth/INSTALL 1996/09/30 13:16:06 1.21 +++ gforth/INSTALL 1997/02/01 14:59:27 1.26 @@ -43,12 +43,13 @@ gforth.info-* ('cat gforth.info-*' under Configuration Options -You can build in a directory different from the source directory by -changing to the build directory and invoking configure thus: +If you use GNU make, you can build in a directory different from the +source directory by changing to the build directory and invoking +configure thus: $srcdir/configure -where $srcdir is the source directory (Note that we tested this only +where $srcdir is the source directory. (Note that we tested this only for installation; i.e., if you want to hack the Gforth sources, you should probably build in the source directory). @@ -68,9 +69,9 @@ configure has the following useful param slowdown on some machines. (default processor-dependent) --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 - debugging informations. + --without-debug omits the -g switch and creates smaller images on + machines where strip has problems with gcc style + debugging informations. --help: tells you about other parameters. The file Benchres shows which combination of the -enable options we @@ -93,6 +94,34 @@ want to generate an a.out executable und env "CC=gcc -b i486-linuxaout -V 2.7.0" ./configure +You can change the sizes of the various areas used in the default +image `gforth.fi' by passing the appropriate Gforth command line +options in the FORTHSIZES environment variable: + +env "FORTHSIZES=--dictionary-size=256k --data-stack-size=16k --fp-stack-size=15872b --return-stack-size=15k --locals-stack-size=14848b" ./configure + +The line above reaffirms the default sizes. Note that the locals +stack area is also used as input buffer stack. + +If C's "long long" do not work properly on your machine (i.e., if the +tests involving double-cell numbers fail), you can build Gforth such +that it does not use "long long": + +env ac_cv_sizeof_long_long=0 ./configure + + + Cross-Configuration + +A few tests made by the configure script do not work in a +cross-compilation situation. You have to provide the results of these +tests by hand. E.g., if you compile for a 386 architecture processor: + +env ac_cv_sizeof_char_p=4 ac_cv_sizeof_short=2 ac_cv_sizeof_int=4 ac_cv_sizeof_long=4 ac_cv_sizeof_long_long=8 ac_cv_c_bigendian=no ./configure + +The ac_cv_sizeof_... variables give the sizes of various C types; +ac_cv_sizeof_char_p is the same as "sizeof(char*)" in C code. The +ac_cv_c_bigendian variable gives the byte order. + Preloading installation-specific code @@ -165,6 +194,14 @@ meantime, start gforth with gforth -i kernel.fi startup.fs +If the addresses changes by only a small amount (e.g. by one or two +pages), you can fix it by defining FUZZ (in config.h) to a number at +least two times the changes you observe (0x4000 is a good idea, this +is four 4k pages) and recompile. We do this for the DJGPP port for +DOS, because the start address there changes by one or two pages, and +it helps us to keep the DOS people happy without investing too much +work in a braindead environment. + 2) "%s: Checksum of image ($13579b) does not match the executable ($2468a) The Gforth installer should look into the INSTALL file"