Diff for /gforth/INSTALL between versions 1.4 and 1.37

version 1.4, 1994/11/24 16:55:11 version 1.37, 2007/06/02 16:32:10
Line 1 Line 1
 Preliminary version  Copyright (C) 2003 Free Software Foundation, Inc.
   This file is free documentation; the Free Software Foundation gives
   unlimited permission to copy, distribute and modify it.
   
   
                   Prerequisites
   
 Create a makefile with configure.  
 You need gcc version 2.0 or later to compile gforth.  You need gcc version 2.0 or later to compile gforth.
   
 Create a machine description file for your machine, if necessary.  For the (documented) libcc.fs C interface you need a C compiler 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
   
   ./configure
   
   (see Section Configuration Options below for details).
   
   After configuration, type
   
   make
   
   Now you can check whether your shiny new Forth system works. Say
   
   make check
   
   You can run some benchmarks with
   
   make bench
   
   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
   
   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
   
   If you prefer plain ASCII documentation, you can 
   
   make doc/gforth.txt
   
   or just concatenate the files gforth.info-* ('cat gforth.info-*' under
   Unix); the result of the latter option is a little worse.
   
   You can find binary distributions, documentation in HTML and plain
   text format and information on known installation problems at
   http://www.complang.tuwien.ac.at/forth/gforth/.
   
   
                   Configuration Options
   
   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
   for installation; i.e., if you want to hack the Gforth sources, you
   should probably build in the source directory).
   
 configure has the following useful parameters:  configure has the following useful parameters:
 -direct-threaded: setup for a direct threaded interpreter; this is faster    --prefix=PREFIX         install architecture-independent files in PREFIX
    on many machines, but needs special support. Unsupported machines will                            [default: /usr/local]
    ingore this switch. On some CISC machines, direct threading isn't an    --exec-prefix=PREFIX    install architecture-dependent files in PREFIX
    advantage over indirect threading.                            [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).
     --help: tells you about other parameters.
   
   The file Benchres shows which combination of the -enable options we
   tried gave the best results for various machines.
   
   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
   hierarchy, say
   
   ./configure --prefix=/gnu
   
   Moreover, if your GCC is not called gcc (but, e.g., gcc-2.7.1), you
   should say so during configuration. E.g.:
   
   ./configure CC=gcc-2.7.1
   
   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:
   
   ./configure CC="gcc -b i486-linuxaout -V 2.7.0"
   
   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:
   
   ./configure "FORTHSIZES=--dictionary-size=256k --data-stack-size=16k --fp-stack-size=15872b --return-stack-size=15k --locals-stack-size=14848b"
   
   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":
   
   ./configure ac_cv_sizeof_long_long=0
   
   
                           Cross-Installation
   
   You need a cross-compilation toolchain for your target including gcc
   (2.0 or later).
   
   The first step in cross-installation is the 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 an ARM:
   
   env skipcode=".skip 16" 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_sizeof_intptr_t=4 ac_cv_sizeof_int128_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;
   ac_cv_sizeof_char_p is the same as "sizeof(char*)" in C code. The
   ac_cv_c_bigendian variable gives the byte order.  The skipcode
   specifies how to skip 16 bytes in the code (use "skipcode=no" to
   disable skipping and dynamic native code generation).
   
   After the cross-configuration you type
   
   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
   
   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/siteinit.fs
   (if the commands work for all architectures) or
   /usr/local/lib/gforth/site-forth/siteinit.fs (for
   architecture-specific commands);
   /usr/local/lib/gforth/site-forth/siteinit.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/siteinit.fs if there is no such
   file.
   
   If you change the siteinit.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.
   
   
                   Installing Info Files
   
 -without-debug: omits the -g switch and creates smaller images on machines  Info is the GNU project on-line documentation format. You can read
    where "strip" has problems with gcc style debugging informations.  info files either from within Emacs (Ctrl-h i) or using the
   stand-alone Info reader, 'info'.
   
 Now type  If you use the default install root of '/usr/local' then the info
   files will be installed in '/usr/local/info'.
   
 gmake  Many GNU/Linux distributions are set up to put all of their
   documentation in '/usr/info', in which case you might have to do a
   couple of things to get your environment set up to accommodate files
   in both areas:
   
 or whatever the name of GNU make on your system is.  1. Add an INFOPATH environment variable. The easiest place to do
 If your installed gcc isn't called "gcc" (eg. called "gcc-2.6.1"), type  this is '/etc/profile', right next to PATH and MANPATH:
   
 gmake CC=<whatever you call your gcc>  INFOPATH=/usr/local/info:/usr/info
   
 instead.  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
   manually, or use '/sbin/install-info' (man install-info for details).

Removed from v.1.4  
changed lines
  Added in v.1.37


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