Diff for /gforth/INSTALL between versions 1.31 and 1.41

version 1.31, 2002/03/13 16:59:12 version 1.41, 2008/11/01 22:19:30
Line 1 Line 1
   Copyright (C) 2003,2007,2008 Free Software Foundation, Inc.
   This file is free documentation; the Free Software Foundation gives
   unlimited permission to copy, distribute and modify it.
   
   
                   Prerequisites
   
 You need gcc version 2.0 or later to compile gforth.  You need gcc version 2.0 or later to compile gforth.
   
   For the (documented) libcc.fs C interface you need a C compiler and
   libtool at run-time.
   
   For the (undocumented ) lib.fs C interface you need to install either
   the ffcall libraries or the libffi library.  Libffi comes with recent
   gccs, ffcall can be found on
   
      ftp://ftp.santafe.edu/pub/gnu/ffcall-1.8.tar.gz (USA) 
      ftp://ftp.ilog.fr/pub/Users/haible/gnu/ffcall-1.8.tar.gz (Europe) 
   
   On many architectures (exceptions: 386, PPC, MIPS, Alpha) you need gdb
   at run-time in order for the disassembler to work.
   
   
                   Building and Installing
   
 First, type  First, type
   
 ./configure  ./configure
Line 10  After configuration, type Line 33  After configuration, type
   
 make  make
   
 Now you can check whether your shiny new Forth system works. Say  This includes a check whether your shiny new Forth system works. If
   you like to invoke the check alone, do
   
 make check  make check
   
Line 24  If everything is all right, you may want Line 48  If everything is all right, you may want
   
 make install  make install
   
 You have to make an entry in the info directory file manually (see  
 Installing Info Files, below).  
   
 For paper documentation, print gforth.ps (a Postscript file (300dpi  For paper documentation, print gforth.ps (a Postscript file (300dpi
 fonts, i.e., it works, but does not produce best quality on better  fonts, i.e., it works, but does not produce best quality on better
 printers)), or say  printers)), or say
Line 67  configure has the following useful param Line 88  configure has the following useful param
                           [default: /usr/local]                            [default: /usr/local]
   --exec-prefix=PREFIX    install architecture-dependent files in PREFIX    --exec-prefix=PREFIX    install architecture-dependent files in PREFIX
                           [default: same as 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.  
                                 (default processor-dependent)  
   --enable-indirect-threaded    Force indirect threading. This can cause a  
                                 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.  
   --help: tells you about other parameters.    --help: tells you about other parameters.
   
 The file Benchres shows which combination of the -enable options we  The file Benchres shows the best gforth-fast performance that we
 tried gave the best results for various machines.  achieved.
   
 If you don't like the defaults for the installation directories, you  If you don't like the defaults for the installation directories, you
 should override them already during configure.  E.g., if you want to  should override them already during configure.  E.g., if you want to
Line 96  hierarchy, say Line 103  hierarchy, say
 Moreover, if your GCC is not called gcc (but, e.g., gcc-2.7.1), you  Moreover, if your GCC is not called gcc (but, e.g., gcc-2.7.1), you
 should say so during configuration. E.g.:  should say so during configuration. E.g.:
   
 env CC=gcc-2.7.1 ./configure  ./configure CC=gcc-2.7.1
   
 You can also pass additional options to gcc in this way, e.g., if you  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:  want to generate an a.out executable under Linux with gcc-2.7.0:
   
 env "CC=gcc -b i486-linuxaout -V 2.7.0" ./configure  ./configure CC="gcc -b i486-linuxaout -V 2.7.0"
   
 You can change the sizes of the various areas used in the default  You can change the sizes of the various areas used in the default
 image `gforth.fi' by passing the appropriate Gforth command line  image `gforth.fi' by passing the appropriate Gforth command line
 options in the FORTHSIZES environment variable:  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  ./configure "FORTHSIZES=--dictionary-size=1048576 --data-stack-size=16k --fp-stack-size=16K --return-stack-size=15k --locals-stack-size=14848b"
   
 The line above reaffirms the default sizes. Note that the locals  The line above reaffirms the default sizes. Note that the locals
 stack area is also used as input buffer stack.  stack area is also used as input buffer stack.
Line 116  If C's "long long" do not work properly Line 123  If C's "long long" do not work properly
 tests involving double-cell numbers fail), you can build Gforth such  tests involving double-cell numbers fail), you can build Gforth such
 that it does not use "long long":  that it does not use "long long":
   
 env ac_cv_sizeof_long_long=0 ./configure  ./configure ac_cv_sizeof_long_long=0
   
   For MacOS X on Core 2 processors, you might want to use the 64-bit
   version for increased speed (more registers available); you have to
   ask for that on configuration, as follows:
   
   ./configure CC='gcc-4.2 -arch x86_64' --build=x86_64-apple-darwin9.4.0
   
   
                         Cross-Installation                          Cross-Installation
   
   There is currently no simple way to do cross-installation of Gforth
   (apart from Gforth EC).  The current build process interleaves
   compiling and running heavily, so multiple transfers between build and
   target machine would be required.  We don't have a testing environment
   for cross-compilation, so we cannot fix this at the moment.  If you
   want to do cross-installation, please contact us.
   
   In any case, you might find the following useful:
   
 You need a cross-compilation toolchain for your target including gcc  You need a cross-compilation toolchain for your target including gcc
 (2.0 or later).  (2.0 or later).
   
 The first step in cross-installation is the cross-configuration.  A  The first step in cross-installation is the cross-configuration.  A
 few tests made by the configure script do not work in a  few tests made by the configure script do not work in a
 cross-compilation situation. You have to provide the results of these  cross-compilation situation. You have to provide the results of these
 tests by hand. E.g., if you compile for a 386 architecture processor:  tests by hand. E.g., if you compile for an ARM:
   
 env ac_cv_sizeof_char_p=4 ac_cv_sizeof_char=1 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  env skipcode=".skip 16" ac_cv_sizeof_char_p=4 ac_cv_sizeof_void_p=4 \
   ac_cv_sizeof_char=1 ac_cv_sizeof_short=2 ac_cv_sizeof_int=4 \
   ac_cv_sizeof_long=4 ac_cv_sizeof_long_long=8 ac_cv_sizeof_intptr_t=4 \ 
   ac_cv_sizeof_int128_t=0 ac_cv_sizeof_uint128_t=0 \
   ac_cv_c_bigendian=no ./configure CC=arm-elf-gcc --host=arm-linux
   
 The ac_cv_sizeof_... variables give the sizes of various C types;  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_sizeof_char_p is the same as "sizeof(char*)" in C code. The
 ac_cv_c_bigendian variable gives the byte order.  ac_cv_c_bigendian variable gives the byte order.  The skipcode
   specifies how to skip 16 bytes in the code (use "skipcode=no" to
 After the cross-configuration you type  disable skipping and dynamic native code generation).
   
 make gforths  
   
 This produces the gforth engines for the target.  
   
 The next step is to transfer everything to the target; on the target,  
 you do  
   
 make  
   
 to complete building gforth.  If you do not have a make on the target,  
 run  
   
 make -n  
   
 on the host; manually execute on the target the last command output by  
 "make -n" (GFORTHD=...); the other commands output by "make -n" are  
 not necessary unless you have changed the Gforth sources.  You can  
 then check and benchmark Gforth with  
   
 make check  
 make bench  
   
 or equivalent.  Finally, perform  
   
 make install  
   
 or the equivalent commands on the target.  
   
   
                 Preloading installation-specific code                  Preloading installation-specific code
Line 221  INFOPATH=/usr/local/info:/usr/info Line 219  INFOPATH=/usr/local/info:/usr/info
 2. Create a file called 'dir' in 'usr/local/info'. Use the file  2. Create a file called 'dir' in 'usr/local/info'. Use the file
 '/usr/info/dir' as a template. You can add the line for gforth  '/usr/info/dir' as a template. You can add the line for gforth
 manually, or use '/sbin/install-info' (man install-info for details).  manually, or use '/sbin/install-info' (man install-info for details).
   

Removed from v.1.31  
changed lines
  Added in v.1.41


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>